Split proxy and VPN actions
This commit is contained in:
+164
-159
File diff suppressed because it is too large
Load Diff
@@ -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 ""
|
||||
|
||||
|
||||
@@ -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'],
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user