Files
Telegraph-Images/getconfig.sh
T

149 lines
3.8 KiB
Bash
Raw Normal View History

2025-03-18 18:21:41 +03:00
#!/bin/sh
echo ""
echo ""
echo ""
echo ""
echo ""
echo "-----------------------------------"
echo -e "\e[32mRouter OfficialVPN update (do not turn off the power)\e[0m"
echo "-----------------------------------"
echo ""
echo ""
echo ""
echo ""
echo ""
# 1. Обновить скрипт getdomains
cat > /etc/init.d/getdomains << EOF
#!/bin/sh /etc/rc.common
START=99
start () {
2025-04-04 16:11:43 +03:00
VPN_NOT_WOKRING=\$(sing-box -c /etc/sing-box/config.json tools fetch instagram.com 2>&1 | grep FATAL)
if [ -z "\${VPN_NOT_WOKRING}" ]
then
# WITHOUT YOUTUBE
DOMAINS=https://raw.githubusercontent.com/AnotherProksY/allow-domains-no-youtube/main/Russia/inside-dnsmasq-nfset.lst
else
# WITH YOUTUBE
DOMAINS=https://raw.githubusercontent.com/AnotherProksY/allow-domains/main/Russia/inside-dnsmasq-nfset.lst
fi
count=0
while true; do
if curl -m 3 github.com; then
2025-04-04 16:11:43 +03:00
curl -f \$DOMAINS --output /tmp/dnsmasq.d/domains.lst
break
else
2025-04-04 16:11:43 +03:00
echo "GitHub is not available. Check the internet availability [\$count]"
count=\$((count+1))
fi
done
if dnsmasq --conf-file=/tmp/dnsmasq.d/domains.lst --test 2>&1 | grep -q "syntax check OK"; then
/etc/init.d/dnsmasq restart
fi
}
EOF
# 2. Даем права на выполнение
chmod +x /etc/init.d/getdomains
# 3. Создать скрипт для автоматического получения конфига
2025-03-18 18:21:41 +03:00
cat > /etc/hotplug.d/iface/40-getvpnconfig << EOF
#!/bin/sh
sleep 10
ROUTER_MAC=\$(uci show network.@device[1].macaddr | cut -d"'" -f 2 | tr -d ':' | awk '{ print toupper(\$0) }')
SINGBOX_CONFIG_PATH='/etc/sing-box/config.json'
/etc/init.d/getdomains start
request_vpn_config() {
REQUEST_URI="https://getconfig.tgvpnbot.com/getrouterconfig?routermac=\$ROUTER_MAC"
curl \$REQUEST_URI > \$SINGBOX_CONFIG_PATH
service sing-box restart
}
if [ -e \$SINGBOX_CONFIG_PATH ]
then
SINGBOX_CONFIG_EMPTY=\$(cat \$SINGBOX_CONFIG_PATH)
if [ -z "\${SINGBOX_CONFIG_EMPTY}" ]
then
request_vpn_config
else
exit 0
fi
else
request_vpn_config
fi
EOF
# 4. Скопировать скрипт в другую директорию
2025-03-18 18:21:41 +03:00
cp /etc/hotplug.d/iface/40-getvpnconfig /etc/hotplug.d/net/
# 5. Добавить права на исполнение
2025-03-18 18:21:41 +03:00
chmod +x /etc/hotplug.d/iface/40-getvpnconfig
# 6. Обновление пакетов openwrt
opkg update
# 7. Скачиваем файлы zapret в /tmp
wget -O /tmp/zapret-core.ipk https://raw.githubusercontent.com/AnotherProksY/TelegraphImages/main/zapret-files/zapret-core.ipk
wget -O /tmp/luciapp-zapret.ipk https://raw.githubusercontent.com/AnotherProksY/TelegraphImages/main/zapret-files/luciapp-zapret.ipk
# 8. Устанавливаем файлы
if opkg install /tmp/zapret-core.ipk; then
echo "Zapret installed successfully."
else
echo "Failed to install Zapret."
exit 1
fi
if opkg install /tmp/luciapp-zapret.ipk; then
echo "LuCI app installed successfully."
else
echo "Failed to install LuCI app."
exit 1
fi
# 9. Удаляем файлы zapret из /tmp
rm /tmp/zapret-core.ipk
rm /tmp/luciapp-zapret.ipk
# 10. Удалить старый конфиг (если он есть)
2025-03-18 18:21:41 +03:00
rm -rf /etc/sing-box/config.json
# 11. Запустить скрипт 40-getvpnconfig
2025-03-18 18:21:41 +03:00
/etc/hotplug.d/iface/40-getvpnconfig
echo ""
echo ""
echo ""
echo ""
echo ""
echo "-----------------------------------"
echo -e "\e[32mOfficialVPN router has been updated! Thanks for waiting\e[0m"
echo "-----------------------------------"
echo ""
echo ""
echo ""
echo ""
echo ""
echo "-----------------------------------"
echo -e "\e[32mThe router will reboot\e[0m"
echo "-----------------------------------"
echo ""
echo ""
echo ""
echo ""
echo ""
reboot