Transparent proxy server that works as a poor man's VPN. Forwards over ssh. Doesn't require admin. Works with Linux and MacOS. Supports DNS tunneling.
Go to file
Tony 9f238ebca8 Properly decode seed hosts argument in server.py
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.
2017-11-11 10:06:37 +11:00
docs Get version for sphinx from sshuttle.version 2017-07-09 09:08:48 +10:00
sshuttle Properly decode seed hosts argument in server.py 2017-11-11 10:06:37 +11:00
.bandit Initial configuration for Bandit and Prospector 2017-11-09 12:02:31 +11:00
.gitignore Fix error in requirements.rst 2017-07-09 09:08:48 +10:00
.prospector.yml Initial configuration for Bandit and Prospector 2017-11-09 12:02:31 +11:00
.travis.yml Backward compatibility with Python 2.4 (server) 2016-04-03 13:14:02 +10:00
CHANGES.rst Update changelog for 0.78.3 2017-07-09 09:12:04 +10:00
conftest.py Backward compatibility with Python 2.4 (server) 2016-04-03 13:14:02 +10:00
LICENSE Fix LGPL2 license. 2016-03-07 10:03:22 +11:00
MANIFEST.in Fix error in requirements.rst 2017-07-09 09:08:48 +10:00
README.rst Add homebrew instructions 2017-08-03 13:55:04 +10:00
requirements.txt Pin version in requirements.txt 2017-07-09 09:08:48 +10:00
run turn off debugging 2017-10-23 06:58:21 +11:00
setup.cfg Update setup.cfg 2017-07-09 09:08:48 +10:00
setup.py Fix error in requirements.rst 2017-07-09 09:08:48 +10:00
tox.ini Backward compatibility with Python 2.4 (server) 2016-04-03 13:14:02 +10:00

sshuttle: where transparent proxy meets VPN meets ssh
=====================================================

As far as I know, sshuttle is the only program that solves the following
common case:

- Your client machine (or router) is Linux, FreeBSD, or MacOS.

- You have access to a remote network via ssh.

- You don't necessarily have admin access on the remote network.

- The remote network has no VPN, or only stupid/complex VPN
  protocols (IPsec, PPTP, etc). Or maybe you *are* the
  admin and you just got frustrated with the awful state of
  VPN tools.

- You don't want to create an ssh port forward for every
  single host/port on the remote network.

- You hate openssh's port forwarding because it's randomly
  slow and/or stupid.

- You can't use openssh's PermitTunnel feature because
  it's disabled by default on openssh servers; plus it does
  TCP-over-TCP, which has terrible performance (see below).


Obtaining sshuttle
------------------

- Debian stretch or later::

      apt-get install sshuttle

- From PyPI::

      sudo pip install sshuttle

- Clone::

      git clone https://github.com/sshuttle/sshuttle.git
      sudo ./setup.py install

It is also possible to install into a virtualenv as a non-root user.

- From PyPI::

      virtualenv -p python3 /tmp/sshuttle
      . /tmp/sshuttle/bin/activate
      pip install sshuttle

- Clone::

      virtualenv -p python3 /tmp/sshuttle
      . /tmp/sshuttle/bin/activate
      git clone https://github.com/sshuttle/sshuttle.git
      ./setup.py install

- Homebrew::

      brew install sshuttle


Documentation
-------------
The documentation for the stable version is available at:
http://sshuttle.readthedocs.org/

The documentation for the latest development version is available at:
http://sshuttle.readthedocs.org/en/latest/