From 3f6f03c8d1310ce04ccde62662db6a5166e938a0 Mon Sep 17 00:00:00 2001 From: Andrey Petelin Date: Tue, 14 Oct 2025 20:12:12 +0500 Subject: [PATCH 1/3] feat: honor download_lists_via_proxy setting and use its outbound section for service mixed inbound routing --- podkop/files/usr/bin/podkop | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/podkop/files/usr/bin/podkop b/podkop/files/usr/bin/podkop index e3be992..5f833af 100755 --- a/podkop/files/usr/bin/podkop +++ b/podkop/files/usr/bin/podkop @@ -1066,14 +1066,21 @@ sing_box_configure_experimental() { sing_box_additional_inbounds() { log "Configure the additional inbounds of a sing-box JSON configuration" - config=$( - sing_box_cf_add_mixed_inbound_and_route_rule \ - "$config" \ - "$SB_SERVICE_MIXED_INBOUND_TAG" \ - "$SB_SERVICE_MIXED_INBOUND_ADDRESS" \ - "$SB_SERVICE_MIXED_INBOUND_PORT" \ - "$SB_MAIN_OUTBOUND_TAG" - ) + local download_lists_via_proxy + config_get_bool download_lists_via_proxy "settings" "download_lists_via_proxy" 0 + if [ "$download_lists_via_proxy" -eq 1 ]; then + local download_lists_via_proxy_section section_outbound_tag + config_get download_lists_via_proxy_section "settings" "download_lists_via_proxy_section" + section_outbound_tag="$(get_outbound_tag_by_section "$download_lists_via_proxy_section")" + config=$( + sing_box_cf_add_mixed_inbound_and_route_rule \ + "$config" \ + "$SB_SERVICE_MIXED_INBOUND_TAG" \ + "$SB_SERVICE_MIXED_INBOUND_ADDRESS" \ + "$SB_SERVICE_MIXED_INBOUND_PORT" \ + "$section_outbound_tag" + ) + fi config_foreach configure_section_mixed_proxy "section" } From 661ba648797cb301f711dcb3581fd4684eeeb972 Mon Sep 17 00:00:00 2001 From: Andrey Petelin Date: Tue, 14 Oct 2025 20:19:57 +0500 Subject: [PATCH 2/3] fix: replace config_get_bool with config_get for community/local/remote list options in podkop script --- podkop/files/usr/bin/podkop | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/podkop/files/usr/bin/podkop b/podkop/files/usr/bin/podkop index 5f833af..d3e91c8 100755 --- a/podkop/files/usr/bin/podkop +++ b/podkop/files/usr/bin/podkop @@ -812,13 +812,13 @@ configure_routing_for_section_lists() { local community_lists user_domain_list_type user_subnet_list_type local_domain_lists local_subnet_lists \ remote_domain_lists remote_subnet_lists section_connection_type route_rule_tag - config_get_bool community_lists "$section" "community_lists" + config_get community_lists "$section" "community_lists" config_get user_domain_list_type "$section" "user_domain_list_type" "disabled" config_get user_subnet_list_type "$section" "user_subnet_list_type" "disabled" - config_get_bool local_domain_lists "$section" "local_domain_lists" - config_get_bool local_subnet_lists "$section" "local_subnet_lists" - config_get_bool remote_domain_lists "$section" "remote_domain_lists" - config_get_bool remote_subnet_lists "$section" "remote_subnet_lists" + config_get local_domain_lists "$section" "local_domain_lists" + config_get local_subnet_lists "$section" "local_subnet_lists" + config_get remote_domain_lists "$section" "remote_domain_lists" + config_get remote_subnet_lists "$section" "remote_subnet_lists" config_get section_connection_type "$section" "connection_type" if [ "$section_connection_type" = "block" ]; then @@ -1387,13 +1387,13 @@ section_has_enabled_lists() { local community_lists user_domain_list_type user_subnet_list_type local_domain_lists local_subnet_lists \ remote_domain_lists remote_subnet_lists - config_get_bool community_lists "$section" "community_lists" + config_get community_lists "$section" "community_lists" config_get user_domain_list_type "$section" "user_domain_list_type" "disabled" config_get user_subnet_list_type "$section" "user_subnet_list_type" "disabled" - config_get_bool local_domain_lists "$section" "local_domain_lists" - config_get_bool local_subnet_lists "$section" "local_subnet_lists" - config_get_bool remote_domain_lists "$section" "remote_domain_lists" - config_get_bool remote_subnet_lists "$section" "remote_subnet_lists" + config_get local_domain_lists "$section" "local_domain_lists" + config_get local_subnet_lists "$section" "local_subnet_lists" + config_get remote_domain_lists "$section" "remote_domain_lists" + config_get remote_subnet_lists "$section" "remote_subnet_lists" if [ -n "$community_lists" ] || [ "$user_domain_list_type" != "disabled" ] || From fa152c3abfd1f7ff2e9f7f3bd671a60d8fa0a738 Mon Sep 17 00:00:00 2001 From: Andrey Petelin Date: Tue, 14 Oct 2025 20:22:46 +0500 Subject: [PATCH 3/3] feat: honor download_lists_via_proxy and use its outbound section as detour tag for rule set --- podkop/files/usr/bin/podkop | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/podkop/files/usr/bin/podkop b/podkop/files/usr/bin/podkop index d3e91c8..01e0db9 100755 --- a/podkop/files/usr/bin/podkop +++ b/podkop/files/usr/bin/podkop @@ -1364,7 +1364,10 @@ get_service_proxy_address() { get_download_detour_tag() { config_get_bool download_lists_via_proxy "settings" "download_lists_via_proxy" 0 if [ "$download_lists_via_proxy" -eq 1 ]; then - echo "$SB_MAIN_OUTBOUND_TAG" + local download_lists_via_proxy_section section_outbound_tag + config_get download_lists_via_proxy_section "settings" "download_lists_via_proxy_section" + section_outbound_tag="$(get_outbound_tag_by_section "$download_lists_via_proxy_section")" + echo "$section_outbound_tag" else echo "" fi