diff --git a/podkop/files/etc/init.d/podkop b/podkop/files/etc/init.d/podkop index c5656a9..9ca6263 100755 --- a/podkop/files/etc/init.d/podkop +++ b/podkop/files/etc/init.d/podkop @@ -19,19 +19,18 @@ start_service() { exit 1 fi - if grep -q FriendlyWrt /etc/banner; then - printf "\033[31;1mYou use FriendlyWrt. If you have problems, check out: https://t.me/itdogchat/44512/181082\033[0m\n" + if opkg list-installed | grep -q iptables-mod-extra; then + echo "Conflicting package detected: iptables-mod-extra" + fi + + if opkg list-installed | grep -q kmod-ipt-nat; then + echo "Conflicting package detected: kmod-ipt-nat" fi if grep -qE 'doh_backup_noresolv|doh_backup_server|doh_server' /etc/config/dhcp; then printf "\033[31;1mDetected https-dns-proxy. Disable or uninstall it for correct functionality.\033[0m\n" fi - if ! ip addr | grep -q "br-lan"; then - echo "Interface br-lan not found" - exit 1 - fi - if ! grep -q "search lan" "$resolv_conf" || ! grep -q "nameserver 127.0.0.1" "$resolv_conf"; then echo "/etc/resolv.conf does not contain 'search lan' or 'nameserver 127.0.0.1' entries" fi diff --git a/podkop/files/usr/bin/podkop b/podkop/files/usr/bin/podkop index e33707b..9fd7932 100755 --- a/podkop/files/usr/bin/podkop +++ b/podkop/files/usr/bin/podkop @@ -46,6 +46,32 @@ nolog() { start() { log "Starting podkop" + + # checking + sing_box_version=$(sing-box version | head -n 1 | awk '{print $3}') + required_version="1.11.1" + + if [ "$(echo -e "$sing_box_version\n$required_version" | sort -V | head -n 1)" != "$required_version" ]; then + log "[critical] The version of sing-box ($sing_box_version) is lower than the minimum version. Update sing-box: opkg update && opkg remove sing-box && opkg install sing-box" + exit 1 + fi + + if opkg list-installed | grep -q iptables-mod-extra; then + log "[critical] Conflicting package detected: iptables-mod-extra" + fi + + if opkg list-installed | grep -q kmod-ipt-nat; then + log "[critical] Conflicting package detected: kmod-ipt-nat" + fi + + if grep -qE 'doh_backup_noresolv|doh_backup_server|doh_server' /etc/config/dhcp; then + log "[critical] Detected https-dns-proxy. Disable or uninstall it for correct functionality." + fi + + if ! grep -q "search lan" "$resolv_conf" || ! grep -q "nameserver 127.0.0.1" "$resolv_conf"; then + log "[critical] /etc/resolv.conf does not contain 'search lan' or 'nameserver 127.0.0.1' entries" + fi + migration config_foreach process_validate_service @@ -843,7 +869,7 @@ sing_box_outdound() { config_get interface "$section" "interface" if [ -z "$interface" ]; then - log "VPN interface is not set. Exit" + log "[critical] VPN interface is not set. Exit" exit 1 fi @@ -869,7 +895,7 @@ sing_box_outdound() { active_proxy_string=$(echo "$proxy_string" | grep -v "^[[:space:]]*\/\/" | head -n 1) if [ -z "$active_proxy_string" ]; then - log "Proxy string is not set. Exit" + log "[critical] Proxy string is not set. Exit" exit 1 fi @@ -942,7 +968,7 @@ sing_box_rule_dns() { sing_box_config_check() { if ! sing-box -c $SING_BOX_CONFIG check >/dev/null 2>&1; then - log "Sing-box configuration is invalid" + log "[critical] Sing-box configuration is invalid" exit 1 fi }