Split proxy and VPN actions

This commit is contained in:
ushan0v
2026-05-14 00:31:17 +03:00
parent 7b5344e4a1
commit 0a66c958fa
11 changed files with 737 additions and 611 deletions
File diff suppressed because it is too large Load Diff
+148 -146
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PODKOP PLUS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-13 18:23+0300\n"
"PO-Revision-Date: 2026-05-13 18:23+0300\n"
"POT-Creation-Date: 2026-05-13 21:19+0300\n"
"PO-Revision-Date: 2026-05-13 21:19+0300\n"
"Last-Translator: ushan0v <142658494+ushan0v@users.noreply.github.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
@@ -36,7 +36,7 @@ msgstr ""
msgid "A latency-tested group of proxy URLs for this node"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1915
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1927
msgid "A latency-tested group of proxy URLs for this section"
msgstr ""
@@ -44,12 +44,12 @@ msgstr ""
msgid "A manual group of proxy URLs for this node"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1897
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1909
msgid "A manual group of proxy URLs for this section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1663
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1695
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1676
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1708
msgid "Action"
msgstr ""
@@ -61,15 +61,15 @@ msgstr ""
msgid "Add a section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2364
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2377
msgid "Add URLs or local paths to .lst lists"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2332
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2345
msgid "Add URLs or local paths to .srs / .json lists. Subnet rules are ignored"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2347
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2360
msgid "Add URLs or local paths to .srs / .json lists. Subnets from the list will be extracted and added to nftables"
msgstr ""
@@ -86,15 +86,15 @@ msgid "An error occurred while saving the form:"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:170
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2031
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2043
msgid "Applicable for SOCKS and Shadowsocks links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:946
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:959
msgid "At least one valid domain must be specified."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:957
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:970
msgid "At least one valid IP or subnet must be specified."
msgstr ""
@@ -106,7 +106,7 @@ msgstr ""
msgid "Available actions"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1048
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1061
msgid "Backend validation failed: %s"
msgstr ""
@@ -130,15 +130,15 @@ msgstr ""
msgid "Browser is using FakeIP correctly"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2237
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2250
msgid "Built-in rule sets"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:382
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:386
msgid "Cache File Path"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:396
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:400
msgid "Cache file path cannot be empty"
msgstr ""
@@ -172,15 +172,15 @@ msgstr ""
msgid "checks"
msgstr ""
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:26
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:58
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:61
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:64
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:26
msgid "Checks failed"
msgstr ""
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:13
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:54
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:13
msgid "Checks passed"
msgstr ""
@@ -196,11 +196,11 @@ msgstr ""
msgid "Close"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1651
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1664
msgid "Conditions"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:369
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:373
msgid "Config File Path"
msgstr ""
@@ -208,16 +208,16 @@ msgstr ""
msgid "Configuration for Podkop Plus service"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1781
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1793
msgid "Connection"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1763
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1776
msgid "Connection Type"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:19
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1766
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1779
msgid "Connection URL"
msgstr ""
@@ -289,18 +289,18 @@ msgid "DNS on router"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:227
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2096
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2108
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:21
msgid "DNS over HTTPS (DoH)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:228
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2097
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2109
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:22
msgid "DNS over TLS (DoT)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2094
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2106
msgid "DNS protocol"
msgstr ""
@@ -316,7 +316,7 @@ msgstr ""
msgid "DNS Rewrite TTL"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2112
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2123
msgid "DNS server"
msgstr ""
@@ -333,23 +333,27 @@ msgstr ""
msgid "Do not panic, everything can be fixed, just..."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2363
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2376
msgid "Domain and IP Lists"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2207
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2220
msgid "Domain keyword"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2214
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2227
msgid "Domain regex"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2179
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2094
msgid "Domain Resolver"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2192
msgid "Domains"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:360
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:364
msgid "Dont Touch My DHCP!"
msgstr ""
@@ -363,7 +367,7 @@ msgid "Download"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:328
msgid "Download external rule sets through one of the enabled proxy sections"
msgid "Download external rule sets through one of the enabled proxy/VPN sections"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:318
@@ -371,7 +375,7 @@ msgid "Download Lists via Proxy/VPN"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:327
msgid "Download Lists via specific proxy section"
msgid "Download Lists via specific proxy/VPN section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/ruleset.js:63
@@ -386,9 +390,9 @@ msgstr ""
msgid "Drag rows to change priority. The rule at the top is checked first."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:451
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:466
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:486
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:464
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:479
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:499
msgid "Duplicate value"
msgstr ""
@@ -398,7 +402,7 @@ msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:8
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/ruleset.js:10
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1653
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1666
msgid "Enable"
msgstr ""
@@ -406,15 +410,15 @@ msgstr ""
msgid "Enable a dedicated DNS resolver when this node uses an interface"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2083
msgid "Enable a dedicated DNS resolver when this section uses an interface"
msgstr ""
#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:89
msgid "Enable autostart"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2134
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2095
msgid "Enable built-in DNS resolver for domains handled by this section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2144
msgid "Enable Mixed Proxy"
msgstr ""
@@ -431,11 +435,11 @@ msgid "Enable YACD WAN Access"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:52
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1804
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1816
msgid "Enter a complete sing-box outbound object"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1826
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1838
msgid "Enter the subscription URL"
msgstr ""
@@ -455,15 +459,15 @@ msgstr ""
msgid "Every minute"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2193
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2206
msgid "Exact full domain"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:436
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:440
msgid "Exclude NTP"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:437
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:441
msgid "Exclude NTP protocol traffic from the tunnel to prevent it from being routed through the proxy or VPN"
msgstr ""
@@ -471,11 +475,11 @@ msgstr ""
msgid "Expecting: %s"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2135
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2145
msgid "Expose this section as a local HTTP+SOCKS proxy"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1109
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1122
msgid "External nfqws config files bypass Podkop Plus queue management and explicit validation."
msgstr ""
@@ -492,9 +496,9 @@ msgstr ""
msgid "Failed to execute!"
msgstr ""
#: src/podkop/methods/custom/getDashboardSections.ts:193
#: src/podkop/methods/custom/getDashboardSections.ts:225
#: src/podkop/methods/custom/getDashboardSections.ts:263
#: src/podkop/methods/custom/getDashboardSections.ts:257
#: src/podkop/methods/custom/getDashboardSections.ts:295
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:59
msgid "Fastest"
msgstr ""
@@ -511,11 +515,11 @@ msgstr ""
msgid "Global check"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1882
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1894
msgid "Group subscription proxies by country"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1883
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1895
msgid "Group subscription proxies by the country flag at the beginning of the outbound tag"
msgstr ""
@@ -523,7 +527,7 @@ msgstr ""
msgid "How often this remote rule set should be refreshed"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1764
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1777
msgid "How to configure the proxy connection for this section"
msgstr ""
@@ -533,8 +537,6 @@ msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:23
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:179
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1771
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2042
msgid "Interface"
msgstr ""
@@ -627,12 +629,12 @@ msgstr ""
msgid "Invalid path format. Path must start with \"/\" and contain valid characters"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2162
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2174
#: src/validators/validateShadowsocksUrl.ts:85
msgid "Invalid port number. Must be between 1 and 65535"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:312
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:325
msgid "Invalid regular expression"
msgstr ""
@@ -733,17 +735,17 @@ msgstr ""
msgid "IP address 0.0.0.0 is not allowed"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2186
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2199
msgid "IPs"
msgstr ""
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:20
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:67
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:70
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:20
msgid "Issues detected"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:322
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:335
msgid "Keyword must not contain spaces"
msgstr ""
@@ -751,7 +753,7 @@ msgstr ""
msgid "Latest"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1616
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1629
msgid "List must be a direct .lst URL or a local .lst path"
msgstr ""
@@ -767,7 +769,7 @@ msgstr ""
msgid "Local file path to a sing-box rule set"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:418
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:422
msgid "Log Level"
msgstr ""
@@ -775,32 +777,32 @@ msgstr ""
msgid "Main DNS"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2187
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2200
msgid "Match destination IPs or subnets"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2208
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2221
msgid "Match domains containing a substring"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2180
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2193
msgid "Match domains including all subdomains"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2215
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2228
msgid "Match domains using a regular expression"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2194
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2207
msgid "Match only one exact full domain name"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2222
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2235
msgid "Match source IPs or subnets"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:114
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1967
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1979
msgid "Maximum response time delta in milliseconds"
msgstr ""
@@ -808,7 +810,7 @@ msgstr ""
msgid "Memory Usage"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2146
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2157
msgid "Mixed Proxy Port"
msgstr ""
@@ -817,10 +819,14 @@ msgid "Monitored Interfaces"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:136
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1990
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2002
msgid "Must be a number in the range of 50 - 1000"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2054
msgid "Network Interface"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:118
msgid "NFQUEUE range is available"
msgstr ""
@@ -829,11 +835,11 @@ msgstr ""
msgid "NFQUEUE range overlaps with another rule"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1729
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1742
msgid "NFQWS Strategy"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1239
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1252
msgid "NFQWS strategy cannot be empty"
msgstr ""
@@ -880,7 +886,7 @@ msgstr ""
msgid "Operation timed out"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:385
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:398
msgid "Option \"%s\" contains an invalid input value."
msgstr ""
@@ -888,14 +894,14 @@ msgstr ""
msgid "Optional node used to download this remote rule set"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1317
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1330
msgid "Optional values must be attached with '=' here; a separate token would be ignored by nfqws."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:22
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:51
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1770
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1803
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1783
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1815
msgid "Outbound JSON"
msgstr ""
@@ -915,15 +921,15 @@ msgstr ""
msgid "Path cannot be empty"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:400
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:404
msgid "Path must be absolute (start with /)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:409
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:413
msgid "Path must contain at least one directory (like /tmp/cache.db)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:404
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:408
msgid "Path must end with cache.db"
msgstr ""
@@ -936,7 +942,7 @@ msgstr ""
msgid "Pending"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1127
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1140
msgid "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here."
msgstr ""
@@ -944,7 +950,7 @@ msgstr ""
msgid "Podkop Plus Settings"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:361
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:365
msgid "Podkop Plus will not modify your DHCP configuration"
msgstr ""
@@ -960,11 +966,11 @@ msgstr ""
msgid "Podkop-managed nfqws runtime is ready"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2154
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2166
msgid "Port cannot be empty"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2147
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2158
msgid "Port for the local mixed proxy of this section"
msgstr ""
@@ -984,7 +990,7 @@ msgstr ""
msgid "Proxy traffic is routed via FakeIP"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2276
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2289
msgid "Regional options cannot be used together"
msgstr ""
@@ -996,27 +1002,23 @@ msgstr ""
msgid "Remote URL to a sing-box rule set"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2170
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2182
msgid "Resolve domain names before routing so sing-box can use real destination IPs."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2169
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2181
msgid "Resolve real IP for routing"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2082
msgid "Resolver for interface outbound"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:218
msgid "Resolver For Interface Outbound"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1112
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1125
msgid "Resource selection by hostname inside nfqws is not supported here; sing-box selects resources before NFQUEUE."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1115
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1128
msgid "Resource selection by IP or CIDR inside nfqws is not supported here; sing-box selects resources before NFQUEUE."
msgstr ""
@@ -1024,11 +1026,11 @@ msgstr ""
msgid "Restart Podkop Plus"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:447
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:451
msgid "Routing Excluded IPs"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1606
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1619
msgid "Rule set must be a direct .srs / .json URL or a local .srs / .json path"
msgstr ""
@@ -1036,11 +1038,11 @@ msgstr ""
msgid "Rule set URL"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2346
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2359
msgid "Rule sets (domains and subnets)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2331
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2344
msgid "Rule sets (domains)"
msgstr ""
@@ -1072,7 +1074,7 @@ msgstr ""
msgid "Run Diagnostic"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2295
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2308
msgid "Russia inside restrictions"
msgstr ""
@@ -1088,7 +1090,7 @@ msgstr ""
msgid "Section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1682
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1695
msgid "Section name"
msgstr ""
@@ -1096,7 +1098,7 @@ msgstr ""
msgid "Sections"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2238
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2251
msgid "Select a predefined list for routing"
msgstr ""
@@ -1104,19 +1106,23 @@ msgstr ""
msgid "Select DNS protocol to use"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2055
msgid "Select network interface for VPN connection"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:31
msgid "Select or enter DNS server address"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:383
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:387
msgid "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:370
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:374
msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:419
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:423
msgid "Select the log level for sing-box"
msgstr ""
@@ -1132,7 +1138,7 @@ msgstr ""
msgid "Select the WAN interfaces to be monitored"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1896
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1908
msgid "Selector connections"
msgstr ""
@@ -1140,7 +1146,7 @@ msgstr ""
msgid "Selector Links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2241
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2254
msgid "Service list"
msgstr ""
@@ -1149,7 +1155,7 @@ msgid "Services info"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:408
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1650
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1663
msgid "Settings"
msgstr ""
@@ -1194,7 +1200,7 @@ msgstr ""
msgid "Source file"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2221
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2234
msgid "Source IPs"
msgstr ""
@@ -1202,7 +1208,7 @@ msgstr ""
msgid "Source Network Interface"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:448
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:452
msgid "Specify a local IP address to be excluded from routing"
msgstr ""
@@ -1226,19 +1232,19 @@ msgstr ""
msgid "Stop Podkop Plus"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1769
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1782
msgid "Subscription"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1845
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1857
msgid "Subscription update interval"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1825
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1837
msgid "Subscription URL"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:396
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:409
msgid "Subscription URL cannot be empty"
msgstr ""
@@ -1262,7 +1268,7 @@ msgstr ""
msgid "Test latency"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1124
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1137
msgid "The desync fwmark is managed by Podkop Plus for loop prevention and must not be overridden here."
msgstr ""
@@ -1270,7 +1276,7 @@ msgstr ""
msgid "The DNS server used to look up the IP address of an upstream DNS server"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1121
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1134
msgid "The NFQUEUE number is assigned by Podkop Plus for each rule and must not be overridden here."
msgstr ""
@@ -1278,19 +1284,19 @@ msgstr ""
msgid "There are rules using Zapret"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1130
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1143
msgid "This field must start a working nfqws strategy; --dry-run exits immediately and is not allowed here."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1133
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1146
msgid "This field must start a working nfqws strategy; --version exits immediately and is not allowed here."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1302
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1315
msgid "This flag does not accept a value."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1333
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1346
msgid "This option requires a value."
msgstr ""
@@ -1327,11 +1333,11 @@ msgid "UDP (Unprotected DNS)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:169
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2030
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2042
msgid "UDP over TCP"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1044
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1057
msgid "Unable to validate the NFQWS strategy through the backend parser."
msgstr ""
@@ -1339,7 +1345,7 @@ msgstr ""
msgid "Unexpected Podkop-managed nfqws runtime is running"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1282
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1295
msgid "Unexpected standalone token. Use explicit flags such as --name or --name=value."
msgstr ""
@@ -1362,7 +1368,7 @@ msgstr ""
msgid "Unknown error"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1293
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1306
msgid "Unknown NFQWS flag."
msgstr ""
@@ -1383,11 +1389,11 @@ msgstr ""
msgid "URL must use one of the following protocols:"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1914
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1926
msgid "URLTest connections"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1932
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1944
msgid "URLTest interval"
msgstr ""
@@ -1399,7 +1405,7 @@ msgstr ""
msgid "URLTest Links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1966
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1978
msgid "URLTest tolerance"
msgstr ""
@@ -1408,7 +1414,7 @@ msgid "URLTest Tolerance"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:139
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1997
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2009
msgid "URLTest URL"
msgstr ""
@@ -1416,21 +1422,17 @@ msgstr ""
msgid "Use a network interface as the outbound for this node"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2043
msgid "Use a network interface as the outbound for this section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:374
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:387
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:312
msgid "Use sing-box duration format like 1d, 12h or 30m"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1846
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1858
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:283
msgid "Use sing-box duration format. Leave empty to disable automatic updates."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1933
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1945
msgid "Use sing-box duration format. Leave empty to disable periodic URLTest checks."
msgstr ""
@@ -1451,9 +1453,9 @@ msgstr ""
msgid "Valid"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:458
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:478
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:482
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:471
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:491
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:495
msgid "Validation errors:"
msgstr ""
@@ -1462,24 +1464,24 @@ msgstr ""
msgid "View logs"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1683
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1696
msgid "Visible name of this section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:32
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1782
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1794
msgid "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2278
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2291
msgid "Warning: %s cannot be used together with %s. Previous selections have been removed."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2297
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2310
msgid "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1696
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1709
msgid "What Podkop Plus should do when this section matches"
msgstr ""
@@ -1491,12 +1493,12 @@ msgstr ""
msgid "You can select Output Network Interface, by default autodetect"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:237
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:284
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:249
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:297
msgid "Zapret (provider not available)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1118
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1131
msgid "Zapret hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS strategies."
msgstr ""
+18 -15
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PODKOP PLUS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-13 21:23+0300\n"
"PO-Revision-Date: 2026-05-13 21:23+0300\n"
"POT-Creation-Date: 2026-05-13 00:19+0300\n"
"PO-Revision-Date: 2026-05-13 00:19+0300\n"
"Last-Translator: ushan0v\n"
"Language-Team: none\n"
"Language: ru\n"
@@ -242,6 +242,9 @@ msgstr "Ключевое слово домена"
msgid "Domain regex"
msgstr "Регулярное выражение домена"
msgid "Domain Resolver"
msgstr "Резолвер доменов"
msgid "Domains"
msgstr "Домены"
@@ -254,14 +257,14 @@ msgstr "Входящий"
msgid "Download"
msgstr "Скачать"
msgid "Download external rule sets through one of the enabled proxy sections"
msgstr "Скачивать внешние наборы правил через одну из включённых прокси-секций"
msgid "Download external rule sets through one of the enabled proxy/VPN sections"
msgstr "Скачивать внешние наборы правил через одну из включенных секций proxy/VPN"
msgid "Download Lists via Proxy/VPN"
msgstr "Скачивать списки через Proxy/VPN"
msgid "Download Lists via specific proxy section"
msgstr "Скачивать списки через выбранную секцию"
msgid "Download Lists via specific proxy/VPN section"
msgstr "Скачивать списки через указанную секцию proxy/VPN"
msgid "Download Node"
msgstr "Узел для скачивания"
@@ -284,12 +287,12 @@ msgstr "Включить"
msgid "Enable a dedicated DNS resolver when this node uses an interface"
msgstr "Включить отдельный DNS-резолвер, когда этот узел использует интерфейс"
msgid "Enable a dedicated DNS resolver when this section uses an interface"
msgstr "Включить отдельный DNS-резолвер, когда эта секция использует интерфейс"
msgid "Enable autostart"
msgstr "Включить автостарт"
msgid "Enable built-in DNS resolver for domains handled by this section"
msgstr "Включить встроенный DNS-резолвер для доменов, обрабатываемых в этой секции"
msgid "Enable Mixed Proxy"
msgstr "Включить смешанный прокси"
@@ -581,6 +584,9 @@ msgstr "Наблюдаемые интерфейсы"
msgid "Must be a number in the range of 50 - 1000"
msgstr "Должно быть числом от 50 до 1000"
msgid "Network Interface"
msgstr "Сетевой интерфейс"
msgid "NFQUEUE range is available"
msgstr "Диапазон NFQUEUE свободен"
@@ -707,9 +713,6 @@ msgstr "Разрешать доменные имена перед маршрут
msgid "Resolve real IP for routing"
msgstr "Разрешать реальный IP для маршрутизации"
msgid "Resolver for interface outbound"
msgstr "Резолвер для outbound через интерфейс"
msgid "Resolver For Interface Outbound"
msgstr "Резолвер для outbound через интерфейс"
@@ -782,6 +785,9 @@ msgstr "Выберите предустановленный набор прав
msgid "Select DNS protocol to use"
msgstr "Выберите протокол DNS"
msgid "Select network interface for VPN connection"
msgstr "Выберите сетевой интерфейс для VPN-подключения"
msgid "Select or enter DNS server address"
msgstr "Выберите или введите адрес DNS-сервера"
@@ -1007,9 +1013,6 @@ msgstr "URL URLTest"
msgid "Use a network interface as the outbound for this node"
msgstr "Использовать сетевой интерфейс как outbound для этого узла"
msgid "Use a network interface as the outbound for this section"
msgstr "Использовать сетевой интерфейс как outbound для этой секции"
msgid "Use sing-box duration format like 1d, 12h or 30m"
msgstr "Используйте формат длительности sing-box, например 1d, 12h или 30m"
@@ -14,13 +14,21 @@ function getDisplayName(section: Podkop.ConfigSection) {
function getSectionAction(section: Podkop.ConfigSection) {
if (section.action) {
if (
section.action === 'proxy' &&
section.proxy_config_type === 'interface'
) {
return 'vpn';
}
return section.action;
}
switch (section.connection_type) {
case 'proxy':
case 'vpn':
return 'proxy';
case 'vpn':
return 'vpn';
case 'block':
return 'block';
case 'exclusion':
@@ -32,11 +40,11 @@ function getSectionAction(section: Podkop.ConfigSection) {
function getSectionProxyConfigType(section: Podkop.ConfigSection) {
if (section.proxy_config_type) {
return section.proxy_config_type;
}
if (section.proxy_config_type === 'interface') {
return undefined;
}
if (section.connection_type === 'vpn') {
return 'interface';
return section.proxy_config_type;
}
return undefined;
@@ -62,12 +70,36 @@ export async function getDashboardSections(): Promise<IGetDashboardSectionsRespo
const data = configSections
.filter(
(section) =>
section.enabled !== '0' && getSectionAction(section) === 'proxy',
section.enabled !== '0' &&
['proxy', 'vpn'].includes(getSectionAction(section)),
)
.map((section) => {
const displayName = getDisplayName(section);
const sectionAction = getSectionAction(section);
const proxyConfigType = getSectionProxyConfigType(section);
if (sectionAction === 'vpn') {
const outbound = proxies.find(
(proxy) => proxy.code === `${section['.name']}-out`,
);
return {
withTagSelect: false,
code: outbound?.code || section['.name'],
sectionName: section['.name'],
displayName,
outbounds: [
{
code: outbound?.code || section['.name'],
displayName: section.interface || outbound?.value?.name || '',
latency: outbound?.value?.history?.[0]?.delay || 0,
type: outbound?.value?.type || '',
selected: true,
},
],
};
}
if (proxyConfigType === 'url') {
const outbound = proxies.find(
(proxy) => proxy.code === `${section['.name']}-out`,
@@ -279,28 +311,6 @@ export async function getDashboardSections(): Promise<IGetDashboardSectionsRespo
};
}
if (proxyConfigType === 'interface') {
const outbound = proxies.find(
(proxy) => proxy.code === `${section['.name']}-out`,
);
return {
withTagSelect: false,
code: outbound?.code || section['.name'],
sectionName: section['.name'],
displayName,
outbounds: [
{
code: outbound?.code || section['.name'],
displayName: section.interface || outbound?.value?.name || '',
latency: outbound?.value?.history?.[0]?.delay || 0,
type: outbound?.value?.type || '',
selected: true,
},
],
};
}
return {
withTagSelect: false,
code: section['.name'],
+2 -1
View File
@@ -97,7 +97,7 @@ export namespace Podkop {
outbounds: Outbound[];
}
export type RuleAction = 'proxy' | 'direct' | 'block' | 'zapret';
export type RuleAction = 'proxy' | 'vpn' | 'direct' | 'block' | 'zapret';
export type LegacyConnectionType = 'proxy' | 'vpn' | 'block' | 'exclusion';
export type ProxyConfigType =
| 'urltest'
@@ -110,6 +110,7 @@ export namespace Podkop {
export interface ConfigSection {
'.name': string;
'.type': 'settings' | 'rule' | 'node' | 'ruleset' | 'section';
label?: string;
enabled?: string;
action?: RuleAction;
connection_type?: LegacyConnectionType;
@@ -842,12 +842,16 @@ function getDisplayName(section) {
}
function getSectionAction(section) {
if (section.action) {
if (section.action === "proxy" && section.proxy_config_type === "interface") {
return "vpn";
}
return section.action;
}
switch (section.connection_type) {
case "proxy":
case "vpn":
return "proxy";
case "vpn":
return "vpn";
case "block":
return "block";
case "exclusion":
@@ -858,11 +862,11 @@ function getSectionAction(section) {
}
function getSectionProxyConfigType(section) {
if (section.proxy_config_type) {
if (section.proxy_config_type === "interface") {
return void 0;
}
return section.proxy_config_type;
}
if (section.connection_type === "vpn") {
return "interface";
}
return void 0;
}
async function getDashboardSections() {
@@ -881,10 +885,31 @@ async function getDashboardSections() {
})
);
const data = configSections.filter(
(section) => section.enabled !== "0" && getSectionAction(section) === "proxy"
(section) => section.enabled !== "0" && ["proxy", "vpn"].includes(getSectionAction(section))
).map((section) => {
const displayName = getDisplayName(section);
const sectionAction = getSectionAction(section);
const proxyConfigType = getSectionProxyConfigType(section);
if (sectionAction === "vpn") {
const outbound = proxies.find(
(proxy) => proxy.code === `${section[".name"]}-out`
);
return {
withTagSelect: false,
code: outbound?.code || section[".name"],
sectionName: section[".name"],
displayName,
outbounds: [
{
code: outbound?.code || section[".name"],
displayName: section.interface || outbound?.value?.name || "",
latency: outbound?.value?.history?.[0]?.delay || 0,
type: outbound?.value?.type || "",
selected: true
}
]
};
}
if (proxyConfigType === "url") {
const outbound = proxies.find(
(proxy) => proxy.code === `${section[".name"]}-out`
@@ -1059,26 +1084,6 @@ async function getDashboardSections() {
outbounds
};
}
if (proxyConfigType === "interface") {
const outbound = proxies.find(
(proxy) => proxy.code === `${section[".name"]}-out`
);
return {
withTagSelect: false,
code: outbound?.code || section[".name"],
sectionName: section[".name"],
displayName,
outbounds: [
{
code: outbound?.code || section[".name"],
displayName: section.interface || outbound?.value?.name || "",
latency: outbound?.value?.history?.[0]?.delay || 0,
type: outbound?.value?.type || "",
selected: true
}
]
};
}
return {
withTagSelect: false,
code: section[".name"],
@@ -208,14 +208,24 @@ function isZapretInstalledForUi() {
function getRuleResolvedAction(section_id) {
const action = uci.get(UCI_PACKAGE, section_id, "action");
if (action) {
const proxyConfigType = uci.get(
UCI_PACKAGE,
section_id,
"proxy_config_type",
);
if (`${action}` === "proxy" && proxyConfigType === "interface") {
return "vpn";
}
return `${action}`;
}
const connectionType = uci.get(UCI_PACKAGE, section_id, "connection_type");
switch (connectionType) {
case "proxy":
case "vpn":
return "proxy";
case "vpn":
return "vpn";
case "block":
return "block";
case "exclusion":
@@ -231,6 +241,8 @@ function getActionOptionLabel(action) {
return "Block";
case "direct":
return "Direct";
case "vpn":
return "VPN";
case "zapret":
return isZapretInstalledForUi()
? "Zapret"
@@ -260,6 +272,7 @@ function populateActionOptionValues(option) {
delete option.vallist;
option.value("proxy", "Proxy");
option.value("vpn", "VPN");
option.value("direct", "Direct");
option.value("block", "Block");
option.value("zapret", getActionOptionLabel("zapret"));
@@ -1768,7 +1781,6 @@ function createSectionContent(section) {
o.value("urltest", "URLTest");
o.value("subscription", _("Subscription"));
o.value("outbound", _("Outbound JSON"));
o.value("interface", _("Interface"));
o.default = "url";
o.rmempty = false;
o.depends("action", "proxy");
@@ -2039,13 +2051,13 @@ function createSectionContent(section) {
"settings",
widgets.DeviceSelect,
"interface",
_("Interface"),
_("Use a network interface as the outbound for this section"),
_("Network Interface"),
_("Select network interface for VPN connection"),
);
o.noaliases = true;
o.nobridges = false;
o.noinactive = false;
o.depends({ action: "proxy", proxy_config_type: "interface" });
o.depends("action", "vpn");
o.modalonly = true;
o.filter = function (_section_id, value) {
const blockedInterfaces = [
@@ -2079,12 +2091,12 @@ function createSectionContent(section) {
"settings",
form.Flag,
"domain_resolver_enabled",
_("Resolver for interface outbound"),
_("Enable a dedicated DNS resolver when this section uses an interface"),
_("Domain Resolver"),
_("Enable built-in DNS resolver for domains handled by this section"),
);
o.default = "0";
o.rmempty = false;
o.depends({ action: "proxy", proxy_config_type: "interface" });
o.depends("action", "vpn");
o.modalonly = true;
o = section.taboption(
@@ -2099,8 +2111,7 @@ function createSectionContent(section) {
o.default = "udp";
o.rmempty = false;
o.depends({
action: "proxy",
proxy_config_type: "interface",
action: "vpn",
domain_resolver_enabled: "1",
});
o.modalonly = true;
@@ -2117,8 +2128,7 @@ function createSectionContent(section) {
o.default = "8.8.8.8";
o.rmempty = false;
o.depends({
action: "proxy",
proxy_config_type: "interface",
action: "vpn",
domain_resolver_enabled: "1",
});
o.modalonly = true;
@@ -2137,6 +2147,7 @@ function createSectionContent(section) {
o.default = "0";
o.rmempty = false;
o.depends("action", "proxy");
o.depends("action", "vpn");
o.modalonly = true;
o = section.taboption(
@@ -2148,6 +2159,7 @@ function createSectionContent(section) {
);
o.rmempty = false;
o.depends({ action: "proxy", mixed_proxy_enabled: "1" });
o.depends({ action: "vpn", mixed_proxy_enabled: "1" });
o.modalonly = true;
o.validate = function (_section_id, value) {
if (!value || value.length === 0) {
@@ -2172,6 +2184,7 @@ function createSectionContent(section) {
o.default = "0";
o.rmempty = false;
o.depends("action", "proxy");
o.depends("action", "vpn");
o.modalonly = true;
addTextConditionField(section, {
@@ -324,8 +324,8 @@ function createSettingsContent(section) {
o = section.option(
form.ListValue,
"download_lists_via_proxy_section",
_("Download Lists via specific proxy section"),
_("Download external rule sets through one of the enabled proxy sections"),
_("Download Lists via specific proxy/VPN section"),
_("Download external rule sets through one of the enabled proxy/VPN sections"),
);
o.rmempty = false;
@@ -341,10 +341,14 @@ function createSettingsContent(section) {
for (const secName in sections) {
const sec = sections[secName];
const action =
sec.action === "proxy" && sec.proxy_config_type === "interface"
? "vpn"
: sec.action;
if (
sec[".type"] === "rule" &&
sec.enabled !== "0" &&
sec.action === "proxy"
(action === "proxy" || action === "vpn")
) {
this.keylist.push(secName);
this.vallist.push(sec.label || secName);
+18 -15
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PODKOP PLUS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-13 21:23+0300\n"
"PO-Revision-Date: 2026-05-13 21:23+0300\n"
"POT-Creation-Date: 2026-05-13 00:19+0300\n"
"PO-Revision-Date: 2026-05-13 00:19+0300\n"
"Last-Translator: ushan0v\n"
"Language-Team: none\n"
"Language: ru\n"
@@ -242,6 +242,9 @@ msgstr "Ключевое слово домена"
msgid "Domain regex"
msgstr "Регулярное выражение домена"
msgid "Domain Resolver"
msgstr "Резолвер доменов"
msgid "Domains"
msgstr "Домены"
@@ -254,14 +257,14 @@ msgstr "Входящий"
msgid "Download"
msgstr "Скачать"
msgid "Download external rule sets through one of the enabled proxy sections"
msgstr "Скачивать внешние наборы правил через одну из включённых прокси-секций"
msgid "Download external rule sets through one of the enabled proxy/VPN sections"
msgstr "Скачивать внешние наборы правил через одну из включенных секций proxy/VPN"
msgid "Download Lists via Proxy/VPN"
msgstr "Скачивать списки через Proxy/VPN"
msgid "Download Lists via specific proxy section"
msgstr "Скачивать списки через выбранную секцию"
msgid "Download Lists via specific proxy/VPN section"
msgstr "Скачивать списки через указанную секцию proxy/VPN"
msgid "Download Node"
msgstr "Узел для скачивания"
@@ -284,12 +287,12 @@ msgstr "Включить"
msgid "Enable a dedicated DNS resolver when this node uses an interface"
msgstr "Включить отдельный DNS-резолвер, когда этот узел использует интерфейс"
msgid "Enable a dedicated DNS resolver when this section uses an interface"
msgstr "Включить отдельный DNS-резолвер, когда эта секция использует интерфейс"
msgid "Enable autostart"
msgstr "Включить автостарт"
msgid "Enable built-in DNS resolver for domains handled by this section"
msgstr "Включить встроенный DNS-резолвер для доменов, обрабатываемых в этой секции"
msgid "Enable Mixed Proxy"
msgstr "Включить смешанный прокси"
@@ -581,6 +584,9 @@ msgstr "Наблюдаемые интерфейсы"
msgid "Must be a number in the range of 50 - 1000"
msgstr "Должно быть числом от 50 до 1000"
msgid "Network Interface"
msgstr "Сетевой интерфейс"
msgid "NFQUEUE range is available"
msgstr "Диапазон NFQUEUE свободен"
@@ -707,9 +713,6 @@ msgstr "Разрешать доменные имена перед маршрут
msgid "Resolve real IP for routing"
msgstr "Разрешать реальный IP для маршрутизации"
msgid "Resolver for interface outbound"
msgstr "Резолвер для outbound через интерфейс"
msgid "Resolver For Interface Outbound"
msgstr "Резолвер для outbound через интерфейс"
@@ -782,6 +785,9 @@ msgstr "Выберите предустановленный набор прав
msgid "Select DNS protocol to use"
msgstr "Выберите протокол DNS"
msgid "Select network interface for VPN connection"
msgstr "Выберите сетевой интерфейс для VPN-подключения"
msgid "Select or enter DNS server address"
msgstr "Выберите или введите адрес DNS-сервера"
@@ -1007,9 +1013,6 @@ msgstr "URL URLTest"
msgid "Use a network interface as the outbound for this node"
msgstr "Использовать сетевой интерфейс как outbound для этого узла"
msgid "Use a network interface as the outbound for this section"
msgstr "Использовать сетевой интерфейс как outbound для этой секции"
msgid "Use sing-box duration format like 1d, 12h or 30m"
msgstr "Используйте формат длительности sing-box, например 1d, 12h или 30m"
+148 -146
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PODKOP PLUS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-13 18:23+0300\n"
"PO-Revision-Date: 2026-05-13 18:23+0300\n"
"POT-Creation-Date: 2026-05-13 21:19+0300\n"
"PO-Revision-Date: 2026-05-13 21:19+0300\n"
"Last-Translator: ushan0v <142658494+ushan0v@users.noreply.github.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
@@ -36,7 +36,7 @@ msgstr ""
msgid "A latency-tested group of proxy URLs for this node"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1915
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1927
msgid "A latency-tested group of proxy URLs for this section"
msgstr ""
@@ -44,12 +44,12 @@ msgstr ""
msgid "A manual group of proxy URLs for this node"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1897
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1909
msgid "A manual group of proxy URLs for this section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1663
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1695
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1676
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1708
msgid "Action"
msgstr ""
@@ -61,15 +61,15 @@ msgstr ""
msgid "Add a section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2364
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2377
msgid "Add URLs or local paths to .lst lists"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2332
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2345
msgid "Add URLs or local paths to .srs / .json lists. Subnet rules are ignored"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2347
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2360
msgid "Add URLs or local paths to .srs / .json lists. Subnets from the list will be extracted and added to nftables"
msgstr ""
@@ -86,15 +86,15 @@ msgid "An error occurred while saving the form:"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:170
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2031
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2043
msgid "Applicable for SOCKS and Shadowsocks links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:946
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:959
msgid "At least one valid domain must be specified."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:957
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:970
msgid "At least one valid IP or subnet must be specified."
msgstr ""
@@ -106,7 +106,7 @@ msgstr ""
msgid "Available actions"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1048
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1061
msgid "Backend validation failed: %s"
msgstr ""
@@ -130,15 +130,15 @@ msgstr ""
msgid "Browser is using FakeIP correctly"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2237
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2250
msgid "Built-in rule sets"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:382
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:386
msgid "Cache File Path"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:396
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:400
msgid "Cache file path cannot be empty"
msgstr ""
@@ -172,15 +172,15 @@ msgstr ""
msgid "checks"
msgstr ""
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:26
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:58
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:61
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:64
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:26
msgid "Checks failed"
msgstr ""
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:13
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:54
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:13
msgid "Checks passed"
msgstr ""
@@ -196,11 +196,11 @@ msgstr ""
msgid "Close"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1651
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1664
msgid "Conditions"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:369
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:373
msgid "Config File Path"
msgstr ""
@@ -208,16 +208,16 @@ msgstr ""
msgid "Configuration for Podkop Plus service"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1781
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1793
msgid "Connection"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1763
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1776
msgid "Connection Type"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:19
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1766
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1779
msgid "Connection URL"
msgstr ""
@@ -289,18 +289,18 @@ msgid "DNS on router"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:227
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2096
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2108
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:21
msgid "DNS over HTTPS (DoH)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:228
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2097
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2109
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:22
msgid "DNS over TLS (DoT)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2094
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2106
msgid "DNS protocol"
msgstr ""
@@ -316,7 +316,7 @@ msgstr ""
msgid "DNS Rewrite TTL"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2112
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2123
msgid "DNS server"
msgstr ""
@@ -333,23 +333,27 @@ msgstr ""
msgid "Do not panic, everything can be fixed, just..."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2363
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2376
msgid "Domain and IP Lists"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2207
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2220
msgid "Domain keyword"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2214
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2227
msgid "Domain regex"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2179
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2094
msgid "Domain Resolver"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2192
msgid "Domains"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:360
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:364
msgid "Dont Touch My DHCP!"
msgstr ""
@@ -363,7 +367,7 @@ msgid "Download"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:328
msgid "Download external rule sets through one of the enabled proxy sections"
msgid "Download external rule sets through one of the enabled proxy/VPN sections"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:318
@@ -371,7 +375,7 @@ msgid "Download Lists via Proxy/VPN"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:327
msgid "Download Lists via specific proxy section"
msgid "Download Lists via specific proxy/VPN section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/ruleset.js:63
@@ -386,9 +390,9 @@ msgstr ""
msgid "Drag rows to change priority. The rule at the top is checked first."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:451
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:466
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:486
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:464
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:479
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:499
msgid "Duplicate value"
msgstr ""
@@ -398,7 +402,7 @@ msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:8
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/ruleset.js:10
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1653
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1666
msgid "Enable"
msgstr ""
@@ -406,15 +410,15 @@ msgstr ""
msgid "Enable a dedicated DNS resolver when this node uses an interface"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2083
msgid "Enable a dedicated DNS resolver when this section uses an interface"
msgstr ""
#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:89
msgid "Enable autostart"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2134
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2095
msgid "Enable built-in DNS resolver for domains handled by this section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2144
msgid "Enable Mixed Proxy"
msgstr ""
@@ -431,11 +435,11 @@ msgid "Enable YACD WAN Access"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:52
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1804
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1816
msgid "Enter a complete sing-box outbound object"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1826
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1838
msgid "Enter the subscription URL"
msgstr ""
@@ -455,15 +459,15 @@ msgstr ""
msgid "Every minute"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2193
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2206
msgid "Exact full domain"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:436
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:440
msgid "Exclude NTP"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:437
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:441
msgid "Exclude NTP protocol traffic from the tunnel to prevent it from being routed through the proxy or VPN"
msgstr ""
@@ -471,11 +475,11 @@ msgstr ""
msgid "Expecting: %s"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2135
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2145
msgid "Expose this section as a local HTTP+SOCKS proxy"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1109
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1122
msgid "External nfqws config files bypass Podkop Plus queue management and explicit validation."
msgstr ""
@@ -492,9 +496,9 @@ msgstr ""
msgid "Failed to execute!"
msgstr ""
#: src/podkop/methods/custom/getDashboardSections.ts:193
#: src/podkop/methods/custom/getDashboardSections.ts:225
#: src/podkop/methods/custom/getDashboardSections.ts:263
#: src/podkop/methods/custom/getDashboardSections.ts:257
#: src/podkop/methods/custom/getDashboardSections.ts:295
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:59
msgid "Fastest"
msgstr ""
@@ -511,11 +515,11 @@ msgstr ""
msgid "Global check"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1882
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1894
msgid "Group subscription proxies by country"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1883
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1895
msgid "Group subscription proxies by the country flag at the beginning of the outbound tag"
msgstr ""
@@ -523,7 +527,7 @@ msgstr ""
msgid "How often this remote rule set should be refreshed"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1764
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1777
msgid "How to configure the proxy connection for this section"
msgstr ""
@@ -533,8 +537,6 @@ msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:23
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:179
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1771
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2042
msgid "Interface"
msgstr ""
@@ -627,12 +629,12 @@ msgstr ""
msgid "Invalid path format. Path must start with \"/\" and contain valid characters"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2162
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2174
#: src/validators/validateShadowsocksUrl.ts:85
msgid "Invalid port number. Must be between 1 and 65535"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:312
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:325
msgid "Invalid regular expression"
msgstr ""
@@ -733,17 +735,17 @@ msgstr ""
msgid "IP address 0.0.0.0 is not allowed"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2186
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2199
msgid "IPs"
msgstr ""
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:20
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:67
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:70
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:20
msgid "Issues detected"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:322
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:335
msgid "Keyword must not contain spaces"
msgstr ""
@@ -751,7 +753,7 @@ msgstr ""
msgid "Latest"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1616
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1629
msgid "List must be a direct .lst URL or a local .lst path"
msgstr ""
@@ -767,7 +769,7 @@ msgstr ""
msgid "Local file path to a sing-box rule set"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:418
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:422
msgid "Log Level"
msgstr ""
@@ -775,32 +777,32 @@ msgstr ""
msgid "Main DNS"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2187
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2200
msgid "Match destination IPs or subnets"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2208
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2221
msgid "Match domains containing a substring"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2180
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2193
msgid "Match domains including all subdomains"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2215
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2228
msgid "Match domains using a regular expression"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2194
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2207
msgid "Match only one exact full domain name"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2222
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2235
msgid "Match source IPs or subnets"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:114
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1967
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1979
msgid "Maximum response time delta in milliseconds"
msgstr ""
@@ -808,7 +810,7 @@ msgstr ""
msgid "Memory Usage"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2146
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2157
msgid "Mixed Proxy Port"
msgstr ""
@@ -817,10 +819,14 @@ msgid "Monitored Interfaces"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:136
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1990
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2002
msgid "Must be a number in the range of 50 - 1000"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2054
msgid "Network Interface"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:118
msgid "NFQUEUE range is available"
msgstr ""
@@ -829,11 +835,11 @@ msgstr ""
msgid "NFQUEUE range overlaps with another rule"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1729
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1742
msgid "NFQWS Strategy"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1239
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1252
msgid "NFQWS strategy cannot be empty"
msgstr ""
@@ -880,7 +886,7 @@ msgstr ""
msgid "Operation timed out"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:385
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:398
msgid "Option \"%s\" contains an invalid input value."
msgstr ""
@@ -888,14 +894,14 @@ msgstr ""
msgid "Optional node used to download this remote rule set"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1317
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1330
msgid "Optional values must be attached with '=' here; a separate token would be ignored by nfqws."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:22
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:51
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1770
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1803
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1783
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1815
msgid "Outbound JSON"
msgstr ""
@@ -915,15 +921,15 @@ msgstr ""
msgid "Path cannot be empty"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:400
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:404
msgid "Path must be absolute (start with /)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:409
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:413
msgid "Path must contain at least one directory (like /tmp/cache.db)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:404
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:408
msgid "Path must end with cache.db"
msgstr ""
@@ -936,7 +942,7 @@ msgstr ""
msgid "Pending"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1127
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1140
msgid "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here."
msgstr ""
@@ -944,7 +950,7 @@ msgstr ""
msgid "Podkop Plus Settings"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:361
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:365
msgid "Podkop Plus will not modify your DHCP configuration"
msgstr ""
@@ -960,11 +966,11 @@ msgstr ""
msgid "Podkop-managed nfqws runtime is ready"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2154
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2166
msgid "Port cannot be empty"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2147
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2158
msgid "Port for the local mixed proxy of this section"
msgstr ""
@@ -984,7 +990,7 @@ msgstr ""
msgid "Proxy traffic is routed via FakeIP"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2276
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2289
msgid "Regional options cannot be used together"
msgstr ""
@@ -996,27 +1002,23 @@ msgstr ""
msgid "Remote URL to a sing-box rule set"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2170
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2182
msgid "Resolve domain names before routing so sing-box can use real destination IPs."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2169
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2181
msgid "Resolve real IP for routing"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2082
msgid "Resolver for interface outbound"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:218
msgid "Resolver For Interface Outbound"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1112
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1125
msgid "Resource selection by hostname inside nfqws is not supported here; sing-box selects resources before NFQUEUE."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1115
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1128
msgid "Resource selection by IP or CIDR inside nfqws is not supported here; sing-box selects resources before NFQUEUE."
msgstr ""
@@ -1024,11 +1026,11 @@ msgstr ""
msgid "Restart Podkop Plus"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:447
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:451
msgid "Routing Excluded IPs"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1606
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1619
msgid "Rule set must be a direct .srs / .json URL or a local .srs / .json path"
msgstr ""
@@ -1036,11 +1038,11 @@ msgstr ""
msgid "Rule set URL"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2346
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2359
msgid "Rule sets (domains and subnets)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2331
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2344
msgid "Rule sets (domains)"
msgstr ""
@@ -1072,7 +1074,7 @@ msgstr ""
msgid "Run Diagnostic"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2295
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2308
msgid "Russia inside restrictions"
msgstr ""
@@ -1088,7 +1090,7 @@ msgstr ""
msgid "Section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1682
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1695
msgid "Section name"
msgstr ""
@@ -1096,7 +1098,7 @@ msgstr ""
msgid "Sections"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2238
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2251
msgid "Select a predefined list for routing"
msgstr ""
@@ -1104,19 +1106,23 @@ msgstr ""
msgid "Select DNS protocol to use"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2055
msgid "Select network interface for VPN connection"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:31
msgid "Select or enter DNS server address"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:383
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:387
msgid "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:370
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:374
msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:419
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:423
msgid "Select the log level for sing-box"
msgstr ""
@@ -1132,7 +1138,7 @@ msgstr ""
msgid "Select the WAN interfaces to be monitored"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1896
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1908
msgid "Selector connections"
msgstr ""
@@ -1140,7 +1146,7 @@ msgstr ""
msgid "Selector Links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2241
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2254
msgid "Service list"
msgstr ""
@@ -1149,7 +1155,7 @@ msgid "Services info"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:408
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1650
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1663
msgid "Settings"
msgstr ""
@@ -1194,7 +1200,7 @@ msgstr ""
msgid "Source file"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2221
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2234
msgid "Source IPs"
msgstr ""
@@ -1202,7 +1208,7 @@ msgstr ""
msgid "Source Network Interface"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:448
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:452
msgid "Specify a local IP address to be excluded from routing"
msgstr ""
@@ -1226,19 +1232,19 @@ msgstr ""
msgid "Stop Podkop Plus"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1769
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1782
msgid "Subscription"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1845
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1857
msgid "Subscription update interval"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1825
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1837
msgid "Subscription URL"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:396
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:409
msgid "Subscription URL cannot be empty"
msgstr ""
@@ -1262,7 +1268,7 @@ msgstr ""
msgid "Test latency"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1124
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1137
msgid "The desync fwmark is managed by Podkop Plus for loop prevention and must not be overridden here."
msgstr ""
@@ -1270,7 +1276,7 @@ msgstr ""
msgid "The DNS server used to look up the IP address of an upstream DNS server"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1121
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1134
msgid "The NFQUEUE number is assigned by Podkop Plus for each rule and must not be overridden here."
msgstr ""
@@ -1278,19 +1284,19 @@ msgstr ""
msgid "There are rules using Zapret"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1130
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1143
msgid "This field must start a working nfqws strategy; --dry-run exits immediately and is not allowed here."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1133
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1146
msgid "This field must start a working nfqws strategy; --version exits immediately and is not allowed here."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1302
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1315
msgid "This flag does not accept a value."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1333
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1346
msgid "This option requires a value."
msgstr ""
@@ -1327,11 +1333,11 @@ msgid "UDP (Unprotected DNS)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:169
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2030
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2042
msgid "UDP over TCP"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1044
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1057
msgid "Unable to validate the NFQWS strategy through the backend parser."
msgstr ""
@@ -1339,7 +1345,7 @@ msgstr ""
msgid "Unexpected Podkop-managed nfqws runtime is running"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1282
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1295
msgid "Unexpected standalone token. Use explicit flags such as --name or --name=value."
msgstr ""
@@ -1362,7 +1368,7 @@ msgstr ""
msgid "Unknown error"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1293
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1306
msgid "Unknown NFQWS flag."
msgstr ""
@@ -1383,11 +1389,11 @@ msgstr ""
msgid "URL must use one of the following protocols:"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1914
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1926
msgid "URLTest connections"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1932
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1944
msgid "URLTest interval"
msgstr ""
@@ -1399,7 +1405,7 @@ msgstr ""
msgid "URLTest Links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1966
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1978
msgid "URLTest tolerance"
msgstr ""
@@ -1408,7 +1414,7 @@ msgid "URLTest Tolerance"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:139
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1997
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2009
msgid "URLTest URL"
msgstr ""
@@ -1416,21 +1422,17 @@ msgstr ""
msgid "Use a network interface as the outbound for this node"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2043
msgid "Use a network interface as the outbound for this section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:374
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:387
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:312
msgid "Use sing-box duration format like 1d, 12h or 30m"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1846
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1858
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:283
msgid "Use sing-box duration format. Leave empty to disable automatic updates."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1933
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1945
msgid "Use sing-box duration format. Leave empty to disable periodic URLTest checks."
msgstr ""
@@ -1451,9 +1453,9 @@ msgstr ""
msgid "Valid"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:458
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:478
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:482
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:471
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:491
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:495
msgid "Validation errors:"
msgstr ""
@@ -1462,24 +1464,24 @@ msgstr ""
msgid "View logs"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1683
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1696
msgid "Visible name of this section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:32
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1782
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1794
msgid "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2278
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2291
msgid "Warning: %s cannot be used together with %s. Previous selections have been removed."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2297
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2310
msgid "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1696
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1709
msgid "What Podkop Plus should do when this section matches"
msgstr ""
@@ -1491,12 +1493,12 @@ msgstr ""
msgid "You can select Output Network Interface, by default autodetect"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:237
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:284
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:249
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:297
msgid "Zapret (provider not available)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1118
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1131
msgid "Zapret hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS strategies."
msgstr ""
+139 -61
View File
@@ -579,19 +579,6 @@ append_sing_box_rule_signature() {
signature_add "rule.$section.urltest_tolerance" "$urltest_tolerance"
signature_add "rule.$section.urltest_testing_url" "$urltest_testing_url"
;;
interface)
local interface_name domain_resolver_enabled domain_resolver_dns_type domain_resolver_dns_server
config_get interface_name "$section" "interface"
config_get_bool domain_resolver_enabled "$section" "domain_resolver_enabled" 0
signature_add "rule.$section.interface" "$interface_name"
signature_add "rule.$section.domain_resolver_enabled" "$domain_resolver_enabled"
if [ "$domain_resolver_enabled" -eq 1 ]; then
config_get domain_resolver_dns_type "$section" "domain_resolver_dns_type"
config_get domain_resolver_dns_server "$section" "domain_resolver_dns_server"
signature_add "rule.$section.domain_resolver_dns_type" "$domain_resolver_dns_type"
signature_add "rule.$section.domain_resolver_dns_server" "$domain_resolver_dns_server"
fi
;;
subscription)
local subscription_url subscription_update_interval subscription_group_by_countries \
urltest_check_interval urltest_tolerance urltest_testing_url
@@ -617,6 +604,29 @@ append_sing_box_rule_signature() {
signature_add "rule.$section.mixed_proxy_port" "$mixed_proxy_port"
fi
config_get_bool resolve_real_ip_for_routing "$section" "resolve_real_ip_for_routing" 0
signature_add "rule.$section.resolve_real_ip_for_routing" "$resolve_real_ip_for_routing"
;;
vpn)
local interface_name domain_resolver_enabled domain_resolver_dns_type domain_resolver_dns_server
config_get interface_name "$section" "interface"
config_get_bool domain_resolver_enabled "$section" "domain_resolver_enabled" 0
signature_add "rule.$section.interface" "$interface_name"
signature_add "rule.$section.domain_resolver_enabled" "$domain_resolver_enabled"
if [ "$domain_resolver_enabled" -eq 1 ]; then
config_get domain_resolver_dns_type "$section" "domain_resolver_dns_type"
config_get domain_resolver_dns_server "$section" "domain_resolver_dns_server"
signature_add "rule.$section.domain_resolver_dns_type" "$domain_resolver_dns_type"
signature_add "rule.$section.domain_resolver_dns_server" "$domain_resolver_dns_server"
fi
config_get_bool mixed_proxy_enabled "$section" "mixed_proxy_enabled" 0
signature_add "rule.$section.mixed_proxy_enabled" "$mixed_proxy_enabled"
if [ "$mixed_proxy_enabled" -eq 1 ]; then
config_get mixed_proxy_port "$section" "mixed_proxy_port"
signature_add "rule.$section.mixed_proxy_port" "$mixed_proxy_port"
fi
config_get_bool resolve_real_ip_for_routing "$section" "resolve_real_ip_for_routing" 0
signature_add "rule.$section.resolve_real_ip_for_routing" "$resolve_real_ip_for_routing"
;;
@@ -1056,10 +1066,16 @@ reload_sing_box_runtime() {
get_rule_action() {
local section="$1"
local action
local action proxy_config_type
config_get action "$section" "action"
if [ -n "$action" ]; then
config_get proxy_config_type "$section" "proxy_config_type"
if [ "$action" = "proxy" ] && [ "$proxy_config_type" = "interface" ]; then
echo "vpn"
return 0
fi
echo "$action"
return 0
fi
@@ -1074,10 +1090,14 @@ infer_rule_action_from_fields() {
config_get connection_type "$section" "connection_type"
case "$connection_type" in
proxy | vpn)
proxy)
echo "proxy"
return 0
;;
vpn)
echo "vpn"
return 0
;;
block)
echo "block"
return 0
@@ -1089,23 +1109,33 @@ infer_rule_action_from_fields() {
esac
config_get proxy_config_type "$section" "proxy_config_type"
if [ "$proxy_config_type" = "interface" ]; then
echo "vpn"
return 0
fi
if [ -n "$proxy_config_type" ]; then
echo "proxy"
return 0
fi
config_get interface "$section" "interface"
config_get outbound_json "$section" "outbound_json"
config_get selector_proxy_links "$section" "selector_proxy_links"
config_get urltest_proxy_links "$section" "urltest_proxy_links"
config_get subscription_url "$section" "subscription_url"
config_get proxy_string "$section" "proxy_string"
if [ -n "$interface" ] || [ -n "$outbound_json" ] || [ -n "$selector_proxy_links" ] ||
if [ -n "$outbound_json" ] || [ -n "$selector_proxy_links" ] ||
[ -n "$urltest_proxy_links" ] || [ -n "$subscription_url" ] || [ -n "$proxy_string" ]; then
echo "proxy"
return 0
fi
config_get interface "$section" "interface"
if [ -n "$interface" ]; then
echo "vpn"
return 0
fi
config_get nfqws_opt "$section" "nfqws_opt"
if [ -n "$nfqws_opt" ]; then
echo "zapret"
@@ -1117,10 +1147,21 @@ infer_rule_action_from_fields() {
get_proxy_config_type() {
local section="$1"
local proxy_config_type
local action proxy_config_type
config_get action "$section" "action"
if [ "$action" = "vpn" ]; then
echo ""
return 0
fi
config_get proxy_config_type "$section" "proxy_config_type"
if [ -n "$proxy_config_type" ]; then
if [ "$proxy_config_type" = "interface" ]; then
echo ""
return 0
fi
echo "$proxy_config_type"
return 0
fi
@@ -1130,17 +1171,17 @@ get_proxy_config_type() {
infer_proxy_config_type_from_fields() {
local section="$1"
local connection_type interface outbound_json selector_proxy_links urltest_proxy_links subscription_url proxy_string
local action connection_type outbound_json selector_proxy_links urltest_proxy_links subscription_url proxy_string
config_get connection_type "$section" "connection_type"
if [ "$connection_type" = "vpn" ]; then
echo "interface"
config_get action "$section" "action"
if [ "$action" = "vpn" ]; then
echo ""
return 0
fi
config_get interface "$section" "interface"
if [ -n "$interface" ]; then
echo "interface"
config_get connection_type "$section" "connection_type"
if [ "$connection_type" = "vpn" ]; then
echo ""
return 0
fi
@@ -1211,8 +1252,10 @@ migrate_legacy_section_to_rule() {
uci set "$PODKOP_CONFIG_NAME.$section.action=$action"
fi
if [ -n "$proxy_config_type" ]; then
if [ "$action" = "proxy" ] && [ -n "$proxy_config_type" ]; then
uci set "$PODKOP_CONFIG_NAME.$section.proxy_config_type=$proxy_config_type"
elif [ "$action" = "vpn" ]; then
uci -q delete "$PODKOP_CONFIG_NAME.$section.proxy_config_type" || true
fi
legacy_migration_changed=1
@@ -1220,19 +1263,53 @@ migrate_legacy_section_to_rule() {
normalize_incomplete_rule_section() {
local section="$1"
local current_action current_proxy_config_type inferred_action inferred_proxy_config_type
local current_action current_proxy_config_type current_connection_type inferred_action inferred_proxy_config_type effective_action \
legacy_vpn_rule
config_get current_action "$section" "action"
config_get current_proxy_config_type "$section" "proxy_config_type"
config_get current_connection_type "$section" "connection_type"
legacy_vpn_rule=0
if [ "$current_connection_type" = "vpn" ]; then
legacy_vpn_rule=1
fi
if [ "$current_proxy_config_type" = "interface" ]; then
legacy_vpn_rule=1
fi
if [ "$legacy_vpn_rule" -eq 1 ]; then
if [ "$current_action" != "vpn" ]; then
log "Migrating legacy interface proxy rule '$section' to action 'vpn'"
uci set "$PODKOP_CONFIG_NAME.$section.action=vpn"
current_action="vpn"
legacy_migration_changed=1
fi
if [ -n "$current_proxy_config_type" ]; then
uci -q delete "$PODKOP_CONFIG_NAME.$section.proxy_config_type" || true
current_proxy_config_type=""
legacy_migration_changed=1
fi
fi
inferred_action="$(get_rule_action "$section")"
if [ -z "$current_action" ] && [ -n "$inferred_action" ]; then
log "Migrating incomplete rule '$section': inferred action '$inferred_action'"
uci set "$PODKOP_CONFIG_NAME.$section.action=$inferred_action"
current_action="$inferred_action"
legacy_migration_changed=1
fi
if [ "${current_action:-$inferred_action}" = "proxy" ] && [ -z "$current_proxy_config_type" ]; then
effective_action="${current_action:-$inferred_action}"
if [ "$effective_action" = "vpn" ] && [ -n "$current_proxy_config_type" ]; then
log "Removing stale proxy_config_type from VPN rule '$section'"
uci -q delete "$PODKOP_CONFIG_NAME.$section.proxy_config_type" || true
current_proxy_config_type=""
legacy_migration_changed=1
fi
if [ "$effective_action" = "proxy" ] && [ -z "$current_proxy_config_type" ]; then
inferred_proxy_config_type="$(get_proxy_config_type "$section")"
if [ -n "$inferred_proxy_config_type" ]; then
log "Migrating incomplete proxy rule '$section': inferred proxy_config_type '$inferred_proxy_config_type'"
@@ -3637,35 +3714,6 @@ configure_outbound_handler() {
fi
return 0
;;
interface)
local interface_name domain_resolver_enabled domain_resolver_dns_type domain_resolver_dns_server \
domain_resolver_dns_server_address outbound_tag domain_resolver_tag dns_domain_resolver
config_get interface_name "$section" "interface"
config_get domain_resolver_enabled "$section" "domain_resolver_enabled"
config_get domain_resolver_dns_type "$section" "domain_resolver_dns_type"
config_get domain_resolver_dns_server "$section" "domain_resolver_dns_server"
if [ -z "$interface_name" ]; then
log "Interface outbound is not set for rule '$section'. Aborted." "fatal"
exit 1
fi
outbound_tag="$(get_outbound_tag_by_section "$section")"
if [ "$domain_resolver_enabled" -eq 1 ]; then
domain_resolver_dns_server_address="$(url_get_host "$domain_resolver_dns_server")"
if ! is_ipv4 "$domain_resolver_dns_server_address"; then
dns_domain_resolver=$SB_BOOTSTRAP_SERVER_TAG
fi
domain_resolver_tag="$(get_domain_resolver_tag "$section")"
config=$(sing_box_cf_add_dns_server "$config" "$domain_resolver_dns_type" "$domain_resolver_tag" \
"$domain_resolver_dns_server" "$dns_domain_resolver" "$outbound_tag")
fi
config=$(sing_box_cm_add_interface_outbound "$config" "$outbound_tag" "$interface_name" "$domain_resolver_tag")
return 0
;;
"")
log "Proxy rule '$section' has no proxy_config_type configured. Aborted." "fatal"
exit 1
@@ -3677,6 +3725,36 @@ configure_outbound_handler() {
esac
fi
if [ "$action" = "vpn" ]; then
local interface_name domain_resolver_enabled domain_resolver_dns_type domain_resolver_dns_server \
domain_resolver_dns_server_address outbound_tag domain_resolver_tag dns_domain_resolver
config_get interface_name "$section" "interface"
config_get_bool domain_resolver_enabled "$section" "domain_resolver_enabled" 0
config_get domain_resolver_dns_type "$section" "domain_resolver_dns_type"
config_get domain_resolver_dns_server "$section" "domain_resolver_dns_server"
if [ -z "$interface_name" ]; then
log "VPN interface is not set for rule '$section'. Aborted." "fatal"
exit 1
fi
outbound_tag="$(get_outbound_tag_by_section "$section")"
if [ "$domain_resolver_enabled" -eq 1 ]; then
domain_resolver_dns_server_address="$(url_get_host "$domain_resolver_dns_server")"
if ! is_ipv4 "$domain_resolver_dns_server_address"; then
dns_domain_resolver=$SB_BOOTSTRAP_SERVER_TAG
fi
domain_resolver_tag="$(get_domain_resolver_tag "$section")"
config=$(sing_box_cf_add_dns_server "$config" "$domain_resolver_dns_type" "$domain_resolver_tag" \
"$domain_resolver_dns_server" "$dns_domain_resolver" "$outbound_tag")
fi
config=$(sing_box_cm_add_interface_outbound "$config" "$outbound_tag" "$interface_name" "$domain_resolver_tag")
return 0
fi
case "$action" in
block | direct)
return 0
@@ -3910,7 +3988,7 @@ create_route_rule_for_action() {
local rule_tag="$3"
case "$action" in
proxy)
proxy | vpn)
local outbound_tag
outbound_tag="$(get_outbound_tag_by_section "$section")"
config=$(sing_box_cm_add_route_rule "$config" "$rule_tag" "$SB_TPROXY_INBOUND_TAG" "$outbound_tag")
@@ -4226,7 +4304,7 @@ configure_route_rule_handler() {
configure_domain_ip_lists "$section" "$route_rule_tag"
fi
if [ "$action" = "proxy" ]; then
if [ "$action" = "proxy" ] || [ "$action" = "vpn" ]; then
local resolve_real_ip_for_routing
config_get_bool resolve_real_ip_for_routing "$section" "resolve_real_ip_for_routing" 0
if [ "$resolve_real_ip_for_routing" -eq 1 ]; then
@@ -4623,7 +4701,7 @@ configure_section_mixed_proxy() {
rule_is_enabled "$section" || return 0
action="$(get_rule_action "$section")"
[ "$action" = "proxy" ] || return 0
[ "$action" = "proxy" ] || [ "$action" = "vpn" ] || return 0
local mixed_inbound_enabled mixed_proxy_port mixed_inbound_tag mixed_outbound_tag mixed_proxy_address
config_get_bool mixed_inbound_enabled "$section" "mixed_proxy_enabled" 0
@@ -5212,7 +5290,7 @@ _determine_first_outbound_section() {
rule_is_enabled "$section" || return 0
action="$(get_rule_action "$section")"
if [ "$action" = "proxy" ]; then
if [ "$action" = "proxy" ] || [ "$action" = "vpn" ]; then
[ -z "$first_section" ] && first_section="$1"
fi
}