Browse Source

blockcheck: multiple test attempts

pull/84/head
bol-van 3 years ago
parent
commit
ba601b08ce
  1. 39
      blockcheck.sh
  2. 3
      docs/readme.txt

39
blockcheck.sh

@ -352,15 +352,23 @@ curl_test()
{ {
# $1 - test function # $1 - test function
# $2 - domain # $2 - domain
$1 $IPV $2 && { local code=0 n=0
echo '!!!!! AVAILABLE !!!!!'
return 0 while [ $n -lt $REPEATS ]; do
} n=$(($n+1))
local code=$? [ $REPEATS -gt 1 ] && $ECHON "[attempt $n] "
$1 $IPV $2 && {
[ $REPEATS -gt 1 ] && echo 'AVAILABLE'
continue
}
code=$?
done
if [ $code = 254 ]; then if [ $code = 254 ]; then
echo UNAVAILABLE echo "UNAVAILABLE"
elif [ $code = 0 ]; then
echo '!!!!! AVAILABLE !!!!!'
else else
echo UNAVAILABLE code=$code echo "UNAVAILABLE code=$code"
fi fi
return $code return $code
} }
@ -638,12 +646,23 @@ ask_params()
CURL_OPT= CURL_OPT=
[ $ENABLE_HTTPS_TLS13 = 1 -o $ENABLE_HTTPS_TLS12 = 1 ] && { [ $ENABLE_HTTPS_TLS13 = 1 -o $ENABLE_HTTPS_TLS12 = 1 ] && {
echo echo
echo on limited systems like openwrt CA certificates might not be installed to preserve space echo "on limited systems like openwrt CA certificates might not be installed to preserve space"
echo in such a case curl cannot verify server certificate and you should either install ca-bundle or disable verification echo "in such a case curl cannot verify server certificate and you should either install ca-bundle or disable verification"
echo however disabling verification will break https check if ISP does MitM attack and substitutes server certificate echo "however disabling verification will break https check if ISP does MitM attack and substitutes server certificate"
ask_yes_no_var IGNORE_CA "do not verify server certificate" ask_yes_no_var IGNORE_CA "do not verify server certificate"
[ "$IGNORE_CA" = 1 ] && CURL_OPT=-k [ "$IGNORE_CA" = 1 ] && CURL_OPT=-k
} }
echo
echo "sometimes ISPs use multiple DPIs or load balancing. bypass strategies may work unstable."
$ECHON "how many times to repeat each test (default: 1) : "
read REPEATS
REPEATS=$((0+${REPEATS:-1}))
[ "$REPEATS" = 0 ] && {
echo invalid repeat count
exitp 1
}
echo echo
} }

3
docs/readme.txt

@ -734,7 +734,8 @@ tpws и nfqws решают нужно ли применять дурение в
они находятся на разных хопах. Такая ситуация может выражаться в нестабильности работы обхода. они находятся на разных хопах. Такая ситуация может выражаться в нестабильности работы обхода.
Дернули несколько раз curl. То работает, то connection reset или редирект. blockcheck.sh выдает Дернули несколько раз curl. То работает, то connection reset или редирект. blockcheck.sh выдает
странноватые результаты. То split работает на 2-м. хопе, то на 4-м. Достоверность результата вызывает сомнения. странноватые результаты. То split работает на 2-м. хопе, то на 4-м. Достоверность результата вызывает сомнения.
В этом случае вам придется вручную подбирать режимы, которые покрыли бы все DPI на вашем пути. В этом случае задайте несколько повторов одного и того же теста. Тест будет считаться успешным только,
если все попытки пройдут успешно.
Выбор параметров Выбор параметров

Loading…
Cancel
Save