Categorygithub.com/Snawoot/hola-proxy
modulepackage
1.13.3
Repository: https://github.com/snawoot/hola-proxy.git
Documentation: pkg.go.dev

# README

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:

  • 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.

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:[email protected]: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/124.0.0.0 Safari/537.36")
verbosityNumberlogging verbosity (10 - debug, 20 - info, 30 - warning, 40 - error, 50 - critical) (default 20)

See also

# Functions

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Interfaces

No description provided by the author
No description provided by the author

# Type aliases

No description provided by the author
No description provided by the author