3 Commits
0.0.6 ... 0.0.7

Author SHA1 Message Date
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
2 changed files with 25 additions and 2 deletions

View File

@@ -65,6 +65,29 @@ And for x86_64:
`make CPREFIX=x86_64-w64-mingw32 WINDIVERTHEADERS=/path/to/windivert/include WINDIVERTLIBS=/path/to/windivert/amd64` `make CPREFIX=x86_64-w64-mingw32 WINDIVERTHEADERS=/path/to/windivert/include WINDIVERTLIBS=/path/to/windivert/amd64`
# How to install as Windows Service
One way is using an [srvstart](http://www.rozanski.org.uk/software) program.
Unpack it to goodbyedpi directory and create 3 files:
*goodbyedpi.ini*
```INI
[GoodByeDPI]
startup=goodbyedpi.exe
shutdown_method=winmessage
auto_restart=n
```
*srvinstall.bat*
```Batchfile
srvstart install GoodByeDPI -c %CD%\goodbyedpi-svc.ini
```
*srvremove.bat*
```Batchfile
srvstart remove GoodByeDPI
```
Run these batch files as Administrator to install/remove service.
Open Windows Services panel to run service or make it start automaticaly.
# Similar projects # Similar projects
[zapret](https://github.com/bol-van/zapret) by @bol-van (for Linux). [zapret](https://github.com/bol-van/zapret) by @bol-van (for Linux).

View File

@@ -355,11 +355,11 @@ int main(int argc, char *argv[]) {
if (addr.Direction == WINDIVERT_DIRECTION_INBOUND && if (addr.Direction == WINDIVERT_DIRECTION_INBOUND &&
ppTcpHdr->Syn == 1) { ppTcpHdr->Syn == 1) {
//printf("Changing Window Size!\n"); //printf("Changing Window Size!\n");
if (do_fragment_http && ppTcpHdr->DstPort == htons(80)) { if (do_fragment_http && ppTcpHdr->SrcPort == htons(80)) {
change_window_size(packet, http_fragment_size); change_window_size(packet, http_fragment_size);
WinDivertHelperCalcChecksums(packet, packetLen, 0); WinDivertHelperCalcChecksums(packet, packetLen, 0);
} }
else if (do_fragment_https && ppTcpHdr->DstPort != htons(80)) { else if (do_fragment_https && ppTcpHdr->SrcPort != htons(80)) {
change_window_size(packet, https_fragment_size); change_window_size(packet, https_fragment_size);
WinDivertHelperCalcChecksums(packet, packetLen, 0); WinDivertHelperCalcChecksums(packet, packetLen, 0);
} }