Alan Brenner

SSHProxy is a command line and wxWidgets UI for an HTTP(S) proxy intended to run on the same system as the end user's browser. It has the ability to send specific requests (by URL) over SSH tunnels. Specifically, the intent is to allow a user to access IP address restricted content (either inside a firewall, or that does authorization by IP address) from outside that IP address range by connecting to a server inside the address range via SSH, while allowing other HTTP(S) traffic to go directly from the source system to requested server.

The need for this came about while one of my customers was at another higher-ed insititution and needed to access content as if from another network, while still being able to access content from the visited institution as if locally. As such, a typical VPN connection wouldn't work (routing all traffic, not just the specific web requests). Specific tools for Mac OS X (the development and initial deployment platform) that seemed like they should work, haven't (sometimes not working at all, sometimes doing more than wanted and interfering with other traffic). Just telling the browser to use an SSH tunnel requires a proxy server on the SSH server, which isn't viable and also routes all web traffic (unless using a JavaScript based proxy configuration for the browser; I may add this functionality to sshproxy later). Also, we wanted a solution that would work with the same UI on Mac OS X, Linux and Windows (hence the use of wxWidgets).


Screenshot thumbnail

Project Admins:


Wiki: Installation