Loading docs/changes.txt +1 −0 Original line number Diff line number Diff line Loading @@ -485,3 +485,4 @@ blockcheck: use tpws --fix-seg on linux for multiple splits v70.7 nfqws,tpws: debug tls version, alpn, ech nfqws: --dpi-desync-fake-tls=! means default tls fake docs/readme.en.md +2 −2 Original line number Diff line number Diff line # zapret v70.6 # zapret v70.7 # SCAMMER WARNING Loading Loading @@ -173,7 +173,7 @@ nfqws takes the following parameters: --dpi-desync-badack-increment=<int|0xHEX> ; badseq fooling ackseq signed increment. default -66000 --dpi-desync-any-protocol=0|1 ; 0(default)=desync only http and tls 1=desync any nonempty data packet --dpi-desync-fake-http=<filename>|0xHEX ; file containing fake http request --dpi-desync-fake-tls=<filename>|0xHEX ; file containing fake TLS ClientHello (for https) --dpi-desync-fake-tls=<filename>|0xHEX|! ; file containing fake TLS ClientHello (for https). '!' = standard fake --dpi-desync-fake-tls-mod=mod[,mod] ; comma separated list of TLS fake mods. available mods : none,rnd,rndsni,sni=<sni>,dupsid,padencap --dpi-desync-fake-unknown=<filename>|0xHEX ; file containing unknown protocol fake payload --dpi-desync-fake-syndata=<filename>|0xHEX ; file containing SYN data payload Loading docs/readme.md +2 −2 Original line number Diff line number Diff line # zapret v70.6 # zapret v70.7 # ВНИМАНИЕ, остерегайтесь мошенников Loading Loading @@ -195,7 +195,7 @@ dvtws, собираемый из тех же исходников (см. [док --dpi-desync-badack-increment=<int|0xHEX> ; инкремент ack sequence number для badseq. по умолчанию -66000 --dpi-desync-any-protocol=0|1 ; 0(default)=работать только по http request и tls clienthello 1=по всем непустым пакетам данных --dpi-desync-fake-http=<filename>|0xHEX ; файл, содержащий фейковый http запрос для dpi-desync=fake, на замену стандартному www.iana.org --dpi-desync-fake-tls=<filename>|0xHEX ; файл, содержащий фейковый tls clienthello для dpi-desync=fake, на замену стандартному --dpi-desync-fake-tls=<filename>|0xHEX|! ; файл, содержащий фейковый tls clienthello для dpi-desync=fake, на замену стандартному. '!' = стандартный фейк --dpi-desync-fake-tls-mod=mod[,mod] ; список через запятую режимов runtime модификации фейков : none,rnd,rndsni,sni=<sni>,dupsid,padencap --dpi-desync-fake-unknown=<filename>|0xHEX ; файл, содержащий фейковый пейлоад неизвестного протокола для dpi-desync=fake, на замену стандартным нулям 256 байт --dpi-desync-fake-syndata=<filename>|0xHEX ; файл, содержащий фейковый пейлоад пакета SYN для режима десинхронизации syndata Loading nfq/nfqws.c +17 −2 Original line number Diff line number Diff line Loading @@ -1222,6 +1222,19 @@ static struct blob_item *load_blob_to_collection(const char *filename, struct bl blob->size_buf = blob->size+size_reserve; return blob; } static struct blob_item *load_const_blob_to_collection(const void *data,size_t sz, struct blob_collection_head *blobs, size_t size_reserve) { struct blob_item *blob = blob_collection_add(blobs); if (!blob || (!(blob->data = malloc(sz+size_reserve)))) { DLOG_ERR("out of memory\n"); exit_clean(1); } blob->size = sz; blob->size_buf = sz+size_reserve; memcpy(blob->data,data,sz); return blob; } #ifdef __CYGWIN__ Loading Loading @@ -1441,7 +1454,7 @@ static void exithelp(void) " --dpi-desync-badack-increment=<int|0xHEX>\t; badseq fooling ackseq signed increment. default %d\n" " --dpi-desync-any-protocol=0|1\t\t\t; 0(default)=desync only http and tls 1=desync any nonempty data packet\n" " --dpi-desync-fake-http=<filename>|0xHEX\t; file containing fake http request\n" " --dpi-desync-fake-tls=<filename>|0xHEX\t\t; file containing fake TLS ClientHello (for https)\n" " --dpi-desync-fake-tls=<filename>|0xHEX|!\t; file containing fake TLS ClientHello (for https)\n" " --dpi-desync-fake-tls-mod=mod[,mod]\t\t; comma separated list of TLS fake mods. available mods : none,rnd,rndsni,sni=<sni>,dupsid,padencap\n" " --dpi-desync-fake-unknown=<filename>|0xHEX\t; file containing unknown protocol fake payload\n" " --dpi-desync-fake-syndata=<filename>|0xHEX\t; file containing SYN data payload\n" Loading Loading @@ -2211,7 +2224,9 @@ int main(int argc, char **argv) break; case IDX_DPI_DESYNC_FAKE_TLS: { dp->tls_fake_last = load_blob_to_collection(optarg, &dp->fake_tls, FAKE_MAX_TCP,4+sizeof(dp->tls_mod_last.sni)); dp->tls_fake_last = strcmp(optarg,"!") ? load_blob_to_collection(optarg, &dp->fake_tls, FAKE_MAX_TCP,4+sizeof(dp->tls_mod_last.sni)) : load_const_blob_to_collection(fake_tls_clienthello_default,sizeof(fake_tls_clienthello_default),&dp->fake_tls,4+sizeof(dp->tls_mod_last.sni)); if (!(dp->tls_fake_last->extra2 = malloc(sizeof(struct fake_tls_mod)))) { DLOG_ERR("out of memory\n"); Loading Loading
docs/changes.txt +1 −0 Original line number Diff line number Diff line Loading @@ -485,3 +485,4 @@ blockcheck: use tpws --fix-seg on linux for multiple splits v70.7 nfqws,tpws: debug tls version, alpn, ech nfqws: --dpi-desync-fake-tls=! means default tls fake
docs/readme.en.md +2 −2 Original line number Diff line number Diff line # zapret v70.6 # zapret v70.7 # SCAMMER WARNING Loading Loading @@ -173,7 +173,7 @@ nfqws takes the following parameters: --dpi-desync-badack-increment=<int|0xHEX> ; badseq fooling ackseq signed increment. default -66000 --dpi-desync-any-protocol=0|1 ; 0(default)=desync only http and tls 1=desync any nonempty data packet --dpi-desync-fake-http=<filename>|0xHEX ; file containing fake http request --dpi-desync-fake-tls=<filename>|0xHEX ; file containing fake TLS ClientHello (for https) --dpi-desync-fake-tls=<filename>|0xHEX|! ; file containing fake TLS ClientHello (for https). '!' = standard fake --dpi-desync-fake-tls-mod=mod[,mod] ; comma separated list of TLS fake mods. available mods : none,rnd,rndsni,sni=<sni>,dupsid,padencap --dpi-desync-fake-unknown=<filename>|0xHEX ; file containing unknown protocol fake payload --dpi-desync-fake-syndata=<filename>|0xHEX ; file containing SYN data payload Loading
docs/readme.md +2 −2 Original line number Diff line number Diff line # zapret v70.6 # zapret v70.7 # ВНИМАНИЕ, остерегайтесь мошенников Loading Loading @@ -195,7 +195,7 @@ dvtws, собираемый из тех же исходников (см. [док --dpi-desync-badack-increment=<int|0xHEX> ; инкремент ack sequence number для badseq. по умолчанию -66000 --dpi-desync-any-protocol=0|1 ; 0(default)=работать только по http request и tls clienthello 1=по всем непустым пакетам данных --dpi-desync-fake-http=<filename>|0xHEX ; файл, содержащий фейковый http запрос для dpi-desync=fake, на замену стандартному www.iana.org --dpi-desync-fake-tls=<filename>|0xHEX ; файл, содержащий фейковый tls clienthello для dpi-desync=fake, на замену стандартному --dpi-desync-fake-tls=<filename>|0xHEX|! ; файл, содержащий фейковый tls clienthello для dpi-desync=fake, на замену стандартному. '!' = стандартный фейк --dpi-desync-fake-tls-mod=mod[,mod] ; список через запятую режимов runtime модификации фейков : none,rnd,rndsni,sni=<sni>,dupsid,padencap --dpi-desync-fake-unknown=<filename>|0xHEX ; файл, содержащий фейковый пейлоад неизвестного протокола для dpi-desync=fake, на замену стандартным нулям 256 байт --dpi-desync-fake-syndata=<filename>|0xHEX ; файл, содержащий фейковый пейлоад пакета SYN для режима десинхронизации syndata Loading
nfq/nfqws.c +17 −2 Original line number Diff line number Diff line Loading @@ -1222,6 +1222,19 @@ static struct blob_item *load_blob_to_collection(const char *filename, struct bl blob->size_buf = blob->size+size_reserve; return blob; } static struct blob_item *load_const_blob_to_collection(const void *data,size_t sz, struct blob_collection_head *blobs, size_t size_reserve) { struct blob_item *blob = blob_collection_add(blobs); if (!blob || (!(blob->data = malloc(sz+size_reserve)))) { DLOG_ERR("out of memory\n"); exit_clean(1); } blob->size = sz; blob->size_buf = sz+size_reserve; memcpy(blob->data,data,sz); return blob; } #ifdef __CYGWIN__ Loading Loading @@ -1441,7 +1454,7 @@ static void exithelp(void) " --dpi-desync-badack-increment=<int|0xHEX>\t; badseq fooling ackseq signed increment. default %d\n" " --dpi-desync-any-protocol=0|1\t\t\t; 0(default)=desync only http and tls 1=desync any nonempty data packet\n" " --dpi-desync-fake-http=<filename>|0xHEX\t; file containing fake http request\n" " --dpi-desync-fake-tls=<filename>|0xHEX\t\t; file containing fake TLS ClientHello (for https)\n" " --dpi-desync-fake-tls=<filename>|0xHEX|!\t; file containing fake TLS ClientHello (for https)\n" " --dpi-desync-fake-tls-mod=mod[,mod]\t\t; comma separated list of TLS fake mods. available mods : none,rnd,rndsni,sni=<sni>,dupsid,padencap\n" " --dpi-desync-fake-unknown=<filename>|0xHEX\t; file containing unknown protocol fake payload\n" " --dpi-desync-fake-syndata=<filename>|0xHEX\t; file containing SYN data payload\n" Loading Loading @@ -2211,7 +2224,9 @@ int main(int argc, char **argv) break; case IDX_DPI_DESYNC_FAKE_TLS: { dp->tls_fake_last = load_blob_to_collection(optarg, &dp->fake_tls, FAKE_MAX_TCP,4+sizeof(dp->tls_mod_last.sni)); dp->tls_fake_last = strcmp(optarg,"!") ? load_blob_to_collection(optarg, &dp->fake_tls, FAKE_MAX_TCP,4+sizeof(dp->tls_mod_last.sni)) : load_const_blob_to_collection(fake_tls_clienthello_default,sizeof(fake_tls_clienthello_default),&dp->fake_tls,4+sizeof(dp->tls_mod_last.sni)); if (!(dp->tls_fake_last->extra2 = malloc(sizeof(struct fake_tls_mod)))) { DLOG_ERR("out of memory\n"); Loading