diff --git a/Makefile b/Makefile index 6c2db1d..15432af 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,12 @@ +CPREFIX = x86_64-w64-mingw32 +WINDIVERTHEADERS = ../../include +WINDIVERTLIBS = ../binary + TARGET = goodbyedpi.exe -LIBS = -L ../binary -lWinDivert -lws2_32 -CC = x86_64-w64-mingw32-gcc -CCWINDRES = x86_64-w64-mingw32-windres -CFLAGS = -Wall -I ../../include -L ../binary -O2 +LIBS = -L $(WINDIVERTLIBS) -lWinDivert -lws2_32 +CC = $(CPREFIX)-gcc +CCWINDRES = $(CPREFIX)-windres +CFLAGS = -Wall -I $(WINDIVERTHEADERS) -L $(WINDIVERTLIBS) -O2 .PHONY: default all clean diff --git a/README.md b/README.md index 140b61f..507ad08 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,20 @@ Active DPI is more tricky to fool. Currently the software uses 3 methods to circ These methods do not break any website as are fully compatible with TCP and HTTP standards, yet it's sufficient to prevent DPI data classification and to circumvent censorship. +The program loads WinDivert driver which uses Windows Filtering Platform to set filters and redirect packets to the userspace. It's running as long as console window is visible and terminates when you close the window. + +# How to build from source + +This project can be build using **GNU Make** and [**mingw**](https://mingw-w64.org). The only dependency is [WinDivert](https://github.com/basil00/Divert). + +To build x86 exe run: + +`make CPREFIX=i686-w64-mingw32 WINDIVERTHEADERS=/path/to/windivert/include WINDIVERTLIBS=/path/to/windivert/x86` + +And for x86_64: + +`make CPREFIX=x86_64-w64-mingw32 WINDIVERTHEADERS=/path/to/windivert/include WINDIVERTLIBS=/path/to/windivert/amd64` + # Similar projects [zapret](https://github.com/bol-van/zapret) by @bol-van (for Linux).