proxytunnel
Proxytunnel creates tunnels through HTTP(S) proxies for any TCP-based protocol. It helps SSH and other protocols bypass firewalls that only allow HTTP(S) traffic.
Description
Proxytunnel is designed to tunnel connections through standard HTTP or HTTPS proxies to reach origin servers behind restrictive firewalls. It connects stdin and stdout to a destination server via the proxy, making it particularly useful for SSH access to remote boxes when direct connections are blocked.
Originally developed as an SSH extension, proxytunnel supports broader use cases by integrating with other applications. It can run from inetd or as a standalone daemon listening on a local port, forwarding traffic through the tunnel for various TCP protocols.
The tool is lightweight with an installed size of 102 KB and depends on libc6 and libssl3t64. It handles HTTP authentication and supports advanced proxy chaining.
How It Works
Proxytunnel establishes a tunnel by issuing HTTP CONNECT requests through an HTTP(S) proxy to connect to a destination host:port. It supports SSL encryption between the client and proxy or proxy and destination, and can chain multiple proxies. When run in standalone mode or from inetd, it listens locally and forwards traffic bidirectionally through the proxy connection using standard TCP streams.
Installation
sudo apt install proxytunnelFlags
Examples
proxytunnel -hproxytunnel -p proxy.example.com:8080 -d ssh.example.com:22proxytunnel -p proxy.example.com:8080 -d target.com:443 -eproxytunnel -p proxy1:8080 -r proxy2:8080 -d target:80proxytunnel -a :1080 -p proxy.example.com:8080 -d ssh.home:22proxytunnel -i -p proxy.example.com:8080 -d target:22 -Eproxytunnel -p proxy.example.com:8080 -d target.com:443 -z