I work for [[Ithaka|http://www.ithaka.org/]] doing stuff for the [[Andrew W. Mellon Foundation's|http://www.mellon.org/]] [[Research in Information Technology|http://rit.mellon.org]] program, including sometimes writing code. Also, see [[my .Mac page|http://homepage.mac.com/alanbbr/]]
Background: #fff\nForeground: #333\nPrimaryPale: #fff\nPrimaryLight: #ddd\nPrimaryMid: #898279\nPrimaryDark: #898279\nSecondaryPale: #eee\nSecondaryLight: #ccc\nSecondaryMid: #aaa47f\nSecondaryDark: #c39577\nTertiaryPale: #eee\nTertiaryLight: #ccc\nTertiaryMid: #9e8469\nTertiaryDark: #7f8f74\nError: #f88\n
Home\nHelp
The application has built in help available by clicking the '?' button on Mac OS X and Linux, or by pressing F1 on Windows, then clicking in an input field.\n\nBasically, click the add button on the main window. In the 'Add a new SSH Server' window, enter an SSH server hostname or IP address, a username and password, and a list of base ~URLs to route through that server (one on each line), then click OK. Click Start on the main window. Then go to the proxy configuration for your browser (in [[Firefox|http://www.mozilla.com/]], it is the 'Connection Settings...' button in the General tab of preferences), and specify 127.0.0.1 as the proxy server and the port specified in the main window of wxSSHProxy. 8000 is the default port.\n\nFor the URL list, only the {{{http://servername:port/}}} is used (no URL path). HTTPS is also supported. The :port is optional and will default to 80 for http and 443 for https.\n\nThe proxy configuration can be saved and reloaded late by using the File/Save and File/Open menu items. Be aware, however, that the configuration file saves the ssh server account password as plain text. At some point I will change this, but in the meantime, ''do not save on any system you aren't 100% confident about it's security''.\n\nWindows users will have to use ~PuTTY to log in to the SSH server before using wxSSHProxy. This gets the SSH server key downloaded to the local PC, because plink.exe can't do that (as used by ~SSHProxy.py).\n\nAdditional help and bug reports can be requested/submitted by clicking the 'Project Page' link below, and then following the 'Support Requests' or 'Bugs' links.
~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 bosses 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).\n\nSupport for this project goes to sourceforge.net for hosting the web site, [[subversion|http://subversion.tigris.org/]], etc.
I used py2app to build a self contained .app for the Mac OS X release. Just download the .dmg.gz, uncompress and mount, and drag wxSSHProxy.app to your hard drive. This is a universal binary and should run on any Mac 10.4.x. I have not tested on earlier Mac OS X releases, although I would expect 10.3.9 to work.\n\nLinux users will need to have Python, wxPython, pexpect, and ~OpenSSH installed. The release consists of 2 python files. Place them in the same directory, so wxSSHProxy.py can find the ~SSHProxy.py script. The scripts use /usr/bin/env to find a python interpreter. I have tested with both python 2.3.4 and 2.4.3, using wxPython 2.6.3 and Pexpect 2.1.\n\nWindows users will need to have [[ActiveState Python|http://www.activestate.com/]] and plink.exe (from the ~PuTTY project) installed to run the .exe. However, the source shoud run with a [[Cygwin|http://www.cygwin.com/]] setup for those who have that, by following the Linux directions. For the ~ActiveState/plink environment, keep all of the files in the .zip in the same directory. The zip will expand in to a directory called wxSSHProxy, which can be renamed if desired, and put anywhere. Double click the wxSSHProxy.exe to run the proxy GUI.
/***\n|''Name:''|LegacyStrikeThroughPlugin|\n|''Description:''|Support for legacy (pre 2.1) strike through formatting|\n|''Version:''|1.0.1|\n|''Date:''|Jul 21, 2006|\n|''Source:''|http://www.tiddlywiki.com/#LegacyStrikeThroughPlugin|\n|''Author:''|MartinBudden (mjbudden (at) gmail (dot) com)|\n|''License:''|[[BSD open source license]]|\n|''CoreVersion:''|2.1.0|\n|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|\n\n***/\n\n//{{{\n\n// Ensure that the LegacyStrikeThrough Plugin is only installed once.\nif(!version.extensions.LegacyStrikeThroughPlugin)\n {\n version.extensions.LegacyStrikeThroughPlugin = true;\n\nconfig.formatters.push(\n{\n name: "legacyStrikeByChar",\n match: "==",\n termRegExp: /(==)/mg,\n element: "strike",\n handler: config.formatterHelpers.createElementAndWikify\n});\n\n} // end of "install only once"\n//}}}\n
[[Home]]\n[[Download|http://sourceforge.net/project/showfiles.php?group_id=179402]]\n[[Installation]]\n[[Help]]\n\n[[Python|http://www.python.org/]]\n[[Pexpect|http://pexpect.sourceforge.net/]]\n[[wxPython|http://www.wxpython.org/]]\n[[wxWidgets|http://www.wxwidgets.org/]]\n[[OpenSSH|http://www.openssh.org/]]\n[[PuTTY|http://www.chiark.greenend.org.uk/~sgtatham/putty/]]\n\n[[AWMF|http://www.mellon.org/]]\n[[RIT|http://rit.mellon.org/]]\n[[Ithaka|http://www.ithaka.org/]]\n\n[[Project Page|http://sourceforge.net/projects/sshproxy/]]\n<html><a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=179402&type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a></html>\n<html><a href="http://sourceforge.net/donate/index.php?group_id=179402"><img src="http://images.sourceforge.net/images/project-support.jpg" width="88" height="32" border="0" alt="Support SourceForge" /></a></html>\n\n[[TiddlyWiki|http://www.tiddlywiki.com/]]
an SSH tunnel aware HTTP(S) proxy
SSHProxy
.headerForeground {\n position: absolute;\n padding: 4.2em 0em 0.9em 0.9em;\n left: 0px;\n top: 0px;\n}\n\n.siteSubtitle {\n font-size: 1.25em;\n font-family: Palatino, Times, serif;\n}\n\n#displayArea {\n font-family: Palatino, Times, serif;\n}\n\n.title {\n font-size: 1.75em;\n font-weight: bold;\n font-family: helvetica,arial,sans;\n}\n\nh1 {font-size: 1.35em;}\nh2 {font-size: 1.2em;}\nh3 {font-size: 1.05em;}\nh4 {font-size: 0.90em;}\nh5 {font-size: 0.75em;}\n\nh1,h2,h3,h4,h5 {\n clear: both;\n font-family: helvetica,arial,sans;\n}