Tutorial: Adding a transport

This tutorial explains how to add a transport to Snarl.  Transports have existed since the first ever release of Snarl, however they have always been baked into the core of the application.  Snarl 1.0 only ever used the win32 transport (that is, only applications running on the Windows session could create notifications); Snarl 2.0 introduced limited network connectivity and Snarl 3.0 built on this.

Snarl 4.0 now formalises the transport concept a lot more by abstracting different transports from specific network ports.  This now means that you are no longer tied to port 9887 for SNP notifications and port 23053 for GNTP notifications, for example.

By default, Snarl only listens on the win32 transport.  This is to make the initial installation as secure as possible by not exposing open ports on a network.  To get Snarl to listen for incoming network notifications, you have to add a transport.

To get started you will need:

Step 1: Getting set up

Firstly, make sure Snarl is installed and running, then open its settings by double-clicking on its icon in the system tray, right-clicking the system tray icon and selecting Settings, or by launching a browser and navigating to http://localhost:9989/

Once the settings page has opened, select Network from the page list along the top:

networkpage

Step 2: Adding a new transport

Click Add new transport…, Snarl will create a new blank transport entry and open it so you can configure it:

newtransport

Step 3: Configuring the new transport

Enter a name for the new transport.  This can be anything that describes the transport – it’s not used by Snarl.

Enter 9887 as the port and leave SNP 3.0 selected as the protocol, of course you can have Snarl listen for SNP 3.0 on any port now, but existing applications will likely still expect to talk on 9887.

completed

Click Submit to save the details, you should see it listed as “listening” in the network page:

networkpage-done

Step 4: Testing the transport

Using telnet (or any equivalent), connect to 127.0.0.1, port 9887 and enter the following:

SNP/3.0
notify?text=Hello, world!
END

You should see a notification appear.  If so, congratulations – Snarl is now listening for incoming SNP 3.0 notifications!