mirror of
https://github.com/routerich/RouterichAX3000_configs.git
synced 2025-12-28 17:58:07 +03:00
Compare commits
62 Commits
beta_alt
...
new_awg_po
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6a02948b8e | ||
|
|
638a61ae42 | ||
|
|
415cbbb3d2 | ||
|
|
dc582d7874 | ||
|
|
f5d1099d2c | ||
|
|
13989b4eb2 | ||
|
|
358f5ec528 | ||
|
|
a04a0535cc | ||
|
|
f843526bf6 | ||
|
|
1e33f885b4 | ||
|
|
d652aa2839 | ||
|
|
04e2dd8513 | ||
|
|
669b212aff | ||
|
|
4f749e6500 | ||
|
|
d510a47c14 | ||
|
|
7928618491 | ||
|
|
fb2ff3536f | ||
|
|
df5ce8f385 | ||
|
|
3fb3ca7a16 | ||
|
|
c4f548ae54 | ||
|
|
8195d74f06 | ||
|
|
32349889ae | ||
|
|
cb656bf1ee | ||
|
|
e1ee9830c5 | ||
|
|
faff796c89 | ||
|
|
d181c7e7a8 | ||
|
|
e2a5f0fc66 | ||
|
|
092926b0e2 | ||
|
|
7da74fc23a | ||
|
|
5b51933256 | ||
|
|
19ea1ac53f | ||
|
|
2252f92de1 | ||
|
|
fdb8d45f12 | ||
|
|
4e6ff78794 | ||
|
|
d12678e48b | ||
|
|
a9d4d2dfb1 | ||
|
|
5a52bedc6f | ||
|
|
076d1d3442 | ||
|
|
93fc581396 | ||
|
|
d2d9430a88 | ||
|
|
7242ee51a2 | ||
|
|
202bb5a771 | ||
|
|
a66f3e288a | ||
|
|
026b319c05 | ||
|
|
1253f60c2d | ||
|
|
680d7fbdc7 | ||
|
|
99cc4b5f84 | ||
|
|
d3bce96c88 | ||
|
|
e01d3a6be4 | ||
|
|
930f6dcf2d | ||
|
|
6d4e532dd6 | ||
|
|
7fa5aa9717 | ||
|
|
67118ebc61 | ||
|
|
8432d25a20 | ||
|
|
49074bfb41 | ||
|
|
c52df10834 | ||
|
|
f5ff284f19 | ||
|
|
f72be7e6c9 | ||
|
|
ef5fba95bf | ||
|
|
9838dba347 | ||
|
|
979a204127 | ||
|
|
99cfbb654e |
@@ -318,7 +318,7 @@ config_files="network
|
||||
firewall
|
||||
https-dns-proxy
|
||||
dhcp"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/main"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/new_awg_podkop"
|
||||
|
||||
checkPackageAndInstall "https-dns-proxy" "0"
|
||||
|
||||
@@ -575,7 +575,7 @@ fi
|
||||
|
||||
path_podkop_config="/etc/config/podkop"
|
||||
path_podkop_config_backup="/root/podkop"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/main"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/new_awg_podkop"
|
||||
|
||||
if [ -f "/etc/init.d/podkop" ]; then
|
||||
printf "Podkop installed. Reconfigured on AWG WARP and Opera Proxy? (y/n): \n"
|
||||
|
||||
36
config_files/50-discord-media
Normal file
36
config_files/50-discord-media
Normal file
@@ -0,0 +1,36 @@
|
||||
# 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
|
||||
}
|
||||
31
config_files/50-stun4all
Normal file
31
config_files/50-stun4all
Normal file
@@ -0,0 +1,31 @@
|
||||
# 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
|
||||
}
|
||||
32
config_files/50-wg4all
Normal file
32
config_files/50-wg4all
Normal file
@@ -0,0 +1,32 @@
|
||||
# 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
|
||||
}
|
||||
@@ -17,3 +17,26 @@ config doh-proxy
|
||||
option user 'nobody'
|
||||
option group 'nogroup'
|
||||
|
||||
config doh-proxy
|
||||
option resolver_url 'https://dns.google/dns-query'
|
||||
option bootstrap_dns '8.8.8.8,8.8.4.4'
|
||||
option listen_addr '127.0.0.1'
|
||||
option listen_port '5054'
|
||||
option user 'nobody'
|
||||
option group 'nogroup'
|
||||
|
||||
config doh-proxy
|
||||
option resolver_url 'https://cloudflare-dns.com/dns-query'
|
||||
option bootstrap_dns '1.1.1.1,1.0.0.1'
|
||||
option listen_addr '127.0.0.1'
|
||||
option listen_port '5055'
|
||||
option user 'nobody'
|
||||
option group 'nogroup'
|
||||
|
||||
config doh-proxy
|
||||
option resolver_url 'https://router.comss.one/dns-query'
|
||||
option bootstrap_dns '195.133.25.16,212.109.195.93'
|
||||
option listen_addr '127.0.0.1'
|
||||
option listen_port '5056'
|
||||
option user 'nobody'
|
||||
option group 'nogroup'
|
||||
@@ -24,7 +24,7 @@ config main 'main'
|
||||
option cache_file '/tmp/cache.db'
|
||||
list iface 'br-lan'
|
||||
option mon_restart_ifaces '0'
|
||||
option detour '0'
|
||||
option detour '1'
|
||||
option outbound_json '{
|
||||
"type": "http",
|
||||
"tag": "http-proxy",
|
||||
|
||||
@@ -24,7 +24,7 @@ config main 'main'
|
||||
option cache_file '/tmp/cache.db'
|
||||
list iface 'br-lan'
|
||||
option mon_restart_ifaces '0'
|
||||
option detour '0'
|
||||
option detour '1'
|
||||
option outbound_json '{
|
||||
"type": "http",
|
||||
"tag": "http-proxy",
|
||||
|
||||
@@ -24,7 +24,7 @@ config main 'main'
|
||||
option cache_file '/tmp/cache.db'
|
||||
list iface 'br-lan'
|
||||
option mon_restart_ifaces '0'
|
||||
option detour '0'
|
||||
option detour '1'
|
||||
option outbound_json '{
|
||||
"type": "http",
|
||||
"tag": "http-proxy",
|
||||
|
||||
@@ -24,7 +24,7 @@ config main 'main'
|
||||
option cache_file '/tmp/cache.db'
|
||||
list iface 'br-lan'
|
||||
option mon_restart_ifaces '0'
|
||||
option detour '0'
|
||||
option detour '1'
|
||||
option outbound_json '{
|
||||
"type": "http",
|
||||
"tag": "http-proxy",
|
||||
|
||||
@@ -24,7 +24,7 @@ config main 'main'
|
||||
option cache_file '/tmp/cache.db'
|
||||
list iface 'br-lan'
|
||||
option mon_restart_ifaces '0'
|
||||
option detour '0'
|
||||
option detour '1'
|
||||
list domain_list 'block'
|
||||
list domain_list 'meta'
|
||||
list domain_list 'twitter'
|
||||
|
||||
@@ -24,7 +24,7 @@ config main 'main'
|
||||
option cache_file '/tmp/cache.db'
|
||||
list iface 'br-lan'
|
||||
option mon_restart_ifaces '0'
|
||||
option detour '0'
|
||||
option detour '1'
|
||||
list domain_list 'block'
|
||||
list domain_list 'meta'
|
||||
list domain_list 'twitter'
|
||||
|
||||
86
config_files/stubby
Normal file
86
config_files/stubby
Normal file
@@ -0,0 +1,86 @@
|
||||
|
||||
config stubby 'global'
|
||||
option manual '0'
|
||||
list dns_transport 'GETDNS_TRANSPORT_TLS'
|
||||
option tls_authentication '1'
|
||||
option tls_query_padding_blocksize '128'
|
||||
option appdata_dir '/var/lib/stubby'
|
||||
option edns_client_subnet_private '1'
|
||||
option idle_timeout '10000'
|
||||
option round_robin_upstreams '0'
|
||||
list listen_address '127.0.0.1@5453'
|
||||
list listen_address '0::1@5453'
|
||||
list trigger 'wan'
|
||||
list trigger 'wan6'
|
||||
list trigger 'pppoe'
|
||||
list trigger 'l2tp'
|
||||
list trigger 'pptp'
|
||||
list trigger 'modem'
|
||||
list trigger 'wwan'
|
||||
list trigger 'wwan0'
|
||||
option log_level '0'
|
||||
|
||||
config resolver
|
||||
option address '94.140.14.14'
|
||||
option tls_auth_name 'dns.adguard.com'
|
||||
|
||||
config resolver
|
||||
option address '94.140.14.15'
|
||||
option tls_auth_name 'dns.adguard.com'
|
||||
|
||||
config resolver
|
||||
option address '2a10:50c0::ad1:ff'
|
||||
option tls_auth_name 'dns.adguard.com'
|
||||
|
||||
config resolver
|
||||
option address '2a10:50c0::ad2:ff'
|
||||
option tls_auth_name 'dns.adguard.com'
|
||||
|
||||
config resolver
|
||||
option address '8.8.8.8'
|
||||
option tls_auth_name 'dns.google'
|
||||
|
||||
config resolver
|
||||
option address '1.1.1.1'
|
||||
option tls_auth_name 'cloudflare-dns.com'
|
||||
|
||||
config resolver
|
||||
option address '2001:4860:4860::8888'
|
||||
option tls_auth_name 'dns.google'
|
||||
|
||||
config resolver
|
||||
option address '2606:4700:4700::1111'
|
||||
option tls_auth_name 'cloudflare-dns.com'
|
||||
|
||||
config resolver
|
||||
option address '8.8.4.4'
|
||||
option tls_auth_name 'dns.google'
|
||||
|
||||
config resolver
|
||||
option address '1.0.0.1'
|
||||
option tls_auth_name 'cloudflare-dns.com'
|
||||
|
||||
config resolver
|
||||
option address '2001:4860:4860::8844'
|
||||
option tls_auth_name 'dns.google'
|
||||
|
||||
config resolver
|
||||
option address '2606:4700:4700::1001'
|
||||
option tls_auth_name 'cloudflare-dns.com'
|
||||
|
||||
config resolver
|
||||
option address '9.9.9.9'
|
||||
option tls_auth_name 'dns.quad9.net'
|
||||
|
||||
config resolver
|
||||
option address '149.112.112.112'
|
||||
option tls_auth_name 'dns.quad9.net'
|
||||
|
||||
config resolver
|
||||
option address '2620:fe::fe'
|
||||
option tls_auth_name 'dns.quad9.net'
|
||||
|
||||
config resolver
|
||||
option address '2620:fe::9'
|
||||
option tls_auth_name 'dns.quad9.net'
|
||||
|
||||
@@ -95,3 +95,39 @@ config section
|
||||
list sni_domains 'twitteroauth.com'
|
||||
list sni_domains 'twitterstat.us'
|
||||
|
||||
config section
|
||||
option name 'CallsWhatsAppTelegram'
|
||||
option tls_enabled '0'
|
||||
option all_domains '0'
|
||||
list sni_domains 'cdn-telegram.org'
|
||||
list sni_domains 'comments.app'
|
||||
list sni_domains 'contest.com'
|
||||
list sni_domains 'fragment.com'
|
||||
list sni_domains 'graph.org'
|
||||
list sni_domains 'quiz.directory'
|
||||
list sni_domains 't.me'
|
||||
list sni_domains 'tdesktop.com'
|
||||
list sni_domains 'telega.one'
|
||||
list sni_domains 'telegra.ph'
|
||||
list sni_domains 'telegram-cdn.org'
|
||||
list sni_domains 'telegram.dog'
|
||||
list sni_domains 'telegram.me'
|
||||
list sni_domains 'telegram.org'
|
||||
list sni_domains 'telegram.space'
|
||||
list sni_domains 'telesco.pe'
|
||||
list sni_domains 'tg.dev'
|
||||
list sni_domains 'tx.me'
|
||||
list sni_domains 'usercontent.dev'
|
||||
list sni_domains 'graph.facebook.com'
|
||||
list sni_domains 'whatsapp.biz'
|
||||
list sni_domains 'whatsapp.com'
|
||||
list sni_domains 'whatsapp.net'
|
||||
option sni_detection 'parse'
|
||||
option quic_drop '0'
|
||||
option udp_mode 'fake'
|
||||
option udp_faking_strategy 'none'
|
||||
option udp_fake_seq_len '6'
|
||||
option udp_fake_len '64'
|
||||
option udp_filter_quic 'disabled'
|
||||
option enabled '1'
|
||||
option udp_stun_filter '1'
|
||||
@@ -34,4 +34,41 @@ config section
|
||||
list sni_domains 'googleusercontent.com'
|
||||
list sni_domains 'gstatic.com'
|
||||
list sni_domains 'l.google.com'
|
||||
option quic_drop '1'
|
||||
option quic_drop '1'
|
||||
|
||||
config section
|
||||
option name 'CallsWhatsAppTelegram'
|
||||
option tls_enabled '0'
|
||||
option all_domains '0'
|
||||
list sni_domains 'cdn-telegram.org'
|
||||
list sni_domains 'comments.app'
|
||||
list sni_domains 'contest.com'
|
||||
list sni_domains 'fragment.com'
|
||||
list sni_domains 'graph.org'
|
||||
list sni_domains 'quiz.directory'
|
||||
list sni_domains 't.me'
|
||||
list sni_domains 'tdesktop.com'
|
||||
list sni_domains 'telega.one'
|
||||
list sni_domains 'telegra.ph'
|
||||
list sni_domains 'telegram-cdn.org'
|
||||
list sni_domains 'telegram.dog'
|
||||
list sni_domains 'telegram.me'
|
||||
list sni_domains 'telegram.org'
|
||||
list sni_domains 'telegram.space'
|
||||
list sni_domains 'telesco.pe'
|
||||
list sni_domains 'tg.dev'
|
||||
list sni_domains 'tx.me'
|
||||
list sni_domains 'usercontent.dev'
|
||||
list sni_domains 'graph.facebook.com'
|
||||
list sni_domains 'whatsapp.biz'
|
||||
list sni_domains 'whatsapp.com'
|
||||
list sni_domains 'whatsapp.net'
|
||||
option sni_detection 'parse'
|
||||
option quic_drop '0'
|
||||
option udp_mode 'fake'
|
||||
option udp_faking_strategy 'none'
|
||||
option udp_fake_seq_len '6'
|
||||
option udp_fake_len '64'
|
||||
option udp_filter_quic 'disabled'
|
||||
option enabled '1'
|
||||
option udp_stun_filter '1'
|
||||
@@ -65,4 +65,41 @@ config section
|
||||
list sni_domains 'discordapp.com'
|
||||
list sni_domains 'discord.gg'
|
||||
list sni_domains 'discordapp.net'
|
||||
list sni_domains 'discord.media'
|
||||
list sni_domains 'discord.media'
|
||||
|
||||
config section
|
||||
option name 'CallsWhatsAppTelegram'
|
||||
option tls_enabled '0'
|
||||
option all_domains '0'
|
||||
list sni_domains 'cdn-telegram.org'
|
||||
list sni_domains 'comments.app'
|
||||
list sni_domains 'contest.com'
|
||||
list sni_domains 'fragment.com'
|
||||
list sni_domains 'graph.org'
|
||||
list sni_domains 'quiz.directory'
|
||||
list sni_domains 't.me'
|
||||
list sni_domains 'tdesktop.com'
|
||||
list sni_domains 'telega.one'
|
||||
list sni_domains 'telegra.ph'
|
||||
list sni_domains 'telegram-cdn.org'
|
||||
list sni_domains 'telegram.dog'
|
||||
list sni_domains 'telegram.me'
|
||||
list sni_domains 'telegram.org'
|
||||
list sni_domains 'telegram.space'
|
||||
list sni_domains 'telesco.pe'
|
||||
list sni_domains 'tg.dev'
|
||||
list sni_domains 'tx.me'
|
||||
list sni_domains 'usercontent.dev'
|
||||
list sni_domains 'graph.facebook.com'
|
||||
list sni_domains 'whatsapp.biz'
|
||||
list sni_domains 'whatsapp.com'
|
||||
list sni_domains 'whatsapp.net'
|
||||
option sni_detection 'parse'
|
||||
option quic_drop '0'
|
||||
option udp_mode 'fake'
|
||||
option udp_faking_strategy 'none'
|
||||
option udp_fake_seq_len '6'
|
||||
option udp_fake_len '64'
|
||||
option udp_filter_quic 'disabled'
|
||||
option enabled '1'
|
||||
option udp_stun_filter '1'
|
||||
55
config_files/zapret
Normal file
55
config_files/zapret
Normal file
@@ -0,0 +1,55 @@
|
||||
|
||||
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
|
||||
'
|
||||
|
||||
34
config_files/zapret-hosts-user-second.txt
Normal file
34
config_files/zapret-hosts-user-second.txt
Normal file
@@ -0,0 +1,34 @@
|
||||
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
|
||||
1
config_files/zapret-hosts-user.txt
Normal file
1
config_files/zapret-hosts-user.txt
Normal file
@@ -0,0 +1 @@
|
||||
speedtest.net
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/main"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/new_awg_podkop"
|
||||
DIR="/etc/config"
|
||||
DIR_BACKUP="/root/backup"
|
||||
config_files="dhcp
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/main"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/new_awg_podkop"
|
||||
DIR="/etc/config"
|
||||
DIR_BACKUP="/root/backup"
|
||||
config_files="dhcp
|
||||
|
||||
BIN
podkop_packets/luci-app-podkop-v0.6.2-r1-all.ipk
Normal file
BIN
podkop_packets/luci-app-podkop-v0.6.2-r1-all.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/luci-app-podkop_0.4.7-r1_all.ipk
Normal file
BIN
podkop_packets/luci-app-podkop_0.4.7-r1_all.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/luci-app-podkop_v0.4.10-r1_all.ipk
Normal file
BIN
podkop_packets/luci-app-podkop_v0.4.10-r1_all.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/luci-app-podkop_v0.4.11-r1_all.ipk
Normal file
BIN
podkop_packets/luci-app-podkop_v0.4.11-r1_all.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/luci-app-podkop_v0.4.8-r1_all.ipk
Normal file
BIN
podkop_packets/luci-app-podkop_v0.4.8-r1_all.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/luci-app-podkop_v0.5.6-r1_all.ipk
Normal file
BIN
podkop_packets/luci-app-podkop_v0.5.6-r1_all.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/luci-i18n-podkop-ru-0.6.2.ipk
Normal file
BIN
podkop_packets/luci-i18n-podkop-ru-0.6.2.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/luci-i18n-podkop-ru_0.4.10.ipk
Normal file
BIN
podkop_packets/luci-i18n-podkop-ru_0.4.10.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/luci-i18n-podkop-ru_0.4.11.ipk
Normal file
BIN
podkop_packets/luci-i18n-podkop-ru_0.4.11.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/luci-i18n-podkop-ru_0.4.7.ipk
Normal file
BIN
podkop_packets/luci-i18n-podkop-ru_0.4.7.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/luci-i18n-podkop-ru_0.4.8.ipk
Normal file
BIN
podkop_packets/luci-i18n-podkop-ru_0.4.8.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/luci-i18n-podkop-ru_0.5.6.ipk
Normal file
BIN
podkop_packets/luci-i18n-podkop-ru_0.5.6.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/podkop-v0.6.2-r1-all.ipk
Normal file
BIN
podkop_packets/podkop-v0.6.2-r1-all.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/podkop_0.4.7-r1_all.ipk
Normal file
BIN
podkop_packets/podkop_0.4.7-r1_all.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/podkop_v0.4.10-r1_all.ipk
Normal file
BIN
podkop_packets/podkop_v0.4.10-r1_all.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/podkop_v0.4.11-r1_all.ipk
Normal file
BIN
podkop_packets/podkop_v0.4.11-r1_all.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/podkop_v0.4.8-r1_all.ipk
Normal file
BIN
podkop_packets/podkop_v0.4.8-r1_all.ipk
Normal file
Binary file not shown.
BIN
podkop_packets/podkop_v0.5.6-r1_all.ipk
Normal file
BIN
podkop_packets/podkop_v0.5.6-r1_all.ipk
Normal file
Binary file not shown.
16
run_universal_config.sh
Normal file
16
run_universal_config.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
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 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/new_awg_podkop/universal_config_new_podkop.sh && chmod +x /tmp/universal_config_new_podkop.sh && /tmp/universal_config_new_podkop.sh $1 $2
|
||||
else
|
||||
printf "\033[32;1mThis old firmware.\nRecommendation, upgrade firmware to actual release...\nSleep 5 sec...\033[0m\n"
|
||||
sleep 5
|
||||
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/new_awg_podkop/universal_config.sh && chmod +x /tmp/universal_config.sh && /tmp/universal_config.sh $1 $2
|
||||
fi
|
||||
@@ -144,80 +144,167 @@ checkPackageAndInstall()
|
||||
|
||||
requestConfWARP1()
|
||||
{
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp.llimonix.pw/api/warp' \
|
||||
-H 'Accept: */*' \
|
||||
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Origin: https://warp.llimonix.pw' \
|
||||
-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"
|
||||
HASH='68747470733a2f2f73616e74612d61746d6f2e72752f776172702f776172702e706870'
|
||||
COMPILE=$(printf '%b' "$(printf '%s\n' "$HASH" | sed 's/../\\x&/g')")
|
||||
#запрос конфигурации WARP
|
||||
local response=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" "$COMPILE" \
|
||||
-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 "referer: $COMPILE" \
|
||||
-H "Origin: $COMPILE")
|
||||
echo "$response"
|
||||
}
|
||||
|
||||
requestConfWARP2()
|
||||
{
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://topor-warp.vercel.app/generate' \
|
||||
-H 'Accept: */*' \
|
||||
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Origin: https://topor-warp.vercel.app' \
|
||||
-H 'Referer: https://topor-warp.vercel.app/' \
|
||||
-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 '{"platform":"all"}')
|
||||
echo "$result"
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://dulcet-fox-556b08.netlify.app/api/warp' \
|
||||
-H 'Accept: */*' \
|
||||
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Origin: https://dulcet-fox-556b08.netlify.app/api/warp' \
|
||||
-H 'Referer: https://dulcet-fox-556b08.netlify.app/api/warp' \
|
||||
-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/140.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","endpoint":"162.159.195.1:500"}')
|
||||
echo "$result"
|
||||
}
|
||||
|
||||
requestConfWARP3()
|
||||
{
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp-gen.vercel.app/generate-config' \
|
||||
-H 'Accept: */*' \
|
||||
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Referer: https://warp-gen.vercel.app/' \
|
||||
-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"')
|
||||
echo "$result"
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp-config-generator-theta.vercel.app/api/warp' \
|
||||
-H 'Accept: */*' \
|
||||
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Origin: https://warp-config-generator-theta.vercel.app/api/warp' \
|
||||
-H 'Referer: https://warp-config-generator-theta.vercel.app/api/warp' \
|
||||
-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/140.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","endpoint":"162.159.195.1:500"}')
|
||||
echo "$result"
|
||||
}
|
||||
|
||||
requestConfWARP4()
|
||||
{
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://config-generator-warp.vercel.app/warp' \
|
||||
-H 'Accept: */*' \
|
||||
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Referer: https://config-generator-warp.vercel.app/' \
|
||||
-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"')
|
||||
echo "$result"
|
||||
#запрос конфигурации 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' \
|
||||
-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 'referer: https://generator-warp-config.vercel.app' \
|
||||
-H "Origin: https://generator-warp-config.vercel.app")
|
||||
echo "$result"
|
||||
}
|
||||
|
||||
requestConfWARP5()
|
||||
{
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://valokda-amnezia.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.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"
|
||||
}
|
||||
|
||||
# Функция для обработки выполнения запроса
|
||||
@@ -233,31 +320,56 @@ check_request() {
|
||||
# Проверяем код состояния
|
||||
if [ "$response_code" -eq 200 ]; then
|
||||
case $choice in
|
||||
1)
|
||||
status=$(echo $response_body | jq '.success')
|
||||
#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
|
||||
1)
|
||||
warp_config=$(confWarpBuilder "$response_body")
|
||||
echo "$warp_config"
|
||||
;;
|
||||
2)
|
||||
echo "$response_body"
|
||||
content=$(echo $response_body | jq -r '.content')
|
||||
content=$(echo $content | jq -r '.configBase64')
|
||||
warp_config=$(echo "$content" | base64 -d)
|
||||
echo "$warp_config"
|
||||
;;
|
||||
3)
|
||||
content=$(echo $response_body | jq -r '.config')
|
||||
#content=$(echo "$content" | sed 's/\\n/\012/g')
|
||||
echo "$content"
|
||||
content=$(echo $response_body | jq -r '.content')
|
||||
content=$(echo $content | jq -r '.configBase64')
|
||||
warp_config=$(echo "$content" | base64 -d)
|
||||
echo "$warp_config"
|
||||
;;
|
||||
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')
|
||||
warp_config=$(echo "$content" | base64 -d)
|
||||
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"
|
||||
@@ -372,7 +484,7 @@ deleteByPassGeoBlockComssDNS()
|
||||
install_youtubeunblock_packages() {
|
||||
PKGARCH=$(opkg print-architecture | awk 'BEGIN {max=0} {if ($3 > max) {max = $3; arch = $2}} END {print arch}')
|
||||
VERSION=$(ubus call system board | jsonfilter -e '@.release.version')
|
||||
BASE_URL="https://github.com/Waujito/youtubeUnblock/releases/download/v1.0.0/"
|
||||
BASE_URL="https://github.com/Waujito/youtubeUnblock/releases/download/v1.1.0/"
|
||||
PACK_NAME="youtubeUnblock"
|
||||
|
||||
AWG_DIR="/tmp/$PACK_NAME"
|
||||
@@ -400,7 +512,7 @@ install_youtubeunblock_packages() {
|
||||
fi
|
||||
done
|
||||
|
||||
YOUTUBEUNBLOCK_FILENAME="youtubeUnblock-1.0.0-10-f37c3dd-${PKGARCH}-openwrt-23.05.ipk"
|
||||
YOUTUBEUNBLOCK_FILENAME="youtubeUnblock-1.1.0-2-2d579d5-${PKGARCH}-openwrt-23.05.ipk"
|
||||
DOWNLOAD_URL="${BASE_URL}${YOUTUBEUNBLOCK_FILENAME}"
|
||||
echo $DOWNLOAD_URL
|
||||
wget -O "$AWG_DIR/$YOUTUBEUNBLOCK_FILENAME" "$DOWNLOAD_URL"
|
||||
@@ -427,7 +539,7 @@ install_youtubeunblock_packages() {
|
||||
echo "$PACK_NAME already installed"
|
||||
else
|
||||
PACK_NAME="luci-app-youtubeUnblock"
|
||||
YOUTUBEUNBLOCK_FILENAME="luci-app-youtubeUnblock-1.0.0-10-f37c3dd.ipk"
|
||||
YOUTUBEUNBLOCK_FILENAME="luci-app-youtubeUnblock-1.1.0-1-473af29.ipk"
|
||||
DOWNLOAD_URL="${BASE_URL}${YOUTUBEUNBLOCK_FILENAME}"
|
||||
echo $DOWNLOAD_URL
|
||||
wget -O "$AWG_DIR/$YOUTUBEUNBLOCK_FILENAME" "$DOWNLOAD_URL"
|
||||
@@ -479,7 +591,53 @@ install_awg_packages
|
||||
checkPackageAndInstall "jq" "1"
|
||||
checkPackageAndInstall "curl" "1"
|
||||
checkPackageAndInstall "unzip" "1"
|
||||
checkPackageAndInstall "sing-box" "1"
|
||||
#checkPackageAndInstall "sing-box" "1"
|
||||
checkPackageAndInstall "opera-proxy" "1"
|
||||
checkPackageAndInstall "youtubeUnblock" "1"
|
||||
|
||||
###########
|
||||
manage_package "podkop" "enable" "stop"
|
||||
|
||||
PACKAGE="sing-box"
|
||||
REQUIRED_VERSION="1.11.15"
|
||||
|
||||
INSTALLED_VERSION=$(opkg list-installed | grep "^$PACKAGE" | cut -d ' ' -f 3)
|
||||
if [ -n "$INSTALLED_VERSION" ] && [ "$INSTALLED_VERSION" != "$REQUIRED_VERSION" ]; then
|
||||
echo "Version package $PACKAGE not equal $REQUIRED_VERSION. Removed packages..."
|
||||
opkg remove --force-removal-of-dependent-packages $PACKAGE
|
||||
fi
|
||||
|
||||
INSTALLED_VERSION=$(opkg list-installed | grep "^$PACKAGE")
|
||||
if [ -z "$INSTALLED_VERSION" ]; then
|
||||
PACK_NAME="sing-box"
|
||||
AWG_DIR="/tmp/$PACK_NAME"
|
||||
SINGBOX_FILENAME="sing-box_1.11.15_openwrt_aarch64_cortex-a53.ipk"
|
||||
BASE_URL="https://github.com/SagerNet/sing-box/releases/download/v1.11.15/"
|
||||
DOWNLOAD_URL="${BASE_URL}${SINGBOX_FILENAME}"
|
||||
mkdir -p "$AWG_DIR"
|
||||
#echo $DOWNLOAD_URL
|
||||
|
||||
wget -O "$AWG_DIR/$SINGBOX_FILENAME" "$DOWNLOAD_URL"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "$PACK_NAME file downloaded successfully"
|
||||
else
|
||||
echo "Error downloading $PACK_NAME. Please, install $PACK_NAME manually and run the script again"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
opkg install "$AWG_DIR/$SINGBOX_FILENAME"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "$PACK_NAME file installing successfully"
|
||||
else
|
||||
echo "Error installing $PACK_NAME. Please, install $PACK_NAME manually and run the script again"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
###########
|
||||
|
||||
opkg upgrade youtubeUnblock
|
||||
opkg upgrade luci-app-youtubeUnblock
|
||||
manage_package "youtubeUnblock" "enable" "start"
|
||||
|
||||
#проверяем установлени ли пакет dnsmasq-full
|
||||
if opkg list-installed | grep -q dnsmasq-full; then
|
||||
@@ -503,7 +661,7 @@ firewall
|
||||
https-dns-proxy
|
||||
youtubeUnblock
|
||||
dhcp"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/new_awg_podkop"
|
||||
|
||||
checkPackageAndInstall "https-dns-proxy" "0"
|
||||
|
||||
@@ -532,21 +690,6 @@ uci set dhcp.cfg01411c.strictorder='1'
|
||||
uci set dhcp.cfg01411c.filter_aaaa='1'
|
||||
uci commit dhcp
|
||||
|
||||
if opkg list-installed | grep -q opera-proxy; then
|
||||
echo "Opera-proxy already installed..."
|
||||
else
|
||||
echo "Install opera-proxy client..."
|
||||
service stop vpn > /dev/null
|
||||
rm -f /usr/bin/vpns /etc/init.d/vpn
|
||||
|
||||
url="https://github.com/NitroOxid/openwrt-opera-proxy-bin/releases/download/1.8.0/opera-proxy_1.8.0-1_aarch64_cortex-a53.ipk"
|
||||
destination_file="/tmp/opera-proxy.ipk"
|
||||
|
||||
echo "Downloading opera-proxy..."
|
||||
wget "$url" -O "$destination_file" || { echo "Failed to download the file"; exit 1; }
|
||||
echo "Installing opera-proxy..."
|
||||
opkg install $destination_file
|
||||
|
||||
cat <<EOF > /etc/sing-box/config.json
|
||||
{
|
||||
"log": {
|
||||
@@ -574,11 +717,18 @@ cat <<EOF > /etc/sing-box/config.json
|
||||
}
|
||||
EOF
|
||||
|
||||
echo "Setting sing-box..."
|
||||
uci set sing-box.main.enabled='1'
|
||||
uci set sing-box.main.user='root'
|
||||
uci commit sing-box
|
||||
fi
|
||||
echo "Setting sing-box..."
|
||||
uci set sing-box.main.enabled='1'
|
||||
uci set sing-box.main.user='root'
|
||||
uci add_list sing-box.main.ifaces='wan'
|
||||
uci add_list sing-box.main.ifaces='wan2'
|
||||
uci add_list sing-box.main.ifaces='wan6'
|
||||
uci add_list sing-box.main.ifaces='wwan'
|
||||
uci add_list sing-box.main.ifaces='wwan0'
|
||||
uci add_list sing-box.main.ifaces='modem'
|
||||
uci add_list sing-box.main.ifaces='l2tp'
|
||||
uci add_list sing-box.main.ifaces='pptp'
|
||||
uci commit sing-box
|
||||
|
||||
nameRule="option name 'Block_UDP_443'"
|
||||
str=$(grep -i "$nameRule" /etc/config/firewall)
|
||||
@@ -604,11 +754,12 @@ then
|
||||
fi
|
||||
|
||||
printf "\033[32;1mCheck work youtubeUnblock..\033[0m\n"
|
||||
install_youtubeunblock_packages
|
||||
#install_youtubeunblock_packages
|
||||
opkg upgrade youtubeUnblock
|
||||
opkg upgrade luci-app-youtubeUnblock
|
||||
manage_package "youtubeUnblock" "enable" "start"
|
||||
wget -O "/etc/config/youtubeUnblock" "$URL/config_files/youtubeUnblockSecond"
|
||||
manage_package "podkop" "enable" "stop"
|
||||
service youtubeUnblock restart
|
||||
|
||||
isWorkYoutubeUnBlock=0
|
||||
@@ -642,7 +793,7 @@ fi
|
||||
isWorkOperaProxy=0
|
||||
printf "\033[32;1mCheck opera proxy...\033[0m\n"
|
||||
service sing-box restart
|
||||
sing-box tools fetch ifconfig.co -D /etc/sing-box/
|
||||
curl --proxy http://127.0.0.1:18080 ipinfo.io/ip
|
||||
if [ $? -eq 0 ]; then
|
||||
printf "\033[32;1mOpera proxy well work...\033[0m\n"
|
||||
isWorkOperaProxy=1
|
||||
@@ -713,7 +864,55 @@ do
|
||||
warpGen=$(check_request "$result" 4)
|
||||
if [ "$warpGen" = "Error" ]
|
||||
then
|
||||
warp_config="Error"
|
||||
printf "\033[32;1mRequest WARP config... Attempt #5\033[0m\n"
|
||||
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
|
||||
warp_config=$warpGen
|
||||
fi
|
||||
@@ -844,19 +1043,56 @@ do
|
||||
#service firewall restart
|
||||
#service network restart
|
||||
|
||||
# Отключаем интерфейс
|
||||
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
|
||||
if [ "$is_manual_input_parameters" = "n" ]; then
|
||||
I=0
|
||||
WARP_ENDPOINT_HOSTS="engage.cloudflareclient.com 162.159.192.1 162.159.192.2 162.159.192.4 162.159.195.1 162.159.195.4 188.114.96.1 188.114.96.23 188.114.96.50 188.114.96.81"
|
||||
WARP_ENDPOINT_PORTS="500 1701 2408 3138 4500"
|
||||
for element in $WARP_ENDPOINT_HOSTS; do
|
||||
EndpointIP="$element"
|
||||
for element2 in $WARP_ENDPOINT_PORTS; do
|
||||
I=$(( $I + 1 ))
|
||||
EndpointPort="$element2"
|
||||
uci set network.@${CONFIG_NAME}[-1].endpoint_host=$EndpointIP
|
||||
uci set network.@${CONFIG_NAME}[-1].endpoint_port=$EndpointPort
|
||||
uci commit network
|
||||
# Отключаем интерфейс
|
||||
ifdown $INTERFACE_NAME
|
||||
# Включаем интерфейс
|
||||
ifup $INTERFACE_NAME
|
||||
printf "\033[33;1mIter #$I: Check Endpoint WARP $element:$element2. 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:$element2 work...\033[0m\n"
|
||||
isExit=1
|
||||
break
|
||||
else
|
||||
printf "\033[31;1m Endpoint WARP $element:$element2 not work...\033[0m\n"
|
||||
isExit=0
|
||||
fi
|
||||
done
|
||||
if [ "$isExit" = "1" ]
|
||||
then
|
||||
break
|
||||
fi
|
||||
done
|
||||
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
|
||||
done
|
||||
@@ -907,7 +1143,7 @@ service odhcpd restart
|
||||
|
||||
path_podkop_config="/etc/config/podkop"
|
||||
path_podkop_config_backup="/root/podkop"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/new_awg_podkop"
|
||||
|
||||
messageComplete=""
|
||||
|
||||
|
||||
@@ -157,80 +157,167 @@ checkPackageAndInstall() {
|
||||
|
||||
requestConfWARP1()
|
||||
{
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp.llimonix.pw/api/warp' \
|
||||
-H 'Accept: */*' \
|
||||
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Origin: https://warp.llimonix.pw' \
|
||||
-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"
|
||||
HASH='68747470733a2f2f73616e74612d61746d6f2e72752f776172702f776172702e706870'
|
||||
COMPILE=$(printf '%b' "$(printf '%s\n' "$HASH" | sed 's/../\\x&/g')")
|
||||
#запрос конфигурации WARP
|
||||
local response=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" "$COMPILE" \
|
||||
-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 "referer: $COMPILE" \
|
||||
-H "Origin: $COMPILE")
|
||||
echo "$response"
|
||||
}
|
||||
|
||||
requestConfWARP2()
|
||||
{
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://topor-warp.vercel.app/generate' \
|
||||
-H 'Accept: */*' \
|
||||
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Origin: https://topor-warp.vercel.app' \
|
||||
-H 'Referer: https://topor-warp.vercel.app/' \
|
||||
-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 '{"platform":"all"}')
|
||||
echo "$result"
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://dulcet-fox-556b08.netlify.app/api/warp' \
|
||||
-H 'Accept: */*' \
|
||||
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Origin: https://dulcet-fox-556b08.netlify.app/api/warp' \
|
||||
-H 'Referer: https://dulcet-fox-556b08.netlify.app/api/warp' \
|
||||
-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/140.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","endpoint":"162.159.195.1:500"}')
|
||||
echo "$result"
|
||||
}
|
||||
|
||||
requestConfWARP3()
|
||||
{
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp-gen.vercel.app/generate-config' \
|
||||
-H 'Accept: */*' \
|
||||
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Referer: https://warp-gen.vercel.app/' \
|
||||
-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"')
|
||||
echo "$result"
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://warp-config-generator-theta.vercel.app/api/warp' \
|
||||
-H 'Accept: */*' \
|
||||
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Origin: https://warp-config-generator-theta.vercel.app/api/warp' \
|
||||
-H 'Referer: https://warp-config-generator-theta.vercel.app/api/warp' \
|
||||
-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/140.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","endpoint":"162.159.195.1:500"}')
|
||||
echo "$result"
|
||||
}
|
||||
|
||||
requestConfWARP4()
|
||||
{
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://config-generator-warp.vercel.app/warp' \
|
||||
-H 'Accept: */*' \
|
||||
-H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Referer: https://config-generator-warp.vercel.app/' \
|
||||
-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"')
|
||||
echo "$result"
|
||||
#запрос конфигурации 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' \
|
||||
-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 'referer: https://generator-warp-config.vercel.app' \
|
||||
-H "Origin: https://generator-warp-config.vercel.app")
|
||||
echo "$result"
|
||||
}
|
||||
|
||||
requestConfWARP5()
|
||||
{
|
||||
#запрос конфигурации WARP
|
||||
local result=$(curl --connect-timeout 20 --max-time 60 -w "%{http_code}" 'https://valokda-amnezia.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.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"
|
||||
}
|
||||
|
||||
# Функция для обработки выполнения запроса
|
||||
@@ -246,31 +333,56 @@ check_request() {
|
||||
# Проверяем код состояния
|
||||
if [ "$response_code" -eq 200 ]; then
|
||||
case $choice in
|
||||
1)
|
||||
status=$(echo $response_body | jq '.success')
|
||||
#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
|
||||
1)
|
||||
warp_config=$(confWarpBuilder "$response_body")
|
||||
echo "$warp_config"
|
||||
;;
|
||||
2)
|
||||
echo "$response_body"
|
||||
content=$(echo $response_body | jq -r '.content')
|
||||
content=$(echo $content | jq -r '.configBase64')
|
||||
warp_config=$(echo "$content" | base64 -d)
|
||||
echo "$warp_config"
|
||||
;;
|
||||
3)
|
||||
content=$(echo $response_body | jq -r '.config')
|
||||
#content=$(echo "$content" | sed 's/\\n/\012/g')
|
||||
echo "$content"
|
||||
content=$(echo $response_body | jq -r '.content')
|
||||
content=$(echo $content | jq -r '.configBase64')
|
||||
warp_config=$(echo "$content" | base64 -d)
|
||||
echo "$warp_config"
|
||||
;;
|
||||
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')
|
||||
warp_config=$(echo "$content" | base64 -d)
|
||||
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"
|
||||
@@ -382,7 +494,7 @@ deleteByPassGeoBlockComssDNS()
|
||||
install_youtubeunblock_packages() {
|
||||
PKGARCH=$(opkg print-architecture | awk 'BEGIN {max=0} {if ($3 > max) {max = $3; arch = $2}} END {print arch}')
|
||||
VERSION=$(ubus call system board | jsonfilter -e '@.release.version')
|
||||
BASE_URL="https://github.com/Waujito/youtubeUnblock/releases/download/v1.0.0/"
|
||||
BASE_URL="https://github.com/Waujito/youtubeUnblock/releases/download/v1.1.0/"
|
||||
PACK_NAME="youtubeUnblock"
|
||||
|
||||
AWG_DIR="/tmp/$PACK_NAME"
|
||||
@@ -410,7 +522,7 @@ install_youtubeunblock_packages() {
|
||||
fi
|
||||
done
|
||||
|
||||
YOUTUBEUNBLOCK_FILENAME="youtubeUnblock-1.0.0-10-f37c3dd-${PKGARCH}-openwrt-23.05.ipk"
|
||||
YOUTUBEUNBLOCK_FILENAME="youtubeUnblock-1.1.0-2-2d579d5-${PKGARCH}-openwrt-23.05.ipk"
|
||||
DOWNLOAD_URL="${BASE_URL}${YOUTUBEUNBLOCK_FILENAME}"
|
||||
echo $DOWNLOAD_URL
|
||||
wget -O "$AWG_DIR/$YOUTUBEUNBLOCK_FILENAME" "$DOWNLOAD_URL"
|
||||
@@ -437,7 +549,7 @@ install_youtubeunblock_packages() {
|
||||
echo "$PACK_NAME already installed"
|
||||
else
|
||||
PACK_NAME="luci-app-youtubeUnblock"
|
||||
YOUTUBEUNBLOCK_FILENAME="luci-app-youtubeUnblock-1.0.0-10-f37c3dd.ipk"
|
||||
YOUTUBEUNBLOCK_FILENAME="luci-app-youtubeUnblock-1.1.0-1-473af29.ipk"
|
||||
DOWNLOAD_URL="${BASE_URL}${YOUTUBEUNBLOCK_FILENAME}"
|
||||
echo $DOWNLOAD_URL
|
||||
wget -O "$AWG_DIR/$YOUTUBEUNBLOCK_FILENAME" "$DOWNLOAD_URL"
|
||||
@@ -475,6 +587,22 @@ else
|
||||
is_reconfig_podkop="n"
|
||||
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..."
|
||||
opkg update
|
||||
|
||||
@@ -484,12 +612,32 @@ encoded_code="IyEvYmluL3NoCgojINCn0YLQtdC90LjQtSDQvNC+0LTQtdC70Lgg0LjQtyDRhNCw0L
|
||||
eval "$(echo "$encoded_code" | base64 --decode)"
|
||||
|
||||
#проверка и установка пакетов AmneziaWG
|
||||
install_awg_packages
|
||||
#install_awg_packages
|
||||
|
||||
checkPackageAndInstall "jq" "1"
|
||||
checkPackageAndInstall "curl" "1"
|
||||
checkPackageAndInstall "unzip" "1"
|
||||
checkPackageAndInstall "sing-box" "1"
|
||||
checkPackageAndInstall "opera-proxy" "1"
|
||||
checkPackageAndInstall "zapret" "1"
|
||||
opkg remove --force-removal-of-dependent-packages "sing-box"
|
||||
|
||||
findVersion="1.12.0"
|
||||
if opkg list-installed | grep "^sing-box-tiny" && printf '%s\n%s\n' "$findVersion" "$VERSION" | sort -V | tail -n1 | grep -qx -- "$VERSION"; then
|
||||
printf "\033[32;1mInstalled new sing-box-tiny. Running scprit...\033[0m\n"
|
||||
else
|
||||
printf "\033[32;1mInstalled old sing-box-tiny or not install sing-box-tiny. Reinstall sing-box-tiny...\033[0m\n"
|
||||
manage_package "podkop" "enable" "stop"
|
||||
opkg remove --force-removal-of-dependent-packages "sing-box-tiny"
|
||||
checkPackageAndInstall "sing-box-tiny" "1"
|
||||
fi
|
||||
|
||||
opkg upgrade amneziawg-tools
|
||||
opkg upgrade kmod-amneziawg
|
||||
opkg upgrade luci-app-amneziawg
|
||||
|
||||
opkg upgrade zapret
|
||||
opkg upgrade luci-app-zapret
|
||||
manage_package "zapret" "enable" "start"
|
||||
|
||||
#проверяем установлени ли пакет dnsmasq-full
|
||||
if opkg list-installed | grep -q dnsmasq-full; then
|
||||
@@ -502,19 +650,26 @@ else
|
||||
[ -f /etc/config/dhcp-opkg ] && cp /etc/config/dhcp /etc/config/dhcp-old && mv /etc/config/dhcp-opkg /etc/config/dhcp
|
||||
fi
|
||||
|
||||
#проверяем установлени ли пакет https-dns-proxy
|
||||
if opkg list-installed | grep -q https-dns-proxy; then
|
||||
echo "Delete packet https-dns-proxy..."
|
||||
opkg remove --force-removal-of-dependent-packages "https-dns-proxy"
|
||||
fi
|
||||
|
||||
printf "Setting confdir dnsmasq\n"
|
||||
uci set dhcp.@dnsmasq[0].confdir='/tmp/dnsmasq.d'
|
||||
uci commit dhcp
|
||||
|
||||
DIR="/etc/config"
|
||||
DIR_BACKUP="/root/backup3"
|
||||
DIR_BACKUP="/root/backup5"
|
||||
config_files="network
|
||||
firewall
|
||||
doh-proxy
|
||||
youtubeUnblock
|
||||
zapret
|
||||
dhcp
|
||||
dns-failsafe-proxy"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_alt"
|
||||
dns-failsafe-proxy
|
||||
stubby"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/new_awg_podkop"
|
||||
|
||||
checkPackageAndInstall "luci-app-dns-failsafe-proxy" "1"
|
||||
checkPackageAndInstall "luci-i18n-stubby-ru" "1"
|
||||
@@ -532,7 +687,7 @@ then
|
||||
|
||||
for file in $config_files
|
||||
do
|
||||
if [ "$file" == "doh-proxy" ] || [ "$file" == "dns-failsafe-proxy" ]
|
||||
if [ "$file" == "doh-proxy" ] || [ "$file" == "dns-failsafe-proxy" ] || [ "$file" == "stubby" ]
|
||||
then
|
||||
wget -O "$DIR/$file" "$URL/config_files/$file"
|
||||
fi
|
||||
@@ -545,21 +700,6 @@ uci set dhcp.cfg01411c.strictorder='1'
|
||||
uci set dhcp.cfg01411c.filter_aaaa='1'
|
||||
uci commit dhcp
|
||||
|
||||
if opkg list-installed | grep -q opera-proxy; then
|
||||
echo "Opera-proxy already installed..."
|
||||
else
|
||||
echo "Install opera-proxy client..."
|
||||
service stop vpn > /dev/null
|
||||
rm -f /usr/bin/vpns /etc/init.d/vpn
|
||||
|
||||
url="https://github.com/NitroOxid/openwrt-opera-proxy-bin/releases/download/1.8.0/opera-proxy_1.8.0-1_aarch64_cortex-a53.ipk"
|
||||
destination_file="/tmp/opera-proxy.ipk"
|
||||
|
||||
echo "Downloading opera-proxy..."
|
||||
wget "$url" -O "$destination_file" || { echo "Failed to download the file"; exit 1; }
|
||||
echo "Installing opera-proxy..."
|
||||
opkg install $destination_file
|
||||
|
||||
cat <<EOF > /etc/sing-box/config.json
|
||||
{
|
||||
"log": {
|
||||
@@ -587,19 +727,18 @@ cat <<EOF > /etc/sing-box/config.json
|
||||
}
|
||||
EOF
|
||||
|
||||
echo "Setting sing-box..."
|
||||
uci set sing-box.main.enabled='1'
|
||||
uci set sing-box.main.user='root'
|
||||
uci add_list sing-box.main.ifaces='wan'
|
||||
uci add_list sing-box.main.ifaces='wan2'
|
||||
uci add_list sing-box.main.ifaces='wan6'
|
||||
uci add_list sing-box.main.ifaces='wwan'
|
||||
uci add_list sing-box.main.ifaces='wwan0'
|
||||
uci add_list sing-box.main.ifaces='modem'
|
||||
uci add_list sing-box.main.ifaces='l2tp'
|
||||
uci add_list sing-box.main.ifaces='pptp'
|
||||
uci commit sing-box
|
||||
fi
|
||||
echo "Setting sing-box..."
|
||||
uci set sing-box.main.enabled='1'
|
||||
uci set sing-box.main.user='root'
|
||||
uci add_list sing-box.main.ifaces='wan'
|
||||
uci add_list sing-box.main.ifaces='wan2'
|
||||
uci add_list sing-box.main.ifaces='wan6'
|
||||
uci add_list sing-box.main.ifaces='wwan'
|
||||
uci add_list sing-box.main.ifaces='wwan0'
|
||||
uci add_list sing-box.main.ifaces='modem'
|
||||
uci add_list sing-box.main.ifaces='l2tp'
|
||||
uci add_list sing-box.main.ifaces='pptp'
|
||||
uci commit sing-box
|
||||
|
||||
nameRule="option name 'Block_UDP_443'"
|
||||
str=$(grep -i "$nameRule" /etc/config/firewall)
|
||||
@@ -624,33 +763,35 @@ then
|
||||
uci commit firewall
|
||||
fi
|
||||
|
||||
printf "\033[32;1mCheck work youtubeUnblock..\033[0m\n"
|
||||
install_youtubeunblock_packages
|
||||
opkg upgrade youtubeUnblock
|
||||
opkg upgrade luci-app-youtubeUnblock
|
||||
manage_package "youtubeUnblock" "enable" "start"
|
||||
wget -O "/etc/config/youtubeUnblock" "$URL/config_files/youtubeUnblockSecond"
|
||||
service youtubeUnblock restart
|
||||
printf "\033[32;1mCheck work zapret.\033[0m\n"
|
||||
#install_youtubeunblock_packages
|
||||
opkg upgrade zapret
|
||||
opkg upgrade luci-app-zapret
|
||||
manage_package "zapret" "enable" "start"
|
||||
wget -O "/etc/config/zapret" "$URL/config_files/zapret"
|
||||
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"
|
||||
|
||||
isWorkYoutubeUnBlock=0
|
||||
manage_package "podkop" "enable" "stop"
|
||||
service zapret restart
|
||||
|
||||
isWorkZapret=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
|
||||
|
||||
# Проверяем код выхода
|
||||
if [ $? -eq 0 ]; then
|
||||
printf "\033[32;1myoutubeUnblock well work...\033[0m\n"
|
||||
cronTask="0 4 * * * service youtubeUnblock restart"
|
||||
str=$(grep -i "0 4 \* \* \* service youtubeUnblock restart" /etc/crontabs/root)
|
||||
printf "\033[32;1mzapret well work...\033[0m\n"
|
||||
cronTask="0 4 * * * service zapret restart"
|
||||
str=$(grep -i "0 4 \* \* \* service zapret restart" /etc/crontabs/root)
|
||||
if [ -z "$str" ]
|
||||
then
|
||||
echo "Add cron task auto reboot service youtubeUnblock..."
|
||||
echo "Add cron task auto reboot service zapret..."
|
||||
echo "$cronTask" >> /etc/crontabs/root
|
||||
fi
|
||||
isWorkYoutubeUnBlock=1
|
||||
else
|
||||
manage_package "youtubeUnblock" "disable" "stop"
|
||||
printf "\033[32;1myoutubeUnblock not work...\033[0m\n"
|
||||
isWorkYoutubeUnBlock=0
|
||||
str=$(grep -i "0 4 \* \* \* service youtubeUnblock restart" /etc/crontabs/root)
|
||||
if [ ! -z "$str" ]
|
||||
then
|
||||
@@ -658,12 +799,31 @@ else
|
||||
cp -f "/etc/crontabs/temp" "/etc/crontabs/root"
|
||||
rm -f "/etc/crontabs/temp"
|
||||
fi
|
||||
isWorkZapret=1
|
||||
else
|
||||
manage_package "zapret" "disable" "stop"
|
||||
printf "\033[32;1mzapret not work...\033[0m\n"
|
||||
isWorkZapret=0
|
||||
str=$(grep -i "0 4 \* \* \* service youtubeUnblock restart" /etc/crontabs/root)
|
||||
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
|
||||
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
|
||||
|
||||
isWorkOperaProxy=0
|
||||
printf "\033[32;1mCheck opera proxy...\033[0m\n"
|
||||
service sing-box restart
|
||||
sing-box tools fetch ifconfig.co -D /etc/sing-box/
|
||||
curl --proxy http://127.0.0.1:18080 ipinfo.io/ip
|
||||
if [ $? -eq 0 ]; then
|
||||
printf "\033[32;1mOpera proxy well work...\033[0m\n"
|
||||
isWorkOperaProxy=1
|
||||
@@ -734,7 +894,55 @@ do
|
||||
warpGen=$(check_request "$result" 4)
|
||||
if [ "$warpGen" = "Error" ]
|
||||
then
|
||||
warp_config="Error"
|
||||
printf "\033[32;1mRequest WARP config... Attempt #5\033[0m\n"
|
||||
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
|
||||
warp_config=$warpGen
|
||||
fi
|
||||
@@ -803,6 +1011,11 @@ do
|
||||
uci set network.${INTERFACE_NAME}.awg_h2=$H2
|
||||
uci set network.${INTERFACE_NAME}.awg_h3=$H3
|
||||
uci set network.${INTERFACE_NAME}.awg_h4=$H4
|
||||
if [ -z "$I1" ]
|
||||
then
|
||||
I1="<b 0xc10000000114367096bb0fb3f58f3a3fb8aaacd61d63a1c8a40e14f7374b8a62dccba6431716c3abf6f5afbcfb39bd008000047c32e268567c652e6f4db58bff759bc8c5aaca183b87cb4d22938fe7d8dca22a679a79e4d9ee62e4bbb3a380dd78d4e8e48f26b38a1d42d76b371a5a9a0444827a69d1ab5872a85749f65a4104e931740b4dc1e2dd77733fc7fac4f93011cd622f2bb47e85f71992e2d585f8dc765a7a12ddeb879746a267393ad023d267c4bd79f258703e27345155268bd3cc0506ebd72e2e3c6b5b0f005299cd94b67ddabe30389c4f9b5c2d512dcc298c14f14e9b7f931e1dc397926c31fbb7cebfc668349c218672501031ecce151d4cb03c4c660b6c6fe7754e75446cd7de09a8c81030c5f6fb377203f551864f3d83e27de7b86499736cbbb549b2f37f436db1cae0a4ea39930f0534aacdd1e3534bc87877e2afabe959ced261f228d6362e6fd277c88c312d966c8b9f67e4a92e757773db0b0862fb8108d1d8fa262a40a1b4171961f0704c8ba314da2482ac8ed9bd28d4b50f7432d89fd800c25a50c5e2f5c0710544fef5273401116aa0572366d8e49ad758fcb29e6a92912e644dbe227c247cb3417eabfab2db16796b2fba420de3b1dc94e8361f1f324a331ddaf1e626553138860757fd0bf687566108b77b70fb9f8f8962eca599c4a70ed373666961a8cb506b96756d9e28b94122b20f16b54f118c0e603ce0b831efea614ad836df6cf9affbdd09596412547496967da758cec9080295d853b0861670b71d9abde0d562b1a6de82782a5b0c14d297f27283a895abc889a5f6703f0e6eb95f67b2da45f150d0d8ab805612d570c2d5cb6997ac3a7756226c2f5c8982ffbd480c5004b0660a3c9468945efde90864019a2b519458724b55d766e16b0da25c0557c01f3c11ddeb024b62e303640e17fdd57dedb3aeb4a2c1b7c93059f9c1d7118d77caac1cd0f6556e46cbc991c1bb16970273dea833d01e5090d061a0c6d25af2415cd2878af97f6d0e7f1f936247b394ecb9bd484da6be936dee9b0b92dc90101a1b4295e97a9772f2263eb09431995aa173df4ca2abd687d87706f0f93eaa5e13cbe3b574fa3cfe94502ace25265778da6960d561381769c24e0cbd7aac73c16f95ae74ff7ec38124f7c722b9cb151d4b6841343f29be8f35145e1b27021056820fed77003df8554b4155716c8cf6049ef5e318481460a8ce3be7c7bfac695255be84dc491c19e9dedc449dd3471728cd2a3ee51324ccb3eef121e3e08f8e18f0006ea8957371d9f2f739f0b89e4db11e5c6430ada61572e589519fbad4498b460ce6e4407fc2d8f2dd4293a50a0cb8fcaaf35cd9a8cc097e3603fbfa08d9036f52b3e7fcce11b83ad28a4ac12dba0395a0cc871cefd1a2856fffb3f28d82ce35cf80579974778bab13d9b3578d8c75a2d196087a2cd439aff2bb33f2db24ac175fff4ed91d36a4cdbfaf3f83074f03894ea40f17034629890da3efdbb41141b38368ab532209b69f057ddc559c19bc8ae62bf3fd564c9a35d9a83d14a95834a92bae6d9a29ae5e8ece07910d16433e4c6230c9bd7d68b47de0de9843988af6dc88b5301820443bd4d0537778bf6b4c1dd067fcf14b81015f2a67c7f2a28f9cb7e0684d3cb4b1c24d9b343122a086611b489532f1c3a26779da1706c6759d96d8ab>"
|
||||
fi
|
||||
uci set network.${INTERFACE_NAME}.awg_i1="$I1"
|
||||
uci set network.${INTERFACE_NAME}.nohostroute='1'
|
||||
|
||||
uci set network.@${CONFIG_NAME}[-1].description="${INTERFACE_NAME}_peer"
|
||||
@@ -865,19 +1078,56 @@ do
|
||||
#service firewall restart
|
||||
#service network restart
|
||||
|
||||
# Отключаем интерфейс
|
||||
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
|
||||
if [ "$is_manual_input_parameters" = "n" ]; then
|
||||
I=0
|
||||
WARP_ENDPOINT_HOSTS="engage.cloudflareclient.com 162.159.192.1 162.159.192.2 162.159.192.4 162.159.195.1 162.159.195.4 188.114.96.1 188.114.96.23 188.114.96.50 188.114.96.81"
|
||||
WARP_ENDPOINT_PORTS="500 1701 2408 3138 4500"
|
||||
for element in $WARP_ENDPOINT_HOSTS; do
|
||||
EndpointIP="$element"
|
||||
for element2 in $WARP_ENDPOINT_PORTS; do
|
||||
I=$(( $I + 1 ))
|
||||
EndpointPort="$element2"
|
||||
uci set network.@${CONFIG_NAME}[-1].endpoint_host=$EndpointIP
|
||||
uci set network.@${CONFIG_NAME}[-1].endpoint_port=$EndpointPort
|
||||
uci commit network
|
||||
# Отключаем интерфейс
|
||||
ifdown $INTERFACE_NAME
|
||||
# Включаем интерфейс
|
||||
ifup $INTERFACE_NAME
|
||||
printf "\033[33;1mIter #$I: Check Endpoint WARP $element:$element2. 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:$element2 work...\033[0m\n"
|
||||
isExit=1
|
||||
break
|
||||
else
|
||||
printf "\033[31;1m Endpoint WARP $element:$element2 not work...\033[0m\n"
|
||||
isExit=0
|
||||
fi
|
||||
done
|
||||
if [ "$isExit" = "1" ]
|
||||
then
|
||||
break
|
||||
fi
|
||||
done
|
||||
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
|
||||
done
|
||||
@@ -894,30 +1144,30 @@ else
|
||||
isWorkWARP=0
|
||||
fi
|
||||
|
||||
echo "isWorkYoutubeUnBlock = $isWorkYoutubeUnBlock, isWorkOperaProxy = $isWorkOperaProxy, isWorkWARP = $isWorkWARP"
|
||||
echo "isWorkZapret = $isWorkZapret, isWorkOperaProxy = $isWorkOperaProxy, isWorkWARP = $isWorkWARP"
|
||||
|
||||
if [ "$isWorkYoutubeUnBlock" = "1" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "1" ]
|
||||
if [ "$isWorkZapret" = "1" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "1" ]
|
||||
then
|
||||
varByPass=1
|
||||
elif [ "$isWorkYoutubeUnBlock" = "0" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "1" ]
|
||||
elif [ "$isWorkZapret" = "0" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "1" ]
|
||||
then
|
||||
varByPass=2
|
||||
elif [ "$isWorkYoutubeUnBlock" = "1" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "0" ]
|
||||
elif [ "$isWorkZapret" = "1" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "0" ]
|
||||
then
|
||||
varByPass=3
|
||||
elif [ "$isWorkYoutubeUnBlock" = "0" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "0" ]
|
||||
elif [ "$isWorkZapret" = "0" ] && [ "$isWorkOperaProxy" = "1" ] && [ "$isWorkWARP" = "0" ]
|
||||
then
|
||||
varByPass=4
|
||||
elif [ "$isWorkYoutubeUnBlock" = "1" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "0" ]
|
||||
elif [ "$isWorkZapret" = "1" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "0" ]
|
||||
then
|
||||
varByPass=5
|
||||
elif [ "$isWorkYoutubeUnBlock" = "0" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "1" ]
|
||||
elif [ "$isWorkZapret" = "0" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "1" ]
|
||||
then
|
||||
varByPass=6
|
||||
elif [ "$isWorkYoutubeUnBlock" = "1" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "1" ]
|
||||
elif [ "$isWorkZapret" = "1" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "1" ]
|
||||
then
|
||||
varByPass=7
|
||||
elif [ "$isWorkYoutubeUnBlock" = "0" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "0" ]
|
||||
elif [ "$isWorkZapret" = "0" ] && [ "$isWorkOperaProxy" = "0" ] && [ "$isWorkWARP" = "0" ]
|
||||
then
|
||||
varByPass=8
|
||||
fi
|
||||
@@ -928,72 +1178,82 @@ service odhcpd restart
|
||||
|
||||
path_podkop_config="/etc/config/podkop"
|
||||
path_podkop_config_backup="/root/podkop"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta_alt"
|
||||
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/new_awg_podkop"
|
||||
|
||||
messageComplete=""
|
||||
|
||||
case $varByPass in
|
||||
1)
|
||||
nameFileReplacePodkop="podkopNewNoYoutube"
|
||||
printf "\033[32;1mStop and disabled service 'ruantiblock'...\033[0m\n"
|
||||
printf "\033[32;1mStop and disabled service 'ruantiblock' and 'youtubeUnblock'...\033[0m\n"
|
||||
manage_package "ruantiblock" "disable" "stop"
|
||||
wget -O "/etc/config/youtubeUnblock" "$URL/config_files/youtubeUnblockSecond"
|
||||
service youtubeUnblock restart
|
||||
manage_package "youtubeUnblock" "disable" "stop"
|
||||
service zapret restart
|
||||
deleteByPassGeoBlockComssDNS
|
||||
messageComplete="ByPass block for Method 1: AWG WARP + youtubeunblock + Opera Proxy...Configured completed..."
|
||||
messageComplete="ByPass block for Method 1: AWG WARP + zapret + Opera Proxy...Configured completed..."
|
||||
;;
|
||||
2)
|
||||
nameFileReplacePodkop="podkopNew"
|
||||
printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock'...\033[0m\n"
|
||||
printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock' and 'zapret'...\033[0m\n"
|
||||
manage_package "youtubeUnblock" "disable" "stop"
|
||||
manage_package "ruantiblock" "disable" "stop"
|
||||
manage_package "zapret" "disable" "stop"
|
||||
deleteByPassGeoBlockComssDNS
|
||||
messageComplete="ByPass block for Method 2: AWG WARP + Opera Proxy...Configured completed..."
|
||||
;;
|
||||
3)
|
||||
nameFileReplacePodkop="podkopNewSecond"
|
||||
printf "\033[32;1mStop and disabled service 'ruantiblock'...\033[0m\n"
|
||||
printf "\033[32;1mStop and disabled service 'ruantiblock' and youtubeUnblock ...\033[0m\n"
|
||||
manage_package "ruantiblock" "disable" "stop"
|
||||
wget -O "/etc/config/youtubeUnblock" "$URL/config_files/youtubeUnblockSecondDiscord"
|
||||
service youtubeUnblock restart
|
||||
manage_package "youtubeUnblock" "disable" "stop"
|
||||
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
|
||||
deleteByPassGeoBlockComssDNS
|
||||
messageComplete="ByPass block for Method 3: youtubeUnblock + Opera Proxy...Configured completed..."
|
||||
messageComplete="ByPass block for Method 3: zapret + Opera Proxy...Configured completed..."
|
||||
;;
|
||||
4)
|
||||
nameFileReplacePodkop="podkopNewSecondYoutube"
|
||||
printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock'...\033[0m\n"
|
||||
printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock' and 'zapret'...\033[0m\n"
|
||||
manage_package "youtubeUnblock" "disable" "stop"
|
||||
manage_package "ruantiblock" "disable" "stop"
|
||||
manage_package "zapret" "disable" "stop"
|
||||
deleteByPassGeoBlockComssDNS
|
||||
messageComplete="ByPass block for Method 4: Only Opera Proxy...Configured completed..."
|
||||
;;
|
||||
5)
|
||||
nameFileReplacePodkop="podkopNewSecondYoutube"
|
||||
printf "\033[32;1mStop and disabled service 'ruantiblock' and 'podkop'...\033[0m\n"
|
||||
printf "\033[32;1mStop and disabled service 'ruantiblock' and 'podkop' and youtubeunblock...\033[0m\n"
|
||||
manage_package "ruantiblock" "disable" "stop"
|
||||
manage_package "podkop" "disable" "stop"
|
||||
wget -O "/etc/config/youtubeUnblock" "$URL/config_files/youtubeUnblock"
|
||||
service youtubeUnblock restart
|
||||
manage_package "youtubeunblock" "disable" "stop"
|
||||
wget -O "/opt/zapret/ipset/zapret-hosts-user.txt" "$URL/config_files/zapret-hosts-user-second.txt"
|
||||
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
|
||||
printf "\033[32;1mByPass block for Method 5: youtubeUnblock + ComssDNS for GeoBlock...Configured completed...\033[0m\n"
|
||||
printf "\033[32;1mByPass block for Method 5: zapret + ComssDNS for GeoBlock...Configured completed...\033[0m\n"
|
||||
exit 1
|
||||
;;
|
||||
6)
|
||||
nameFileReplacePodkop="podkopNewWARP"
|
||||
printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock'...\033[0m\n"
|
||||
printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock' and 'zapret'...\033[0m\n"
|
||||
manage_package "youtubeUnblock" "disable" "stop"
|
||||
manage_package "ruantiblock" "disable" "stop"
|
||||
manage_package "zapret" "disable" "stop"
|
||||
byPassGeoBlockComssDNS
|
||||
messageComplete="ByPass block for Method 6: AWG WARP + ComssDNS for GeoBlock...Configured completed..."
|
||||
;;
|
||||
7)
|
||||
nameFileReplacePodkop="podkopNewWARPNoYoutube"
|
||||
printf "\033[32;1mStop and disabled service 'ruantiblock'...\033[0m\n"
|
||||
printf "\033[32;1mStop and disabled service 'ruantiblock' and 'youtubeUnblock'...\033[0m\n"
|
||||
manage_package "ruantiblock" "disable" "stop"
|
||||
wget -O "/etc/config/youtubeUnblock" "$URL/config_files/youtubeUnblockSecond"
|
||||
service youtubeUnblock restart
|
||||
manage_package "youtubeUnblock" "disable" "stop"
|
||||
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
|
||||
messageComplete="ByPass block for Method 7: AWG WARP + youtubeUnblock + ComssDNS for GeoBlock...Configured completed..."
|
||||
messageComplete="ByPass block for Method 7: AWG WARP + zapret + ComssDNS for GeoBlock...Configured completed..."
|
||||
;;
|
||||
8)
|
||||
printf "\033[32;1mTry custom settings router to bypass the locks... Recomendation buy 'VPS' and up 'vless'\033[0m\n"
|
||||
@@ -1005,7 +1265,7 @@ case $varByPass in
|
||||
esac
|
||||
|
||||
PACKAGE="podkop"
|
||||
REQUIRED_VERSION="0.4.6-r1"
|
||||
REQUIRED_VERSION="v0.6.2-r1"
|
||||
|
||||
INSTALLED_VERSION=$(opkg list-installed | grep "^$PACKAGE" | cut -d ' ' -f 3)
|
||||
if [ -n "$INSTALLED_VERSION" ] && [ "$INSTALLED_VERSION" != "$REQUIRED_VERSION" ]; then
|
||||
@@ -1031,9 +1291,9 @@ else
|
||||
if [ "$is_install_podkop" = "y" ] || [ "$is_install_podkop" = "Y" ]; then
|
||||
DOWNLOAD_DIR="/tmp/podkop"
|
||||
mkdir -p "$DOWNLOAD_DIR"
|
||||
podkop_files="podkop_0.4.6-r1_all.ipk
|
||||
luci-app-podkop_0.4.6-r1_all.ipk
|
||||
luci-i18n-podkop-ru_0.4.6.ipk"
|
||||
podkop_files="podkop-v0.6.2-r1-all.ipk
|
||||
luci-app-podkop-v0.6.2-r1-all.ipk
|
||||
luci-i18n-podkop-ru-0.6.2.ipk"
|
||||
for file in $podkop_files
|
||||
do
|
||||
echo "Download $file..."
|
||||
|
||||
Reference in New Issue
Block a user