I use PuTTY for Windows a lot. It is an excellent SSH, Telnet, etc, etc, terminal program.
On the other hand, I am very impatient user. I honestly believe that the users should never wait for computers, and that the letters should appear on the screen a microsecond before the user types them. This means that I hate moving my hands away from the keyboard to mouse to use a GUI interface, when the majority of work is actually typing text or code on the keyboard. This defines a lot of choices I make when selecting software on my computer.
Bundled together, I really do not appreciate opening PuTTY GUI interface just to double-click on some PuTTY profile and then move the hand back on the keyboard. A much faster way of doing this for me is to press “Win-R”, type in something along the lines of “ssh://myhost.com” and never move away from the keyboard. After a couple of Google searches, I know I am not alone in that. At least one of my colleagues prefers to do it this way as well. Speeds things up a lot, believe me.
The problem is that PuTTY does not support it. It supports telnet://192.168.0.1, but NOT ssh://192.168.0.1. Apparently, this is because PuTTY developers believe that the URL convention for SSH protocol hasn’t been approved yet and, therefore, PuTTY won’t support it. Some people even developed special tool – UrlConf – in particular, to be able to set up PuTTY as a default ssh:// handler. Some others use Windows batch files to parse command line passed to PuTTY and run it.
Both solutions are somewhat funny – they invoke a proxy application just to invoke PuTTY. As PuTTY is Open source distributed under MIT license, why don’t I update its source code to do what I need?
So here it is, PuTTY that can handle not only ssh:// protocol to the same extent it could handle telnet:// protocol, but also handles a special putty:// protocol.
CONTENT:
- putty.exe – compiled putty.exe with the additional features
- putty.reg – Windows Registry file to register putty.exe to handle telnet, ssh and putty protocols
- unputty.reg – Windows Registry file to unregister putty.exe from the system
- window.c – the only file that had to change to implement extra functionality – for your reference only, you don’t need to do anything about it
- diff.txt – the diff file for window.c file – for your reference only, you don’t need to do anything about it
- readme.txt – the file with information about this package
INSTALLATION:
- Put putty.exe into the directory where your current putty.exe resides
- Edit putty.reg to replace path to putty.exe with your path
- Merge putty.reg with your registry (usually, by double-clicking)
- Enjoy!
UNINSTALLATION:
- Run unputty.reg
- Enjoy!
CHANGELOG:
[*] Based off the source code for the latest Windows development version as of 14/09/2008
[+] Handles ssh:// protocol to the same extent as it handles telnet:// protocol. Namely, if you type something like “ssh://192.168.0.1″, and 192.168.0.1 runs SSH server, PuTTY would attempt to connect
[+] Handles putty:// protocol. This is a special protocol and, if invoked as “putty://profile-name”, would be equivalent to “putty.exe -load profile-name”. In other words, if you have profile-name defined in PuTTY, then typing “putty://profile-name” in Run menu or in browser, would invoke PuTTY, load profile-name and attempt to connect using its settings. If the profile contains spaces in it, please, put it in quotes: “putty://”profile name”"
Download the zip file here: putty_ssh
Have fun, folks!