Check variant bypass

This commit is contained in:
CodeRoK7
2025-04-02 12:27:06 +00:00
parent 34a7d35cb9
commit a3016c2374
4 changed files with 551 additions and 158 deletions

View File

@@ -281,6 +281,89 @@ checkAndAddDomainPermanentName()
fi
}
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/"
PACK_NAME="youtubeUnblock"
AWG_DIR="/tmp/$PACK_NAME"
mkdir -p "$AWG_DIR"
if opkg list-installed | grep -q $PACK_NAME; then
echo "$PACK_NAME already installed"
else
# Список пакетов, которые нужно проверить и установить/обновить
PACKAGES="kmod-nfnetlink-queue kmod-nft-queue kmod-nf-conntrack"
for pkg in $PACKAGES; do
# Проверяем, установлен ли пакет
if opkg list-installed | grep -q "^$pkg "; then
echo "$pkg already installed"
else
echo "$pkg not installed. Instal..."
opkg install $pkg
if [ $? -eq 0 ]; then
echo "$pkg file installing successfully"
else
echo "Error installing $pkg Please, install $pkg manually and run the script again"
exit 1
fi
fi
done
YOUTUBEUNBLOCK_FILENAME="youtubeUnblock-1.0.0-10-f37c3dd-${PKGARCH}-openwrt-23.05.ipk"
DOWNLOAD_URL="${BASE_URL}${YOUTUBEUNBLOCK_FILENAME}"
echo $DOWNLOAD_URL
wget -O "$AWG_DIR/$YOUTUBEUNBLOCK_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/$YOUTUBEUNBLOCK_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
PACK_NAME="luci-app-youtubeUnblock"
if opkg list-installed | grep -q $PACK_NAME; then
echo "$PACK_NAME already installed"
else
PACK_NAME="luci-app-youtubeUnblock"
YOUTUBEUNBLOCK_FILENAME="luci-app-youtubeUnblock-1.0.0-10-f37c3dd.ipk"
DOWNLOAD_URL="${BASE_URL}${YOUTUBEUNBLOCK_FILENAME}"
echo $DOWNLOAD_URL
wget -O "$AWG_DIR/$YOUTUBEUNBLOCK_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/$YOUTUBEUNBLOCK_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
rm -rf "$AWG_DIR"
}
echo "Update list packages..."
opkg update
@@ -317,8 +400,9 @@ DIR_BACKUP="/root/backup2"
config_files="network
firewall
https-dns-proxy
youtubeUnblock
dhcp"
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/main"
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta"
checkPackageAndInstall "https-dns-proxy" "0"
@@ -365,8 +449,15 @@ uci set sing-box.main.user='root'
uci commit sing-box
printf "\033[32;1mAutomatic generate config AmneziaWG WARP (n) or manual input parameters for AmneziaWG (y)...\033[0m\n"
countRepeatAWGGen=0
echo "Input manual parameters AmneziaWG? (y/n): "
read is_manual_input_parameters
currIter=0
isExit=0
while [ $currIter -lt $countRepeatAWGGen ] && [ "$isExit" = "0" ]
do
currIter=$(( $currIter + 1 ))
printf "\033[32;1mCreate and Check AWG WARP... Attempt #$currIter... Please wait...\033[0m\n"
if [ "$is_manual_input_parameters" = "y" ] || [ "$is_manual_input_parameters" = "Y" ]
then
read -r -p "Enter the private key (from [Interface]):"$'\n' PrivateKey
@@ -396,6 +487,7 @@ then
DNS="1.1.1.1"
MTU=1280
AllowedIPs="0.0.0.0/0"
$isExit=1
else
warp_config="Error"
printf "\033[32;1mRequest WARP config... Attempt #1\033[0m\n"
@@ -435,7 +527,8 @@ else
if [ "$warp_config" = "Error" ]
then
printf "\033[32;1mGenerate config AWG WARP failed...Try again later...\033[0m\n"
exit 1
$isExit=2
#exit 1
else
while IFS=' = ' read -r line; do
if echo "$line" | grep -q "="; then
@@ -456,6 +549,10 @@ else
fi
fi
if [ "$isExit" = "2" ]
then
$isExit=0
else
printf "\033[32;1mCreate and configure tunnel AmneziaWG WARP...\033[0m\n"
#задаём имя интерфейса
@@ -535,6 +632,63 @@ for zone in $ZONES; do
fi
fi
done
if [ "$currIter" = "1" ]
then
service firewall restart
fi
#service firewall restart
#service network restart
# Отключаем интерфейс
ifdown $INTERFACE_NAME
# Ждем несколько секунд (по желанию)
sleep 2
# Включаем интерфейс
ifup $INTERFACE_NAME
curl -f --connect-to ::speedtest.selectel.ru https://manifest.googlevideo.com/100MB -k -o /dev/null --interface $INTERFACE_NAME
# Проверяем код выхода
if [ $? -eq 0 ]; then
isExit=1
else
isExit=0
fi
fi
done
varByPass=0
if [ "$isExit" = "1" ]
then
printf "\033[32;1mAWG WARP well work...\033[0m\n"
varByPass=1
else
printf "\033[32;1mAWG WARP not work...Try work youtubeunblock...Please wait...\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
curl -f -o /dev/null -k --connect-to ::google.com -L -H "Host: mirror.gcr.io" --max-time 360 https://test.googlevideo.com/v2/cimg/android/blobs/sha256:6fd8bdac3da660bde7bd0b6f2b6a46e1b686afb74b9a4614def32532b73f5eaa
# Проверяем код выхода
if [ $? -eq 0 ]; then
printf "\033[32;1myoutubeUnblock well work...\033[0m\n"
varByPass=2
else
manage_package "youtubeUnblock" "disable" "stop"
printf "\033[32;1myoutubeUnblock not work...Try opera proxy...\033[0m\n"
sing-box tools fetch ifconfig.co -D /etc/sing-box/
if [ $? -eq 0 ]; then
printf "\033[32;1mOpera proxy well work...\033[0m\n"
varByPass=3
else
printf "\033[32;1mOpera proxy not work...Try custom settings router to bypass the locks...\033[0m\n"
exit 1
fi
fi
fi
nameRule="option name 'Block_UDP_443'"
str=$(grep -i "$nameRule" /etc/config/firewall)
@@ -565,7 +719,29 @@ 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/main"
URL="https://raw.githubusercontent.com/routerich/RouterichAX3000_configs/refs/heads/beta"
case $varByPass in
1)
nameFileReplacePodkop="podkop"
printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock'...\033[0m\n"
manage_package "youtubeUnblock" "disable" "stop"
manage_package "ruantiblock" "disable" "stop"
;;
2)
nameFileReplacePodkop="podkopSecond"
printf "\033[32;1mStop and disabled service 'ruantiblock'...\033[0m\n"
manage_package "ruantiblock" "disable" "stop"
;;
3)
nameFileReplacePodkop="podkopSecondYoutube"
printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock'...\033[0m\n"
manage_package "youtubeUnblock" "disable" "stop"
manage_package "ruantiblock" "disable" "stop"
;;
*)
nameFileReplacePodkop="podkop"
esac
if [ -f "/etc/init.d/podkop" ]; then
printf "Podkop installed. Reconfigured on AWG WARP and Opera Proxy? (y/n): \n"
@@ -573,7 +749,7 @@ if [ -f "/etc/init.d/podkop" ]; then
read is_reconfig_podkop
if [ "$is_reconfig_podkop" = "y" ] || [ "$is_reconfig_podkop" = "Y" ]; then
cp -f "$path_podkop_config" "$path_podkop_config_backup"
wget -O "$path_podkop_config" "$URL/config_files/podkop"
wget -O "$path_podkop_config" "$URL/config_files/$nameFileReplacePodkop"
echo "Backup of your config in path '$path_podkop_config_backup'"
echo "Podkop reconfigured..."
fi
@@ -597,15 +773,11 @@ else
opkg install $DOWNLOAD_DIR/luci-app-podkop*.ipk
opkg install $DOWNLOAD_DIR/luci-i18n-podkop-ru*.ipk
rm -f $DOWNLOAD_DIR/podkop*.ipk $DOWNLOAD_DIR/luci-app-podkop*.ipk $DOWNLOAD_DIR/luci-i18n-podkop-ru*.ipk
wget -O "$path_podkop_config" "$URL/config_files/podkop"
wget -O "$path_podkop_config" "$URL/config_files/$nameFileReplacePodkop"
echo "Podkop installed.."
fi
fi
printf "\033[32;1mStop and disabled service 'youtubeUnblock' and 'ruantiblock'...\033[0m\n"
manage_package "youtubeUnblock" "disable" "stop"
manage_package "ruantiblock" "disable" "stop"
printf "\033[32;1mStart and enable service 'https-dns-proxy'...\033[0m\n"
manage_package "https-dns-proxy" "enable" "start"
@@ -617,16 +789,16 @@ then
rm -f "/etc/crontabs/temp"
fi
printf "\033[32;1mRestart firewall and network...\033[0m\n"
service firewall restart
#printf "\033[32;1mRestart firewall and network...\033[0m\n"
#service firewall restart
#service network restart
# Отключаем интерфейс
ifdown $INTERFACE_NAME
#ifdown $INTERFACE_NAME
# Ждем несколько секунд (по желанию)
sleep 2
#sleep 2
# Включаем интерфейс
ifup $INTERFACE_NAME
#ifup $INTERFACE_NAME
printf "\033[32;1mService Podkop and Sing-Box restart...\033[0m\n"
service sing-box enable

