Commit Graph

392 Commits

Author SHA1 Message Date
e6074ed52d Revert "Suppress error P is not recognized as an internal or external command,operable program or batch file."
This reverts commit 6272a0212c.
2024-08-20 16:32:50 +10:00
09c3324978 Revert "restore single quote then it looks working"
This reverts commit d1dbed04a0.
2024-08-20 16:32:50 +10:00
o2
d1dbed04a0 restore single quote then it looks working 2024-08-16 08:46:04 +10:00
o2
6272a0212c Suppress error P is not recognized as an internal or external command,operable program or batch file. 2024-08-16 08:46:04 +10:00
8364fd96e8 remove unused imports 2024-08-08 10:35:47 +10:00
8da94c39ea transfer work from PR #837 2024-08-08 10:35:47 +10:00
bac2a6b0c7 windows: add --remote-shell option to select cmd/powershell 2024-08-06 08:38:24 +10:00
df9625bbfd windows: ignore netstat output encoding errors 2024-08-06 08:38:24 +10:00
554b8e3ae5 windows: improve ssnet/try_connect() logic 2024-08-06 08:38:24 +10:00
b826ae6b91 windows: support automatic nameserver detection for --dns option 2024-08-06 08:38:24 +10:00
51287dc4db support server on Windows 2024-08-06 08:38:24 +10:00
ace8642950 add SocketRWShim helper 2024-08-06 08:38:24 +10:00
6b8e402367 make sure that existing python2 compatibility is not broken by this feature 2024-08-06 08:38:24 +10:00
7a92183f59 windows: better connection tracker 2024-08-06 08:38:24 +10:00
81a598a4cc suppport --auto-hosts in Windows 2024-08-06 08:38:24 +10:00
89a94ff150 support port ranges and exclude subnets 2024-08-06 08:38:24 +10:00
72060abbef code cleanup and small refactoring 2024-08-06 08:38:24 +10:00
32fceefa76 !fix: windows installed script execution 2024-08-06 08:38:24 +10:00
cd2d69ac08 Bump version to 1.2.0 2024-08-06 08:38:24 +10:00
1885974f52 refactor for future ipv6 support 2024-08-06 08:38:24 +10:00
dadfba488b better windivert filters 2024-08-06 08:38:24 +10:00
8fa15c3ca8 support windivert > 2.0 2024-08-06 08:38:24 +10:00
e19fc01324 !improved windrivert throughput 2024-08-06 08:38:24 +10:00
d4d0fa945d fix: bad file descriptor error in windows, fix pytest errors 2024-08-06 08:38:24 +10:00
4a84ad3be6 fix windows CRLF issue on stdin/stdout 2024-08-06 08:38:24 +10:00
900acc3ac7 refactoring to make it better structured 2024-08-06 08:38:24 +10:00
7b8f140870 ensure non loopback address for windivert method 2024-08-06 08:38:24 +10:00
9c5517fd25 use custom RWPair instead of io.BufferedRWPair 2024-08-06 08:38:24 +10:00
3f34e27a2c try not use socket share 2024-08-06 08:38:24 +10:00
2f88fc93cf add some comments 2024-08-06 08:38:24 +10:00
482e0cbd00 pass flake8 linting 2024-08-06 08:38:24 +10:00
7da3b024dd fix is_admin_user() helper 2024-08-06 08:38:24 +10:00
c01794f232 windivert: garbage collect timed put connections from tracker 2024-08-06 08:38:24 +10:00
338486930f windivert: add ipv6 support and better thread handling 2024-08-06 08:38:24 +10:00
bd2f960743 more improvements windows support 2024-08-06 08:38:24 +10:00
2c74476124 windivert - basic working connection tracker 2024-08-06 08:38:24 +10:00
5a64c81b5b experimental windows method 2024-08-06 08:38:24 +10:00
9c3107bed7 Unbreak OpenBSD runtime.
sizeof(struct pfioc_rule) changed in recent OpenBSD releases.
This fixes the ioctl call to DIOCCHANGERULE.
2024-07-12 09:52:57 +10:00
348f0eb653 Add support for non-compliant ssh wrappers
ssh wrappers like teleport's tsh do not correctly interpret the
double dash as an argument delimiter and will not work properly
with sshuttle. This PR adds a new command line switch to handle
these cases by not adding the delimiter.

Fixes #599
2024-07-07 13:28:26 +10:00
fd424c5c55 Bump version: 1.1.1 → 1.1.2 2024-02-19 11:21:39 +11:00
a604d107ef Keep terminal in a sane state when sudo use_pty is used.
This fixes #909 and is an alternative to the #922 pull request. When
sudo's use_pty is used with sshuttle, it causes issues with the
terminal. Pull request #712 contains some fixes for this problem.
However, when sshuttle is run with the --daemon option, it left the
user's terminal in a non-sane state. The problem appears to be related
to a socketpair that the firewall uses for communication. By setting
it up slightly differently (see changes to client.py and firewall.py),
the terminal state is no longer disrupted. This commit also changes
line endings of the printed messages from \r\n to \n. This undoes a
change introduced by pull request #712 and is no longer needed.
2024-01-05 19:08:34 +11:00
b4e4680ef4 Workaround when sudo prints text to standard out
When we use sudo and start the firewall process, we should be able to
read standard in and find the string "READY". However, some
administrators use a wrapper around sudo to print warning messages
(instead of sudo's lecture feature) to standard out. This commit reads
up to 100 lines looking for "READY" instead of expecting it on the
first line.

I believe this should fix issue #916.
2024-01-02 09:08:09 +11:00
794b14eaac tproxy: Apply DNS rules first
Having --dst-type LOCAL rules before DNS ones forces the usage of a
dnsmasq-like program to retrigger DNS requests directed locally
because they are fast-tracked through the firewall and ignored by
sshuttle.

As dns options documentation state that they capture the requests no
matter the server, and other methods and older versions behave
consistently, change the iptables rules to apply DNS ones first.
2023-10-04 08:11:52 +11:00
0ddebdeee6 Add support for SSHUTTLE_ARGS environment variable 2023-08-09 15:06:05 +10:00
9f718e8632 Fix typo 2023-08-07 20:00:32 +10:00
3abc3d2a1a Fix lint issues 2023-08-07 20:00:32 +10:00
7c140daf07 Pass group to firewall 2023-08-07 20:00:32 +10:00
755e522eff Allow user to tunnel traffic to local port 2023-08-07 20:00:32 +10:00
6b7cf80420 Add support for group-based routing 2023-08-07 20:00:32 +10:00
f23b24b74e Update ssyslog.py 2022-12-13 07:43:54 +11:00