Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alter codification for utf-8 in file server.py line 69 to solve issue #93 #41

Open
wants to merge 92 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
31534ba
Initial version. Add tproxy support. Also see
brianmay May 12, 2011
2b68ea6
Support IPv4 and IPv6 at same time.
brianmay May 18, 2011
0ffbb9d
iptables table name varies depending on nat or tproxy, not ipv4 or ipv6.
brianmay May 18, 2011
eadfaa8
Got table name wrong in previous commit.
brianmay May 18, 2011
6a4b9ec
Fix islocal function, now works with IPv6.
brianmay May 18, 2011
39bdff0
Fix firewall cleanup.
brianmay May 18, 2011
fd58960
Fix sorting. Excluded routes must be processed first.
brianmay May 18, 2011
ae552bf
Fix IPv4 only test.
brianmay May 19, 2011
10247a0
Fix stupid typo introduced by 2b68ea62d9989370a63bf3c1f30525c3337a8ca6.
brianmay May 19, 2011
edabb92
New function to guess address family from IP address.
brianmay May 19, 2011
86d7131
Fix error in DNS processing.
brianmay May 19, 2011
cccce91
Fix handling of IPv4/IPv6 DNS servers.
brianmay May 19, 2011
63cc20e
Prepare for UDP handling. DNS port unlinked from redirector port.
brianmay May 19, 2011
c2fd92e
Another DNS bug fixed.
brianmay May 19, 2011
6d276ab
Change subnet sort order to how it was previously.
brianmay May 19, 2011
9960110
Revert brain dead function rename introduced in
brianmay May 19, 2011
b6e6911
Change order of parameters to make consistant with other functions.
brianmay May 19, 2011
acce884
Process packets from external interfaces correctly with tproxy.
brianmay May 19, 2011
c90b58f
Listen on localhost only, by default.
brianmay May 21, 2011
6d41830
Fix various ipv4/ipv6 issues.
brianmay May 21, 2011
f1b6185
Fix IPv6 address detection.
brianmay May 21, 2011
32d5b5c
Fix port detection.
brianmay May 21, 2011
0489be5
Change order of bind parameters for consistancy. IPv6 comes first.
brianmay May 21, 2011
72bc745
Use ports, if any specified on command line. Don't assume IPv6 port
brianmay May 21, 2011
d1f4a47
Move code to expire connections into seperate function.
brianmay May 21, 2011
c0e9f96
Minor changes in preparation for UDP support.
brianmay May 21, 2011
0cb65df
Seems silly converting native to network byte ordering and back again…
brianmay May 21, 2011
f8d536c
Delete mux channel after DNS timeout or response received.
brianmay May 21, 2011
58cebf1
No point listening on IPv6 port if not using tproxy.
brianmay May 21, 2011
aba8147
Explicit close of DNS port after timeout period.
brianmay May 21, 2011
8bedb24
Add FIXME commment.
brianmay May 21, 2011
07219cb
TProxy UDP support. Requires PyXAPI for recvmsg().
brianmay May 21, 2011
c82147a
Fix IPv6 over UDP.
brianmay May 22, 2011
46d26d0
Whoops. This change shouldn't have got through here.
brianmay May 22, 2011
d881ed3
Don't guess the address family for TCP connections, pass it through.
brianmay May 22, 2011
ad57904
Make it clear same commands are TCP specific.
brianmay May 22, 2011
9a4ff32
Merge branch 'tproxy' into tproxy_udp
brianmay May 22, 2011
1064f09
Redo this required change.
brianmay May 22, 2011
f092e5e
Improved DNS debugging.
brianmay May 23, 2011
738f941
Merge branch 'tproxy' into tproxy_udp
brianmay May 23, 2011
d730a5d
Change debug messages.
brianmay May 23, 2011
f9d7f40
Make UDP support optional.
brianmay May 24, 2011
316301c
Various random and obscure issues resolved.
brianmay May 24, 2011
42bfa96
Fix debugging.
brianmay May 24, 2011
a88784e
Remove redundant family check.
brianmay May 25, 2011
0a6ebf8
Fix broken parameter.
brianmay May 25, 2011
655e6fe
Fix typos.
brianmay May 25, 2011
8754b81
Merge in upstream changes.
brianmay May 31, 2011
1530624
Merge in upstream ad57904fd64127c115021d94ef49ebb9bfc661c0.
brianmay May 31, 2011
a05e6d7
Make variable name more consistant.
brianmay May 31, 2011
466ecd9
Pass mux to expires(...) function.
brianmay May 31, 2011
8de452c
Test for wrong error value fixed.
brianmay Jun 6, 2011
f073566
Cosmetic improvements.
brianmay Jun 6, 2011
cadf253
Add address family to automatically detected routes.
brianmay Jun 6, 2011
a3dec98
This was changed in 29d1fab5819529b8bce702bf6e9a38c4bcd1b64b,
brianmay Jun 6, 2011
ce5cfeb
Make recvmsg work with different recvmsg libraries.
brianmay Jun 7, 2011
cb761cf
Pass 1 as parameter, not True. How did this ever work?
brianmay Jun 7, 2011
ab74d91
Variable name was wrong.
brianmay Jun 7, 2011
4ef5af5
Previous change to recvmsg made family go out of scope. Fixed.
brianmay Jun 7, 2011
0c75c60
We don't want to bind to the same port as the UDP listener. Really.
brianmay Jun 7, 2011
e4dc442
Fix errno. Was fixed above, but not here.
brianmay Jun 7, 2011
0316c53
Improve debugging.
brianmay Jun 7, 2011
94cadd9
Closing of connections has to happen in main function.
brianmay Jun 7, 2011
0068643
Adjust whitespace.
brianmay Jun 9, 2011
a4c5498
Make DNS work with tproxy.
brianmay Jun 9, 2011
4693039
Rename independent_listener to MultiListener.
brianmay Jun 16, 2011
f8de19d
Fix style issues.
brianmay Jun 16, 2011
2822b32
Rename parameter.
brianmay Jun 16, 2011
2e5e65a
Merge in upstream suggestions.
brianmay Jun 16, 2011
1c365b9
Fix typo.
brianmay Jun 20, 2011
014ca7e
Fix tproxy error.
brianmay Jun 24, 2011
9061aa3
Have firewall work out method used.
brianmay Jun 24, 2011
b689e98
Cosmetic changes.
brianmay Jul 5, 2011
89dcedf
Mostly cosmetic changes.
brianmay Jul 11, 2011
ca6e4d9
Fix UDP bugs.
brianmay Jul 19, 2011
f8fe679
Warn instead of crashing if any socket errors sending data.
brianmay Jul 28, 2011
8b159a5
Move towards IPv6 DNS support.
brianmay Aug 26, 2011
7333723
Fixed a bug where lack of IPv6 destination = fatal
jwyllie83 Oct 23, 2012
ca727a3
Mass relocation of files to their own subdirectory
jwyllie83 Oct 23, 2012
32ea23e
Moved docs out of the src directory
jwyllie83 Jan 20, 2013
e4aa4ef
First version; still has debugging
jwyllie83 Jan 20, 2013
7b0448b
Added -s to accept subnets from a config file
jwyllie83 Jan 20, 2013
0b1d403
Adding more robust exit codes
jwyllie83 Jan 20, 2013
ac18009
Added the PyXAPI requirement to the readme
jwyllie83 Jan 20, 2013
ce5c3a3
Changed the file to be more "canonical"
jwyllie83 Jan 20, 2013
5fa881f
Changed the sshuttle binary to point to install
jwyllie83 Jan 20, 2013
901db36
Sample tunnel configuration
jwyllie83 Jan 20, 2013
d390c99
Added a sample prefixes file
jwyllie83 Jan 20, 2013
e518238
Added a control file for the Debian package
jwyllie83 Jan 20, 2013
4519307
Added a shell script to make a .deb package
jwyllie83 Jan 20, 2013
e32a4ef
Added some requirements
jwyllie83 Jan 20, 2013
b3009b8
Added some Ubuntu notes
jwyllie83 Jan 20, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 32 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ just switch your wireless off and on. Sshuttle makes the
kernel setting it changes permanent, so this won't happen
again, even after a reboot.