71
config_files/podkopSecond Normal file
View File

@@ -0,0 +1,71 @@
config main 'main'
option mode 'proxy'
option proxy_config_type 'outbound'
option domain_list_enabled '0'
option subnets_list_enabled '1'
option custom_domains_list_enabled 'dynamic'
option custom_subnets_list_enabled 'disabled'
option all_traffic_from_ip_enabled '0'
option custom_download_domains_list_enabled '0'
option custom_download_subnets_list_enabled '0'
option exclude_from_ip_enabled '0'
option update_interval '0 4 * * *'
option custom_local_domains_list_enabled '0'
option outbound_json '{
"type": "http",
"server": "127.0.0.1",
"server_port": 18080
}'
list subnets 'meta'
list subnets 'twitter'
list custom_domains '2ip.ru'
list custom_domains 'rutracker.org'
list custom_domains 'rutor.info'
list custom_domains 'nnmclub.to'
list custom_domains 'rutracker.net'
list custom_domains 'lostfilm.tv'
list custom_domains 'animego.org'
list custom_domains 'jut.su'
list custom_domains 'anilibria.tv'
list custom_domains 'chatgpt.com'
list custom_domains 'oaistatic.com'
list custom_domains 'oaiusercontent.com'
list custom_domains 'openai.com'
list custom_domains 'microsoft.com'
list custom_domains 'windowsupdate.com'
list custom_domains 'bing.com'
list custom_domains 'supercell.com'
list custom_domains 'seeurlpcl.com'
list custom_domains 'supercellid.com'
list custom_domains 'supercellgames.com'
list custom_domains 'clashroyale.com'
list custom_domains 'brawlstars.com'
list custom_domains 'clash.com'
list custom_domains 'clashofclans.com'
list custom_domains 'x.ai'
list custom_domains 'grok.com'
list custom_domains 'gitgub.com'
list custom_domains 'searchgpt.com'
list custom_domains 'xboxlive.com'
list custom_domains 'gamepass.com'
list custom_domains 'xboxab.com'
list custom_domains 'xboxservices.com'
list custom_domains 'myip.com'
list custom_domains '4pda.to'
list custom_domains 'habr.com'
config second 'second'
option second_enable '0'
option domain_list_enabled '0'
list domains 'youtube'
option second_mode 'proxy'
option second_proxy_config_type 'outbound'
option second_outbound_json '{
"type": "http",
"server": "127.0.0.1",
"server_port": 18080
}'
option second_domain_service_enabled '0'
option second_custom_domains_list_enabled 'dynamic'
option second_custom_subnets_list_enabled 'disabled'

