Welcome to the Dash Forum!

Please sign up to discuss the most innovative cryptocurrency!

3 How to run a local Dash Tor hidden service (advanced setup, high privacy, own onion address)

Discussion in 'Miscellaneous Dash Guides' started by elan, Mar 6, 2015.

  1. elan

    elan Member

    Joined:
    Feb 20, 2015
    Messages:
    36
    Likes Received:
    53
    Trophy Points:
    58
    Guide: How to run a local Dash hidden service?!?

    Setup: Advanced (TL;DR install Tor, configure hidden service, reconfigure Dash, etc.)
    Time: ~45 minutes
    Privacy: High (hides you completely behind other Tor nodes, you operate your own node)

    It's recommended to do the previous tutorial first: 2 How to run Dash with Tor nodes connected only - this will speed things up. This tutorial is quite similar but with some extra steps.

    Step by step:
    1. Get the latest version of the Tor Browser Bundle from the tor project website: https://www.torproject.org/projects/torbrowser.html.en
      Make sure you get the latest version, chose any language you like but I recommend en-US. Some operating systems like linux may have the tor browser in their repositories, check them out, this simplyfies upgrades. But make sure they always offer the latest version.
    2. Install the browser bundle, start it and hit connect. You will see a window popping up which shows the status of the Tor connection and it will open the browser as soon as it is connected.
    3. Navigate to http://darkcoinie7ghp67.onion/ with the Tor browser. If you see the website of the Dash relay, your Tor was set up correctly!
    4. Shut down the Tor browser. We need it later, but have to configure the hidden service first.
    5. Create a directory for your hidden service, this will store the keys and hostname for your onion address later. For example:
      $ mkdir -p /home/elan/onion/dash
      Make sure you create it with normal user permissions (here: elan), meaning the same user as the one who will run the Tor browser bundle.
    6. Now you have to configure the torrc file of the Tor browser. Search it. Mine is located at:
      /home/elan/.tor-browser-en/INSTALL/Browser/TorBrowser/Data/Tor/torrc
      Open it and add the following lines at the end:
      HiddenServiceDir /home/elan/opt/onion/dash
      HiddenServicePort 9999 127.0.0.1:9999

      This will map your hidden service port :9999 to your local Dash instance at port :9999.
    7. Start the Tor browser again. This will generate an onion address in the background. If the browser starts correctly and Tor is connected, verify the generate address:
      $ cat /home/elan/onion/dash/hostname
      cbz5ymdvhfysxrwa.onion

      Note that address, you will tell Dash later that this is your "external ip".
    8. The Tor browser includes a SOCKS proxy listening on port :9150 which allows you to dip into the deep web. Now we are going to set up Dash.
    9. Tell Dash to use the Tor proxy by adding this line to your config file onion=127.0.0.1:9150.
    10. Tell Dash to only use Tor nodes to connect to by adding onlynet=tor to the config file.
    11. Find some onion addnodes. The first one could be my relay at http://darkcoinie7ghp67.onion/. Pass the nodes like that addnode=darkcoinie7ghp67.onion to the config file. Use a search engine to find more nodes. Here is a thread to share Dash onion nodes: Looking for dash onion nodes. Or on the hub: http://thehub7gqe43miyc.onion/index.php?topic=7128.0
    12. Tell Dash it's external address which was created in step 7 with externalip=cbz5ymdvhfysxrwa.onion in the config file.
    13. Last but not least, re-enable the listen=1 flag. You'll need to enable listening for incoming connections, or else your hidden service wont be any service at all.
    A sample Dash config file for a Dash local hidden service looks like that:

    Code:
    rpcuser=rpcuser
    rpcpassword=rpcpassword!1337
    server=1  # yes we run a hidden server now
    maxconnections=128  # allow some traffic incoming
    
    onion=127.0.0.1:9150  # tell dash to use tor browser proxy
    onlynet=tor  # tell dash to only use tor nodes (no ipv4/6)
    discover=0  # disable discovering of your local ip address
    listen=1  # enable incoming connections to your address
    externalip=cbz5ymdvhfysxrwa.onion  # broadcast your hidden service onion address
    
    addnode=darkcoinie7ghp67.onion  # required addnodes to find some connections
    addnode=drktalkwaybgxnoq.onion  # more addnodes
    addnode=drkcoinooditvool.onion  # ...
    addnode=darkcoxbtzggpmcc.onion  # try to find some own nodes
    addnode=ssapp53tmftyjmjb.onion  # ...
    addnode=j2dfl3cwxyxpbc7s.onion  # the more the better
    addnode=vf6d2mxpuhh2cbxt.onion  # ...
    Here are some screenshots of what to expect:

    Screenshot-0.png Screenshot-1.png Screenshot-2.png Screenshot-B.png Screenshot-4.png Screenshot-5.png

    Read more:
     
    #1 elan, Mar 6, 2015
    Last edited by a moderator: Apr 3, 2015
    • Like Like x 3
  2. tungfa

    tungfa Administrator
    Dash Core Team Foundation Member Masternode Owner/Operator Moderator

    Joined:
    Apr 9, 2014
    Messages:
    8,964
    Likes Received:
    6,737
    Trophy Points:
    1,283