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
ValdikSS
363b2dca37
Flush DNS cache if --dns-addr is used
2017-12-07 22:38:21 +03:00
ValdikSS
1e8835cfe5
Small fixes
2017-12-07 13:03:01 +03:00
ValdikSS
c6c071e35f
Update README.md
2017-12-06 03:21:07 +03:00
ValdikSS
a182f52207
New experimental feature: UDP DNS redirection
2017-12-06 03:09:58 +03:00
ValdikSS
61e39bc095
New feature: additional processed TCP ports
2017-12-06 03:07:16 +03:00
ValdikSS
9b9be302cb
New option "-w": try to find and parse HTTP traffic on all processed ports (not only on port 80)
2017-12-06 03:07:11 +03:00
ValdikSS
c7905f0b31
Mix HTTP Host header value
2017-12-04 22:06:46 +03:00
ValdikSS
da1e2e8aac
Serious refactoring
2017-12-04 22:01:25 +03:00
ValdikSS
87c354addf
Update Makefile
2017-09-07 17:35:57 +03:00
ValdikSS
9fa2956065
Calculate checksums even there's no packet modifications.
2017-09-07 17:35:25 +03:00
ValdikSS
2f0429027d
Small refactoring
2017-09-04 22:14:17 +03:00
ValdikSS
feb03c74c8
Print message of HTTP fragmentation > 2 incompatibility.
...
We can't reliably distinguish HTTP data from other data on port 80 when fragmentation is used.
HTTP method code has a special case which tries to find HTTP method when fragmentation = 1 or 2 is used,
but not for other values.
2017-08-28 11:46:59 +03:00
ValdikSS
4c13435ee3
Handle Host header after User-Agent header in the HTTP packet. Fixes #29 .
...
Most browsers would put Host header as early as they could, but not Microsoft Edge.
2017-08-28 11:45:05 +03:00
ValdikSS
ee665ee3bd
Search for HTTP methods in fragmented packets with Window Size 1 or 2. Fixes #30 .
2017-08-28 11:43:55 +03:00
ValdikSS
00e4964e73
Remove webdav HTTP methods. They are rarely used and less probably filtered.
2017-08-28 11:42:30 +03:00
ValdikSS
2fe377a23f
Do not handle traffic from private IP ranges
2017-08-15 14:09:47 +03:00
ValdikSS
b74c974235
Print error message if filter initialization fails
2017-08-15 14:09:06 +03:00
ValdikSS
96fb5f9516
Block passive DPI packets only with "Connection: close". Fixes #17 .
...
Some servers set "don't fragment" flag and never increase TCP ID
field. If they send HTTP redirection to another website, it would
be blocked by the program.
This is a hack to block redirects only with "Connection: close"
header as presumably legal redirects are most likely would
use keep-alive.
2017-08-15 08:28:25 +03:00
ValdikSS
c1ca4f9804
Merge pull request #10 from beatcracker/patch-1
...
Fixed typos
2017-07-10 20:01:56 +04:00
beatcracker
13261e1a92
Fixed typos
2017-07-10 18:44:56 +03:00
ValdikSS
4387e7c690
Merge pull request #7 from pash7ka/patch-2
...
bugfix: wrong config file name
2017-06-14 12:23:33 +04:00
Pavel Rubin
08902b9a57
bugfix: wrong config file name
2017-06-14 02:13:39 +03:00
ValdikSS
f5ac7c0d67
Change TCP Window Size based on SrcPort, not DstPort.
...
When HTTPS fragment size was set, the program always used it for HTTP, even
if HTTP fragmentation was disabled. This is due to a bug which checked DstPort,
not SrcPort, and the packets passed DstPort != htons(80) HTTPS check.
2017-06-11 21:50:22 +03:00
ValdikSS
2a5e4a071b
Create README.md
2017-06-11 08:35:15 +03:00
Pavel Rubin
ae3abff0b2
Update README.md
...
Guide to install as a windows service
2017-06-04 19:22:33 +03:00
ValdikSS
d9e27f193c
Reimplement -s option to fix unACKed data
...
Old code used to reduce packet size by one byte to remove space in
HTTP Host header. This introduces one unACKed byte which OS later
tried to send to the host. This byte was \n (the last byte in original
packet) which broke POST requests.
New code in this commit moves "stolen" space in the end of User-Agent
header value and do not reduce packet size anymore.
User-Agent value is used because not all web servers are compatible
with additional space in the end of Host value.
Fix #3
2017-05-25 00:25:21 +03:00
ValdikSS
c721ab0506
Always check for valid HTTP method before any modifications
2017-05-25 00:18:01 +03:00
ValdikSS
70765fa895
New option: additional space between Method and Request-URI (enables -s, may break sites)
2017-05-23 13:30:46 +03:00
ValdikSS
a2d5be1eed
const char for window size function
2017-05-23 13:23:20 +03:00
ValdikSS
f08bbcc36e
Update Readme
2017-05-20 12:27:43 +03:00
ValdikSS
30fd25bc24
Replace char* with const char* where appropriate
2017-05-20 12:25:20 +03:00
ValdikSS
9fea771d2c
Less invasive Passive DPI block. Fix #2 .
2017-05-20 12:24:29 +03:00
ValdikSS
bb05d357a7
Fix for getopt -4
2017-05-18 00:12:49 +03:00
ValdikSS
609d8aa037
New mode -3 (old -3 is now -4)
2017-05-17 22:04:27 +03:00
ValdikSS
0787b2a5f0
Update README, Makefile and icon
2017-05-17 21:44:19 +03:00
ValdikSS
46af3c2edb
Switch to getopt() and slightly update fragmentation code
2017-05-17 21:33:44 +03:00
ValdikSS
6b40623dce
Remove old code
2017-05-17 21:32:27 +03:00
ValdikSS
c43d5477b5
Use EXIT_SUCCESS and EXIT_FAILURE
2017-05-17 21:31:42 +03:00
ValdikSS
cc0e55812e
Update readme and Makefile
2017-05-17 15:57:15 +03:00
ValdikSS
dc8fad8d36
Readme typos
2017-05-17 00:05:00 +03:00
ValdikSS
963e0c3525
Update readme
2017-05-16 22:52:34 +03:00
ValdikSS
5bb0e65d20
Initial commit
2017-05-16 22:33:24 +03:00