From 3c1b041b52a0da18d9937d53a492d7dc6a625b69 Mon Sep 17 00:00:00 2001 From: itdoginfo Date: Thu, 1 May 2025 22:52:41 +0300 Subject: [PATCH] Edited text from #96 --- .../resources/view/podkop/podkop.js | 6 +-- podkop/files/usr/bin/podkop | 50 +++++++++---------- 2 files changed, 27 insertions(+), 29 deletions(-) diff --git a/luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js b/luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js index 66af555..cb7864c 100644 --- a/luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js +++ b/luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js @@ -1463,7 +1463,7 @@ return view.extend({ bypassStatus: null }; - // Выполняем все проверки независимо друг от друга + // Perform all checks independently of each other const checks = [ safeExec('/usr/bin/podkop', ['get_status']) .then(result => results.podkopStatus = result) @@ -1509,7 +1509,7 @@ return view.extend({ .catch(() => results.bypassStatus = { state: 'error', message: 'check error', color: STATUS_COLORS.WARNING }) ]; - // Ждем завершения всех проверок + // Waiting for all the checks to be completed await Promise.allSettled(checks); const container = document.getElementById('diagnostics-status'); @@ -1558,7 +1558,7 @@ return view.extend({ container.innerHTML = ''; container.appendChild(statusSection); - // Обновляем отдельные элементы статуса + // Updating individual status items const updateStatusElement = (elementId, status, template) => { const element = document.getElementById(elementId); if (element) { diff --git a/podkop/files/usr/bin/podkop b/podkop/files/usr/bin/podkop index 7283c8f..e9a8351 100755 --- a/podkop/files/usr/bin/podkop +++ b/podkop/files/usr/bin/podkop @@ -2158,27 +2158,26 @@ print_global() { } global_check() { - print_global "━━━━━━━━━━━━━━━━━━━━━━━━━━━" - print_global " ➡️ SYSTEM INFO" - print_global "📦 Podkop: $(opkg list-installed podkop | awk '{print $3}')" - print_global "📦 LuCI App: $(opkg list-installed luci-app-podkop | awk '{print $3}')" + print_global " 🛠️ System info" + print_global "🕳️ Podkop: $(opkg list-installed podkop | awk '{print $3}')" + print_global "🕳️ LuCI App: $(opkg list-installed luci-app-podkop | awk '{print $3}')" print_global "📦 Sing-box: $(sing-box version | head -n 1 | awk '{print $3}')" - print_global "🔧 OpenWrt: $(grep OPENWRT_RELEASE /etc/os-release | cut -d'"' -f2)" - print_global "💻 Device: $(cat /tmp/sysinfo/model)" + print_global "🛜 OpenWrt: $(grep OPENWRT_RELEASE /etc/os-release | cut -d'"' -f2)" + print_global "🛜 Device: $(cat /tmp/sysinfo/model)" print_global "━━━━━━━━━━━━━━━━━━━━━━━━━━━" - print_global " ➡️ CONFIGURATION" + print_global " 📄 Podkop config" show_config print_global "━━━━━━━━━━━━━━━━━━━━━━━━━━━" - print_global " ➡️ SYSTEM CHECKS" + print_global " 🔧 System check" if grep -E "^nameserver\s+([0-9]{1,3}\.){3}[0-9]{1,3}" "$RESOLV_CONF" | grep -vqE "127\.0\.0\.1|0\.0\.0\.0"; then print_global "❌ /etc/resolv.conf contains external nameserver:" cat /etc/resolv.conf echo "" else - print_global "✅ /etc/resolv.conf - OK" + print_global "✅ /etc/resolv.conf" fi cachesize="$(uci get dhcp.@dnsmasq[0].cachesize 2>/dev/null)" @@ -2186,13 +2185,13 @@ global_check() { server="$(uci get dhcp.@dnsmasq[0].server 2>/dev/null)" if [ "$cachesize" != "0" ] || [ "$noresolv" != "1" ] || [ "$server" != "127.0.0.42" ]; then - print_global "❌ DHCP configuration differs from template:" + print_global "❌ DHCP configuration differs from template. 📄 DHCP config:" awk '/^config /{p=($2=="dnsmasq")} p' /etc/config/dhcp elif [ "$(uci get podkop.main.dont_touch_dhcp 2>/dev/null)" = "1" ]; then - print_global "⚠️ dont_touch_dhcp is enabled:" + print_global "⚠️ dont_touch_dhcp is enabled. 📄 DHCP config:" awk '/^config /{p=($2=="dnsmasq")} p' /etc/config/dhcp else - print_global "✅ DHCP configuration - OK" + print_global "✅ /etc/config/dhcp" fi if ! pgrep -f "sing-box" >/dev/null; then @@ -2202,7 +2201,7 @@ global_check() { fi print_global "━━━━━━━━━━━━━━━━━━━━━━━━━━━" - print_global " ➡️ NFT RULES" + print_global " 🧱 NFT table" if ! nft list table inet PodkopTable >/dev/null 2>&1; then print_global "❌ PodkopTable not found" else @@ -2210,7 +2209,7 @@ global_check() { fi print_global "━━━━━━━━━━━━━━━━━━━━━━━━━━━" - print_global " ➡️ WAN CONFIG" + print_global " 📄 WAN config" if uci show network.wan >/dev/null 2>&1; then awk ' /^config / { @@ -2244,49 +2243,48 @@ global_check() { ip_prefix=$(echo "$host" | cut -d'.' -f1,2) if echo "$CLOUDFLARE_OCTETS" | grep -wq "$ip_prefix"; then print_global "━━━━━━━━━━━━━━━━━━━━━━━━━━━" - print_global " ➡️ WARP DETECTION" print_global "⚠️ WARP detected: $host" fi done fi print_global "━━━━━━━━━━━━━━━━━━━━━━━━━━━" - print_global " ➡️ FAKEIP ROUTER TEST" + print_global " 🔁 FakeIP" - print_global "🔍 Testing system DNS resolver..." + print_global "➡️ DNS resolution: system DNS server" nslookup -timeout=2 $TEST_DOMAIN local working_resolver=$(find_working_resolver) if [ -z "$working_resolver" ]; then print_global "❌ No working external resolver found" else - print_global "🔍 Testing external resolver ($working_resolver)..." + print_global "➡️ DNS resolution: external resolver ($working_resolver)" nslookup -timeout=2 $TEST_DOMAIN $working_resolver fi - print_global "🔍 Testing sing-box DNS server (127.0.0.42)..." + print_global "➡️ DNS resolution: sing-box DNS server (127.0.0.42)" local result=$(nslookup -timeout=2 $TEST_DOMAIN 127.0.0.42 2>&1) echo "$result" if echo "$result" | grep -q "198.18"; then print_global "✅ FakeIP is working correctly on router (198.18.x.x)" else - print_global "❌ FakeIP test failed - domain did not resolve to FakeIP range" + print_global "❌ FakeIP test failed: Domain did not resolve to FakeIP range" if ! pgrep -f "sing-box" >/dev/null; then - print_global " └─ sing-box is not running" + print_global " ❌ sing-box is not running" else - print_global " └─ sing-box is running, checking configuration..." + print_global " 🤔 sing-box is running, checking configuration" if [ -f "$SING_BOX_CONFIG" ]; then local fakeip_enabled=$(jq -r '.dns.fakeip.enabled' "$SING_BOX_CONFIG") local fakeip_range=$(jq -r '.dns.fakeip.inet4_range' "$SING_BOX_CONFIG") local dns_rules=$(jq -r '.dns.rules[] | select(.server == "fakeip-server") | .domain' "$SING_BOX_CONFIG") - print_global " ├─ FakeIP enabled: $fakeip_enabled" - print_global " ├─ FakeIP range: $fakeip_range" - print_global " └─ FakeIP domain: $dns_rules" + print_global " 📦 FakeIP enabled: $fakeip_enabled" + print_global " 📦 FakeIP range: $fakeip_range" + print_global " 📦 FakeIP domain: $dns_rules" else - print_global " └─ sing-box config file not found" + print_global " ⛔ sing-box config file not found" fi fi fi