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
Avery Pennarun 9f514d7a15 Smarter listenport selection.
Now if we aren't given an explicit port, we always initiate the port search
at 12300 and count upward looking for an available port.

Normally the kernel will assign us a random port, but that's not ideal
in our case because we'd like to use the same port numbers whenever
possible; that avoids piling up crap inside iptables in the (hopefully
unlikely) event that we die without cleaning up correctly.
2010-05-01 21:50:43 -04:00
.gitignore Initial commit. 2010-05-01 16:15:37 -04:00
client.py Smarter listenport selection. 2010-05-01 21:50:43 -04:00
helpers.py client now listens on a socket and gets SO_ORIGINAL_DST correctly. 2010-05-01 18:03:45 -04:00
iptables.py Smarter listenport selection. 2010-05-01 21:50:43 -04:00
LICENSE Initial commit. 2010-05-01 16:15:37 -04:00
main.py Smarter listenport selection. 2010-05-01 21:50:43 -04:00
options.py Initial commit. 2010-05-01 16:15:37 -04:00
ssh.py Initial commit. 2010-05-01 16:15:37 -04:00
sshuttle Initial commit. 2010-05-01 16:15:37 -04:00
ssnet.py Move some code that'll be useful for the server into ssnet.py. 2010-05-01 20:48:11 -04:00