@@ -31,6 +31,9 @@ Specify http server in proxy configuration of Postman
3131
3232## Features
3333
34+ - ** Proxy Chain functionality**
35+ Supports ` strict ` , ` dynamic ` , ` random ` chains of SOCKS5 proxy
36+
3437- ** DNS Leak Protection**
3538 DNS resolution occurs on SOCKS5 server side.
3639
@@ -59,7 +62,7 @@ You can download the binary for your platform from [Releases](https://github.com
5962Example:
6063
6164``` shell
62- HPTS_RELEASE=v1.4.1 ; wget -v https://github.com/shadowy-pycoder/go-http-proxy-to-socks/releases/download/$HPTS_RELEASE /gohpts-$HPTS_RELEASE -linux-amd64.tar.gz -O gohpts && tar xvzf gohpts && mv -f gohpts-$HPTS_RELEASE -linux-amd64 gohpts && ./gohpts -h
65+ HPTS_RELEASE=v1.5.0 ; wget -v https://github.com/shadowy-pycoder/go-http-proxy-to-socks/releases/download/$HPTS_RELEASE /gohpts-$HPTS_RELEASE -linux-amd64.tar.gz -O gohpts && tar xvzf gohpts && mv -f gohpts-$HPTS_RELEASE -linux-amd64 gohpts && ./gohpts -h
6366```
6467
6568Alternatively, you can install it using ` go install ` command (requires Go [ 1.24] ( https://go.dev/doc/install ) or later):
@@ -83,7 +86,6 @@ make build
8386
8487``` shell
8588gohpts -h
86-
8789 _____ _ _ _____ _______ _____
8890 / ____| | | | | __ \_ _ __/ ____|
8991 | | __ ___ | | __| | | __) | | | | (___
@@ -98,19 +100,21 @@ Usage: gohpts [OPTIONS]
98100Options:
99101 -h Show this help message and exit.
100102 -c string
101- Path to certificate PEM encoded file
102- -d Show logs in DEBUG mode
103- -j Show logs in JSON format
103+ Path to certificate PEM encoded file
104+ -d Show logs in DEBUG mode
105+ -f string
106+ Path to proxychain YAML configuration file
107+ -j Show logs in JSON format
104108 -k string
105- Path to private key PEM encoded file
109+ Path to private key PEM encoded file
106110 -l value
107- Address of HTTP proxy server (Default: localhost:8080)
108- -p Password for SOCKS5 proxy (not echoed to terminal)
111+ Address of HTTP proxy server (Default: localhost:8080)
112+ -p Password for SOCKS5 proxy (not echoed to terminal)
109113 -s value
110- Address of SOCKS5 proxy server (Default: localhost:1080)
114+ Address of SOCKS5 proxy server (Default: localhost:1080)
111115 -u string
112- User for SOCKS5 proxy
113- -v print version
116+ User for SOCKS5 proxy
117+ -v print version
114118```
115119
116120## Example
@@ -140,6 +144,45 @@ Run http proxy over TLS connection
140144gohpts -s 1080 -l 8080 -c " path/to/certificate" -k " path/to/private/key"
141145```
142146
147+ Run http proxy with chain of SOCKS5 proxy
148+
149+ ``` shell
150+ gohpts -f " path/to/proxychain/config" -d
151+ ```
152+
153+ Config example:
154+
155+ ``` yaml
156+ # Explanations for chains taken from /etc/proxychains4.conf
157+
158+ # strict - Each connection will be done via chained proxies
159+ # all proxies chained in the order as they appear in the list
160+ # all proxies must be online to play in chain
161+
162+ # dynamic - Each connection will be done via chained proxies
163+ # all proxies chained in the order as they appear in the list
164+ # at least one proxy must be online to play in chain
165+ # (dead proxies are skipped)
166+
167+ # random - Each connection will be done via random proxy
168+ # (or proxy chain, see chain_len) from the list.
169+ # this option is good to test your IDS :)
170+
171+ # round_robin - Not supported
172+
173+ chain :
174+ type : strict # dynamic, strict, random
175+ length : 2 # maximum number of proxy in a chain (works only for random chain)
176+ proxy_list :
177+ - address : 127.0.0.1:1080
178+ username : username # username and password are optional
179+ password : password
180+ - address : 127.0.0.1:1081
181+ - address : :1082 # empty host means localhost
182+ ` ` `
183+
184+ To learn more about proxy chains visit [Proxychains Github](https://github.com/rofl0r/proxychains-ng)
185+
143186## License
144187
145188MIT
0 commit comments