2 Commits

Author SHA1 Message Date
CodeRoK7
767f9d19da On download list services of proxy 2025-09-18 10:10:00 +00:00
CodeRoK7
f5ab0ddfef Updated Podkop to version 0.4.11 2025-09-17 04:19:22 +00:00
12 changed files with 241 additions and 864 deletions

View File

@@ -318,7 +318,7 @@ config_files="network
firewall firewall
https-dns-proxy https-dns-proxy
dhcp" dhcp"
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_zapret" URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/main"
checkPackageAndInstall "https-dns-proxy" "0" checkPackageAndInstall "https-dns-proxy" "0"
@@ -575,7 +575,7 @@ fi
path_podkop_config="/etc/config/podkop" path_podkop_config="/etc/config/podkop"
path_podkop_config_backup="/root/podkop" path_podkop_config_backup="/root/podkop"
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_zapret" URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/main"
if [ -f "/etc/init.d/podkop" ]; then if [ -f "/etc/init.d/podkop" ]; then
printf "Podkop installed. Reconfigured on AWG WARP and Opera Proxy? (y/n): \n" printf "Podkop installed. Reconfigured on AWG WARP and Opera Proxy? (y/n): \n"

View File

@@ -1,36 +0,0 @@
# this custom script runs desync to all discord media packets
# NOTE: @ih requires nft 1.0.1+ and updated kernel version. it's confirmed to work on 5.15 (openwrt 23) and not work on 5.10 (openwrt 22)
# can override in config :
NFQWS_OPT_DESYNC_DISCORD_MEDIA="${NFQWS_OPT_DESYNC_DISCORD_MEDIA:---dpi-desync=fake --dpi-desync-repeats=2}"
DISCORD_MEDIA_PORT_RANGE="${DISCORD_MEDIA_PORT_RANGE:-50000-50099}"
alloc_dnum DNUM_DISCORD_MEDIA
alloc_qnum QNUM_DISCORD_MEDIA
zapret_custom_daemons()
{
# $1 - 1 - add, 0 - stop
local opt="--qnum=$QNUM_DISCORD_MEDIA $NFQWS_OPT_DESYNC_DISCORD_MEDIA"
do_nfqws $1 $DNUM_DISCORD_MEDIA "$opt"
}
# size = 156 (8 udp header + 148 payload) && payload starts with 0x01000000
zapret_custom_firewall()
{
# $1 - 1 - run, 0 - stop
local DISABLE_IPV6=1
local port_range=$(replace_char - : $DISCORD_MEDIA_PORT_RANGE)
local f="-p udp --dport $port_range -m u32 --u32"
# this is simplified test to skip writing monstrous rule. instead of checking 64 bytes for zeroes only check 2 dwords for zero
fw_nfqws_post $1 "$f 0>>22&0x3C@4>>16=0x52&&0>>22&0x3C@8=0x00010046&&0>>22&0x3C@16=0&&0>>22&0x3C@76=0" '' $QNUM_DISCORD_MEDIA
}
zapret_custom_firewall_nft()
{
# stop logic is not required
local DISABLE_IPV6=1
local f="udp dport $DISCORD_MEDIA_PORT_RANGE udp length == 82 @ih,0,32 0x00010046 @ih,64,128 0x00000000000000000000000000000000 @ih,192,128 0x00000000000000000000000000000000 @ih,320,128 0x00000000000000000000000000000000 @ih,448,128 0x00000000000000000000000000000000"
nft_fw_nfqws_post "$f" '' $QNUM_DISCORD_MEDIA
}

View File

@@ -1,31 +0,0 @@
# this custom script runs desync to all stun packets
# NOTE: @ih requires nft 1.0.1+ and updated kernel version. it's confirmed to work on 5.15 (openwrt 23) and not work on 5.10 (openwrt 22)
# can override in config :
NFQWS_OPT_DESYNC_STUN="${NFQWS_OPT_DESYNC_STUN:---dpi-desync=fake --dpi-desync-repeats=2}"
alloc_dnum DNUM_STUN4ALL
alloc_qnum QNUM_STUN4ALL
zapret_custom_daemons()
{
# $1 - 1 - add, 0 - stop
local opt="--qnum=$QNUM_STUN4ALL $NFQWS_OPT_DESYNC_STUN"
do_nfqws $1 $DNUM_STUN4ALL "$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=28:65535&&0>>22&0x3C@12=0x2112A442&&0>>22&0x3C@8&0xC0000003=0" "$f 44>>16=28:65535&&52=0x2112A442&&48&0xC0000003=0" $QNUM_STUN4ALL
}
zapret_custom_firewall_nft()
{
# stop logic is not required
local f="udp length >= 28 @ih,32,32 0x2112A442 @ih,0,2 0 @ih,30,2 0"
nft_fw_nfqws_post "$f" "$f" $QNUM_STUN4ALL
}

View File

@@ -1,32 +0,0 @@
# this custom script runs desync to all wireguard handshake initiation packets
# NOTE: this works for original wireguard and may not work for 3rd party implementations such as xray
# NOTE: @ih requires nft 1.0.1+ and updated kernel version. it's confirmed to work on 5.15 (openwrt 23) and not work on 5.10 (openwrt 22)
# can override in config :
NFQWS_OPT_DESYNC_WG="${NFQWS_OPT_DESYNC_WG:---dpi-desync=fake --dpi-desync-fake-wireguard=/opt/zapret/files/fake/quic_initial_vk_com.bin --dpi-desync-repeats=5}"
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 @ih,0,32 0x01000000"
nft_fw_nfqws_post "$f" "$f" $QNUM_WG4ALL
}

View File

@@ -1,55 +0,0 @@
config main 'config'
option run_on_boot '1'
option FWTYPE 'nftables'
option POSTNAT '1'
option FLOWOFFLOAD 'none'
option INIT_APPLY_FW '1'
option DISABLE_IPV4 '0'
option DISABLE_IPV6 '1'
option FILTER_TTL_EXPIRED_ICMP '1'
option MODE_FILTER 'hostlist'
option DISABLE_CUSTOM '0'
option WS_USER 'daemon'
option DAEMON_LOG_ENABLE '0'
option DAEMON_LOG_FILE '/tmp/zapret+<DAEMON_NAME>+<DAEMON_IDNUM>+<DAEMON_CFGNAME>.log'
option AUTOHOSTLIST_RETRANS_THRESHOLD '3'
option AUTOHOSTLIST_FAIL_THRESHOLD '3'
option AUTOHOSTLIST_FAIL_TIME '60'
option AUTOHOSTLIST_DEBUGLOG '0'
option NFQWS_ENABLE '1'
option DESYNC_MARK '0x40000000'
option DESYNC_MARK_POSTNAT '0x20000000'
option NFQWS_PORTS_TCP '80,443'
option NFQWS_PORTS_UDP '443'
option NFQWS_TCP_PKT_OUT '9'
option NFQWS_TCP_PKT_IN '3'
option NFQWS_UDP_PKT_OUT '9'
option NFQWS_UDP_PKT_IN '0'
option NFQWS_PORTS_TCP_KEEPALIVE '0'
option NFQWS_PORTS_UDP_KEEPALIVE '0'
option NFQWS_OPT '
--filter-tcp=80 <HOSTLIST>
--dpi-desync=fake,fakedsplit
--dpi-desync-autottl=2
--dpi-desync-fooling=badsum
--new
--filter-tcp=443
--hostlist=/opt/zapret/ipset/zapret-hosts-google.txt
--dpi-desync=multidisorder
--dpi-desync-split-pos=1,midsld
--new
--filter-udp=443 --hostlist=/opt/zapret/ipset/zapret-hosts-google.txt
--dpi-desync=fake
--dpi-desync-repeats=11
--dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin
--new
--filter-udp=443 <HOSTLIST_NOAUTO>
--dpi-desync=fake
--dpi-desync-repeats=11
--new
--filter-tcp=443 <HOSTLIST>
--dpi-desync=multidisorder
--dpi-desync-split-pos=1,sniext+1,host+1,midsld-2,midsld,midsld+2,endhost-1
'

View File

