How to use exit nodes from certain country?

  • zoku

    zoku - 2012-03-23

    Hi all,

    I just started using silvertunnel for one of my projects and got stuck on this issue now.
    In my project I try to connect to German exit nodes only and ignore the rest of the word (the connection doesn't need to be completely limited to German nodes, only the exit node has to be from Germany).
    (How) Is it possible to get hands on a fingerprint of a German (or more general 'chosen by country') node and use it with silvertunnel?

    Thanks in advance

  • zoku

    zoku - 2012-03-26

    Would it then be possible to get a list of possible exit nodes and filter out the ones from the specified country "by hand"?
    I kept on trying to get a list of nodes or even a connection to anywhere by hand but failed. I don't think I understand how the structure of silvertunnel + tor-authorisation/exit node retrieval works, so far.
    Is there any howto or example on that topic? I couldn't find anything helpful in the Javadoc nor did Google do any good…

  • Frank

    Frank - 2012-03-26

    The API doesn't support getting this node list at the moment.

  • zoku

    zoku - 2012-03-28

    Ok, now I tried to establish a connection to a test page (displays $_GET and some data about the connection).

    Unfortunately it didn't work correctly. Every time I try to connect via a certain exit node, the Server responds with a 404, sometimes with a 403 wrapped in it. Is it possible, that my approach in Java itself is wrong?

    My Code for the HTTP-Request is:

         NetLayer lowerNetLayer = NetFactory.getInstance().getNetLayerById(NetLayerIDs.TOR);
         String fingerPrint = "AD4...E3F"; // Fingerprint of a German exit node
         httpServerNetAddress = new TcpipNetAddress("" + fingerPrint + ".exit", 80);
         pathOnHttpServer = "/";
         responseBody = HttpUtil.getInstance().get(lowerNetLayer, httpServerNetAddress, pathOnHttpServer, 5000);

    Where responseBody holds the HTML of the Error message. If I omit the


    , the code works like expected. What am I missing?

  • Frank

    Frank - 2012-03-28

    It will not work with all webservers because the host name www…exit will also be transmitted as part of the HTTP protocol and often used by the webserver to determine the vhost (to recognize the domain if multiple domains will be hosted on one webserver).


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks