From 68c856e2fc18db094f9d999de3b41387efcf1482 Mon Sep 17 00:00:00 2001
From: bol-van <k@vodka.home.kg>
Date: Thu, 9 Dec 2021 16:50:31 +0300
Subject: [PATCH] blockcheck: wssize tests

---
 blockcheck.sh | 37 ++++++++++++++++++++-----------------
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git a/blockcheck.sh b/blockcheck.sh
index 0107ebe..bef5d64 100755
--- a/blockcheck.sh
+++ b/blockcheck.sh
@@ -230,21 +230,21 @@ check_domain_bypass()
 
 	[ "$sec" = 0 ] && {
 		s="--hostcase"
-		nfqws_curl_test $1 $3 $s && strategy="${strategy:-$s}" 
+		nfqws_curl_test $1 $3 $s && strategy="${strategy:-$s}"
 		s="--hostnospace"
-		nfqws_curl_test $1 $3 $s && strategy="${strategy:-$s}" 
+		nfqws_curl_test $1 $3 $s && strategy="${strategy:-$s}"
 		s="--domcase"
-		nfqws_curl_test $1 $3 $s && strategy="${strategy:-$s}" 
+		nfqws_curl_test $1 $3 $s && strategy="${strategy:-$s}"
 	}
 
 	s="--dpi-desync=split2"
 	if nfqws_curl_test $1 $3 $s; then
-		strategy="${strategy:-$s}" 
+		strategy="${strategy:-$s}"
 	else
 		tests="$tests split fake,split"
 		[ "$sec" = 0 ] && {
 			s="$s --hostcase"
-			nfqws_curl_test $1 $3 $s && strategy="${strategy:-$s}" 
+			nfqws_curl_test $1 $3 $s && strategy="${strategy:-$s}"
 		}
 	fi
 
@@ -276,18 +276,21 @@ check_domain_bypass()
 				}
 			done
 		}
-
-		s="--dpi-desync=$desync --dpi-desync-fooling=badsum"
-		nfqws_curl_test $1 $3 $s && strategy="${strategy:-$s}" 
-
-		s="--dpi-desync=$desync --dpi-desync-fooling=md5sig"
-		nfqws_curl_test $1 $3 $s && {
-			strategy="${strategy:-$s}" 
-			echo WARNING ! although md5sig fooling worked it will not work on all sites. it typically works only on linux servers.
-		}
-
-		s="--dpi-desync=$desync --dpi-desync-fooling=badseq"
-		nfqws_curl_test $1 $3 $s && strategy="${strategy:-$s}" 
+		for fooling in badsum md5sig badseq; do
+			s="--dpi-desync=$desync --dpi-desync-fooling=$fooling"
+			if nfqws_curl_test $1 $3 $s ; then
+				strategy="${strategy:-$s}"
+				[ "$fooling" = "md5sig" ] && echo 'WARNING ! although md5sig fooling worked it will not work on all sites. it typically works only on linux servers.'
+			else
+				[ "$sec" = 1 ] && {
+					s="$s --wssize 1:6"
+					nfqws_curl_test $1 $3 $s && {
+						strategy="${strategy:-$s}"
+						[ "$fooling" = "md5sig" ] && echo 'WARNING ! although md5sig fooling worked it will not work on all sites. it typically works only on linux servers.'
+					}
+				}
+			fi
+		done
 	done
 
 	echo