@@ -1,34 +0,0 @@
speedtest.net
discord.com
discordapp.com
discord.gg
discordapp.net
discord.media
cdninstagram.com
instagram.com
ig.me
fbcdn.net
facebook.com
facebook.net
fb.com
rutracker.org
rutracker.net
rutracker.cc
rutor.info
rutor.is
nnmclub.to
twitter.com
t.co
twimg.com
ads-twitter.com
x.com
pscp.tv
twtrdns.net
twttr.com
periscope.tv
tweetdeck.com
twitpic.com
twitter.co
twitterinc.com
twitteroauth.com
twitterstat.us

View File

@@ -1 +0,0 @@
speedtest.net

View File

@@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_zapret" URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/main"
DIR="/etc/config" DIR="/etc/config"
DIR_BACKUP="/root/backup" DIR_BACKUP="/root/backup"
config_files="dhcp config_files="dhcp

View File

@@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_zapret" URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/main"
DIR="/etc/config" DIR="/etc/config"
DIR_BACKUP="/root/backup" DIR_BACKUP="/root/backup"
config_files="dhcp config_files="dhcp

View File

@@ -7,10 +7,10 @@ findVersion="24.10.2"
if echo "$DESCRIPTION" | grep -qi -- "$findKey" && printf '%s\n%s\n' "$findVersion" "$VERSION" | sort -V | tail -n1 | grep -qx -- "$VERSION"; then if echo "$DESCRIPTION" | grep -qi -- "$findKey" && printf '%s\n%s\n' "$findVersion" "$VERSION" | sort -V | tail -n1 | grep -qx -- "$VERSION"; then
printf "\033[32;1mThis new firmware. Running new scprit...\033[0m\n" printf "\033[32;1mThis new firmware. Running new scprit...\033[0m\n"
wget --no-check-certificate -O /tmp/universal_config_new_podkop.sh https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_zapret/universal_config_new_podkop.sh && chmod +x /tmp/universal_config_new_podkop.sh && /tmp/universal_config_new_podkop.sh $1 $2 wget --no-check-certificate -O /tmp/universal_config_new_podkop.sh https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_alt_test/universal_config_new_podkop.sh && chmod +x /tmp/universal_config_new_podkop.sh && /tmp/universal_config_new_podkop.sh $1 $2
else else
printf "\033[32;1mThis old firmware.\nRecommendation, upgrade firmware to actual release...\nSleep 5 sec...\033[0m\n" printf "\033[32;1mThis old firmware.\nRecommendation, upgrade firmware to actual release...\nSleep 5 sec...\033[0m\n"
sleep 5 sleep 5
printf "\033[32;1mRunning old scprit...\033[0m\n" printf "\033[32;1mRunning old scprit...\033[0m\n"
wget --no-check-certificate -O /tmp/universal_config.sh https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_zapret/universal_config.sh && chmod +x /tmp/universal_config.sh && /tmp/universal_config.sh $1 $2 wget --no-check-certificate -O /tmp/universal_config.sh https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_alt_test/universal_config.sh && chmod +x /tmp/universal_config.sh && /tmp/universal_config.sh $1 $2
fi fi

View File

