Improve instructions in
the wiki FAQ for
running private networks.
The current FAQ entry explains manual steps that Chutney and Shadow do
automatically and that nobody should have to worry about. A more
useful FAQ entry would explain how to get started with Chutney and
Shadow and then link to their tutorials for more detailed
instructions, if available.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
How do I set up my own private Tor network?If you want to experiment locally with your own network, or you're cutoff from the Internet and want to be able to mess with Tor still, thenyou may want to set up your own separate Tor network.To set up your own Tor network, you need to run your own authoritativedirectory servers, and your clients and relays must be configured sothey know about your directory servers rather than the default publicones.Apart from the somewhat tedious method of manually configuring acouple of directory authorities, relays and clients there are twoseparate tools that could help. One is Chutney, the other is Shadow.[Chutney](https://gitweb.torproject.org/chutney.git) is a tool forconfiguring, controlling and running tests on a testing Tornetwork. It requires that you have Tor and Python (2.5 or later)installed on your system. You can use Chutney to create a testingnetwork by generating Tor configuration files (torrc) and necssarykeys (for the directory authorities). Then you can let Chutney startyour Tor authorities, relays and clients and wait for the network tobootstrap. Finally, you can have Chutney run tests on your network tosee which things work and which do not. Chutney is typically used forrunning a testing network with about 10 instances of Tor. Everyinstance of Tor binds to one or two ports on localhost (127.0.0.1) andall Tor communication is done over the loopback interface. The[https://gitweb.torproject.org/chutney.git/blob/HEAD:/README ChutneyREADME] is a good starting point for getting it up and running.[Shadow](https://github.com/shadow/shadow) is a network simulator thatcan run Tor through its Scallion plug-in. It's typically used forrunning load and performance tests on substantially larger Tor testnetworks than what's feasible with Chutney. A large Shadow network ison the size of thousands of instances of Tor. Also, Shadow controlsthe time of the simulation with the effect that time consuming testscan be done more efficiently than in an ordinary testing network. The[Shadow README](https://github.com/shadow/shadow/blob/master/README)is a good starting point for getting started.
Sounds like a useful starting point for people trying to mess with private Tor networks. Nick, Rob, is there anything you'd want to add? If not, I'd say, let's copy this text to the wiki page and call the task done. (Thanks!)
Shadow is a network simulator that can run Tor through its Scallion plug-in. Although it's typically used for running load and performance tests on substantially larger Tor test networks than what's feasible with Chutney, it also makes for an excellent debugging tool since you can run completely deterministic experiments. A large Shadow network is on the size of thousands of instances of Tor, and you can run experiments out of the box using one of Shadow's several included scallion experiment configurations. Shadow can be run on any linux machine without root, and can also run on EC2 using a pre-configured image. Also, Shadow controls the time of the simulation with the effect that time consuming tests can be done more efficiently than in an ordinary testing network. The Shadow wiki and Shadow website, are good places to get started.
What advantages does Chutney have over Shadow? From what I can gather from the explanation on this ticket, Shadow scales better, allows for deterministic tests... what does Chutney do better?
A closed ticket is the wrong place to have such a conversation. But in a single sentence: Chutney allows you to run the unchanged tor executable whereas Shadow adds in another abstraction level that might unintentionally break stuff. There are probably more aspects. But again, this conversation shouldn't be on this ticket, but probably on a mailing list.