# this custom script runs desync to all wireguard handshake initiation packets # can override in config : NFQWS_OPT_DESYNC_WG="${NFQWS_OPT_DESYNC_WG:---dpi-desync=fake}" alloc_dnum DNUM_WG4ALL alloc_qnum QNUM_WG4ALL zapret_custom_daemons() { # $1 - 1 - add, 0 - stop local opt="--qnum=$QNUM_WG4ALL $NFQWS_OPT_DESYNC_WG" do_nfqws $1 $DNUM_WG4ALL "$opt" } # size = 156 (8 udp header + 148 payload) && payload starts with 0x01000000 zapret_custom_firewall() { # $1 - 1 - run, 0 - stop local f='-p udp -m u32 --u32' fw_nfqws_post $1 "$f 0>>22&0x3C@4>>16=0x9c&&0>>22&0x3C@8=0x01000000" "$f 44>>16=0x9c&&48=0x01000000" $QNUM_WG4ALL } zapret_custom_firewall_nft() { # stop logic is not required local f="udp length 156 @th,64,32 0x01000000" nft_fw_nfqws_post "$f" "$f" $QNUM_WG4ALL }