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
Brian May 89c5b57019 Attempt readthedocs workaround
readthedocs alters docs/conf.py which in turn means python_scm detects a
version and incorrectly adjusts the version number. Here we try to work
around this problem.

We do this by renaming the docs/conf.py file and copying it back to
docs/conf.py when setup.py is invoked. This way, hopefully, scm won't
see the changes to docs/conf.py

References:
http://stackoverflow.com/questions/35811267/readthedocs-and-setuptools-scm-version-wrong/36386177
https://github.com/pypa/setuptools_scm/issues/84
2016-04-18 11:44:05 +10:00
docs Attempt readthedocs workaround 2016-04-18 11:44:05 +10:00
sshuttle Backward compatibility with Python 2.4 (server) 2016-04-03 13:14:02 +10:00
.gitignore Attempt readthedocs workaround 2016-04-18 11:44:05 +10:00
.travis.yml Backward compatibility with Python 2.4 (server) 2016-04-03 13:14:02 +10:00
CHANGES.rst Release version 0.78.0 2016-04-08 12:01:37 +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 Don't distribute sshuttle/version.py 2016-01-18 09:00:00 +11:00
README.rst Release version 0.76 2016-01-17 18:38:43 +11:00
requirements.txt Add requirements.txt for readthedocs 2016-01-17 16:32:53 +11:00
run If 3.5 not available, try to fallback to 2.7 2016-03-16 16:16:53 +11:00
setup.py Attempt readthedocs workaround 2016-04-18 11:44:05 +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
------------------

- From PyPI::

      pip install sshuttle

- Clone::

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

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/