hola-proxy
                                
                                 hola-proxy copied to clipboard
                                
                                    hola-proxy copied to clipboard
                            
                            
                            
                        Standalone Hola proxy client
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
 
- Legacy: 
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.
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:
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:
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
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 | 
|---|---|---|
| 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 | 
| force-port-field | Number | force specific port field/num (example 24232 or lum) | 
| 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:[email protected]: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 10s) | 
| verbosity | Number | logging verbosity (10 - debug, 20 - info, 30 - warning, 40 - error, 50 - critical) (default 20) |