Required Software
=================

- You need PyXAPI, available here:
http://www.pps.univ-paris-diderot.fr/~ylg/PyXAPI/
- You also need autossh, available in various package management systems
- Python 2.x, both locally and the remote system


sshuttle: where transparent proxy meets VPN meets ssh
=====================================================
Expand Down Expand Up @@ -51,19 +59,34 @@ Prerequisites
Linux.)

- If you use MacOS or BSD on your client machine:
Your kernel needs to be compiled with IPFIREWALL_FORWARD
Your kernel needs to be compiled with `IPFIREWALL_FORWARD`
(MacOS has this by default) and you need to have ipfw
available. (The server doesn't need to be MacOS or BSD.)


This is how you use it:
Obtaining sshuttle
------------------

- First, go get PyXAPI from the link above

- Clone github.com/jwyllie83/sshuttle/tree/local


Usage on (Ubuntu) Linux
-----------------------

- <tt>git clone git://github.com/apenwarr/sshuttle</tt>
on your client machine. You'll need root or sudo
access, and python needs to be installed.
- `cd packaging; ./make_deb`

- `sudo dpkg -i ./sshuttle-VERSION.deb`

- Check out the files in `/etc/sshuttle`; configure them so your tunnel works

- `sudo service sshuttle start`


Usage on other Linuxes and OSes
-------------------------------

- The most basic use of sshuttle looks like:
<tt>./sshuttle -r username@sshserver 0.0.0.0/0 -vv</tt>

- There is a shortcut for 0.0.0.0/0 for those that value
Expand All @@ -83,6 +106,9 @@ then the remote ssh password. Or you might have sudo and ssh set
up to not require passwords, in which case you won't be
prompted at all.)

Usage Notes
-----------

That's it! Now your local machine can access the remote network as if you
were right there. And if your "client" machine is a router, everyone on
your local network can make connections to your remote network.
Expand Down
Loading