Running instructions update
Closed this issue · 9 comments
Hi,
I am looking into Ting as part of research, and having some difficulty understanding the instructions to run Ting, which seem specific to the authors. Could we get an update on running instructions please?
Glad to hear you're interested in Ting! Sorry, we stopped using this repository early on in the project, so it was horribly out of date and not very similar to the actual code used in the paper. The correct code and all of our data has been available on the project page here. However, I think it makes sense to have it on github as well, so I've just updated it. Now it should be consistent with the code we used in the paper, and the README (should!) be much more helpful. Let me know if you get stuck, I'm happy to help. Also, if you find any issues, feel free to submit a pull request!
Best,
Frank
I just managed to get it to run, but glad to know there's been an update. I'll pull it and see what I can do.
Hammad.
So I pulled the repo and merged with my own fork. I tried running the configure script(some minor changes needed due to syntax errors, will issue pull req later). Tor is unable to create control authentication cookies for any instance, and subsequently shuts down. Attaching log files
I believe all your problems are resulting from a series of "Couldn't open file X" messages. This means either:
- The parent directories it's looking for don't exist (i.e. if it's trying to write file X in directory "data", then "data" needs to exist already). The configure script should have created them for you, but it's possible that there's a bug so you should double check.
- The tor instance doesn't have permission to access those directories. In the short term you could try running with sudo to see if that fixes it, in the long term it'd be best to just change the permissions or owner of the directories so that tor can access them without sudo.
The instances are making the lock and state files in these directories, so at least they have permissions to make those files.
Managed to get it to work. Seems like the DataDirectory option is unable to work properly with relative directories, changed to absolute using $PWD
Now there is another problem, probably with the exit policy configuration. Any streams that try to connect via W or Z as exits are detached due to REMOTE_REASON = EXIT_POLICY, which I guess means that the exit node policy is being violated.
Sorry for the delay in my response. Glad you got the directory issue worked out.
Your guess is correct: that reason means that the exit policy of the exit node (which, in this case, if things have been setup correctly, should be your z node) does not allow exiting to the destination you've specified (which should be your client computer). First of all, make sure you've set the exit policy for the z node correctly. I originally set it up to default block all destinations except the machines I was using for experiments, and I'd recommend you do the same. If you check the last few lines of ./tor/configs/torrc-z, you should see
ExitPolicy accept 128.8.126.92:*
ExitPolicy reject *:*
Change this to
ExitPolicy accept [YOUR_IP]:*
ExitPolicy reject *:*
If that's still not working, I'd check and make sure the circuits are being created properly and that your traffic is actually making it to the correct nodes in the first place by running tcpdump on your machine.
I checked the ExitPolicy option, turns out the polices need to be put in one line, comma separated. Got it to work just fine now.