1. 22 Sep, 2018 1 commit
    • 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
  2. 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
  3. 21 Aug, 2018 1 commit
  4. 29 Jun, 2018 1 commit
  5. 22 Jun, 2018 1 commit
  6. 07 Jun, 2018 1 commit
  7. 03 Jun, 2018 1 commit
  8. 13 May, 2018 1 commit
  9. 09 May, 2018 1 commit
  10. 30 Apr, 2018 2 commits
  11. 02 Apr, 2018 1 commit
  12. 22 Mar, 2018 3 commits
  13. 16 Mar, 2018 5 commits
  14. 13 Mar, 2018 1 commit
  15. 22 Feb, 2018 1 commit
  16. 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
  17. 15 Feb, 2018 2 commits
  18. 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
  19. 01 Jan, 2018 3 commits
  20. 16 Nov, 2017 4 commits
  21. 13 Nov, 2017 2 commits
  22. 11 Nov, 2017 1 commit
    • Tony's avatar
      Properly decode seed hosts argument in server.py · 9f238ebc
      Tony authored
      When I starting sshuttle with option `--seed-hosts example.com`, got the following error:
      
      ```
      hostwatch: Starting hostwatch with Python version 3.5.2
      hostwatch: Traceback (most recent call last):
      --->   File "sshuttle.server", line 144, in start_hostwatch
      --->   File "sshuttle.hostwatch", line 272, in hw_main
      --->   File "sshuttle.hostwatch", line 234, in check_host
      --->   File "sshuttle.hostwatch", line 32, in _is_ip
      --->   File "/usr/lib/python3.5/re.py", line 163, in match
      --->     return _compile(pattern, flags).match(string)
      ---> TypeError: cannot use a string pattern on a bytes-like object
      Traceback (most recent call last):
        File "<string>", line 1, in <module>
        File "assembler.py", line 37, in <module>
        File "sshuttle.server", line 393, in main
        File "sshuttle.ssnet", line 596, in runonce
        File "sshuttle.server", line 324, in hostwatch_ready
      sshuttle.helpers.Fatal: hostwatch process died
      ```
      
      It seems like the list of hosts is not properly decoded on the server side. This is an attempt to fix that.
      9f238ebc
  23. 09 Nov, 2017 2 commits
    • vieira's avatar
      Using exec in the assembler is okay · 9b315746
      vieira authored
      9b315746
    • vieira's avatar
      Initial configuration for Bandit and Prospector · 6a488b3d
      vieira authored
      With this configuration it should be feasible to achieve a perfect score
      without contortion.
      
      Rules skiped for Bandit:
      B101: assert_used
      B104: hardcoded_bind_all_interfaces
      B404: import_subprocess
      B603: subprocess_without_shell_equals_true
      B606: start_process_with_no_shell
      B607: start_process_with_partial_path
      
      Rules skiped for pylint:
      - too-many-statements
      - too-many-locals
      - too-many-function-args
      - too-many-arguments
      - too-many-branches
      - bare-except
      - protected-access
      - no-else-return
      6a488b3d