Commit Graph

161 Commits

Author SHA1 Message Date
ValdikSS
e28cb52645 Send native-fragged fragments in the reversed order
Some websites (or more precisely, TLS terminators/balancers) can't
handle segmented TLS ClientHello packet properly, requiring the whole
ClientHello in a single segment, otherwise the connection gets dropped.

However they still operate with a proper TCP stack.
Cheat on them: send the latter segment first (with TCP SEQ "in the future"),
the former segment second (with "current" SEQ), allowing OS TCP
stack to combine it in a single TCP read().

This fixes long-standing number of TCP fragmentation issues:
Fixes #4, #158, #224, #59, #192 and many others.
2021-12-24 22:07:07 +03:00
ValdikSS
e3638786da Add Native Fragmentation support (without window size)
This patch adds `--native-frag` option for userspace TCP
segmentation (packet splitting), without shrinking
TCP Window Size in SYN/ACK.

Compared to Window Size shrinking, this method does not require
waiting for ACK, which saves two RTTs.

This is preferrable method of operation since it has no cons.
It's faster and easier to handle in the software.
2021-12-24 21:36:43 +03:00
ValdikSS
ad60d30caa Fix fake packet handling without other modifying parameters
Fixes #150
2021-12-24 21:30:15 +03:00
ValdikSS
505b8bf516
Merge pull request #171 from msekmfb/master
Add PowerTunnel for Android to similar projects
2020-03-08 14:38:40 +03:00
msekmfb
0c04f201eb
Add PowerTunnel for Android to similar projects 2020-03-08 11:11:35 +03:00
ValdikSS
19b777cdb2
Update README.md
Add PowerTunnel (manual merge of #168)
2020-02-09 22:24:43 +03:00
ValdikSS
b69ab64d5d
Update README.md 2020-02-09 19:22:30 +03:00
ValdikSS
b5d75a6c8e Version v0.1.6 2019-10-31 22:36:29 +03:00
ValdikSS
f2de8fce8d Fake Request Mode 2019-10-31 22:36:12 +03:00
ValdikSS
2b3e4a4683
Merge pull request #135 from alisharifi76/master
Add 'GreenTunnel' to 'Similar projects' section.
2019-04-03 01:33:02 +03:00
alisharifi76
7e2f782376
Add 'GreenTunnel' to 'Similar projects' section. 2019-03-29 22:32:05 +04:30
ValdikSS
7a0b8f5229
Update issue templates 2019-02-18 01:33:03 +03:00
ValdikSS
f569c64aca
Update issue templates 2019-02-18 01:25:06 +03:00
ValdikSS
5459181fca
Merge pull request #121 from drogga/patch-1
Update README.md
2019-01-31 15:29:18 +03:00
drogga
23485b67b4
Update README.md
add KB3033929 download link for Windows 7 x64
2019-01-31 21:23:41 +09:00
KOLANICH
ff4c11a6eb Integers fixes (with small modifications), closes #84
Signed-off-by: ValdikSS <iam@valdikss.org.ru>
2019-01-03 19:31:32 +03:00
ValdikSS
1c7fe5f843 Use newlines for current options information 2019-01-03 16:10:26 +03:00
ValdikSS
46db057662 Add version number into greeting message 2019-01-03 16:10:26 +03:00
ValdikSS
b95c45ee62
Update README.md 2018-10-14 18:24:36 +03:00
ValdikSS
39507e66e0
Update README.md 2018-07-24 15:54:55 +03:00
ValdikSS
c4d0ba1297 Skip impostor and loopback packets. Fixes #53. 2018-07-24 15:49:50 +03:00
ValdikSS
d6c2b825aa
Update README.md 2018-07-20 16:37:19 +03:00
ValdikSS
aad03f2e4a Enable PIE, High Entropy ASLR and add more warnings to Makefile 2018-07-19 21:31:38 +03:00
ValdikSS
a028cb01f4 WinDivert 1.4 support 2018-07-19 21:31:38 +03:00
ValdikSS
38b1ff1a92 Fix -f and -e options 2018-07-19 21:31:37 +03:00
ValdikSS
3bd92d67ac
Merge pull request #83 from KOLANICH/editorconfig
Added .editorconfig
2018-06-26 22:08:15 +03:00
KOLANICH
464bbcbb6b Added .editorconfig 2018-05-16 18:35:31 +03:00
ValdikSS
50e70ace76 Handle HTTP redirects within IPv6 Flow Label = 0x00 packets 2018-02-17 18:26:16 +03:00
ValdikSS
135c97ae69 Move program source code to src directory 2018-02-17 15:22:38 +03:00
ValdikSS
c377119136 Update README.md 2018-02-17 15:21:51 +03:00
ValdikSS
185a0e0211 Merge branch 'ipv6' into masterv6 2018-02-16 23:36:26 +03:00
ValdikSS
860f483ac3 IPv6 DNS redirection 2018-02-16 19:45:55 +03:00
ValdikSS
3d36127f5b Handle IPv6 packets and prepare for IPv6 DNS redirection 2018-02-16 17:35:24 +03:00
ValdikSS
aa28d3e12a Make sure to search DLLs only in safe path, not in current working dir 2018-02-15 15:41:28 +03:00
ValdikSS
dc4d0a36d9 Update README.md 2018-01-21 14:37:05 +03:00
ValdikSS
cc770d302c Add GoodbyeDPI Github link to the welcome message. 2018-01-21 14:36:41 +03:00
ValdikSS
2e23d93762 New option: --ip-id. Handles additional IP ID numbers of passive DPI. 2018-01-21 14:35:30 +03:00
ValdikSS
14ae107b53 Handle only IP IDs in [0x0; 0xF] (or→and) 2018-01-21 13:03:15 +03:00
ValdikSS
1bdfbb8c45 Move active filter template and passive filter to defines 2018-01-21 12:25:22 +03:00
ValdikSS
5eddb5f18a Fix crash on error (free→LocalFree) and print KB3033929 message 2018-01-21 01:28:17 +03:00
ValdikSS
f638e23ab6 Fix build with -DDEBUG 2018-01-21 01:27:55 +03:00
ValdikSS
8e7f4ff505 Properly exclude Teredo 2017-12-25 00:05:28 +03:00
ValdikSS
bb8fc64f18 Handle ip.id up to 0xF.
Some DPI send several TCP RST or HTTP redirection packets with
increasing IP ID number. Handle them all.
2017-12-24 20:37:49 +03:00
ValdikSS
490525387d Remove unused string 2017-12-24 20:28:25 +03:00
ValdikSS
5e9e1f0eb6 Preliminary IPv6 support.
No IPv6 support in DNS redirection code. IPv6 DNS request packets
would be dropped.
2017-12-24 20:21:32 +03:00
ValdikSS
3ffce30871 Minor modifications.
* puts() instead of printf("%s")
* strdup() instead of malloc + strcpy
2017-12-24 20:19:18 +03:00
ValdikSS
eaac2d1a80 Minor service fixes 2017-12-21 23:52:23 +03:00
ValdikSS
ccd21a4281 ntohs -> htons (they produce the same output, but still) 2017-12-21 23:50:07 +03:00
ValdikSS
23babdc8fa Windows Service support.
Program can now be started as a Windows Service. No additional
arguments needed. Refer to `service_install` and `service_remove`
scripts in released zip file.
2017-12-20 17:03:22 +03:00
ValdikSS
95765f3ed9 Store fragment_size_message as a pointer 2017-12-20 17:01:21 +03:00