Persistent Tunnel

Persistent Tunnel
Version:1.1
Author:Jeffrey Clement
Status:Active

A little GUI application for Windows that maintains a port forwarding SSH connection to another machine.

Project Description

I use SSHs port forwarding mechanisms everyday for IMAP, SMTP and Web Proxy. This is means whereever I am I can securely connect to my server and do my work. However its usually a bit of a nuisance starting up SSH all the time so I created Persistent Tunnel (pTunnel). pTunnel is a small GUI that is designed to help you maintain a SSH connection and your port forwardings.

Once the pTunnel is up you can connect your mail clients or whatever to the appropriate port on your local machine and access the remote service through a safe encrypted tunnel.

1. Running on Windows

On Windows machines simply download the latest installer from the download site (.exe) and execute it. It will install the pTunnel GUI to your system and all it's dependencies. You do not need to download Python, wxPython or pythoncard to use this. Once you have downloaded it proceed to the Configuration section.

Click the start or stop button as necessary. While the system is started (button says stop) pTunnel will do it's best to maintain a working SSH tunnel for you. What you have the system stopped it kills the connection.

On Windows machines there is a system tray icon (little guy with red shirt) which you can dblclick to hide and unhide the window.

Note: If you omit the "pass=" line in the config file pTunnel will prompt for a password on startup. The password is then stored in memory until the program stops.

2. Configuration

pTunnel is configured through a simple config file ptunnel.conf located in the program directory. You can edit this with a text editor. It defined the server to connect to, the username, password if you want to hardcode it, and a list of port mappings. ie)

Listing #1
1.   ##########################################
2.   #
3.   #  pTunnel Configuration File
4.   #
5.   # PLEASE MAKE SURE THE FOLLOWING INFO
6.   # IS CORRECT!
7.   #
8.   ##########################################
9.   
10.  [ssh]
11.  
12.  #(user=XXX) sets the username SSH tries to login with.
13.  #ie: user=jsc
14.  user=user
15.  
16.  #SSH Port lets you override the default port for the SSH server
17.  #generally you don't change this.
18.  sshport=22
19.  
20.  #(pass=XXX) sets the password SSH uses to login in the user.
21.  # if you want to be prompted for the password each time you
22.  # start pTunnel, comment out the following line.  Otherwise
23.  # change "mypass" to your password.
24.  pass=mypassord
25.  
26.  #(host=XXX) sets the hostname of the SSH server
27.  host=bluesine.com
28.  
29.  #(ports=XXX) sets which port mappings are started by pTunnel
30.  # - mappings are separated my commas.  format is:
31.  #  localport:remoteport,localport:remoteport....
32.  ports=9025:25,9110:110,9143:143

The above example logs into user@bluesine.com with password "mypassword" and maps local port 9025 to bluesine.com:25, 9110 to bluesine.com:110, etc.. You can add as many port mappings as you need.

Click on an image to see it full-size.

Shot of pTunnel running on Windows 2000. Notice the little guy in the system tray. Double clicking on him hides and unhides the pTunnel window.

Requirements

License

This software is licensed under the BSD license. Please make sure you have read and understood this license before downloading this software!

Copyright (c) 2003, Jeffrey Clement All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Downloads

FileSizeLast Modified
ChangeLog0.03 kbThu Sep 23 06:16:30 2004
ptunnel-1.0-src.tar.gz9.36 kbThu Sep 23 06:16:31 2004
ptunnel-1.0.exe2920.00 kbThu Sep 23 06:16:30 2004
ptunnel-1.0.zip118.89 kbThu Sep 23 06:16:32 2004
ptunnel-1.1-src.tar.gz11.46 kbThu Sep 23 06:16:32 2004
ptunnel-1.1-src.tar.gz.asc0.18 kbThu Sep 23 06:16:31 2004
ptunnel-1.1.exe3815.42 kbThu Sep 23 06:16:48 2004
ptunnel-1.1.exe.asc0.18 kbThu Sep 23 06:16:32 2004
ptunnel-snapshot.tar.gz11.46 kbThu Sep 23 06:16:48 2004
screenshots4.00 kbThu Sep 23 06:16:18 2004