Improving the robustness of Tor Check

Mike Perry mikeperry at
Sun Mar 16 19:12:07 UTC 2008

Thus spake Steven J. Murdoch (tor+Steven.Murdoch at

I'd like to propose an extension that would make it much easier for
Torbutton to provide feedback via a simple icon indication.

> Extensions:

    Automatic Firefox Notification:

    All forms of the website should return valid XHTML and have a 
    hidden link with an id attribute "TorCheckResult" and a target 
    property that can be queried to determine the result. For example, 
    a hidden link would convey success like this:

    <a id="TorCheckResult" target="success" href="/"></a>

    failure like this: 
    <a id="TorCheckResult" target="failure" href="/"></a>
    and DNS leaks like this:    

    <a id="TorCheckResult" target="dnsleak" href="/"></a>

    Firefox extensions such as Torbutton would then be able to 
    issue an XMLHttpRequest for the page and query the result
    with resultXML.getElementById("TorCheckResult").target
    to automatically report the Tor status to the user when
    they first attempt to enable Tor activity, or whenever 
    they request a check from the extension preferences window.

    If the check website is to be themed with heavy graphics and/or
    extensive documentation, the check result itself should be 
    contained in a seperate lightweight iframe that extensions can 
    request via an alternate url.

>   Identifying proxy server:
>   If needed, other applications between the web browser and Tor (e.g.
>   Polipo and Privoxy) could piggyback on the same mechanism to flag
>   whether they are in use. All three possible web pages should include
>   a machine-readable placeholder, into which another program could
>   insert their own message.
>   For example, the webpage returned by Tor to indicate a successful
>   configuration could include the following HTML:
>    <h2>Connection chain</h2>
>    <ul>
>    <li>Tor

Change this to:


>    <!-- Tor Connectivity Check: success -->
>    </ul>
>   When the proxy server observes this string, in response to a request
>   for the Tor connectivity check web page, it would prepend it's own
>   message, resulting in the following being returned to the web
>   browser:
>    <h2>Connection chain
>    <ul>
>    <li>Tor

Change this to:


>    <li>Polipo version 1.0.4

Change this to:

     <li>Polipo version 1.0.4</li>

>    <!-- Tor Connectivity Check: success -->
>    </ul>

Mike Perry
Mad Computer Scientist evil labs
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <>

More information about the tor-dev mailing list