2 releases
0.5.0-alpha2 | Jun 23, 2024 |
---|---|
0.5.0-alpha1 | Jun 15, 2024 |
#1149 in Command line utilities
20KB
274 lines
socks-to-http-proxy
![release](https://img.shields.io/github/v/release/KaranGauswami/socks-to-http-proxy?include_prereleases)
An executable to convert SOCKS5 proxy into HTTP proxy
About
sthp
purpose is to create HTTP proxy on top of the Socks 5 Proxy
How it works
It uses hyper library HTTP proxy example and adds functionality to connect via Socks5
Compiling
Follow these instructions to compile
- Ensure you have current version of
cargo
and Rust installed - Clone the project
$ git clone https://github.com/KaranGauswami/socks-to-http-proxy.git && cd socks-to-http-proxy
- Build the project
$ cargo build --release
- Once complete, the binary will be located at
target/release/sthp
Usage
sthp -p 8080 -s 127.0.0.1:1080
This will create proxy server on 8080 and use localhost:1080 as a Socks5 Proxy
sthp -p 8080 -s example.com:8080
This will create proxy server on 8080 and use example:1080 as a Socks5 Proxy
[!NOTE]
The --socks-address (-s) flag does not support adding a schema at the start (e.g., socks:// or socks5h://). Currently, it only supports socks5h, which means DNS resolution will be done on the SOCKS server.
[!WARNING] After v5, Changed default listening IP from
0.0.0.0
to127.0.0.1
. This change restricts the application access to the local machine only.
Options
There are a few options for using sthp
.
Usage: sthp [OPTIONS]
Options:
-p, --port <PORT> port where Http proxy should listen [default: 8080]
--listen-ip <LISTEN_IP> [default: 127.0.0.1]
-u, --username <USERNAME> Socks5 username
-P, --password <PASSWORD> Socks5 password
-s, --socks-address <SOCKS_ADDRESS> Socks5 proxy address [default: 127.0.0.1:1080]
--allowed-domains <ALLOWED_DOMAINS> Comma-separated list of allowed domains
--http-basic <HTTP_BASIC> HTTP Basic Auth credentials in the format "user:passwd"
-h, --help Print help information
-V, --version Print version information
Dependencies
~13–24MB
~326K SLoC