Skip to content
Standalone Hola proxy client
Go Makefile
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE Initial commit Mar 24, 2020
Makefile first working version Mar 26, 2020
README.md
condlog.go first working version Mar 26, 2020
credservice.go first working version Mar 26, 2020
go.mod first working version Mar 26, 2020
go.sum first working version Mar 26, 2020
handler.go use http.RoundTripper instead of http.Client Mar 26, 2020
holaapi.go first working version Mar 26, 2020
iso3166.go
logwriter.go first working version Mar 26, 2020
main.go print shutdown reason Mar 26, 2020
utils.go first working version Mar 26, 2020

README.md

hola-proxy

Standalone Hola proxy client. Just run it and it'll start plain HTTP proxy server forwarding traffic via Hola proxies of your choice. By default application listens port 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 peer).

Features

  • Cross-platform (Windows/Mac OS/Linux/Android (via shell)/*BSD)
  • Uses TLS for secure communication with upstream proxies
  • Zero-configuration

Installation

Pre-built binaries available on releases page.

Alternatively, you may install hola-proxy from source:

go get github.com/Snawoot/hola-proxy

Usage

List available countries:

$ ~/go/bin/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
gr - Greece
hk - Hong Kong
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:

$ ~/go/bin/hola-proxy -country de

Or run proxy on residental IP:

$ ~/go/bin/hola-proxy -country de -proxy-type peer

Also it is possible to export proxy addresses and credentials:

$ ~/go/bin/hola-proxy -country de -list-proxies -limit 3
Login: user-uuid-f4c2c3a8657640048e7243a807867d52
Password: e194c4f457e0
Proxy-Authorization: basic dXNlci11dWlkLWY0YzJjM2E4NjU3NjQwMDQ4ZTcyNDNhODA3ODY3ZDUyOmUxOTRjNGY0NTdlMA==

Host,IP address,Direct port,Peer port,Vendor
zagent90.hola.org,185.72.246.203,22222,22223,nqhost
zagent249.hola.org,165.22.80.107,22222,22223,digitalocean
zagent248.hola.org,165.22.65.3,22222,22223,digitalocean

Synopsis

$ ~/go/bin/hola-proxy -h
Usage of /home/user/go/bin/hola-proxy:
  -bind-address string
    	HTTP proxy listen address (default "127.0.0.1:8080")
  -country string
    	desired proxy location (default "us")
  -limit uint
    	amount of proxies in retrieved list (default 3)
  -list-countries
    	list available countries and exit
  -list-proxies
    	output proxy list and exit
  -proxy-type string
    	proxy type: direct or peer (default "direct")
  -rotate duration
    	rotate user ID once per given period (default 1h0m0s)
  -timeout duration
    	timeout for network operations (default 10s)
  -verbosity int
    	logging verbosity (10 - debug, 20 - info, 30 - warning, 40 - error, 50 - critical) (default 20)
You can’t perform that action at this time.