62 Commits

Author SHA1 Message Date
CodeRoK7
6a02948b8e Add EndPoint WARP 2025-11-13 06:33:41 +00:00
CodeRoK7
638a61ae42 Fix remove packet https-dns-proxy 2025-10-26 15:31:52 +00:00
CodeRoK7
415cbbb3d2 Fix remove packet https-dns-proxy 2025-10-26 14:51:31 +00:00
CodeRoK7
dc582d7874 Add stubby config 2025-10-25 16:10:50 +00:00
CodeRoK7
f5d1099d2c Fix check work opera-proxy 2025-10-24 17:57:13 +00:00
CodeRoK7
13989b4eb2 Change domain for check sing-box 2025-10-23 06:16:06 +00:00
CodeRoK7
358f5ec528 Fix wg zapret, delete packet https-dns-proxy 2025-10-22 12:14:01 +00:00
CodeRoK7
a04a0535cc Fix zapret 2025-10-15 11:23:56 +00:00
CodeRoK7
f843526bf6 Fix install Podkop v0.6.2 2025-10-15 07:07:10 +00:00
CodeRoK7
1e33f885b4 Fix install Podkop v0.6.2 2025-10-15 06:56:15 +00:00
CodeRoK7
d652aa2839 Upgrade Podtop to v0.6.2 and used sing-box-tiny 2025-10-15 06:23:29 +00:00
CodeRoK7
04e2dd8513 Fix awg warp generator 2025-10-09 10:40:30 +00:00
Santa-Claus_16
669b212aff Delete warp6.sh 2025-10-08 21:58:23 +03:00
CodeRoK7
4f749e6500 Fix awg warp generator 2025-10-08 17:14:24 +00:00
Santa-Claus_16
d510a47c14 Update warp6.sh 2025-10-08 19:50:03 +03:00
Santa-Claus_16
7928618491 Add warp6.sh 2025-10-07 10:35:34 +03:00
CodeRoK7
fb2ff3536f fix awg warp generator 2025-10-07 04:25:22 +00:00
CodeRoK7
df5ce8f385 fix 2025-10-03 11:42:51 +00:00
CodeRoK7
3fb3ca7a16 fix 2025-10-03 11:15:34 +00:00
CodeRoK7
c4f548ae54 fix awg warp generator 2025-10-03 11:09:09 +00:00
CodeRoK7
8195d74f06 fix awg warp generator 2025-10-02 17:29:35 +00:00
CodeRoK7
32349889ae fix 2025-10-02 16:06:42 +00:00
CodeRoK7
cb656bf1ee fix awg warp generator 2025-10-02 16:04:12 +00:00
CodeRoK7
e1ee9830c5 fix awg warp generator 2025-10-02 12:25:44 +00:00
CodeRoK7
faff796c89 fix awg warp generator 2025-10-02 11:42:07 +00:00
CodeRoK7
d181c7e7a8 fix awg warp generator 2025-10-02 11:34:24 +00:00
CodeRoK7
e2a5f0fc66 fix awg warp generator 2025-10-02 11:27:21 +00:00
CodeRoK7
092926b0e2 fix awg warp generator 2025-10-02 07:26:26 +00:00
CodeRoK7
7da74fc23a Fix awg WARP generator 2025-10-01 21:23:38 +00:00
CodeRoK7
5b51933256 Fix awg warp generator 2025-10-01 21:12:18 +00:00
CodeRoK7
19ea1ac53f Return fix 2025-10-01 20:31:22 +00:00
CodeRoK7
2252f92de1 fix 2025-10-01 20:11:20 +00:00
CodeRoK7
fdb8d45f12 test 2025-10-01 19:51:16 +00:00
CodeRoK7
4e6ff78794 Fix 2025-10-01 19:39:03 +00:00
CodeRoK7
d12678e48b Fix generator AWG WARP 2025-10-01 18:48:16 +00:00
CodeRoK7
a9d4d2dfb1 Fix install sing-box 2025-09-30 19:46:50 +00:00
CodeRoK7
5a52bedc6f Fix fix 2025-09-30 19:42:11 +00:00
CodeRoK7
076d1d3442 Fix install sing-box 2025-09-30 19:38:34 +00:00
CodeRoK7
93fc581396 New Podkop, new AWG v2.0 2025-09-30 17:16:38 +00:00
CodeRoK7
d2d9430a88 On download list services of proxy 2025-09-18 10:07:50 +00:00
CodeRoK7
7242ee51a2 Updated Podkop to version 0.4.11 2025-09-17 04:09:25 +00:00
CodeRoK7
202bb5a771 Add speedtest.net and obusfaction WG 2025-09-16 19:51:51 +00:00
CodeRoK7
a66f3e288a Add check version OpenWRT 2025-09-16 12:07:34 +00:00
CodeRoK7
026b319c05 Fix hints 2025-09-16 11:59:37 +00:00
CodeRoK7
1253f60c2d Change youtubeUnblock on zapret well done 2025-09-16 11:54:58 +00:00
CodeRoK7
680d7fbdc7 Step one by Add Zapret 2025-09-16 07:29:01 +00:00
CodeRoK7
99cc4b5f84 Change url repo 2025-09-16 04:20:23 +00:00
CodeRoK7
d3bce96c88 Add new Podkop 0.4.10 install 2025-09-15 11:18:10 +00:00
CodeRoK7
e01d3a6be4 Add resolver dns in doh-proxy 2025-08-28 07:15:10 +00:00
CodeRoK7
930f6dcf2d Add new Podkop v0.4.8-r1 install 2025-08-26 16:35:00 +00:00
CodeRoK7
6d4e532dd6 Upgrade version Podkop for install 2025-08-26 06:49:18 +00:00
CodeRoK7
7fa5aa9717 Fix check version sing-box 2025-08-26 06:01:19 +00:00
CodeRoK7
67118ebc61 Fix check version sing-box 2025-08-26 05:35:44 +00:00
CodeRoK7
8432d25a20 Fix check version sing-box 2025-08-26 05:07:01 +00:00
CodeRoK7
49074bfb41 Check version sing-box and install version 1.11.15 2025-08-26 04:53:12 +00:00
CodeRoK7
c52df10834 fix 2025-08-23 18:54:26 +00:00
CodeRoK7
f5ff284f19 Fix check version firmware 2025-08-23 18:52:55 +00:00
CodeRoK7
f72be7e6c9 delete test 2025-08-22 07:08:26 +00:00
CodeRoK7
ef5fba95bf test 2025-08-22 06:38:23 +00:00
CodeRoK7
9838dba347 Add new script run_universal_config.sh and fix check youtubeUnblock 2025-08-22 06:32:51 +00:00
CodeRoK7
979a204127 Change repo url 2025-08-15 11:21:31 +00:00
CodeRoK7
99cfbb654e Fix calls WhatsApp and Telegram 2025-08-15 11:18:36 +00:00
41 changed files with 1231 additions and 311 deletions

View File

@@ -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"

View 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
View 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
View 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
}

View File

@@ -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'

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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'

View File

@@ -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
View 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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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
View 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
'

View 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

View File

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

View File

@@ -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

View File

@@ -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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

16
run_universal_config.sh Normal file
View 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

View File

@@ -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=""

View File

@@ -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..."