1. 02 Apr, 2018 1 commit
  2. 22 Mar, 2018 3 commits
  3. 16 Mar, 2018 5 commits
  4. 13 Mar, 2018 1 commit
  5. 22 Feb, 2018 1 commit
  6. 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
  7. 15 Feb, 2018 2 commits
  8. 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
  9. 01 Jan, 2018 3 commits
  10. 16 Nov, 2017 4 commits
  11. 13 Nov, 2017 2 commits
  12. 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
  13. 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
  14. 08 Nov, 2017 3 commits
  15. 07 Nov, 2017 4 commits
  16. 23 Oct, 2017 3 commits
    • vieira's avatar
      turn off debugging · 8add0086
      vieira authored
      8add0086
    • vieira's avatar
      nested if should be and · 94ea0a3b
      vieira authored
      94ea0a3b
    • vieira's avatar
      Use versions of python3 greater than 3.5 when available (e.g. 3.6) · 9b7ce281
      vieira authored
      Some Linux distros, like Alpine, Arch, etc and some BSDs, like FreeBSD, are
      now shipping with python3.6 as the default python3. Both the client and the
      server are failing to run in this distros, because we are specifically looking
      for python3.5.
      
      These changes make the run shell script use python3 if the version is greater
      than 3.5, otherwise falling back as usual.
      
      On the server any version of python3 will do, use it before falling back to
      python, as the server code can run with any version of python3.
      9b7ce281
  17. 21 Oct, 2017 1 commit