diff --git a/awg_config.sh b/awg_config.sh index 7f59bde..32dbd91 100644 --- a/awg_config.sh +++ b/awg_config.sh @@ -17,14 +17,35 @@ result=$(curl 'https://warp.llimonix.pw/api/warp' \ -H 'sec-ch-ua-platform: "Windows"' \ --data-raw '{"selectedServices":[],"siteMode":"all","deviceType":"computer"}') +echo "opkg update" +opkg update + #проверяем установлени ли библиотека jq test_json=$(echo "{ }" | jq) if [ "$test_json" != "{}" ]; then echo "jq not installed" - opkg update opkg install jq fi +#проверяем установлени ли пакет dnsmasq-full +if opkg list-installed | grep -q dnsmasq-full; then + echo "dnsmasq-full already installed" +else + echo "Installed dnsmasq-full" + cd /tmp/ && opkg download dnsmasq-full + opkg remove dnsmasq && opkg install dnsmasq-full --cache /tmp/ + + [ -f /etc/config/dhcp-opkg ] && cp /etc/config/dhcp /etc/config/dhcp-old && mv /etc/config/dhcp-opkg /etc/config/dhcp +fi + +#проверяем установлени ли пакет coreutils-base64 +if opkg list-installed | grep -q coreutils-base64; then + echo "coreutils-base64 already installed" +else + echo "Installed coreutils-base64" + opkg install coreutils-base64 +fi + #парсим результат запроса конфигурации WARP content=$(echo $result | jq '.content') configBase64=$(echo $content | jq -r '.configBase64') @@ -40,6 +61,7 @@ while IFS=' = ' read -r line; do fi done < <(echo "$warp_config") +#вытаскиваем нужные нам данные из распарсинного ответа Address=$(echo "$Address" | cut -d',' -f1) DNS=$(echo "$DNS" | cut -d',' -f1) AllowedIPs=$(echo "$AllowedIPs" | cut -d',' -f1) @@ -47,28 +69,29 @@ EndpointIP=$(echo "$Endpoint" | cut -d':' -f1) EndpointPort=$(echo "$Endpoint" | cut -d':' -f2) #выводим результат -echo "PrivateKey: $PrivateKey" -echo "S1: $S1" -echo "S2: $S2" -echo "Jc: $Jc" -echo "Jmin: $Jmin" -echo "Jmax: $Jmax" -echo "H1: $H1" -echo "H2: $H2" -echo "H3: $H3" -echo "H4: $H4" -echo "MTU: $MTU" -echo "Address: $Address" -echo "DNS: $DNS" -echo "PublicKey: $PublicKey" -echo "AllowedIPs: $AllowedIPs" -echo "Endpoint: $Endpoint" -echo "EndpointIP: $EndpointIP" -echo "EndpointPort: $EndpointPort" +# echo "PrivateKey: $PrivateKey" +# echo "S1: $S1" +# echo "S2: $S2" +# echo "Jc: $Jc" +# echo "Jmin: $Jmin" +# echo "Jmax: $Jmax" +# echo "H1: $H1" +# echo "H2: $H2" +# echo "H3: $H3" +# echo "H4: $H4" +# echo "MTU: $MTU" +# echo "Address: $Address" +# echo "DNS: $DNS" +# echo "PublicKey: $PublicKey" +# echo "AllowedIPs: $AllowedIPs" +# echo "Endpoint: $Endpoint" +# echo "EndpointIP: $EndpointIP" +# echo "EndpointPort: $EndpointPort" +#задаём имя интерфейса INTERFACE_NAME="awg_route0" -CONFIG_NAME="amneziawg_awg_route0" +CONFIG_NAME="amnezia_route0" PROTO="amneziawg" ZONE_NAME="awg" @@ -90,6 +113,7 @@ uci set network.${INTERFACE_NAME}.mtu=$MTU if ! uci show network | grep -q ${CONFIG_NAME}; then uci add network ${CONFIG_NAME} + echo "add awg0" fi uci set network.@${CONFIG_NAME}[0]=$CONFIG_NAME @@ -127,9 +151,40 @@ if ! uci show firewall | grep -q "@forwarding.*name='${ZONE_NAME}'"; then uci commit firewall fi + +printf "\033[32;1mInstall and configure PODKOP (a tool for point routing of traffic)?? (y/n): \033[0m\n" +read is_install_podkop + +if [ "$is_install_podkop" = "y" ] || [ "$is_install_podkop" = "Y" ]; then + DOWNLOAD_DIR="/tmp/podkop" + mkdir -p "$DOWNLOAD_DIR" + REPO="https://api.github.com/repos/itdoginfo/podkop/releases/tags/v0.2.5" + wget -qO- "$REPO" | grep -o 'https://[^"]*\.ipk' | while read -r url; do + filename=$(basename "$url") + echo "Download $filename..." + wget -q -O "$DOWNLOAD_DIR/$filename" "$url" + done + opkg install $DOWNLOAD_DIR/podkop*.ipk + 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 + + uci set podkop.main.mode='vpn' + uci set podkop.main.interface="$INTERFACE_NAME" + uci set podkop.main.domain_list_enabled='1' + uci set podkop.main.domain_list='ru_inside' + uci set podkop.main.delist_domains_enabled='0' + uci add_list podkop.main.subnets='meta' + uci add_list podkop.main.subnets='twitter' + uci add_list podkop.main.subnets='discord' + uci commit podkop +fi + + +echo "Stop and disabled service 'youtubeUnblock'..." +service youtubeUnblock stop +service youtubeUnblock disable + +echo "Configured completed...\nRestart network..." service firewall restart service network restart - - -#opkg remove luci-app-podkop podkop luci-i18n-podkop-ru -#wget --no-check-certificate -O /tmp/autoinstall.sh https://raw.githubusercontent.com/CodeRoK7/podkop-v0.2.5/refs/heads/main/install.sh && chmod +x /tmp/autoinstall.sh && printf '%s\n' 2 2 Y Y Y | /tmp/autoinstall.sh \ No newline at end of file