View File

@@ -0,0 +1,82 @@
config main 'main'
option mode 'proxy'
option proxy_config_type 'outbound'
option domain_list_enabled '0'
option subnets_list_enabled '1'
option custom_domains_list_enabled 'dynamic'
option custom_subnets_list_enabled 'disabled'
option all_traffic_from_ip_enabled '0'
option custom_download_domains_list_enabled '0'
option custom_download_subnets_list_enabled '0'
option exclude_from_ip_enabled '0'
option update_interval '0 4 * * *'
option custom_local_domains_list_enabled '0'
option outbound_json '{
"type": "http",
"server": "127.0.0.1",
"server_port": 18080
}'
list subnets 'meta'
list subnets 'twitter'
list subnets 'discord'
list custom_domains '2ip.ru'
list custom_domains 'googlevideo.com'
list custom_domains 'ggpht.com'
list custom_domains 'ytimg.com'
list custom_domains 'youtube.com'
list custom_domains 'play.google.com'
list custom_domains 'youtu.be'
list custom_domains 'googleapis.com'
list custom_domains 'googleusercontent.com'
list custom_domains 'gstatic.com'
list custom_domains 'l.google.com'
list custom_domains 'rutracker.org'
list custom_domains 'rutor.info'
list custom_domains 'nnmclub.to'
list custom_domains 'rutracker.net'
list custom_domains 'lostfilm.tv'
list custom_domains 'animego.org'
list custom_domains 'jut.su'
list custom_domains 'anilibria.tv'
list custom_domains 'chatgpt.com'
list custom_domains 'oaistatic.com'
list custom_domains 'oaiusercontent.com'
list custom_domains 'openai.com'
list custom_domains 'microsoft.com'
list custom_domains 'windowsupdate.com'
list custom_domains 'bing.com'
list custom_domains 'supercell.com'
list custom_domains 'seeurlpcl.com'
list custom_domains 'supercellid.com'
list custom_domains 'supercellgames.com'
list custom_domains 'clashroyale.com'
list custom_domains 'brawlstars.com'
list custom_domains 'clash.com'
list custom_domains 'clashofclans.com'
list custom_domains 'x.ai'
list custom_domains 'grok.com'
list custom_domains 'gitgub.com'
list custom_domains 'searchgpt.com'
list custom_domains 'xboxlive.com'
list custom_domains 'gamepass.com'
list custom_domains 'xboxab.com'
list custom_domains 'xboxservices.com'
list custom_domains 'myip.com'
list custom_domains '4pda.to'
list custom_domains 'habr.com'
config second 'second'
option second_enable '0'
option domain_list_enabled '0'
list domains 'youtube'
option second_mode 'proxy'
option second_proxy_config_type 'outbound'
option second_outbound_json '{
"type": "http",
"server": "127.0.0.1",
"server_port": 18080
}'
option second_domain_service_enabled '0'
option second_custom_domains_list_enabled 'dynamic'
option second_custom_subnets_list_enabled 'disabled'

