How to Use Runlinks and Permalinks

As you probably know from our recent news, Online Domain Tools allows you to create so called Runlinks and Permalinks. What are these good for and how to use them is the topic of this post. We will uncover some technical details so that you are able to get most of these new features.

What Is Runlink?

Runlink is a link that specifies a tool you want to run and how to run it – i.e. the tool’s arguments. A Runlink can be created either manually or using a Runlink button, which is easier and preferred method. Let’s have a look at a simple example. We will create a Runlink for Ping Online that is going to send 2 pings to google.com with 5 second timeouts and other Ping Online arguments will be left with their default values.

  1. We type http://ping.online-domain-tools.com/ to the browser’s address bar.
  2. We fill the desired arguments in the input form as if we wanted to run the tool with these arguments.
  3. Click the Runlink button on the right below the input form.
    ODT Runlink Sample 1
  4. A window with the link pops up.
    ODT Runlink Sample 2
  5. The generated link looks as follows:

    http://ping.online-domain-tools.com/run/?ipAddress=google.com&w=5000&n=2&i=128&l=32

    As we can see, “run/” was appended to the path of Ping Online’s URL. This tells the server that it is a Runlink. Then we can see the query string contains all the arguments from the input for

    • ipAddress contains the value of the Host / IP address field;
    • w contains the value of the Timeout field;
    • n contains the value of the Count field;
    • i contains the value of the TTL field;
    • l contains the value of the Buffer size field.
  6. Now we can copy the given link into the address bar of our browser and see what happens. It is not a big surprise that we have just executed Ping Online with the given arguments.

Default Values

Some fields of tools’ input forms are preset to their default values. If we open Ping Online tool using its default address http://ping.online-domain-tools.com/ we can see that the Host / IP address field is set to our IP address and also all other fields are preset to default values. This behavior can be used with Runlinks too. Instead of the generated link, we can use this link

http://ping.online-domain-tools.com/run/?ipAddress=google.com&w=5000&n=2

and we get exactly the same result because if an argument is not specified in the query string of a Runlink, the default value of that argument is going to be used. Obviously, omitting will work only for arguments that do have a valid default value. If we omit an argument that does not have a valid default value, the form validation will show us a validation error and the tool will not be executed.

More Complex Example

The Ping Online example was a very simple one. Runlinks get slightly more complex in case of tools that include checkboxes in their input forms and/or multiple buttons. Uuencoder / Uudecoder tool is a good example of such a tool. There are two buttons – Encode! and Decode! – and also a checkbox that defines whether or not a uuencoding header should be included in the output when encoding. If we enter single line text input “test input” and click the Runlink button, a window with two runlinks pops up:

odt-runlink-sample-3
The first link is intended for encoding:

http://uuencode.online-domain-tools.com/run/?tool=uu&inputType=frm-text&text=test%20input&uuencoding_add_headers=unchecked&encode=do

It works just like if you click the Encode! button after filling up the specified input arguments. The second one is, obviously, intended for decoding:

http://uuencode.online-domain-tools.com/run/?tool=uu&inputType=frm-text&text=test%20input&uuencoding_add_headers=unchecked&decode=do

Note the difference in these Runlinks that specifies which operation is required. If “encode=do” is a part of the query string, encoding is to be done. If “decode=do” is there instead, decoding is being done. All other tools that operate with more than one buttons work just like that. Please note that the Code Page Encoding tool is just a part of Online Encoders and Decoders tool, which means that even if there is only one visible button, internally the tool works with multiple buttons and hence it is necessary for the Runlink to include the information about the required operation too, in case of this tool it is “convert=do”. You do not need to worry about this when you use Runlink buttons to generate Runlinks for you. This slightly technical information comes handy only if you construct Runlinks manually.

Please also note the use of checkbox in our original Uuencoding example. There is “uuencoding_add_headers=unchecked” as a part of the query string. Since the unchecked value of the checkbox is the default one, omitting this part of the query string would result in the checkbox being unchecked. However, in case of some other tool, omitting the value might mean some of its checkboxes to be checked, if that is the default value there. So, just to remind it once again, in general, omitting the value means using the default value, not having the checkbox unchecked although that is the case in our Uuencoding example. An opposite value to “uuencoding_add_headers=unchecked” is “uuencoding_add_headers=on”, this makes the checkbox checked. This might be a little counterintuitive if you expected it to be “checked”. But again, nothing to be worried about unless you construct Runlinks manually.

What Is Permalink?

Permalink is a common term on the web. It is a link to a content that is somehow persistent even if other content of the website changes. A typical example of this is a permalink to a blog post. Many blogs are designed in a way the main page displays a couple of most recent posts and older posts can be reached either through an archive of posts or using direct links – permalinks – that are unique for each post and do not change over the time.

Online Domain Tools Permalinks work very similarly. They are direct links to results (or outputs if you want) of tools executions. They present an easy way we can share our results with other people. A simple example is here again. We start with the first Runlink we have created for sending two pings to google.com. We open

http://ping.online-domain-tools.com/run/?ipAddress=google.com&w=5000&n=2&i=128&l=32

and then we click the Permalink button.

ODT Permalink Sample 1

Note that if you open Ping Online or any other tool without Runlink, the Permalink button will be disabled before you execute the task. If you open the tool through Runlink you, in fact, fill in the input form and execute the task at once and this is why Permalink button will be enabled instantly. After we click the Permalink button a pop-up window is displayed.

ODT Permalink Sample 2

  1. At the top of the window we can see the Permalink itself.
  2. The default expiration date is set to 14 days.
  3. We can change the expiration date using the given select box and by hitting the Set! button. The Dynamic expiration option here means that every time your permalink is accessed the expiration day is reset to 1 month from that moment. If such a Permalink is accessed at least once a month it could be saved on our server forever.

The generated Permalink is

http://ping.online-domain-tools.com/link/2ac1fg0WRP1eCJHQ/

When we open this link in a browser we can see the results of the Ping Online task we have previously executed.

ODT Permalink Sample 3

The information in the green box provides basic Permalink data to us – when the task was start, when it was finished and when will the Permalink expire.

What Is This Good For?

There are various situations in which you may find Runlinks and Permalinks handy. Let’s name just a couple of such scenarios.

Remote Help

Imagine you have a friend who has just basic computer skills and asks you for a help with his problem. As a part of the problem discovery you might need to execute Traceroute to his computer but you are just away from your computer and your only connection to the Internet is through your smart phone. Plus you do not even know your friend’s IP address. Here you can simply tell him to open this Runlink

http://traceroute.online-domain-tools.com/run/

which simply executes Traceroute Online with the default arguments including the client’s IP address as the target. And then you tell him to click that blue icon with the chain picture on the right and copy and paste the link at the top of the window that pops up. In a minute you will receive a Permalink of the Traceroute Online task and you have got what you needed, including the information about your friend’s IP address.

Proof of State

You might find Permalinks handy whenever you want to document a problem and want to have a solid proof in your hands that includes a time stamp. Let’s say you have a virtual server hosted by a company that turns out not to be as reliable as you expected. Your VPS is down quite often but the support keeps telling you that from their point of view the server is up. You can use various tools of our toolbox to prove the opposite. Use Nmap Online, Traceroute Online, Nping Online or HTTP Headers and create Permalinks for your results. Even if the tool fails to do its job due to an error on the target side, the Permalink is available and will back up your claims. Since the information on the Permalink page include exact date and time of the task, you now have the evidence you need.

Third Party Interface

Runlinks can also be used to create custom interfaces to our tools. You can create a form on your website that will create a Runlink and redirect your user to it in an IFrame or a new window. This way you can simply extend the functionality of your website easily.