Project Description
CustomURL is a small utility for registering custom URL protocols. You can for example associate the rdp:// protocol with Remote Desktop Client or the ssh:// protocol with Putty or another SSH client.

CustomURL allows you to run any EXE file from a html page. This can be very useful for business application that combine a web interface with locally installed applications.

Installation / Usage

Download CustomURL.exe from and save it to the System32 folder in you windows directory. To configure URL protocols execute CustomURL.exe by double-clicking in windows explorer or type CustomURL in the "Run" dialog in the start meny.

How does it works?

URL protocols are registered in the windows registry at HKLM\Software\Classes or HKCU\Software\Classes. If you are using a 64-bit operating systems you also need to register the protocol at HKLM\Software\Wow6432Node\Classes or HKCU\Software\Wow6432Node\Classes to make it work for 32-bit applications. Read more about registering URL protocols at http://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx.

If you register the protocol foo using this tool, CustomURL.exe will be registered as protocol handler for URLs beginning with foo://. CustomURL will then receive the URL calls and execute the application you have assign to the foo protocol. Parts of the URL, for example a host name, can be passed to the assigned application as command line arguments.

Security considerations

This tool uses the .Net 2.0 System.Uri class to parse and extract parts of the URL. No extra validation is done on the extracted URL parts. For security reasons only the host, port and user information is extracted, any query parts of the URL will be ignored.

Screenshots

Main window, shows registered protocols assigned with CustomURL.
CustomURL1.png

Assigning a new protocol to CustomURL and register the command line to execute for this protocol.
CustomURL2.png

Last edited Jul 8, 2008 at 4:38 PM by KalleLundberg, version 7