README 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. This is chutney. It doesn't do much so far. It isn't ready for prime-time.
  2. If it breaks, you get to keep all the pieces.
  3. It is supposed to be a good tool for:
  4. - Configuring a testing tor network
  5. - Launching and monitoring a testing tor network
  6. - Running tests on a testing tor network
  7. Right now it only sorta does these things.
  8. You will need, at the moment:
  9. - Tor installed somewhere in your path or the location of the 'tor' and
  10. 'tor-gencert' binaries specified through the environment variables
  11. CHUTNEY_TOR and CHUTNEY_TOR_GENCERT, respectively.
  12. - Python 2.7 or later
  13. Stuff to try:
  14. Standard Actions:
  15. ./chutney configure networks/basic
  16. ./chutney start networks/basic
  17. ./chutney status networks/basic
  18. ./chutney verify networks/basic
  19. ./chutney hup networks/basic
  20. ./chutney stop networks/basic
  21. Bandwidth Tests:
  22. ./chutney configure networks/basic-min
  23. ./chutney start networks/basic-min
  24. ./chutney status networks/basic-min
  25. CHUTNEY_DATA_BYTES=104857600 ./chutney verify networks/basic-min
  26. # Send 100MB of data per client connection
  27. # verify produces performance figures for:
  28. # Single Stream Bandwidth: the speed of the slowest stream, end-to-end
  29. # Overall tor Bandwidth: the sum of the bandwidth across each tor instance
  30. # This approximates the CPU-bound tor performance on the current machine,
  31. # assuming everything is multithreaded and network performance is infinite.
  32. ./chutney stop networks/basic-min
  33. Connection Tests:
  34. ./chutney configure networks/basic-025
  35. ./chutney start networks/basic-025
  36. ./chutney status networks/basic-025
  37. CHUTNEY_CONNECTIONS=5 ./chutney verify networks/basic-025
  38. # Make 5 connections from each client through a random exit
  39. ./chutney stop networks/basic-025
  40. Note: If you create 7 or more connections to a hidden service from a single
  41. client, you'll likely get a verification failure due to
  42. https://trac.torproject.org/projects/tor/ticket/15937
  43. HS Connection Tests:
  44. ./chutney configure networks/hs-025
  45. ./chutney start networks/hs-025
  46. ./chutney status networks/hs-025
  47. CHUTNEY_HS_MULTI_CLIENT=1 ./chutney verify networks/hs-025
  48. # Make a connection from each client to each hs
  49. # Default behavior is one client connects to each HS
  50. ./chutney stop networks/hs-025
  51. The configuration files:
  52. networks/basic holds the configuration for the network you're configuring
  53. above. It refers to some torrc template files in torrc_templates/.
  54. The working files:
  55. chutney sticks its working files, including all data directories, log
  56. files, etc, in ./net/. Each tor instance gets a subdirectory of net/nodes.
  57. You can override the directory "./net" with the CHUTNEY_DATA_DIR
  58. environment variable.
  59. Test scripts:
  60. The test scripts are stored in the "scripts/chutney_tests" directory. These
  61. Python files must define a "run_test(network)" function. Files starting with
  62. an underscore ("_") are ignored.