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,60 +449,71 @@ 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
if [ "$is_manual_input_parameters" = "y" ] || [ "$is_manual_input_parameters" = "Y" ]
then
read -r -p "Enter the private key (from [Interface]):"$'\n' PrivateKey
read -r -p "Enter S1 value (from [Interface]):"$'\n' S1
read -r -p "Enter S2 value (from [Interface]):"$'\n' S2
read -r -p "Enter Jc value (from [Interface]):"$'\n' Jc
read -r -p "Enter Jmin value (from [Interface]):"$'\n' Jmin
read -r -p "Enter Jmax value (from [Interface]):"$'\n' Jmax
read -r -p "Enter H1 value (from [Interface]):"$'\n' H1
read -r -p "Enter H2 value (from [Interface]):"$'\n' H2
read -r -p "Enter H3 value (from [Interface]):"$'\n' H3
read -r -p "Enter H4 value (from [Interface]):"$'\n' H4
while true; do
read -r -p "Enter internal IP address with subnet, example 192.168.100.5/24 (from [Interface]):"$'\n' Address
if echo "$Address" | egrep -oq '^([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]+)?$'; then
break
else
echo "This IP is not valid. Please repeat"
fi
done
read -r -p "Enter the public key (from [Peer]):"$'\n' PublicKey
read -r -p "Enter Endpoint host without port (Domain or IP) (from [Peer]):"$'\n' EndpointIP
read -r -p "Enter Endpoint host port (from [Peer]) [51820]:"$'\n' EndpointPort
DNS="1.1.1.1"
MTU=1280
AllowedIPs="0.0.0.0/0"
else
warp_config="Error"
printf "\033[32;1mRequest WARP config... Attempt #1\033[0m\n"
result=$(requestConfWARP1)
warpGen=$(check_request "$result" 1)
if [ "$warpGen" = "Error" ]
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
printf "\033[32;1mRequest WARP config... Attempt #2\033[0m\n"
result=$(requestConfWARP2)
warpGen=$(check_request "$result" 2)
read -r -p "Enter the private key (from [Interface]):"$'\n' PrivateKey
read -r -p "Enter S1 value (from [Interface]):"$'\n' S1
read -r -p "Enter S2 value (from [Interface]):"$'\n' S2
read -r -p "Enter Jc value (from [Interface]):"$'\n' Jc
read -r -p "Enter Jmin value (from [Interface]):"$'\n' Jmin
read -r -p "Enter Jmax value (from [Interface]):"$'\n' Jmax
read -r -p "Enter H1 value (from [Interface]):"$'\n' H1
read -r -p "Enter H2 value (from [Interface]):"$'\n' H2
read -r -p "Enter H3 value (from [Interface]):"$'\n' H3
read -r -p "Enter H4 value (from [Interface]):"$'\n' H4
while true; do
read -r -p "Enter internal IP address with subnet, example 192.168.100.5/24 (from [Interface]):"$'\n' Address
if echo "$Address" | egrep -oq '^([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]+)?$'; then
break
else
echo "This IP is not valid. Please repeat"
fi
done
read -r -p "Enter the public key (from [Peer]):"$'\n' PublicKey
read -r -p "Enter Endpoint host without port (Domain or IP) (from [Peer]):"$'\n' EndpointIP
read -r -p "Enter Endpoint host port (from [Peer]) [51820]:"$'\n' EndpointPort
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"
result=$(requestConfWARP1)
warpGen=$(check_request "$result" 1)
if [ "$warpGen" = "Error" ]
then
printf "\033[32;1mRequest WARP config... Attempt #3\033[0m\n"
result=$(requestConfWARP3)
warpGen=$(check_request "$result" 3)
printf "\033[32;1mRequest WARP config... Attempt #2\033[0m\n"
result=$(requestConfWARP2)
warpGen=$(check_request "$result" 2)
if [ "$warpGen" = "Error" ]
then
printf "\033[32;1mRequest WARP config... Attempt #4\033[0m\n"
result=$(requestConfWARP4)
warpGen=$(check_request "$result" 4)
printf "\033[32;1mRequest WARP config... Attempt #3\033[0m\n"
result=$(requestConfWARP3)
warpGen=$(check_request "$result" 3)
if [ "$warpGen" = "Error" ]
then
warp_config="Error"
printf "\033[32;1mRequest WARP config... Attempt #4\033[0m\n"
result=$(requestConfWARP4)
warpGen=$(check_request "$result" 4)
if [ "$warpGen" = "Error" ]
then
warp_config="Error"
else
warp_config=$warpGen
fi
else
warp_config=$warpGen
fi
@@ -428,114 +523,173 @@ else
else
warp_config=$warpGen
fi
else
warp_config=$warpGen
if [ "$warp_config" = "Error" ]
then
printf "\033[32;1mGenerate config AWG WARP failed...Try again later...\033[0m\n"
$isExit=2
#exit 1
else
while IFS=' = ' read -r line; do
if echo "$line" | grep -q "="; then
# Разделяем строку по первому вхождению "="
key=$(echo "$line" | cut -d'=' -f1 | xargs) # Убираем пробелы
value=$(echo "$line" | cut -d'=' -f2- | xargs) # Убираем пробелы
#echo "key = $key, value = $value"
eval "$key=\"$value\""
fi
done < <(echo "$warp_config")
#вытаскиваем нужные нам данные из распарсинного ответа
Address=$(echo "$Address" | cut -d',' -f1)
DNS=$(echo "$DNS" | cut -d',' -f1)
AllowedIPs=$(echo "$AllowedIPs" | cut -d',' -f1)
EndpointIP=$(echo "$Endpoint" | cut -d':' -f1)
EndpointPort=$(echo "$Endpoint" | cut -d':' -f2)
fi
fi
if [ "$warp_config" = "Error" ]
if [ "$isExit" = "2" ]
then
printf "\033[32;1mGenerate config AWG WARP failed...Try again later...\033[0m\n"
exit 1
$isExit=0
else
while IFS=' = ' read -r line; do
if echo "$line" | grep -q "="; then
# Разделяем строку по первому вхождению "="
key=$(echo "$line" | cut -d'=' -f1 | xargs) # Убираем пробелы
value=$(echo "$line" | cut -d'=' -f2- | xargs) # Убираем пробелы
#echo "key = $key, value = $value"
eval "$key=\"$value\""
fi
done < <(echo "$warp_config")
printf "\033[32;1mCreate and configure tunnel AmneziaWG WARP...\033[0m\n"
#вытаскиваем нужные нам данные из распарсинного ответа
Address=$(echo "$Address" | cut -d',' -f1)
DNS=$(echo "$DNS" | cut -d',' -f1)
AllowedIPs=$(echo "$AllowedIPs" | cut -d',' -f1)
EndpointIP=$(echo "$Endpoint" | cut -d':' -f1)
EndpointPort=$(echo "$Endpoint" | cut -d':' -f2)
#задаём имя интерфейса
INTERFACE_NAME="awg10"
CONFIG_NAME="amneziawg_awg10"
PROTO="amneziawg"
ZONE_NAME="awg"
uci set network.${INTERFACE_NAME}=interface
uci set network.${INTERFACE_NAME}.proto=$PROTO
if ! uci show network | grep -q ${CONFIG_NAME}; then
uci add network ${CONFIG_NAME}
fi
uci set network.${INTERFACE_NAME}.private_key=$PrivateKey
uci add_list network.${INTERFACE_NAME}.addresses=$Address
uci set network.${INTERFACE_NAME}.mtu=$MTU
uci set network.${INTERFACE_NAME}.awg_jc=$Jc
uci set network.${INTERFACE_NAME}.awg_jmin=$Jmin
uci set network.${INTERFACE_NAME}.awg_jmax=$Jmax
uci set network.${INTERFACE_NAME}.awg_s1=$S1
uci set network.${INTERFACE_NAME}.awg_s2=$S2
uci set network.${INTERFACE_NAME}.awg_h1=$H1
uci set network.${INTERFACE_NAME}.awg_h2=$H2
uci set network.${INTERFACE_NAME}.awg_h3=$H3
uci set network.${INTERFACE_NAME}.awg_h4=$H4
uci set network.${INTERFACE_NAME}.nohostroute='1'
uci set network.@${CONFIG_NAME}[-1].description="${INTERFACE_NAME}_peer"
uci set network.@${CONFIG_NAME}[-1].public_key=$PublicKey
uci set network.@${CONFIG_NAME}[-1].endpoint_host=$EndpointIP
uci set network.@${CONFIG_NAME}[-1].endpoint_port=$EndpointPort
uci set network.@${CONFIG_NAME}[-1].persistent_keepalive='25'
uci set network.@${CONFIG_NAME}[-1].allowed_ips='0.0.0.0/0'
uci set network.@${CONFIG_NAME}[-1].route_allowed_ips='0'
uci commit network
if ! uci show firewall | grep -q "@zone.*name='${ZONE_NAME}'"; then
printf "\033[32;1mZone Create\033[0m\n"
uci add firewall zone
uci set firewall.@zone[-1].name=$ZONE_NAME
uci set firewall.@zone[-1].network=$INTERFACE_NAME
uci set firewall.@zone[-1].forward='REJECT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].input='REJECT'
uci set firewall.@zone[-1].masq='1'
uci set firewall.@zone[-1].mtu_fix='1'
uci set firewall.@zone[-1].family='ipv4'
uci commit firewall
fi
if ! uci show firewall | grep -q "@forwarding.*name='${ZONE_NAME}'"; then
printf "\033[32;1mConfigured forwarding\033[0m\n"
uci add firewall forwarding
uci set firewall.@forwarding[-1]=forwarding
uci set firewall.@forwarding[-1].name="${ZONE_NAME}"
uci set firewall.@forwarding[-1].dest=${ZONE_NAME}
uci set firewall.@forwarding[-1].src='lan'
uci set firewall.@forwarding[-1].family='ipv4'
uci commit firewall
fi
# Получаем список всех зон
ZONES=$(uci show firewall | grep "zone$" | cut -d'=' -f1)
#echo $ZONES
# Циклически проходим по всем зонам
for zone in $ZONES; do
# Получаем имя зоны
CURR_ZONE_NAME=$(uci get $zone.name)
#echo $CURR_ZONE_NAME
# Проверяем, является ли это зона с именем "$ZONE_NAME"
if [ "$CURR_ZONE_NAME" = "$ZONE_NAME" ]; then
# Проверяем, существует ли интерфейс в зоне
if ! uci get $zone.network | grep -q "$INTERFACE_NAME"; then
# Добавляем интерфейс в зону
uci add_list $zone.network="$INTERFACE_NAME"
uci commit firewall
#echo "Интерфейс '$INTERFACE_NAME' добавлен в зону '$ZONE_NAME'"
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
printf "\033[32;1mCreate and configure tunnel AmneziaWG WARP...\033[0m\n"
#задаём имя интерфейса
INTERFACE_NAME="awg10"
CONFIG_NAME="amneziawg_awg10"
PROTO="amneziawg"
ZONE_NAME="awg"
uci set network.${INTERFACE_NAME}=interface
uci set network.${INTERFACE_NAME}.proto=$PROTO
if ! uci show network | grep -q ${CONFIG_NAME}; then
uci add network ${CONFIG_NAME}
fi
uci set network.${INTERFACE_NAME}.private_key=$PrivateKey
uci add_list network.${INTERFACE_NAME}.addresses=$Address
uci set network.${INTERFACE_NAME}.mtu=$MTU
uci set network.${INTERFACE_NAME}.awg_jc=$Jc
uci set network.${INTERFACE_NAME}.awg_jmin=$Jmin
uci set network.${INTERFACE_NAME}.awg_jmax=$Jmax
uci set network.${INTERFACE_NAME}.awg_s1=$S1
uci set network.${INTERFACE_NAME}.awg_s2=$S2
uci set network.${INTERFACE_NAME}.awg_h1=$H1
uci set network.${INTERFACE_NAME}.awg_h2=$H2
uci set network.${INTERFACE_NAME}.awg_h3=$H3
uci set network.${INTERFACE_NAME}.awg_h4=$H4
uci set network.${INTERFACE_NAME}.nohostroute='1'
uci set network.@${CONFIG_NAME}[-1].description="${INTERFACE_NAME}_peer"
uci set network.@${CONFIG_NAME}[-1].public_key=$PublicKey
uci set network.@${CONFIG_NAME}[-1].endpoint_host=$EndpointIP
uci set network.@${CONFIG_NAME}[-1].endpoint_port=$EndpointPort
uci set network.@${CONFIG_NAME}[-1].persistent_keepalive='25'
uci set network.@${CONFIG_NAME}[-1].allowed_ips='0.0.0.0/0'
uci set network.@${CONFIG_NAME}[-1].route_allowed_ips='0'
uci commit network
if ! uci show firewall | grep -q "@zone.*name='${ZONE_NAME}'"; then
printf "\033[32;1mZone Create\033[0m\n"
uci add firewall zone
uci set firewall.@zone[-1].name=$ZONE_NAME
uci set firewall.@zone[-1].network=$INTERFACE_NAME
uci set firewall.@zone[-1].forward='REJECT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].input='REJECT'
uci set firewall.@zone[-1].masq='1'
uci set firewall.@zone[-1].mtu_fix='1'
uci set firewall.@zone[-1].family='ipv4'
uci commit firewall
fi
if ! uci show firewall | grep -q "@forwarding.*name='${ZONE_NAME}'"; then
printf "\033[32;1mConfigured forwarding\033[0m\n"
uci add firewall forwarding
uci set firewall.@forwarding[-1]=forwarding
uci set firewall.@forwarding[-1].name="${ZONE_NAME}"
uci set firewall.@forwarding[-1].dest=${ZONE_NAME}
uci set firewall.@forwarding[-1].src='lan'
uci set firewall.@forwarding[-1].family='ipv4'
uci commit firewall
fi
# Получаем список всех зон
ZONES=$(uci show firewall | grep "zone$" | cut -d'=' -f1)
#echo $ZONES
# Циклически проходим по всем зонам
for zone in $ZONES; do
# Получаем имя зоны
CURR_ZONE_NAME=$(uci get $zone.name)
#echo $CURR_ZONE_NAME
# Проверяем, является ли это зона с именем "$ZONE_NAME"
if [ "$CURR_ZONE_NAME" = "$ZONE_NAME" ]; then
# Проверяем, существует ли интерфейс в зоне
if ! uci get $zone.network | grep -q "$INTERFACE_NAME"; then
# Добавляем интерфейс в зону
uci add_list $zone.network="$INTERFACE_NAME"
uci commit firewall
#echo "Интерфейс '$INTERFACE_NAME' добавлен в зону '$ZONE_NAME'"
fi
fi
done
nameRule="option name 'Block_UDP_443'"
str=$(grep -i "$nameRule" /etc/config/firewall)
if [ -z "$str" ]
@@ -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'