View File

@@ -0,0 +1,68 @@
config youtubeUnblock 'youtubeUnblock'
option conf_strat 'ui_flags'
option packet_mark '32768'
option queue_num '537'
option silent '1'
option no_ipv6 '1'
config section
option name 'Youtube'
option enabled '1'
option tls_enabled '1'
option fake_sni '1'
option faking_strategy 'pastseq'
option fake_sni_seq_len '1'
option fake_sni_type 'default'
option frag 'tcp'
option frag_sni_reverse '1'
option frag_sni_faked '0'
option frag_middle_sni '1'
option frag_sni_pos '1'
option seg2delay '0'
option fk_winsize '0'
option synfake '0'
option sni_detection 'parse'
option all_domains '0'
list sni_domains 'googlevideo.com'
list sni_domains 'ggpht.com'
list sni_domains 'ytimg.com'
list sni_domains 'youtube.com'
list sni_domains 'play.google.com'
list sni_domains 'youtu.be'
list sni_domains 'googleapis.com'
list sni_domains 'googleusercontent.com'
list sni_domains 'gstatic.com'
list sni_domains 'l.google.com'
option quic_drop '1'
config section
option name 'Discord'
option tls_enabled '1'
option fake_sni '1'
option faking_strategy 'pastseq'
option fake_sni_seq_len '1'
option fake_sni_type 'default'
option frag 'tcp'
option frag_sni_reverse '1'
option frag_sni_faked '0'
option frag_middle_sni '1'
option frag_sni_pos '1'
option seg2delay '0'
option fk_winsize '0'
option synfake '0'
option all_domains '0'
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'
list udp_dport_filter '50000-50100 '
option udp_filter_quic 'disabled'
option enabled '1'
list sni_domains 'discord.com'
list sni_domains 'discordapp.com'
list sni_domains 'discord.gg'
list sni_domains 'discordapp.net'
list sni_domains 'discord.media'