I would like a custom SSH client for Windows that maintains a tunnel to a server running a standard sshd. The concept is that the user can have a small app running on their system all the time and it will maintain a tunnel to a remote server. The tunnel will be a standard ssh tunnel listening on a specified TCP port on the local machine (bound to [login to view URL] to prevent it from being accessed by another system on the network) and forward the traffic through the SSH tunnel to a specified TCP port on localhost ([login to view URL]) of the server. The client will operate as described in the deliverables.
## Deliverables
1) A server name (FQDN), local port, and remote port (for the tunnel) will be hard coded into the application. 2) When executed (by the user or from windows startup), the user will be prompted for a username and password. The dialog box will include a checkbox option to store the username/password and not prompt the user for it again unless the login is incorrect. 3) If the login is incorrect, the user will be notified, be able to correct the username/password and retry or cancel. Cancel will exit the application. 4) Once established, if the ssh session is lost, the application will automatically reconnect when possible. 5) While the application is running, an icon will appear in the Windows notification area. Right clicking on the icon will provide an option to exit the application. 6) The icon in the windows notification area will be solid green when the ssh tunnel is up and flashing red when it is not. The icon can be a lock, key, a round "light", or somthing similar. 7) The application will not provide any other user interface, it will not give the user access to a shell on the remote system, etc. In other words, the application is a slimmed down SSH client that simply does everything it can to maintain a persistent tunnel. 8) The application must support the standard SSH version 2 protocol. It will be tested against the latest version of OpenSSH sshd running on a linux server. 9) The application must include all files required to compile under Microsoft Visual C++ 2002 unless another development environment is agreed to in advance. 10) We will consider bids that propose the use of third party components, etc. We are happy to acknowledge the use/incorporation of other software or libraries in this project. Preference will be given to bids that do not require me to release source code. 11) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
12) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Windows 2000, XP, 2003.