diff --git a/podkop/files/usr/bin/podkop b/podkop/files/usr/bin/podkop index e3be992..01e0db9 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 @@ -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" } @@ -1357,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 @@ -1380,13 +1390,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" ] ||