1. 31 May, 2019 7 commits
  2. 21 Dec, 2018 1 commit
  3. 24 Oct, 2017 1 commit
    • Gunes Acar's avatar
      Fix Cloudflare CAPTCHA test. · 08977036
      Gunes Acar authored and Philipp Winter's avatar Philipp Winter committed
      Update Cloudflare CAPTCHA signature, it looks like they started to
      use `Cloudflare` instead of `CloudFlare`.
      
      Update user agent header to match that of current stable Tor Browser.
      Interestingly, I stopped getting CAPTCHAS after updating the UA string.
      
      Add missing `Upgrade-Insecure-Requests` header.
      
      Update `Accept-Encoding` header.
      08977036
  4. 23 Oct, 2017 1 commit
  5. 20 Oct, 2017 1 commit
  6. 15 Oct, 2017 1 commit
  7. 04 Aug, 2017 1 commit
    • Philipp Winter's avatar
      Remove wikileaks.org from domain list. · 65dd488a
      Philipp Winter authored
      It looks like WikiLeaks' DNS servers no longer give you all IPv4 records
      in a single DNS response, meaning that we end up with a lot of false
      positives in a scan.  It's better to just get rid of the domain.
      65dd488a
  8. 08 Jul, 2017 2 commits
  9. 07 Jul, 2017 3 commits
  10. 19 Mar, 2017 2 commits
    • Ubuntu's avatar
      Fix broken test · 9e525da3
      Ubuntu authored and Philipp Winter's avatar Philipp Winter committed
      Executing the file is throwing an error "ValueError: Too many values to unpack".
      This error is occurring because pyflakes is also returning the exact code where the error has occurred.
      9e525da3
    • Ubuntu's avatar
      Fix Pep8 violations. · 794bd00b
      Ubuntu authored and Philipp Winter's avatar Philipp Winter committed
      794bd00b
  11. 22 Nov, 2016 2 commits
    • Philipp Winter's avatar
      Delete unnecessary files. · 2b6d6587
      Philipp Winter authored
      2b6d6587
    • Philipp Winter's avatar
      Don't catch exceptions. · fbb70401
      Philipp Winter authored
      If we catch all exceptions inside get_relays_in_country(), we cannot
      test the function properly.  In particular, we are unable to distinguish
      Onionoo failure from the function's failure.  Handling the exceptions in
      the calling function fixes this.
      fbb70401
  12. 21 Nov, 2016 1 commit
  13. 15 Oct, 2016 1 commit
  14. 02 Sep, 2016 1 commit
  15. 14 Aug, 2016 2 commits
  16. 21 Apr, 2016 1 commit
    • Philipp Winter's avatar
      Refactor logging and enable logging to file. · 52ac9c18
      Philipp Winter authored
      This commit adds the command line options "-o" and "--logfile" that
      enable logging to file.  This functionality required minor restructuring
      that led to a simplification of the logging code.  In particular:
      
      - We get rid of log.py because it was never really necessary.
      
      - We use named loggers, so it's easier to figure out what module logged
        a given message.
      
      - We rename our logging object from "logger" to "log" to make the code
        more readable.
      
      - The restructuring means that we now also get to see Stem's logging
        messages.
      52ac9c18
  17. 15 Apr, 2016 3 commits
  18. 14 Apr, 2016 1 commit
    • Philipp Winter's avatar
      Add command line option for random build delays. · a20713b7
      Philipp Winter authored
      This command line option hopefully makes it a little bit more difficult
      for vigilant adversaries to discover our scanning activity.  It adds a
      random value to the time delay between two subsequent circuit creations.
      As a result, if an adversary monitors circuit creation timings, our
      signal should be less periodic and thus less obvious.
      
      We implement this feature by exposing a command line argument that
      determines a random time delay in the interval [0, DELAY_NOISE).  This
      delay is then either added to or subtracted from (both with probability
      0.5) the given build delay.  By default, the argument is 0, and
      therefore not in effect.
      a20713b7
  19. 13 Apr, 2016 1 commit
  20. 11 Apr, 2016 4 commits
    • Philipp Winter's avatar
      Fix PyPy 2.6.1 issue. · fd102fea
      Philipp Winter authored
      Travis CI discovered that PyPy in version 2.6.1 apparently lacks the
      ENOTSUP variable.  This commit defines the variable if it does not exist
      already.  The exact test error was:
      
        ============================= test session starts ==============================
      
        platform linux2 -- Python 2.7.10[pypy-2.6.1-final], pytest-2.8.5, py-1.4.31, pluggy-0.3.1
      
        rootdir: /home/travis/build/NullHypothesis/exitmap, inifile:
      
        plugins: cov-2.2.1
      
        collected 8 items / 1 errors
      
        test/test_relayselector.py .
      
        test/test_stats.py .
      
        test/test_util.py ......
      
        ==================================== ERRORS ====================================
      
        ____________________ ERROR collecting test/test_torsocks.py ____________________
      
        test/test_torsocks.py:24: in <module>
      
            import torsocks
      
        src/torsocks.py:61: in <module>
      
            0x07: errno.ENOTSUP,      # Command not supported / protocol error
      
        E   AttributeError: 'module' object has no attribute 'ENOTSUP'
      fd102fea
    • Philipp Winter's avatar
      Remove broken unit tests. · 6bfa04a9
      Philipp Winter authored
      After torsocks.py and relayselector.py have been refactored, we will
      have to rewrite the unit tests.
      6bfa04a9
    • Philipp Winter's avatar
      Use correct variable. · 4a2665f0
      Philipp Winter authored
      4a2665f0
    • Philipp Winter's avatar
      Merge pull request #48 from zackw/master · d3d197a9
      Philipp Winter authored
      RFC: New module 'rtt' and a bunch of changes in aid of what it does
      d3d197a9
  21. 29 Mar, 2016 3 commits
    • Zack Weinberg's avatar
      New module rtt.py, which measures round-trip times through exits. · bf40a5fc
      Zack Weinberg authored
      The preceding changes are all in aid of this module.  Note that it
      currently isn't 100% robust.  It works well for _one_ exit, but
      if you try to run it over many destinations and all exits, fewer
      and fewer connections will work correctly as time goes by.  I could
      use some debugging help.
      
      selectors34.py and six.py are third-party code licensed under MIT-like
      licenses.  They are backports of Python 3.(>=4) standard library
      functionality to Python 2, and redistributing them in this fashion
      is encouraged by their authors.
      bf40a5fc
    • Zack Weinberg's avatar
      Tell probe() what destinations it can connect to via each exit. · a9f6091a
      Zack Weinberg authored
      Formerly, only exits that could connect to _all_ of a module's requested
      destinations were included in the set of exits to be probed.  Now,
      instead, every exit that can connect to _at least one_ of a module's
      requested destinations will be included, and probe() receives a new
      keyword argument, destinations=, that tells it which destinations it
      can use for each exit.  (The destinations list will be a proper subset
      of module.destinations, with all hostnames resolved to IP addresses.)
      
      This does not affect the behavior of any existing module, because all
      of the existing modules use only a single destination.
      a9f6091a
    • Zack Weinberg's avatar
      Make all probe() functions accept and ignore arbitrary kwargs. · c41a346d
      Zack Weinberg authored
      This is forward-compatibility for the next change, in which
      a new kwarg (that none of them need, but a new module does)
      will be added.
      c41a346d