From f1aece75ae05b11c2c8ceec274a39089820c6c7c Mon Sep 17 00:00:00 2001 From: ValdikSS Date: Wed, 31 Jul 2024 12:31:10 +0300 Subject: [PATCH] New mode: -7 - As -6 but with wrong chksum --- README.md | 1 + src/goodbyedpi.c | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 94db176..16fe92d 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,7 @@ LEGACY modesets: Modern modesets (more stable, more compatible, faster): -5 -f 2 -e 2 --auto-ttl --reverse-frag --max-payload (this is the default) -6 -f 2 -e 2 --wrong-seq --reverse-frag --max-payload + -7 -f 2 -e 2 --wrong-chksum --reverse-frag --max-payload ``` To check if your ISP's DPI could be circumvented, first make sure that your provider does not poison DNS answers by enabling "Secure DNS (DNS over HTTPS)" option in your browser. diff --git a/src/goodbyedpi.c b/src/goodbyedpi.c index 886bd24..fd912b0 100644 --- a/src/goodbyedpi.c +++ b/src/goodbyedpi.c @@ -648,7 +648,7 @@ int main(int argc, char *argv[]) { max_payload_size = 1200; } - while ((opt = getopt_long(argc, argv, "123456pqrsaf:e:mwk:n", long_options, NULL)) != -1) { + while ((opt = getopt_long(argc, argv, "1234567pqrsaf:e:mwk:n", long_options, NULL)) != -1) { switch (opt) { case '1': do_passivedpi = do_host = do_host_removespace \ @@ -689,6 +689,15 @@ int main(int argc, char *argv[]) { do_wrong_seq = 1; max_payload_size = 1200; break; + case '7': + do_fragment_http = do_fragment_https = 1; + do_reverse_frag = do_native_frag = 1; + http_fragment_size = https_fragment_size = 2; + do_fragment_http_persistent = do_fragment_http_persistent_nowait = 1; + do_fake_packet = 1; + do_wrong_chksum = 1; + max_payload_size = 1200; + break; case 'p': do_passivedpi = 1; break; @@ -950,7 +959,9 @@ int main(int argc, char *argv[]) { "\n" "Modern modesets (more stable, more compatible, faster):\n" " -5 -f 2 -e 2 --auto-ttl --reverse-frag --max-payload (this is the default)\n" - " -6 -f 2 -e 2 --wrong-seq --reverse-frag --max-payload\n"); + " -6 -f 2 -e 2 --wrong-seq --reverse-frag --max-payload\n" + " -7 -f 2 -e 2 --wrong-chksum --reverse-frag --max-payload\n" + ); exit(EXIT_FAILURE); } }