------------------------------
ooniprobe:
* Allow test resolver file to have comments.
* Autostart Tor in default configuration.
* Add support for starting Tor via txtorcon.
* Make the sniffer not run in a separate thread, but use a non blocking fdesc.
Do some refactoring of scapy testing, following Factory creational pattern
and a pub-sub pattern for the readers and writers.
* Extend TrueHeaders to support calculation of difference between two HTTP headers respectful of
capitalization
* Implement test deck system for automating the specification of command line
arguments for tests
* Implement sr1 in txscapy
* Include socksproxy address in HTTP based tests
* Include the resolver IP:Port in the report
* Changes to the report format of HTTP Test template derived tests:
Requests are now stored inside of an array to allow
the storing of multiple request/response pairs.
* Fix bug that lead to httpt based reports to not have the url attribute set
properly.
* twisted Headers() class edited to avoid header fix in reference to:
https://trac.torproject.org/projects/tor/ticket/7432
* Parametrize tor socksport for usage with modified HTTP Agent
* Update URL List test to take as input also a single URL
* Clean up filenames of reports generated by ooni-probe:
they now follow the format $testName_report_$timestamp.yamloo
* Add ooniprobe prefix to logs
* Respect the includeip = false option in ooniprobe.conf for scapyt derivate
tests:
If the option to not include the IP address of the probe is set,
change the source and destination ip address of the sent and received
packets to 127.0.0.1.
tests:
* Implement basic keyword filtering detection test.
* Add ICMP support to multi protocol traceroute test
* parametrize max_ttl and timeout
* make max_ttl and timeout be included in the report
* Port UK Mobile Network test to new API
* Port daphn3 test
* Randomize source port by default in traceroute test and include source port in
report
* Test and Implement HTTP Header Field Manipulation Test (rename it to what we
had originally called it since it made most sense)
* Implement test that detects DNS spoofing
* Implement TCP payload sending test template:
Example test based on this test template
* Make report IDs include the timestamp of the report
* Add test that detects censorship in HTTP pages based on HTTP body length
* Add socks proxy support to HTTP Test
* Create DNS Test template:
Use such template for DNS Tamper test.
Add example usage of DNS Test Template.
* Refactor captive portal test to run tests in threads
oonib:
* Implement basic collector for ooniprobe reports.
Reports can be submitted over the network via http to a remote collector.
Implement the backend component of the collector that writes submitted
reports to flat files, following the report_id naming convention.
* Implement very simple HTTP Request backend that does only the part of HTTP we
need for testing
* Make oonib a daemon
* Loosen up the oonib regexp to support the timestamp report format
* Add Tor Hidden Service support
* Make the reporting directory of the collector configurable
* Implement TCP Echo test helper.
scripts:
* Add fabfile for automatic deployment of ooni-probe to remote sites
documentation:
* Update documentation on how to setup ooniprobe.