1. 03 Dec, 2018 1 commit
  2. 29 Nov, 2018 1 commit
  3. 03 Nov, 2018 1 commit
    • João Vieira's avatar
      Changes pf exclusion rules precedence · ca41026c
      João Vieira authored
      Before this change, in pf, exclusions used a pass out quick which gave
      them higher precedence than any other rule independent of subnet width.
      As reported in #265 this causes exclusion from one instance of sshuttle
      to also take effect on other instances because quick aborts the
      evaluation of rules across all anchors.
      
      This commit changes the precedence of rules so quick can now be
      dropped. The new order is defined by the following rule, from
      subnet_weight:
      
      "We need to go from smaller, more specific, port ranges, to larger,
      less-specific, port ranges. At each level, we order by subnet
      width, from most-specific subnets (largest swidth) to
      least-specific. On ties, excludes come first."
      ca41026c
  4. 01 Nov, 2018 1 commit
  5. 23 Oct, 2018 1 commit
    • João Vieira's avatar
      Fixes support for OpenBSD (6.1+) (#282) · 7a54d12f
      João Vieira authored
      * Fixes support for OpenBSD (6.1+)
      
      As reported in #219, new versions of OpenBSD ship with a different
      pfioc_rule struct. This commit adjusts the offset to match the new struct.
      
      * Fixes tests for OpenBSD 6.1+
      7a54d12f
  6. 17 Oct, 2018 5 commits
  7. 07 Oct, 2018 1 commit
  8. 22 Sep, 2018 2 commits
    • Brian May's avatar
      Merge pull request #271 from usabilla/no-sudo-pythonpath · 6dc368bd
      Brian May authored
      Add --no-sudo-pythonpath option
      6dc368bd
    • Steven McDonald's avatar
      Add --no-sudo-pythonpath option · f528bb98
      Steven McDonald authored
      This provides a way to avoid setting PYTHONPATH when invoking the
      privileged part of sshuttle with sudo. This is useful if running
      sshuttle as a PEX archive, as Telepresence does, as it enables
      sshuttle's sudo access to be securely locked down.
      
      PEX archives will extract themselves into the invoking user's home
      directory, which means that the invoking user has full control over
      the code in them. This makes restricting sudo access with
      PYTHONPATH set completely pointless in this scenario -- an attacker
      could put any code into ~/.pex and gain full root access anyway.
      
      On the other hand, if sshuttle is a PEX archive, the privileged
      invocation will simply extract itself into /root/.pex anyway, so
      there is no need to set PYTHONPATH in this case.
      f528bb98
  9. 25 Aug, 2018 1 commit
    • tony godshall's avatar
      works on ChromeOS with Crostini VM (#262) · 561b648e
      tony godshall authored
      * works on ChromeOS with Crostini VM
      
      tested on ASUS C101PA on Dev channel, should also work on Intel machines and Beta channel
      
      * crostini doc, and a note about xterms and VNC
      
      tested on ASUS C101PA on Dev channel, should also work on Intel machines and Beta channel
      561b648e
  10. 21 Aug, 2018 1 commit
  11. 29 Jun, 2018 1 commit
  12. 22 Jun, 2018 1 commit
  13. 07 Jun, 2018 1 commit
  14. 03 Jun, 2018 1 commit
  15. 13 May, 2018 1 commit
  16. 09 May, 2018 1 commit
  17. 30 Apr, 2018 2 commits
  18. 02 Apr, 2018 1 commit
  19. 22 Mar, 2018 3 commits
  20. 16 Mar, 2018 5 commits
  21. 13 Mar, 2018 1 commit
  22. 22 Feb, 2018 1 commit
  23. 16 Feb, 2018 2 commits
    • Quentin Santos's avatar
      Fix compatibility with the sudoers file · 93b969a0
      Quentin Santos authored
      Starting sshuttle without having to type in one's password requires to
      put the sudo-ed command in the `/etc/sudoers` file. However, sshuttle
      sets an environment variable, which cannot be done as-is in the sudoers
      file. This fix prepend the /usr/bin/env command, which allows one to
      pass fixed environment variables to a sudo-ed command.
      
      In practice, the sub-command:
      
      ```
      sudo PYTHONPATH=/usr/lib/python3/dist-packages -- \
              /usr/bin/python3 /usr/bin/sshuttle --method auto --firewall
      ```
      
      becomes
      
      ```
      sudo /usr/bin/env PYTHONPATH=/usr/lib/python3/dist-packages \
              /usr/bin/python3 /usr/bin/sshuttle --method auto --firewall
      ```
      93b969a0
    • Ivan Ramello's avatar
      Stop using SO_REUSEADDR on sockets · f27b27b0
      Ivan Ramello authored
      f27b27b0
  24. 15 Feb, 2018 2 commits
  25. 30 Jan, 2018 2 commits
    • vieira's avatar
      d9d61e6a
    • vieira's avatar
      Load options from a file · 179bb107
      vieira authored
      This small change will allow a file path to be passed as argument from which
      the command line options will be loaded.
      
      Extra command line options can be passed (in addition to those already in the
      file) and existing ones can be overriden.
      
      Example sshuttle.conf file:
      192.168.0.0/16
      --remote
      user@example.com
      
      Example sshuttle call:
      sshuttle @/path/to/sshuttle.conf
      
      Example sshuttle call with verbose flags added:
      sshuttle @/path/to/sshuttle.conf -vvv
      
      Example sshuttle call overriding the remote server:
      sshuttle @/path/to/sshuttle.conf -r otheruser@test.example.com
      179bb107