mirror of
https://github.com/Snawoot/hola-proxy.git
synced 2026-04-05 07:48:16 +00:00
183 lines
5.6 KiB
Markdown
183 lines
5.6 KiB
Markdown
# hola-proxy
|
|
|
|
[](https://snapcraft.io/hola-proxy)
|
|
|
|
Standalone Hola proxy client. Just run it and it'll start a plain HTTP proxy server forwarding traffic through Hola proxies of your choice.
|
|
By default the application listens on 127.0.0.1:8080.
|
|
|
|
Application is capable to forward traffic via proxies in datacenters (flag `-proxy-type direct`, default) or via peer proxies on residental IPs (consumer ISP) in that country (flag `-proxy-type lum`).
|
|
|
|
---
|
|
|
|
:heart: :heart: :heart:
|
|
|
|
You can say thanks to the author by donations to these wallets:
|
|
|
|
- ETH: `0xB71250010e8beC90C5f9ddF408251eBA9dD7320e`
|
|
- BTC:
|
|
- Legacy: `1N89PRvG1CSsUk9sxKwBwudN6TjTPQ1N8a`
|
|
- Segwit: `bc1qc0hcyxc000qf0ketv4r44ld7dlgmmu73rtlntw`
|
|
|
|
---
|
|
|
|
## Mirrors
|
|
|
|
IPFS git mirror:
|
|
|
|
```
|
|
git clone https://ipfs.io/ipns/k51qzi5uqu5dkrgx0hozpy1tlggw5o0whtquyrjlc6pprhvbmczr6qtj4ocrv0 hola-proxy
|
|
```
|
|
|
|
## Features
|
|
|
|
* Cross-platform (Windows/Mac OS/Linux/Android (via shell)/\*BSD)
|
|
* Uses TLS for secure communication with upstream proxies
|
|
* Zero configuration
|
|
* Simple and straight forward
|
|
|
|
## Installation
|
|
|
|
#### Binaries
|
|
|
|
Pre-built binaries are available [here](https://github.com/Snawoot/hola-proxy/releases/latest).
|
|
|
|
Don't forget to make file executable on Unix-like systems (Linux, MacOS, \*BSD, Android). For your convenience rename downloaded file to `hola-proxy` and run within directory where you placed it:
|
|
|
|
```sh
|
|
chmod +x hola-proxy
|
|
```
|
|
|
|
#### Build from source
|
|
|
|
Alternatively, you may install hola-proxy from source. Run the following within the source directory:
|
|
|
|
```
|
|
make install
|
|
```
|
|
|
|
#### Docker
|
|
|
|
A docker image is available as well. Here is an example of running hola-proxy via DE as a background service:
|
|
|
|
```sh
|
|
docker run -d \
|
|
--security-opt no-new-privileges \
|
|
-p 127.0.0.1:8080:8080 \
|
|
--restart unless-stopped \
|
|
--name hola-proxy \
|
|
yarmak/hola-proxy -country de
|
|
```
|
|
|
|
#### Snap Store
|
|
|
|
[](https://snapcraft.io/hola-proxy)
|
|
|
|
```bash
|
|
sudo snap install hola-proxy
|
|
```
|
|
|
|
## Usage
|
|
|
|
List available countries:
|
|
|
|
```
|
|
$ ./hola-proxy -list-countries
|
|
ar - Argentina
|
|
at - Austria
|
|
au - Australia
|
|
be - Belgium
|
|
bg - Bulgaria
|
|
br - Brazil
|
|
ca - Canada
|
|
ch - Switzerland
|
|
cl - Chile
|
|
co - Colombia
|
|
cz - Czech Republic
|
|
de - Germany
|
|
dk - Denmark
|
|
es - Spain
|
|
fi - Finland
|
|
fr - France
|
|
gb - United Kingdom (Great Britain)
|
|
gr - Greece
|
|
hk - Hong Kong
|
|
hr - Croatia
|
|
hu - Hungary
|
|
id - Indonesia
|
|
ie - Ireland
|
|
il - Israel
|
|
in - India
|
|
is - Iceland
|
|
it - Italy
|
|
jp - Japan
|
|
kr - Korea, Republic of
|
|
mx - Mexico
|
|
nl - Netherlands
|
|
no - Norway
|
|
nz - New Zealand
|
|
pl - Poland
|
|
ro - Romania
|
|
ru - Russian Federation
|
|
se - Sweden
|
|
sg - Singapore
|
|
sk - Slovakia
|
|
tr - Turkey
|
|
uk - United Kingdom
|
|
us - United States of America
|
|
```
|
|
|
|
Run proxy via country of your choice:
|
|
|
|
```
|
|
$ ./hola-proxy -country de
|
|
```
|
|
|
|
Or run proxy on residential IP:
|
|
|
|
```
|
|
$ ./hola-proxy -proxy-type lum
|
|
```
|
|
|
|
Also it is possible to export proxy addresses and credentials:
|
|
|
|
```
|
|
$ ./hola-proxy -country de -list-proxies -limit 3
|
|
Login: user-uuid-0a67c797b3214cbdb432b089c4b801cd
|
|
Password: cd123c465901
|
|
Proxy-Authorization: basic dXNlci11dWlkLTBhNjdjNzk3YjMyMTRjYmRiNDMyYjA4OWM0YjgwMWNkOmNkMTIzYzQ2NTkwMQ==
|
|
|
|
host,ip_address,direct,peer,hola,trial,trial_peer,vendor
|
|
zagent783.hola.org,165.22.22.6,22222,22223,22224,22225,22226,digitalocean
|
|
zagent830.hola.org,104.248.24.64,22222,22223,22224,22225,22226,digitalocean
|
|
zagent248.hola.org,165.22.65.3,22222,22223,22224,22225,22226,digitalocean
|
|
```
|
|
|
|
## List of arguments
|
|
|
|
| Argument | Type | Description |
|
|
| -------- | ---- | ----------- |
|
|
| backoff-deadline | Duration | total duration of zgettunnels method attempts (default 5m0s) |
|
|
| backoff-initial | Duration | initial average backoff delay for zgettunnels (randomized by +/-50%) (default 3s) |
|
|
| bind-address | String | HTTP proxy address to listen to (default "127.0.0.1:8080") |
|
|
| cafile | String | use custom CA certificate bundle file |
|
|
| country | String | desired proxy location (default "us") |
|
|
| dont-use-trial | - | use regular ports instead of trial ports |
|
|
| ext-ver | String | extension version to mimic in requests. Can be obtained from https://chrome.google.com/webstore/detail/hola-vpn-the-website-unbl/gkojfkhlekighikafcpjkiklfbnlmeio (default "999.999.999") |
|
|
| force-port-field | Number | force specific port field/num (example 24232 or lum) |
|
|
| hide-SNI | Boolean | hide SNI in TLS sessions with proxy server (default true) |
|
|
| limit | Unsigned Integer (Number) | amount of proxies in retrieved list (default 3) |
|
|
| list-countries | String | list available countries and exit |
|
|
| list-proxies | - | output proxy list and exit |
|
|
| proxy | String | sets base proxy to use for all dial-outs. Format: `<http\|https\|socks5\|socks5h>://[login:password@]host[:port]` Examples: `http://user:password@192.168.1.1:3128`, `socks5://10.0.0.1:1080` |
|
|
| proxy-type | String | proxy type (Datacenter: direct) (Residential: lum) (default "direct") |
|
|
| resolver | String | DNS/DoH/DoT resolver to workaround Hola blocked hosts. See https://github.com/ameshkov/dnslookup/ for upstream DNS URL format. (default "https://cloudflare-dns.com/dns-query") |
|
|
| rotate | Duration | rotate user ID once per given period (default 1h0m0s) |
|
|
| timeout | Duration | timeout for network operations (default 35s) |
|
|
| user-agent | String | value of User-Agent header in requests (default "Mozilla/5.0 (X11; Linux x86\_64; rv:109.0) Gecko/20100101 Firefox/118.0") |
|
|
| verbosity | Number | logging verbosity (10 - debug, 20 - info, 30 - warning, 40 - error, 50 - critical) (default 20) |
|
|
|
|
## See also
|
|
|
|
* [Project wiki](https://github.com/Snawoot/hola-proxy/wiki)
|
|
* [Community in Telegram](https://t.me/alternative_proxy)
|