diff --git a/src/system/bin/zaprett b/src/system/bin/zaprett deleted file mode 100644 index 4235be1..0000000 --- a/src/system/bin/zaprett +++ /dev/null @@ -1,150 +0,0 @@ -#!/system/bin/sh -source /sdcard/zaprett/config - -clear_iptables_rules() { - iptables -t mangle -D POSTROUTING -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null - iptables -t mangle -D PREROUTING -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null - iptables -t filter -D FORWARD -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null -} - -start_service() { - rm -f /data/adb/modules/zaprett/tmp/* - echo "Starting zaprett..." - - hostlist="" - ipset="" - - case "$list_type" in - whitelist) - lists="$active_lists" - ipsets="$active_ipsets" - opt="--hostlist" - ipopt="--ipset" - ;; - blacklist) - lists="$active_exclude_lists" - ipsets="$active_exclude_ipsets" - opt="--hostlist-exclude" - ipopt="--ipset-exclude" - ;; - *) - echo "Unknown list-type: $list_type" >&2 - lists="" - ipsets="" - opt="" - ipopt="" - ;; - esac - - - if [ -n "$lists" ] && [ -n "$opt" ]; then - for itm in $(echo "$lists" | tr ',' ' ' | sort -u); do - if [ -f "$itm" ]; then - dst="/data/adb/modules/zaprett/tmp/$(basename "$itm")" - cp "$itm" "$dst" - case "$hostlist" in - *"$opt=$dst"*) ;; - *) hostlist="$hostlist $opt=$dst" ;; - esac - fi - done - fi - - if [ -n "$ipsets" ] && [ -n "$ipopt" ]; then - for ipt in $(echo "$ipsets" | tr ',' ' ' | sort -u); do - if [ -f "$ipt" ]; then - dst="/data/adb/modules/zaprett/tmp/$(basename "$ipt")" - cp "$ipt" "$dst" - case "$ipset" in - *"$ipopt=$dst"*) ;; - *) ipset="$ipset $ipopt=$dst" ;; - esac - fi - done - fi - - config="" - if [[ -n "$strategy" && -f "$strategy" ]]; then - config="$(eval "echo \"$(<"$strategy")\"")" - fi - - if [[ -z "$config" ]]; then - config="--filter-tcp=80 --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig,badsum $hostlist --new" - config="$config --filter-tcp=443 $hostlist --dpi-desync=fake,split2 --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig,badsum --dpi-desync-fake-tls=${zaprettdir}/bin/tls_clienthello_www_google_com.bin --new" - config="$config --filter-tcp=80,443 --dpi-desync=fake,disorder2 --dpi-desync-repeats=6 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig,badsum $hostlist --new" - config="$config --filter-udp=50000-50100 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-fake-quic=0xC30000000108 --new" - config="$config --filter-udp=443 $hostlist --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic=${zaprettdir}/bin/quic_initial_www_google_com.bin --new" - config="$config --filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6 $hostlist" - fi - - sysctl net.netfilter.nf_conntrack_tcp_be_liberal=1 > /dev/null - - iptables -t mangle -I POSTROUTING -j NFQUEUE --queue-num 200 --queue-bypass - iptables -t mangle -I PREROUTING -j NFQUEUE --queue-num 200 --queue-bypass - iptables -t filter -A FORWARD -j NFQUEUE --queue-num 200 --queue-bypass - - nfqws --uid=0:0 --qnum=200 $config > /dev/null & - echo "zaprett service started!" -} - -stop_service() { - echo "Stopping zaprett..." - clear_iptables_rules - kill "$(pidof nfqws)" 2>/dev/null - rm -f /data/adb/modules/zaprett/tmp/* - echo "zaprett service stopped!" -} - -if [ "$1" == "start" ]; then - start_service -fi - -if [ "$1" == "stop" ]; then - stop_service -fi - -if [ "$1" == "status" ]; then - pidof "nfqws" > /dev/null && echo "zaprett is working" || echo "zaprett is stopped" -fi - -if [ "$1" == "restart" ]; then - stop_service - start_service - echo "zaprett service restarted!" -fi - -if [ "$1" == "help" ]; then - echo -e "Помощь по модулю zaprett:\nzaprett start - запуск сервиса\nzaprett stop - остановка сервиса\nzaprett restart - перезапуск сервиса\nzaprett status - статус сервиса\nzaprett module-ver - версия модуля\nzaprett bin-ver - версия бинарных файлов\nzaprett autostart - переключение автозапуска модуля\nzaprett get-autostart - получить активен ли автозапуск" -fi - -if [ "$1" == "module-ver" ]; then - grep 'version=' /data/adb/modules/zaprett/module.prop | sed 's/version=//' -fi - -if [ "$1" == "bin-ver" ]; then - nfqws --version | grep -o 'version v[0-9.]*' | head -n1 | cut -d' ' -f2 -fi - -if [ "$1" == "autostart" ]; then - FILE="/data/adb/modules/zaprett/autostart" - if [ -f "$FILE" ]; then - rm "$FILE" - echo "false" - else - touch "$FILE" - echo "true" - fi -fi - -if [ "$1" == "get-autostart" ]; then - FILE="/data/adb/modules/zaprett/autostart" - if [ -f "$FILE" ]; then - echo "true" - else - echo "false" - fi -fi - -if [[ -z $1 ]]; then - echo "zaprett installed. Telegram: t.me/zaprett_module" -fi