Commit Graph

93 Commits

Author SHA1 Message Date
Dullson 693fa6dbb7 New option: --whitelist. Allows disabling traffic modifications on certain hosts.
This option uses the same substructure as blacklist functionality and  essentially
acts as an 'inverse blacklist' while deciding whether to alter the request or not.
2018-08-05 03:59:29 +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
ValdikSS a5b185c2a9 Set proper options if started without arguments 2017-12-20 12:36:21 +03:00
ValdikSS c9cd3ac8c7 Fix signed/unsigned integer comparison warning for HTTP fragmentation 2017-12-20 04:05:28 +03:00
ValdikSS fab9662ac9 Use WinDivert TCP Header structure to change Window Size 2017-12-20 04:04:40 +03:00
ValdikSS a88ab4337e Apply HTTP Persistent fragmentation only for sufficiently large packets 2017-12-20 03:33:30 +03:00
ValdikSS 582503452f Implement TCP fragmentation for HTTP Persistent (keep-alive) sessions.
New option `-k` splits HTTP request into two segments, and either
send only the first one (Windows would retransmit the other one
based on ACK number in ACK reply) or both (with `-n` enabled).

This fixes behaviour on some DPI which trace persistent sessions
but do not reassemble packages.
2017-12-20 02:10:59 +03:00
ValdikSS 03e36b968a Free allocated error message string 2017-12-20 01:48:38 +03:00
ValdikSS 312d2b1d55 Remove unused IPV4_TOTALLEN_OFFSET 2017-12-20 01:48:20 +03:00
ValdikSS 6827b6ad51 Do not add hostnames less than 4 characters long 2017-12-17 01:46:32 +03:00
ValdikSS 60e87f769a Minor modifications 2017-12-17 00:28:11 +03:00
ValdikSS bfed8638e5 Implement blacklist.
Only domains and subdomains from the blacklist file would be processed
with HTTP modifications. Does not affect HTTPS data.
2017-12-17 00:26:11 +03:00
ValdikSS 72516c0b2b Add information about --dns-verb option 2017-12-16 20:24:40 +03:00
ValdikSS f11ca2400c Fix memory leak in dnsredir 2017-12-16 17:53:06 +03:00
ValdikSS dd4d6bc5c6 Do not print DNS warnings by default and drop duplicate requests.
Windows is known to use all available interfaces for DNS requests,
which is handled as a duplicate (retransmission) in dns redirector.

It's safe to just drop these duplicates.
2017-12-16 14:30:42 +03:00
R4SAS 30bb1a665a make it more usable with MSYS and linux MinGW both (#48)
* make it more usable

* update README
2017-12-13 18:13:54 +04:00
ValdikSS 5f231996d4 Fix incorrect host header memmove()s. Fixes #47 2017-12-13 01:42:29 +03:00
ValdikSS 81718f1a53 Small fix for dnsredir 2017-12-10 20:44:50 +03:00
ValdikSS 064cf575b6 Parse DNS packet only when DNS redirection is enabled 2017-12-09 02:36:45 +03:00
ValdikSS a67f42eebc Use defined HOST_MAXLEN 2017-12-07 22:38:41 +03:00