Tor for Enthusiasts and Developers
Running a Relay
Running a Bridge
Running Hidden Services
Running a Relay
Route traffic for other Tor users
Prereqs
10 mbps upload/symmetric
Access to firewall
Migigations for customer Internet disruptions
Collateral effects of running a Tor relay
Some subset of internet services block all Tor relays
Hulu is an example
Ideal Tor Relay
Reasonably fast symmetric connection
Ip Address that is dedicated to non-consumer usage
Tor Bridge
Help users whose Tor usage is blocked access Tor
Ideal Tor Bridge
Fast symmetrix connection
Firewall Access
None of the collateral effects of running a relay
Hidden Services
Anonymout Internet Servers
End to End Crypto
NAT and Firewall Traversal
Easy:SSH
Easy: Static Site Hosting
Moderate: Dual hosting
Advanced: Application development
Easy:SSH
ssh into your home machine through your firewall
Immune to port scanning
Easy:SSH
Host *.onion
Compression Yes
ProxyCommand /bin/nc -xlocalhost:9050 -X5 %h %p
HiddenServiceDir /var/lib/tor/ssh_hidden_service/
HiddenServicePort 22 127.0.0.1:22
Easy:SSH
cat /var/lib/tor/ssh_hidden_service/hostname
ssh {your onion}.onion
Easy:Static Site Hosting
Hosting html and output from static site generators like Jekyll
HiddenServiceDir /var/lib/tor/web_hidden_service/
HiddenServicePort 80 127.0.0.1:80
server {
listen 127.0.0.1:80;
root /var/www/hidden_service/;
index index.html index.htm;
server_name {your onion hostname}.onion;
}
Easy:Static Site Hosting
Hosting html and output from static site generators like Jekyll
HiddenServiceDir /var/lib/tor/web_hidden_service/
HiddenServicePort 80 127.0.0.1:80
server {
listen 127.0.0.1:80;
root /var/www/hidden_service/;
index index.html index.htm;
server_name {your onion hostname}.onion;
}
Moderate:Dual Site Hosting
Offer a hidden service for your users to existing application
Easy with nginx as reverse and SSL proxy
Just add the config above to your sites.
Onion SSL certs are EV only for the moment
Moderate:Dual Site Hosting
Examples
Blockchain.info | https://blockchainbdgpzk.onion/
Facebook | https://facebookcorewwwi.onion
Advanced:onion applications
Leverage the firewall
https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy
Good for one of services
Advanced:onion application
Python Library for interacting with Tor proxy:Stem
Developing directly with SOCKS support is strongly reccomended
Middleware is enemy. Predicting remote behavior is difficulty
Advanced:onion application
Ensure hostname resolution is resolved via SOCKS not DNS
Built on top of minimal frameworks like express, sinatra, flask etc.
The fewer bells and whistles the better
.onion for peer to peer apps
Onion p2p applications could easily for loose networks with web hooks
End to end connectivity allows easy home hosting
Onion routing offers protection from harrassment for p2p activity
Tor for Enthusiasts and Developers