Home

Awesome

hola-proxy

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:


Mirrors

IPFS git mirror:

git clone https://ipfs.io/ipns/k51qzi5uqu5dkrgx0hozpy1tlggw5o0whtquyrjlc6pprhvbmczr6qtj4ocrv0 hola-proxy

Features

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

Get it from the 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

ArgumentTypeDescription
backoff-deadlineDurationtotal duration of zgettunnels method attempts (default 5m0s)
backoff-initialDurationinitial average backoff delay for zgettunnels (randomized by +/-50%) (default 3s)
bind-addressStringHTTP proxy address to listen to (default "127.0.0.1:8080")
cafileStringuse custom CA certificate bundle file
countryStringdesired proxy location (default "us")
dont-use-trial-use regular ports instead of trial ports
ext-verStringextension 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-fieldNumberforce specific port field/num (example 24232 or lum)
hide-SNIBooleanhide SNI in TLS sessions with proxy server (default true)
limitUnsigned Integer (Number)amount of proxies in retrieved list (default 3)
list-countriesStringlist available countries and exit
list-proxies-output proxy list and exit
proxyStringsets 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-typeStringproxy type (Datacenter: direct) (Residential: lum) (default "direct")
resolverStringDNS/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")
rotateDurationrotate user ID once per given period (default 1h0m0s)
timeoutDurationtimeout for network operations (default 35s)
user-agentStringvalue of User-Agent header in requests (default "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36")
verbosityNumberlogging verbosity (10 - debug, 20 - info, 30 - warning, 40 - error, 50 - critical) (default 20)

See also