NoTMCT is a DPI bypasser that useful for black lists in Russia. Isn’t working while CIDR blocks active. Recommended for some SNI bypass testing.
-i, –ip
-p, –port
-D, –daemon Run in daemon mode (Linux/BSD only)
-w, –pidfile
-E, –transparent Transparent proxy mode (Linux only)
-c, –max-conn
-N, –no-domain Delete domains from their existence on the world (drop domain requests)
-U, –no-udp TCP only mode, decline any UDP users
-I, –conn-ip
-b, –buf-size
-x, –debug
-g, –def-ttl
-F, –tfo Allow TCP Fast Open if you’re sure about that (Linux 4.11+)
-A, –auto <t,r,s,n,k,c>
Try desync parameters after this option
Detect events: torst (timeout/reset), redirect (HTTP redirect),
ssl_err (SSL error), none (skip),
conn (connection event), keep (keep-alive), pri=
-L, –auto-mode
Sort mode for automatic parameter selection
-T, –timeout <s[:p:c:b]> Timeout waiting for response, after which trigger auto because someone isn’t patient enough Format: seconds[:probes:count:backoff]
-y, –cache-file <path|-> Dump cache to file or stdout
-u, –cache-ttl
-K, –proto <t,h,u,i> Protocol whitelist: tls, http, udp, ipv4
-H, –hosts <file|:str> Hosts whitelist, filename or :string with space-separated domains
-j, –ipset <file|:str> IP whitelist, filename or :string with IPs/subnets
-V, –pf <port[-portr]> Ports range whitelist
-R, –round <num[-numr]> Number of request to which desync will be applied, default 1
-s, –split
-d, –disorder
-o, –oob
-q, –disoob
-f, –fake
-S, –md5sig Add MD5 Signature option for fake packets (Linux only)
-n, –fake-sni
-t, –ttl
-O, –fake-offset
-l, –fake-data <f|:str> Set custom fake packet from file or string (with escapes like \n, \0, \x10)
-Q, –fake-tls-mod
-e, –oob-data
-M, –mod-http <h,d,r> Modify HTTP packet: hcsmix - randomize Host case (Host -> hOsT), dcsmix - randomize domain case in Host, rmspace - remove space after colon (Host: name -> Host:name)
-r, –tlsrec
-m, –tlsminor
-a, –udp-fake
-Y, –drop-sack Drop packets with SACK extension (Linux only)
The position parameter (pos_t) used in many options has the format:
offset[:repeats:skip][+flag1[flag2]]
+s: Add SNI (Server Name Indication) offset to the position+h: Add HTTP Host header offset to the position+n: Use null offset (0)+e: Use end of packet as position+m: Use middle of packet as positionExamples:
3+s: Position at SNI + 3 bytes0+sm: Split in the middle of SNI1:3:5: Split at positions 1, 6, and 11-10: 10 bytes from the endThe --auto option supports the following detection events:
Requirements: make, gcc/clang for Linux, mingw for Windows
makemake windows CC=x86_64-w64-mingw32-gccDocker images are available on DockerHub.
Example container configuration can be found in dist/docker.