2 releases

0.5.0-alpha2 Jun 23, 2024
0.5.0-alpha1 Jun 15, 2024

#1149 in Command line utilities

MIT license

20KB
274 lines

socks-to-http-proxy Rust release

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

  1. Ensure you have current version of cargo and Rust installed
  2. Clone the project $ git clone https://github.com/KaranGauswami/socks-to-http-proxy.git && cd socks-to-http-proxy
  3. Build the project $ cargo build --release
  4. 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 to 127.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