@@ -144,167 +144,80 @@ checkPackageAndInstall()
requestConfWARP1() requestConfWARP1()
{ {
HASH='68747470733a2f2f73616e74612d61746d6f2e72752f776172702f776172702e706870' #запрос конфигурации WARP
COMPILE=$(printf '%b' "$(printf '%s\n' "$HASH" | sed 's/../\\x&/g')") local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp.llimonix.pw/api/warp' \
#запрос конфигурации WARP -H 'Accept: */*' \
local response=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" "$COMPILE" \ -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \ -H 'Connection: keep-alive' \
-H "referer: $COMPILE" \ -H 'Content-Type: application/json' \
-H "Origin: $COMPILE") -H 'Origin: https://warp.llimonix.pw' \
echo "$response" -H 'Referer: https://warp.llimonix.pw/' \
-H 'Sec-Fetch-Dest: empty' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Site: same-origin' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' \
-H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133")' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "Windows"' \
--data-raw '{"selectedServices":[],"siteMode":"all","deviceType":"computer"}')
echo "$result"
} }
requestConfWARP2() requestConfWARP2()
{ {
#запрос конфигурации WARP #запрос конфигурации WARP
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://dulcet-fox-556b08.netlify.app/api/warp' \ local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://topor-warp.vercel.app/generate' \
-H 'Accept: */*' \ -H 'Accept: */*' \
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \ -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
-H 'Connection: keep-alive' \ -H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \ -H 'Content-Type: application/json' \
-H 'Origin: https://dulcet-fox-556b08.netlify.app/api/warp' \ -H 'Origin: https://topor-warp.vercel.app' \
-H 'Referer: https://dulcet-fox-556b08.netlify.app/api/warp' \ -H 'Referer: https://topor-warp.vercel.app/' \
-H 'Sec-Fetch-Dest: empty' \ -H 'Sec-Fetch-Dest: empty' \
-H 'Sec-Fetch-Mode: cors' \ -H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Site: same-origin' \ -H 'Sec-Fetch-Site: same-origin' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' \ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' \
-H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133")' \ -H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133"' \
-H 'sec-ch-ua-mobile: ?0' \ -H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "Windows"' \ -H 'sec-ch-ua-platform: "Windows"' \
--data-raw '{"selectedServices":[],"siteMode":"all","deviceType":"computer","endpoint":"162.159.195.1:500"}') --data-raw '{"platform":"all"}')
echo "$result" echo "$result"
} }
requestConfWARP3() requestConfWARP3()
{ {
#запрос конфигурации WARP #запрос конфигурации WARP
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp-config-generator-theta.vercel.app/api/warp' \ local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp-gen.vercel.app/generate-config' \
-H 'Accept: */*' \ -H 'Accept: */*' \
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \ -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
-H 'Connection: keep-alive' \ -H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \ -H 'Referer: https://warp-gen.vercel.app/' \
-H 'Origin: https://warp-config-generator-theta.vercel.app/api/warp' \ -H 'Sec-Fetch-Dest: empty' \
-H 'Referer: https://warp-config-generator-theta.vercel.app/api/warp' \ -H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \ -H 'Sec-Fetch-Site: same-origin' \
-H 'Sec-Fetch-Mode: cors' \ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' \
-H 'Sec-Fetch-Site: same-origin' \ -H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133"' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' \ -H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133")' \ -H 'sec-ch-ua-platform: "Windows"')
-H 'sec-ch-ua-mobile: ?0' \ echo "$result"
-H 'sec-ch-ua-platform: "Windows"' \
--data-raw '{"selectedServices":[],"siteMode":"all","deviceType":"computer","endpoint":"162.159.195.1:500"}')
echo "$result"
} }
requestConfWARP4() requestConfWARP4()
{ {
#запрос конфигурации WARP #запрос конфигурации WARP
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://generator-warp-config.vercel.app/warp4s?dns=1.1.1.1%2C%201.0.0.1%2C%202606%3A4700%3A4700%3A%3A1111%2C%202606%3A4700%3A4700%3A%3A1001&allowedIPs=0.0.0.0%2F0%2C%20%3A%3A%2F0' \ local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://config-generator-warp.vercel.app/warp' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \ -H 'Accept: */*' \
-H 'referer: https://generator-warp-config.vercel.app' \ -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
-H "Origin: https://generator-warp-config.vercel.app") -H 'Connection: keep-alive' \
echo "$result" -H 'Referer: https://config-generator-warp.vercel.app/' \
} -H 'Sec-Fetch-Dest: empty' \
-H 'Sec-Fetch-Mode: cors' \
requestConfWARP5() -H 'Sec-Fetch-Site: same-origin' \
{ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' \
#запрос конфигурации WARP -H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133"' \
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://valokda-amnezia.vercel.app/api/warp' \ -H 'sec-ch-ua-mobile: ?0' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \ -H 'sec-ch-ua-platform: "Windows"')
-H 'accept: */*' \ echo "$result"
-H 'accept-language: ru-RU,ru;q=0.9' \
-H 'referer: https://valokda-amnezia.vercel.app/api/warp')
echo "$result"
}
requestConfWARP6()
{
#запрос конфигурации WARP
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp-gen.vercel.app/generate-config' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \
-H 'accept: */*' \
-H 'accept-language: ru-RU,ru;q=0.9' \
-H 'referer: https://warp-gen.vercel.app/generate-config')
echo "$result"
}
requestConfWARP7()
{
#запрос конфигурации WARP
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://config-generator-warp.vercel.app/warps' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \
-H 'accept: */*' \
-H 'accept-language: ru-RU,ru;q=0.9' \
-H 'referer: https://config-generator-warp.vercel.app/')
echo "$result"
}
requestConfWARP8()
{
#запрос конфигурации WARP без параметров
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://config-generator-warp.vercel.app/warp6s' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \
-H 'accept: */*' \
-H 'accept-language: ru-RU,ru;q=0.9' \
-H 'referer: https://config-generator-warp.vercel.app/')
echo "$result"
}
requestConfWARP9()
{
#запрос конфигурации WARP без параметров
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://config-generator-warp.vercel.app/warp4s' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \
-H 'accept: */*' \
-H 'accept-language: ru-RU,ru;q=0.9' \
-H 'referer: https://config-generator-warp.vercel.app/')
echo "$result"
}
requestConfWARP10()
{
#запрос конфигурации WARP
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp-generator.vercel.app/api/warp' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \
-H 'accept: */*' \
-H 'accept-language: ru-RU,ru;q=0.6' \
-H 'content-type: application/json' \
-H 'referer: https://warp-generator.vercel.app/' \
--data-raw '{"selectedServices":[],"siteMode":"all","deviceType":"computer"}')
echo "$result"
}
confWarpBuilder()
{
response_body=$1
peer_pub=$(echo "$response_body" | jq -r '.result.config.peers[0].public_key')
client_ipv4=$(echo "$response_body" | jq -r '.result.config.interface.addresses.v4')
client_ipv6=$(echo "$response_body" | jq -r '.result.config.interface.addresses.v6')
priv=$(echo "$response_body" | jq -r '.result.key')
conf=$(cat <<-EOM
[Interface]
PrivateKey = ${priv}
S1 = 0
S2 = 0
Jc = 120
Jmin = 23
Jmax = 911
H1 = 1
H2 = 2
H3 = 3
H4 = 4
MTU = 1280
I1 = <b 0xc2000000011419fa4bb3599f336777de79f81ca9a8d80d91eeec000044c635cef024a885dcb66d1420a91a8c427e87d6cf8e08b563932f449412cddf77d3e2594ea1c7a183c238a89e9adb7ffa57c133e55c59bec101634db90afb83f75b19fe703179e26a31902324c73f82d9354e1ed8da39af610afcb27e6590a44341a0828e5a3d2f0e0f7b0945d7bf3402feea0ee6332e19bdf48ffc387a97227aa97b205a485d282cd66d1c384bafd63dc42f822c4df2109db5b5646c458236ddcc01ae1c493482128bc0830c9e1233f0027a0d262f92b49d9d8abd9a9e0341f6e1214761043c021d7aa8c464b9d865f5fbe234e49626e00712031703a3e23ef82975f014ee1e1dc428521dc23ce7c6c13663b19906240b3efe403cf30559d798871557e4e60e86c29ea4504ed4d9bb8b549d0e8acd6c334c39bb8fb42ede68fb2aadf00cfc8bcc12df03602bbd4fe701d64a39f7ced112951a83b1dbbe6cd696dd3f15985c1b9fef72fa8d0319708b633cc4681910843ce753fac596ed9945d8b839aeff8d3bf0449197bd0bb22ab8efd5d63eb4a95db8d3ffc796ed5bcf2f4a136a8a36c7a0c65270d511aebac733e61d414050088a1c3d868fb52bc7e57d3d9fd132d78b740a6ecdc6c24936e92c28672dbe00928d89b891865f885aeb4c4996d50c2bbbb7a99ab5de02ac89b3308e57bcecf13f2da0333d1420e18b66b4c23d625d836b538fc0c221d6bd7f566a31fa292b85be96041d8e0bfe655d5dc1afed23eb8f2b3446561bbee7644325cc98d31cea38b865bdcc507e48c6ebdc7553be7bd6ab963d5a14615c4b81da7081c127c791224853e2d19bafdc0d9f3f3a6de898d14abb0e2bc849917e0a599ed4a541268ad0e60ea4d147dc33d17fa82f22aa505ccb53803a31d10a7ca2fea0b290a52ee92c7bf4aab7cea4e3c07b1989364eed87a3c6ba65188cd349d37ce4eefde9ec43bab4b4dc79e03469c2ad6b902e28e0bbbbf696781ad4edf424ffb35ce0236d373629008f142d04b5e08a124237e03e3149f4cdde92d7fae581a1ac332e26b2c9c1a6bdec5b3a9c7a2a870f7a0c25fc6ce245e029b686e346c6d862ad8df6d9b62474fbc31dbb914711f78074d4441f4e6e9edca3c52315a5c0653856e23f681558d669f4a4e6915bcf42b56ce36cb7dd3983b0b1d6fdf0f8efddb68e7ca0ae9dd4570fe6978fbb524109f6ec957ca61f1767ef74eb803b0f16abd0087cf2d01bc1db1c01d97ac81b3196c934586963fe7cf2d310e0739621e8bd00dc23fded18576d8c8f285d7bb5f43b547af3c76235de8b6f757f817683b2151600b11721219212bf27558edd439e73fce951f61d582320e5f4d6c315c71129b719277fc144bbe8ded25ab6d29b6e189c9bd9b16538faf60cc2aab3c3bb81fc2213657f2dd0ceb9b3b871e1423d8d3e8cc008721ef03b28e0ee7bb66b8f2a2ac01ef88df1f21ed49bf1ce435df31ac34485936172567488812429c269b49ee9e3d99652b51a7a614b7c460bf0d2d64d8349ded7345bedab1ea0a766a8470b1242f38d09f7855a32db39516c2bd4bcc538c52fa3a90c8714d4b006a15d9c7a7d04919a1cab48da7cce0d5de1f9e5f8936cffe469132991c6eb84c5191d1bcf69f70c58d9a7b66846440a9f0eef25ee6ab62715b50ca7bef0bc3013d4b62e1639b5028bdf757454356e9326a4c76dabfb497d451a3a1d2dbd46ec283d255799f72dfe878ae25892e25a2542d3ca9018394d8ca35b53ccd94947a8>
Address = ${client_ipv4}, ${client_ipv6}
DNS = 1.1.1.1, 2606:4700:4700::1111, 1.0.0.1, 2606:4700:4700::1001
[Peer]
PublicKey = ${peer_pub}
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 162.159.192.1:500
EOM
)
echo "$conf"
} }
# Функция для обработки выполнения запроса # Функция для обработки выполнения запроса
@@ -320,56 +233,31 @@ check_request() {
# Проверяем код состояния # Проверяем код состояния
if [ "$response_code" -eq 200 ]; then if [ "$response_code" -eq 200 ]; then
case $choice in case $choice in
1) 1)
warp_config=$(confWarpBuilder "$response_body") status=$(echo $response_body | jq '.success')
echo "$warp_config" #echo "$status"
if [ "$status" = "true" ]
then
content=$(echo $response_body | jq '.content')
configBase64=$(echo $content | jq -r '.configBase64')
warpGen=$(echo "$configBase64" | base64 -d)
echo "$warpGen";
else
echo "Error"
fi
;; ;;
2) 2)
content=$(echo $response_body | jq -r '.content') echo "$response_body"
content=$(echo $content | jq -r '.configBase64')
warp_config=$(echo "$content" | base64 -d)
echo "$warp_config"
;; ;;
3) 3)
content=$(echo $response_body | jq -r '.content') content=$(echo $response_body | jq -r '.config')
content=$(echo $content | jq -r '.configBase64') #content=$(echo "$content" | sed 's/\\n/\012/g')
warp_config=$(echo "$content" | base64 -d) echo "$content"
echo "$warp_config"
;; ;;
4) 4)
content=$(echo $response_body | jq -r '.content')
warp_config=$(echo "$content" | base64 -d)
echo "$warp_config"
;;
5)
content=$(echo $response_body | jq -r '.content')
warp_config=$(echo "$content" | base64 -d)
echo "$warp_config"
;;
6)
content=$(echo $response_body | jq -r '.config')
echo "$content"
;;
7)
content=$(echo $response_body | jq -r '.content')
warp_config=$(echo "$content" | base64 -d)
echo "$warp_config"
;;
8)
content=$(echo $response_body | jq -r '.content') content=$(echo $response_body | jq -r '.content')
warp_config=$(echo "$content" | base64 -d) warp_config=$(echo "$content" | base64 -d)
echo "$warp_config" echo "$warp_config"
;;
9)
content=$(echo $response_body | jq -r '.content')
warp_config=$(echo "$content" | base64 -d)
echo "$warp_config"
;;
10)
content=$(echo $response_body | jq -r '.content')
content=$(echo $content | jq -r '.configBase64')
warp_config=$(echo "$content" | base64 -d)
echo "$warp_config"
;; ;;
*) *)
echo "Error" echo "Error"
@@ -661,7 +549,7 @@ firewall
https-dns-proxy https-dns-proxy
youtubeUnblock youtubeUnblock
dhcp" dhcp"
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_zapret" URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_alt_test"
checkPackageAndInstall "https-dns-proxy" "0" checkPackageAndInstall "https-dns-proxy" "0"
@@ -864,55 +752,7 @@ do
warpGen=$(check_request "$result" 4) warpGen=$(check_request "$result" 4)
if [ "$warpGen" = "Error" ] if [ "$warpGen" = "Error" ]
then then
printf "\033[32;1mRequest WARP config... Attempt #5\033[0m\n" warp_config="Error"
result=$(requestConfWARP5)
warpGen=$(check_request "$result" 5)
if [ "$warpGen" = "Error" ]
then
printf "\033[32;1mRequest WARP config... Attempt #6\033[0m\n"
result=$(requestConfWARP6)
warpGen=$(check_request "$result" 6)
if [ "$warpGen" = "Error" ]
then
printf "\033[32;1mRequest WARP config... Attempt #7\033[0m\n"
result=$(requestConfWARP7)
warpGen=$(check_request "$result" 7)
if [ "$warpGen" = "Error" ]
then
printf "\033[32;1mRequest WARP config... Attempt #8\033[0m\n"
result=$(requestConfWARP8)
warpGen=$(check_request "$result" 8)
if [ "$warpGen" = "Error" ]
then
printf "\033[32;1mRequest WARP config... Attempt #9\033[0m\n"
result=$(requestConfWARP9)
warpGen=$(check_request "$result" 9)
if [ "$warpGen" = "Error" ]
then
printf "\033[32;1mRequest WARP config... Attempt #10\033[0m\n"
result=$(requestConfWARP10)
warpGen=$(check_request "$result" 10)
if [ "$warpGen" = "Error" ]
then
warp_config="Error"
else
warp_config=$warpGen
fi
else
warp_config=$warpGen
fi
else
warp_config=$warpGen
fi
else
warp_config=$warpGen
fi
else
warp_config=$warpGen
fi
else
warp_config=$warpGen
fi
else else
warp_config=$warpGen warp_config=$warpGen
fi fi
@@ -1043,49 +883,19 @@ do
#service firewall restart #service firewall restart
#service network restart #service network restart
if [ "$is_manual_input_parameters" = "n" ]; then # Отключаем интерфейс
I=0 ifdown $INTERFACE_NAME
WARP_ENDPOINT="engage.cloudflareclient.com:500 engage.cloudflareclient.com:1701 engage.cloudflareclient.com:2408 engage.cloudflareclient.com:3138 engage.cloudflareclient.com:4500 162.159.192.4:500 162.159.192.4:1701 162.159.192.4:2408 162.159.192.4:3138 162.159.192.4:4500" # Включаем интерфейс
for element in $WARP_ENDPOINT; do ifup $INTERFACE_NAME
I=$(( $I + 1 )) printf "\033[32;1mWait up AWG WARP 10 second...\033[0m\n"
EndpointIP="${element%%:*}" sleep 10
EndpointPort="${element##*:}"
uci set network.@${CONFIG_NAME}[-1].endpoint_host=$EndpointIP pingAddress="8.8.8.8"
uci set network.@${CONFIG_NAME}[-1].endpoint_port=$EndpointPort if ping -c 1 -I $INTERFACE_NAME $pingAddress >/dev/null 2>&1
uci commit network then
# Отключаем интерфейс isExit=1
ifdown $INTERFACE_NAME
# Включаем интерфейс
ifup $INTERFACE_NAME
printf "\033[33;1mIter #$I: Check Endpoint WARP $element. Wait up AWG WARP 10 second...\033[0m\n"
sleep 10
pingAddress="8.8.8.8"
if ping -c 1 -I $INTERFACE_NAME $pingAddress >/dev/null 2>&1
then
printf "\033[32;1m Endpoint WARP $element work...\033[0m\n"
isExit=1
break
else
printf "\033[31;1m Endpoint WARP $element not work...\033[0m\n"
isExit=0
fi
done
else else
# Отключаем интерфейс isExit=0
ifdown $INTERFACE_NAME
# Включаем интерфейс
ifup $INTERFACE_NAME
printf "\033[32;1mWait up AWG WARP 10 second...\033[0m\n"
sleep 10
pingAddress="8.8.8.8"
if ping -c 1 -I $INTERFACE_NAME $pingAddress >/dev/null 2>&1
then
isExit=1
else
isExit=0
fi
fi fi
fi fi
done done
@@ -1136,7 +946,7 @@ service odhcpd restart
path_podkop_config="/etc/config/podkop" path_podkop_config="/etc/config/podkop"
path_podkop_config_backup="/root/podkop" path_podkop_config_backup="/root/podkop"
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_zapret" URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_alt_test"
messageComplete="" messageComplete=""

View File

@@ -157,167 +157,80 @@ checkPackageAndInstall() {
requestConfWARP1() requestConfWARP1()
{ {
HASH='68747470733a2f2f73616e74612d61746d6f2e72752f776172702f776172702e706870' #запрос конфигурации WARP
COMPILE=$(printf '%b' "$(printf '%s\n' "$HASH" | sed 's/../\\x&/g')") local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp.llimonix.pw/api/warp' \
#запрос конфигурации WARP -H 'Accept: */*' \
local response=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" "$COMPILE" \ -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \ -H 'Connection: keep-alive' \
-H "referer: $COMPILE" \ -H 'Content-Type: application/json' \
-H "Origin: $COMPILE") -H 'Origin: https://warp.llimonix.pw' \
echo "$response" -H 'Referer: https://warp.llimonix.pw/' \
-H 'Sec-Fetch-Dest: empty' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Site: same-origin' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' \
-H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133")' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "Windows"' \
--data-raw '{"selectedServices":[],"siteMode":"all","deviceType":"computer"}')
echo "$result"
} }
requestConfWARP2() requestConfWARP2()
{ {
#запрос конфигурации WARP #запрос конфигурации WARP
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://dulcet-fox-556b08.netlify.app/api/warp' \ local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://topor-warp.vercel.app/generate' \
-H 'Accept: */*' \ -H 'Accept: */*' \
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \ -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
-H 'Connection: keep-alive' \ -H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \ -H 'Content-Type: application/json' \
-H 'Origin: https://dulcet-fox-556b08.netlify.app/api/warp' \ -H 'Origin: https://topor-warp.vercel.app' \
-H 'Referer: https://dulcet-fox-556b08.netlify.app/api/warp' \ -H 'Referer: https://topor-warp.vercel.app/' \
-H 'Sec-Fetch-Dest: empty' \ -H 'Sec-Fetch-Dest: empty' \
-H 'Sec-Fetch-Mode: cors' \ -H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Site: same-origin' \ -H 'Sec-Fetch-Site: same-origin' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' \ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' \
-H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133")' \ -H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133"' \
-H 'sec-ch-ua-mobile: ?0' \ -H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "Windows"' \ -H 'sec-ch-ua-platform: "Windows"' \
--data-raw '{"selectedServices":[],"siteMode":"all","deviceType":"computer","endpoint":"162.159.195.1:500"}') --data-raw '{"platform":"all"}')
echo "$result" echo "$result"
} }
requestConfWARP3() requestConfWARP3()
{ {
#запрос конфигурации WARP #запрос конфигурации WARP
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp-config-generator-theta.vercel.app/api/warp' \ local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp-gen.vercel.app/generate-config' \
-H 'Accept: */*' \ -H 'Accept: */*' \
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \ -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
-H 'Connection: keep-alive' \ -H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \ -H 'Referer: https://warp-gen.vercel.app/' \
-H 'Origin: https://warp-config-generator-theta.vercel.app/api/warp' \ -H 'Sec-Fetch-Dest: empty' \
-H 'Referer: https://warp-config-generator-theta.vercel.app/api/warp' \ -H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \ -H 'Sec-Fetch-Site: same-origin' \
-H 'Sec-Fetch-Mode: cors' \ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' \
-H 'Sec-Fetch-Site: same-origin' \ -H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133"' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' \ -H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133")' \ -H 'sec-ch-ua-platform: "Windows"')
-H 'sec-ch-ua-mobile: ?0' \ echo "$result"
-H 'sec-ch-ua-platform: "Windows"' \
--data-raw '{"selectedServices":[],"siteMode":"all","deviceType":"computer","endpoint":"162.159.195.1:500"}')
echo "$result"
} }
requestConfWARP4() requestConfWARP4()
{ {
#запрос конфигурации WARP #запрос конфигурации WARP
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://generator-warp-config.vercel.app/warp4s?dns=1.1.1.1%2C%201.0.0.1%2C%202606%3A4700%3A4700%3A%3A1111%2C%202606%3A4700%3A4700%3A%3A1001&allowedIPs=0.0.0.0%2F0%2C%20%3A%3A%2F0' \ local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://config-generator-warp.vercel.app/warp' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \ -H 'Accept: */*' \
-H 'referer: https://generator-warp-config.vercel.app' \ -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
-H "Origin: https://generator-warp-config.vercel.app") -H 'Connection: keep-alive' \
echo "$result" -H 'Referer: https://config-generator-warp.vercel.app/' \
} -H 'Sec-Fetch-Dest: empty' \
-H 'Sec-Fetch-Mode: cors' \
requestConfWARP5() -H 'Sec-Fetch-Site: same-origin' \
{ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' \
#запрос конфигурации WARP -H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133"' \
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://valokda-amnezia.vercel.app/api/warp' \ -H 'sec-ch-ua-mobile: ?0' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \ -H 'sec-ch-ua-platform: "Windows"')
-H 'accept: */*' \ echo "$result"
-H 'accept-language: ru-RU,ru;q=0.9' \
-H 'referer: https://valokda-amnezia.vercel.app/api/warp')
echo "$result"
}
requestConfWARP6()
{
#запрос конфигурации WARP
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp-gen.vercel.app/generate-config' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \
-H 'accept: */*' \
-H 'accept-language: ru-RU,ru;q=0.9' \
-H 'referer: https://warp-gen.vercel.app/generate-config')
echo "$result"
}
requestConfWARP7()
{
#запрос конфигурации WARP
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://config-generator-warp.vercel.app/warps' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \
-H 'accept: */*' \
-H 'accept-language: ru-RU,ru;q=0.9' \
-H 'referer: https://config-generator-warp.vercel.app/')
echo "$result"
}
requestConfWARP8()
{
#запрос конфигурации WARP без параметров
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://config-generator-warp.vercel.app/warp6s' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \
-H 'accept: */*' \
-H 'accept-language: ru-RU,ru;q=0.9' \
-H 'referer: https://config-generator-warp.vercel.app/')
echo "$result"
}
requestConfWARP9()
{
#запрос конфигурации WARP без параметров
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://config-generator-warp.vercel.app/warp4s' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \
-H 'accept: */*' \
-H 'accept-language: ru-RU,ru;q=0.9' \
-H 'referer: https://config-generator-warp.vercel.app/')
echo "$result"
}
requestConfWARP10()
{
#запрос конфигурации WARP
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp-generator.vercel.app/api/warp' \
-A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \
-H 'accept: */*' \
-H 'accept-language: ru-RU,ru;q=0.6' \
-H 'content-type: application/json' \
-H 'referer: https://warp-generator.vercel.app/' \
--data-raw '{"selectedServices":[],"siteMode":"all","deviceType":"computer"}')
echo "$result"
}
confWarpBuilder()
{
response_body=$1
peer_pub=$(echo "$response_body" | jq -r '.result.config.peers[0].public_key')
client_ipv4=$(echo "$response_body" | jq -r '.result.config.interface.addresses.v4')
client_ipv6=$(echo "$response_body" | jq -r '.result.config.interface.addresses.v6')
priv=$(echo "$response_body" | jq -r '.result.key')
conf=$(cat <<-EOM
[Interface]
PrivateKey = ${priv}
S1 = 0
S2 = 0
Jc = 120
Jmin = 23
Jmax = 911
H1 = 1
H2 = 2
H3 = 3
H4 = 4
MTU = 1280
I1 = <b 0xc2000000011419fa4bb3599f336777de79f81ca9a8d80d91eeec000044c635cef024a885dcb66d1420a91a8c427e87d6cf8e08b563932f449412cddf77d3e2594ea1c7a183c238a89e9adb7ffa57c133e55c59bec101634db90afb83f75b19fe703179e26a31902324c73f82d9354e1ed8da39af610afcb27e6590a44341a0828e5a3d2f0e0f7b0945d7bf3402feea0ee6332e19bdf48ffc387a97227aa97b205a485d282cd66d1c384bafd63dc42f822c4df2109db5b5646c458236ddcc01ae1c493482128bc0830c9e1233f0027a0d262f92b49d9d8abd9a9e0341f6e1214761043c021d7aa8c464b9d865f5fbe234e49626e00712031703a3e23ef82975f014ee1e1dc428521dc23ce7c6c13663b19906240b3efe403cf30559d798871557e4e60e86c29ea4504ed4d9bb8b549d0e8acd6c334c39bb8fb42ede68fb2aadf00cfc8bcc12df03602bbd4fe701d64a39f7ced112951a83b1dbbe6cd696dd3f15985c1b9fef72fa8d0319708b633cc4681910843ce753fac596ed9945d8b839aeff8d3bf0449197bd0bb22ab8efd5d63eb4a95db8d3ffc796ed5bcf2f4a136a8a36c7a0c65270d511aebac733e61d414050088a1c3d868fb52bc7e57d3d9fd132d78b740a6ecdc6c24936e92c28672dbe00928d89b891865f885aeb4c4996d50c2bbbb7a99ab5de02ac89b3308e57bcecf13f2da0333d1420e18b66b4c23d625d836b538fc0c221d6bd7f566a31fa292b85be96041d8e0bfe655d5dc1afed23eb8f2b3446561bbee7644325cc98d31cea38b865bdcc507e48c6ebdc7553be7bd6ab963d5a14615c4b81da7081c127c791224853e2d19bafdc0d9f3f3a6de898d14abb0e2bc849917e0a599ed4a541268ad0e60ea4d147dc33d17fa82f22aa505ccb53803a31d10a7ca2fea0b290a52ee92c7bf4aab7cea4e3c07b1989364eed87a3c6ba65188cd349d37ce4eefde9ec43bab4b4dc79e03469c2ad6b902e28e0bbbbf696781ad4edf424ffb35ce0236d373629008f142d04b5e08a124237e03e3149f4cdde92d7fae581a1ac332e26b2c9c1a6bdec5b3a9c7a2a870f7a0c25fc6ce245e029b686e346c6d862ad8df6d9b62474fbc31dbb914711f78074d4441f4e6e9edca3c52315a5c0653856e23f681558d669f4a4e6915bcf42b56ce36cb7dd3983b0b1d6fdf0f8efddb68e7ca0ae9dd4570fe6978fbb524109f6ec957ca61f1767ef74eb803b0f16abd0087cf2d01bc1db1c01d97ac81b3196c934586963fe7cf2d310e0739621e8bd00dc23fded18576d8c8f285d7bb5f43b547af3c76235de8b6f757f817683b2151600b11721219212bf27558edd439e73fce951f61d582320e5f4d6c315c71129b719277fc144bbe8ded25ab6d29b6e189c9bd9b16538faf60cc2aab3c3bb81fc2213657f2dd0ceb9b3b871e1423d8d3e8cc008721ef03b28e0ee7bb66b8f2a2ac01ef88df1f21ed49bf1ce435df31ac34485936172567488812429c269b49ee9e3d99652b51a7a614b7c460bf0d2d64d8349ded7345bedab1ea0a766a8470b1242f38d09f7855a32db39516c2bd4bcc538c52fa3a90c8714d4b006a15d9c7a7d04919a1cab48da7cce0d5de1f9e5f8936cffe469132991c6eb84c5191d1bcf69f70c58d9a7b66846440a9f0eef25ee6ab62715b50ca7bef0bc3013d4b62e1639b5028bdf757454356e9326a4c76dabfb497d451a3a1d2dbd46ec283d255799f72dfe878ae25892e25a2542d3ca9018394d8ca35b53ccd94947a8>
Address = ${client_ipv4}, ${client_ipv6}
DNS = 1.1.1.1, 2606:4700:4700::1111, 1.0.0.1, 2606:4700:4700::1001
[Peer]
PublicKey = ${peer_pub}
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 162.159.192.1:500
EOM
)
echo "$conf"
} }
# Функция для обработки выполнения запроса # Функция для обработки выполнения запроса
@@ -333,56 +246,31 @@ check_request() {
# Проверяем код состояния # Проверяем код состояния
if [ "$response_code" -eq 200 ]; then if [ "$response_code" -eq 200 ]; then
case $choice in case $choice in
1) 1)
warp_config=$(confWarpBuilder "$response_body") status=$(echo $response_body | jq '.success')
echo "$warp_config" #echo "$status"
if [ "$status" = "true" ]
then
content=$(echo $response_body | jq '.content')
configBase64=$(echo $content | jq -r '.configBase64')
warpGen=$(echo "$configBase64" | base64 -d)
echo "$warpGen";
else
echo "Error"
fi
;; ;;
2) 2)
content=$(echo $response_body | jq -r '.content') echo "$response_body"
content=$(echo $content | jq -r '.configBase64')
warp_config=$(echo "$content" | base64 -d)
echo "$warp_config"
;; ;;
3) 3)
content=$(echo $response_body | jq -r '.content') content=$(echo $response_body | jq -r '.config')
content=$(echo $content | jq -r '.configBase64') #content=$(echo "$content" | sed 's/\\n/\012/g')
warp_config=$(echo "$content" | base64 -d) echo "$content"
echo "$warp_config"
;; ;;
4) 4)
content=$(echo $response_body | jq -r '.content')
warp_config=$(echo "$content" | base64 -d)
echo "$warp_config"
;;
5)
content=$(echo $response_body | jq -r '.content')
warp_config=$(echo "$content" | base64 -d)
echo "$warp_config"
;;
6)
content=$(echo $response_body | jq -r '.config')
echo "$content"
;;
7)
content=$(echo $response_body | jq -r '.content')
warp_config=$(echo "$content" | base64 -d)
echo "$warp_config"
;;
8)
content=$(echo $response_body | jq -r '.content') content=$(echo $response_body | jq -r '.content')
warp_config=$(echo "$content" | base64 -d) warp_config=$(echo "$content" | base64 -d)
echo "$warp_config" echo "$warp_config"
;;
9)
content=$(echo $response_body | jq -r '.content')
warp_config=$(echo "$content" | base64 -d)
echo "$warp_config"
;;
10)
content=$(echo $response_body | jq -r '.content')
content=$(echo $content | jq -r '.configBase64')
warp_config=$(echo "$content" | base64 -d)
echo "$warp_config"
;; ;;
*) *)
echo "Error" echo "Error"
@@ -587,22 +475,6 @@ else
is_reconfig_podkop="n" is_reconfig_podkop="n"
fi fi
#####after test delete
DESCRIPTION=$(ubus call system board | jsonfilter -e '@.release.description')
VERSION=$(ubus call system board | jsonfilter -e '@.release.version')
findKey="RouteRich"
findVersion="24.10.2"
if echo "$DESCRIPTION" | grep -qi -- "$findKey" && printf '%s\n%s\n' "$findVersion" "$VERSION" | sort -V | tail -n1 | grep -qx -- "$VERSION"; then
printf "\033[32;1mThis new firmware. Running scprit...\033[0m\n"
else
printf "\033[32;1mThis old firmware.\nTo use this script, update your firmware to the latest version....\033[0m\n"
exit 1
fi
####after test delete
echo "Update list packages..." echo "Update list packages..."
opkg update opkg update
@@ -619,7 +491,7 @@ checkPackageAndInstall "curl" "1"
checkPackageAndInstall "unzip" "1" checkPackageAndInstall "unzip" "1"
#checkPackageAndInstall "sing-box" "1" #checkPackageAndInstall "sing-box" "1"
checkPackageAndInstall "opera-proxy" "1" checkPackageAndInstall "opera-proxy" "1"
checkPackageAndInstall "zapret" "1" checkPackageAndInstall "youtubeUnblock" "1"
########### ###########
manage_package "podkop" "enable" "stop" manage_package "podkop" "enable" "stop"
@@ -661,9 +533,9 @@ if [ -z "$INSTALLED_VERSION" ]; then
fi fi
########### ###########
opkg upgrade zapret opkg upgrade youtubeUnblock
opkg upgrade luci-app-zapret opkg upgrade luci-app-youtubeUnblock
manage_package "zapret" "enable" "start" manage_package "youtubeUnblock" "enable" "start"
#проверяем установлени ли пакет dnsmasq-full #проверяем установлени ли пакет dnsmasq-full
if opkg list-installed | grep -q dnsmasq-full; then if opkg list-installed | grep -q dnsmasq-full; then
@@ -676,27 +548,19 @@ else
[ -f /etc/config/dhcp-opkg ] && cp /etc/config/dhcp /etc/config/dhcp-old && mv /etc/config/dhcp-opkg /etc/config/dhcp [ -f /etc/config/dhcp-opkg ] && cp /etc/config/dhcp /etc/config/dhcp-old && mv /etc/config/dhcp-opkg /etc/config/dhcp
fi fi
#проверяем установлени ли пакет https-dns-proxy
if opkg list-installed | grep -q https-dns-proxy; then
echo "Packet https-dns-proxy not installed..."
else
echo "Delete packet https-dns-proxy..."
opkg remove https-dns-proxy
fi
printf "Setting confdir dnsmasq\n" printf "Setting confdir dnsmasq\n"
uci set dhcp.@dnsmasq[0].confdir='/tmp/dnsmasq.d' uci set dhcp.@dnsmasq[0].confdir='/tmp/dnsmasq.d'
uci commit dhcp uci commit dhcp
DIR="/etc/config" DIR="/etc/config"
DIR_BACKUP="/root/backup4" DIR_BACKUP="/root/backup3"
config_files="network config_files="network
firewall firewall
doh-proxy doh-proxy
zapret youtubeUnblock
dhcp dhcp
dns-failsafe-proxy" dns-failsafe-proxy"
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_zapret" URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_alt_test"
checkPackageAndInstall "luci-app-dns-failsafe-proxy" "1" checkPackageAndInstall "luci-app-dns-failsafe-proxy" "1"
checkPackageAndInstall "luci-i18n-stubby-ru" "1" checkPackageAndInstall "luci-i18n-stubby-ru" "1"
@@ -790,47 +654,34 @@ then
uci commit firewall uci commit firewall
fi fi
printf "\033[32;1mCheck work zapret.\033[0m\n" printf "\033[32;1mCheck work youtubeUnblock..\033[0m\n"
#install_youtubeunblock_packages #install_youtubeunblock_packages
opkg upgrade zapret opkg upgrade youtubeUnblock
opkg upgrade luci-app-zapret opkg upgrade luci-app-youtubeUnblock
manage_package "zapret" "enable" "start" manage_package "youtubeUnblock" "enable" "start"
wget -O "/etc/config/zapret" "$URL/config_files/zapret" wget -O "/etc/config/youtubeUnblock" "$URL/config_files/youtubeUnblockSecond"
wget -O "/opt/zapret/ipset/zapret-hosts-user.txt" "$URL/config_files/zapret-hosts-user.txt"
wget -O "/opt/zapret/init.d/openwrt/custom.d/50-stun4all" "$URL/config_files/50-stun4all"
wget -O "/opt/zapret/init.d/openwrt/custom.d/50-wg4all" "$URL/config_files/50-wg4all"
chmod +x "/opt/zapret/init.d/openwrt/custom.d/50-stun4all"
chmod +x "/opt/zapret/init.d/openwrt/custom.d/50-wg4all"
manage_package "podkop" "enable" "stop" manage_package "podkop" "enable" "stop"
service zapret restart service youtubeUnblock restart
isWorkZapret=0 isWorkYoutubeUnBlock=0
curl -f -o /dev/null -k --connect-to ::google.com -L -H "Host: mirror.gcr.io" --max-time 120 https://test.googlevideo.com/v2/cimg/android/blobs/sha256:2ab09b027e7f3a0c2e8bb1944ac46de38cebab7145f0bd6effebfe5492c818b6 curl -f -o /dev/null -k --connect-to ::google.com -L -H "Host: mirror.gcr.io" --max-time 120 https://test.googlevideo.com/v2/cimg/android/blobs/sha256:2ab09b027e7f3a0c2e8bb1944ac46de38cebab7145f0bd6effebfe5492c818b6
# Проверяем код выхода # Проверяем код выхода
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
printf "\033[32;1mzapret well work...\033[0m\n" printf "\033[32;1myoutubeUnblock well work...\033[0m\n"
cronTask="0 4 * * * service zapret restart" cronTask="0 4 * * * service youtubeUnblock restart"
str=$(grep -i "0 4 \* \* \* service zapret restart" /etc/crontabs/root) str=$(grep -i "0 4 \* \* \* service youtubeUnblock restart" /etc/crontabs/root)
if [ -z "$str" ] if [ -z "$str" ]
then then
echo "Add cron task auto reboot service zapret..." echo "Add cron task auto reboot service youtubeUnblock..."
echo "$cronTask" >> /etc/crontabs/root echo "$cronTask" >> /etc/crontabs/root
fi fi
str=$(grep -i "0 4 \* \* \* service youtubeUnblock restart" /etc/crontabs/root) isWorkYoutubeUnBlock=1
if [ ! -z "$str" ]
then
grep -v "0 4 \* \* \* service youtubeUnblock restart" /etc/crontabs/root > /etc/crontabs/temp
cp -f "/etc/crontabs/temp" "/etc/crontabs/root"
rm -f "/etc/crontabs/temp"
fi
isWorkZapret=1
else else
manage_package "zapret" "disable" "stop" manage_package "youtubeUnblock" "disable" "stop"
printf "\033[32;1mzapret not work...\033[0m\n" printf "\033[32;1myoutubeUnblock not work...\033[0m\n"
isWorkZapret=0 isWorkYoutubeUnBlock=0
str=$(grep -i "0 4 \* \* \* service youtubeUnblock restart" /etc/crontabs/root) str=$(grep -i "0 4 \* \* \* service youtubeUnblock restart" /etc/crontabs/root)
if [ ! -z "$str" ] if [ ! -z "$str" ]
then then
@@ -838,13 +689,6 @@ else
cp -f "/etc/crontabs/temp" "/etc/crontabs/root" cp -f "/etc/crontabs/temp" "/etc/crontabs/root"
rm -f "/etc/crontabs/temp" rm -f "/etc/crontabs/temp"
fi fi
str=$(grep -i "0 4 \* \* \* service zapret restart" /etc/crontabs/root)
if [ ! -z "$str" ]
then
grep -v "0 4 \* \* \* service zapret restart" /etc/crontabs/root > /etc/crontabs/temp
cp -f "/etc/crontabs/temp" "/etc/crontabs/root"
rm -f "/etc/crontabs/temp"
fi
fi fi
isWorkOperaProxy=0 isWorkOperaProxy=0
@@ -921,55 +765,7 @@ do
warpGen=$(check_request "$result" 4) warpGen=$(check_request "$result" 4)
if [ "$warpGen" = "Error" ] if [ "$warpGen" = "Error" ]
then then
printf "\033[32;1mRequest WARP config... Attempt #5\033[0m\n" warp_config="Error"
result=$(requestConfWARP5)
warpGen=$(check_request "$result" 5)
if [ "$warpGen" = "Error" ]
then
printf "\033[32;1mRequest WARP config... Attempt #6\033[0m\n"
result=$(requestConfWARP6)
warpGen=$(check_request "$result" 6)
if [ "$warpGen" = "Error" ]
then
printf "\033[32;1mRequest WARP config... Attempt #7\033[0m\n"
result=$(requestConfWARP7)
warpGen=$(check_request "$result" 7)
if [ "$warpGen" = "Error" ]
then
printf "\033[32;1mRequest WARP config... Attempt #8\033[0m\n"
result=$(requestConfWARP8)
warpGen=$(check_request "$result" 8)
if [ "$warpGen" = "Error" ]
then
printf "\033[32;1mRequest WARP config... Attempt #9\033[0m\n"
result=$(requestConfWARP9)
warpGen=$(check_request "$result" 9)
if [ "$warpGen" = "Error" ]
then
printf "\033[32;1mRequest WARP config... Attempt #10\033[0m\n"
result=$(requestConfWARP10)
warpGen=$(check_request "$result" 10)
if [ "$warpGen" = "Error" ]
then
warp_config="Error"
else
warp_config=$warpGen
fi
else
warp_config=$warpGen
fi
else
warp_config=$warpGen
fi
else
warp_config=$warpGen
fi
else
warp_config=$warpGen
fi
else
warp_config=$warpGen
fi
else else
warp_config=$warpGen warp_config=$warpGen
fi fi
@@ -1100,49 +896,19 @@ do
#service firewall restart #service firewall restart
#service network restart #service network restart
if [ "$is_manual_input_parameters" = "n" ]; then # Отключаем интерфейс
I=0 ifdown $INTERFACE_NAME
WARP_ENDPOINT="engage.cloudflareclient.com:500 engage.cloudflareclient.com:1701 engage.cloudflareclient.com:2408 engage.cloudflareclient.com:3138 engage.cloudflareclient.com:4500 162.159.192.4:500 162.159.192.4:1701 162.159.192.4:2408 162.159.192.4:3138 162.159.192.4:4500" # Включаем интерфейс
for element in $WARP_ENDPOINT; do ifup $INTERFACE_NAME
I=$(( $I + 1 )) printf "\033[32;1mWait up AWG WARP 10 second...\033[0m\n"
EndpointIP="${element%%:*}" sleep 10
EndpointPort="${element##*:}"
uci set network.@${CONFIG_NAME}[-1].endpoint_host=$EndpointIP pingAddress="8.8.8.8"
uci set network.@${CONFIG_NAME}[-1].endpoint_port=$EndpointPort if ping -c 1 -I $INTERFACE_NAME $pingAddress >/dev/null 2>&1
uci commit network then
# Отключаем интерфейс isExit=1
ifdown $INTERFACE_NAME
# Включаем интерфейс
ifup $INTERFACE_NAME
printf "\033[33;1mIter #$I: Check Endpoint WARP $element. Wait up AWG WARP 10 second...\033[0m\n"
sleep 10
pingAddress="8.8.8.8"
if ping -c 1 -I $INTERFACE_NAME $pingAddress >/dev/null 2>&1
then
printf "\033[32;1m Endpoint WARP $element work...\033[0m\n"
isExit=1
break
else
printf "\033[31;1m Endpoint WARP $element not work...\033[0m\n"
isExit=0
fi
done
else else
# Отключаем интерфейс isExit=0
ifdown $INTERFACE_NAME
# Включаем интерфейс
ifup $INTERFACE_NAME
printf "\033[32;1mWait up AWG WARP 10 second...\033[0m\n"
sleep 10
pingAddress="8.8.8.8"
if ping -c 1 -I $INTERFACE_NAME $pingAddress >/dev/null 2>&1
then
isExit=1
else
isExit=0
fi
fi fi
fi fi
done done
@@ -1159,30 +925,30 @@ else
isWorkWARP=0 isWorkWARP=0
fi fi
echo "isWorkZapret = $isWorkZapret, isWorkOperaProxy = $isWorkOperaProxy, isWorkWARP = $isWorkWARP" echo "isWorkYoutubeUnBlock = $isWorkYoutubeUnBlock, isWorkOperaProxy = $isWorkOperaProxy, isWorkWARP = $isWorkWARP"
if [ "$isWorkZapret" = "1" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "1" ] if [ "$isWorkYoutubeUnBlock" = "1" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "1" ]
then then
varByPass=1 varByPass=1
elif [ "$isWorkZapret" = "0" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "1" ] elif [ "$isWorkYoutubeUnBlock" = "0" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "1" ]
then then
varByPass=2 varByPass=2
elif [ "$isWorkZapret" = "1" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "0" ] elif [ "$isWorkYoutubeUnBlock" = "1" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "0" ]
then then
varByPass=3 varByPass=3
elif [ "$isWorkZapret" = "0" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "0" ] elif [ "$isWorkYoutubeUnBlock" = "0" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "0" ]
then then
varByPass=4 varByPass=4
elif [ "$isWorkZapret" = "1" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "0" ] elif [ "$isWorkYoutubeUnBlock" = "1" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "0" ]
then then
varByPass=5 varByPass=5
elif [ "$isWorkZapret" = "0" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "1" ] elif [ "$isWorkYoutubeUnBlock" = "0" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "1" ]
then then
varByPass=6 varByPass=6
elif [ "$isWorkZapret" = "1" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "1" ] elif [ "$isWorkYoutubeUnBlock" = "1" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "1" ]
then then
varByPass=7 varByPass=7
elif [ "$isWorkZapret" = "0" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "0" ] elif [ "$isWorkYoutubeUnBlock" = "0" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "0" ]
then then
varByPass=8 varByPass=8
fi fi
@@ -1193,82 +959,72 @@ service odhcpd restart
path_podkop_config="/etc/config/podkop" path_podkop_config="/etc/config/podkop"
path_podkop_config_backup="/root/podkop" path_podkop_config_backup="/root/podkop"
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_zapret" URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_alt_test"
messageComplete="" messageComplete=""
case $varByPass in case $varByPass in
1) 1)
nameFileReplacePodkop="podkopNewNoYoutube" nameFileReplacePodkop="podkopNewNoYoutube"
printf "\033[32;1mStop and disabled service 'ruantiblock' and 'youtubeUnblock'...\033[0m\n" printf "\033[32;1mStop and disabled service 'ruantiblock'...\033[0m\n"
manage_package "ruantiblock" "disable" "stop" manage_package "ruantiblock" "disable" "stop"
manage_package "youtubeUnblock" "disable" "stop" wget -O "/etc/config/youtubeUnblock" "$URL/config_files/youtubeUnblockSecond"
service zapret restart service youtubeUnblock restart
deleteByPassGeoBlockComssDNS deleteByPassGeoBlockComssDNS
messageComplete="ByPass block for Method 1: AWG WARP + zapret + Opera Proxy...Configured completed..." messageComplete="ByPass block for Method 1: AWG WARP + youtubeunblock + Opera Proxy...Configured completed..."
;; ;;
2) 2)
nameFileReplacePodkop="podkopNew" nameFileReplacePodkop="podkopNew"
printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock' and 'zapret'...\033[0m\n" printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock'...\033[0m\n"
manage_package "youtubeUnblock" "disable" "stop" manage_package "youtubeUnblock" "disable" "stop"
manage_package "ruantiblock" "disable" "stop" manage_package "ruantiblock" "disable" "stop"
manage_package "zapret" "disable" "stop"
deleteByPassGeoBlockComssDNS deleteByPassGeoBlockComssDNS
messageComplete="ByPass block for Method 2: AWG WARP + Opera Proxy...Configured completed..." messageComplete="ByPass block for Method 2: AWG WARP + Opera Proxy...Configured completed..."
;; ;;
3) 3)
nameFileReplacePodkop="podkopNewSecond" nameFileReplacePodkop="podkopNewSecond"
printf "\033[32;1mStop and disabled service 'ruantiblock' and youtubeUnblock ...\033[0m\n" printf "\033[32;1mStop and disabled service 'ruantiblock'...\033[0m\n"
manage_package "ruantiblock" "disable" "stop" manage_package "ruantiblock" "disable" "stop"
manage_package "youtubeUnblock" "disable" "stop" wget -O "/etc/config/youtubeUnblock" "$URL/config_files/youtubeUnblockSecondDiscord"
wget -O "/opt/zapret/init.d/openwrt/custom.d/50-discord-media" "$URL/config_files/50-discord-media" service youtubeUnblock restart
chmod +x "/opt/zapret/init.d/openwrt/custom.d/50-discord-media"
service zapret restart
deleteByPassGeoBlockComssDNS deleteByPassGeoBlockComssDNS
messageComplete="ByPass block for Method 3: zapret + Opera Proxy...Configured completed..." messageComplete="ByPass block for Method 3: youtubeUnblock + Opera Proxy...Configured completed..."
;; ;;
4) 4)
nameFileReplacePodkop="podkopNewSecondYoutube" nameFileReplacePodkop="podkopNewSecondYoutube"
printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock' and 'zapret'...\033[0m\n" printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock'...\033[0m\n"
manage_package "youtubeUnblock" "disable" "stop" manage_package "youtubeUnblock" "disable" "stop"
manage_package "ruantiblock" "disable" "stop" manage_package "ruantiblock" "disable" "stop"
manage_package "zapret" "disable" "stop"
deleteByPassGeoBlockComssDNS deleteByPassGeoBlockComssDNS
messageComplete="ByPass block for Method 4: Only Opera Proxy...Configured completed..." messageComplete="ByPass block for Method 4: Only Opera Proxy...Configured completed..."
;; ;;
5) 5)
nameFileReplacePodkop="podkopNewSecondYoutube" nameFileReplacePodkop="podkopNewSecondYoutube"
printf "\033[32;1mStop and disabled service 'ruantiblock' and 'podkop' and youtubeunblock...\033[0m\n" printf "\033[32;1mStop and disabled service 'ruantiblock' and 'podkop'...\033[0m\n"
manage_package "ruantiblock" "disable" "stop" manage_package "ruantiblock" "disable" "stop"
manage_package "podkop" "disable" "stop" manage_package "podkop" "disable" "stop"
manage_package "youtubeunblock" "disable" "stop" wget -O "/etc/config/youtubeUnblock" "$URL/config_files/youtubeUnblock"
wget -O "/opt/zapret/ipset/zapret-hosts-user.txt" "$URL/config_files/zapret-hosts-user-second.txt" service youtubeUnblock restart
wget -O "/opt/zapret/init.d/openwrt/custom.d/50-discord-media" "$URL/config_files/50-discord-media"
chmod +x "/opt/zapret/init.d/openwrt/custom.d/50-discord-media"
service zapret restart
byPassGeoBlockComssDNS byPassGeoBlockComssDNS
printf "\033[32;1mByPass block for Method 5: zapret + ComssDNS for GeoBlock...Configured completed...\033[0m\n" printf "\033[32;1mByPass block for Method 5: youtubeUnblock + ComssDNS for GeoBlock...Configured completed...\033[0m\n"
exit 1 exit 1
;; ;;
6) 6)
nameFileReplacePodkop="podkopNewWARP" nameFileReplacePodkop="podkopNewWARP"
printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock' and 'zapret'...\033[0m\n" printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock'...\033[0m\n"
manage_package "youtubeUnblock" "disable" "stop" manage_package "youtubeUnblock" "disable" "stop"
manage_package "ruantiblock" "disable" "stop" manage_package "ruantiblock" "disable" "stop"
manage_package "zapret" "disable" "stop"
byPassGeoBlockComssDNS byPassGeoBlockComssDNS
messageComplete="ByPass block for Method 6: AWG WARP + ComssDNS for GeoBlock...Configured completed..." messageComplete="ByPass block for Method 6: AWG WARP + ComssDNS for GeoBlock...Configured completed..."
;; ;;
7) 7)
nameFileReplacePodkop="podkopNewWARPNoYoutube" nameFileReplacePodkop="podkopNewWARPNoYoutube"
printf "\033[32;1mStop and disabled service 'ruantiblock' and 'youtubeUnblock'...\033[0m\n" printf "\033[32;1mStop and disabled service 'ruantiblock'...\033[0m\n"
manage_package "ruantiblock" "disable" "stop" manage_package "ruantiblock" "disable" "stop"
manage_package "youtubeUnblock" "disable" "stop" wget -O "/etc/config/youtubeUnblock" "$URL/config_files/youtubeUnblockSecond"
wget -O "/opt/zapret/init.d/openwrt/custom.d/50-discord-media" "$URL/config_files/50-discord-media" service youtubeUnblock restart
chmod +x "/opt/zapret/init.d/openwrt/custom.d/50-discord-media"
service zapret restart
byPassGeoBlockComssDNS byPassGeoBlockComssDNS
messageComplete="ByPass block for Method 7: AWG WARP + zapret + ComssDNS for GeoBlock...Configured completed..." messageComplete="ByPass block for Method 7: AWG WARP + youtubeUnblock + ComssDNS for GeoBlock...Configured completed..."
;; ;;
8) 8)
printf "\033[32;1mTry custom settings router to bypass the locks... Recomendation buy 'VPS' and up 'vless'\033[0m\n" printf "\033[32;1mTry custom settings router to bypass the locks... Recomendation buy 'VPS' and up 'vless'\033[0m\n"