gitmyhub

SSHT

Go ★ 17 updated 15d ago

SSH Tunnel

SSHT turns any SSH server into a local SOCKS5/HTTP proxy, routing your browser or app traffic through an encrypted tunnel. Supports password and key auth, optional proxy credentials, UDP relay, and works on Windows, Linux, and macOS.

GoSOCKS5HTTP CONNECTSSHJSON configbadvpn-udpgwsetup: easycomplexity 2/5

SSHT is a small Go program that creates a local proxy on your computer by routing traffic through an SSH connection to a remote server. Once running, your browser or other applications can point at the local proxy and their internet traffic will travel over the encrypted SSH tunnel instead of your regular network connection.

The local proxy speaks two protocols at once on the same port: SOCKS5 and HTTP CONNECT. Most browsers and apps support one or both. You can also add a username and password to the proxy so that only authorized clients can use it. The SSH connection itself supports password authentication, private key authentication, and a keyboard-interactive fallback for servers that require challenge-response login. TCP and SSH keepalive packets are sent periodically to prevent firewalls or home routers from silently dropping idle connections.

An optional UDP relay feature is included for applications that need to send UDP traffic (such as some games or voice calls) through the tunnel. This requires a companion program called badvpn-udpgw to be running on the SSH server side. DNS resolution uses a tiered fallback: local resolver first, then public resolvers, then server-side resolution as a last resort.

Configuration is a single JSON file where you set the SSH server address, port, credentials, the local proxy port, and optional proxy authentication. The README advises against using the root account on the SSH server and suggests using an unprivileged user instead.

Pre-built binaries for Windows, Linux, and macOS are available from the releases page. You can also compile from source with a standard Go toolchain. The project is licensed under MIT.

Where it fits