chore: update upstream to 0.7.15

This commit is contained in:
ushan0v
2026-05-12 19:01:59 +03:00
parent ba8b268d17
commit afb1cd554b
14 changed files with 510 additions and 331 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
FROM itdoginfo/openwrt-sdk-apk:09102025
FROM itdoginfo/openwrt-sdk-apk:25.12.3
ARG PODKOP_VERSION
ENV PODKOP_VERSION=${PODKOP_VERSION}
@@ -9,4 +9,4 @@ COPY ./luci-app-podkop-plus /builder/package/feeds/luci/luci-app-podkop-plus
RUN ./scripts/feeds update -a && \
./scripts/feeds install -a && \
make defconfig && \
make package/luci-app-podkop-plus/compile -j1 V=s
make package/luci-app-podkop-plus/compile -j4 V=s
+1 -1
View File
@@ -1,4 +1,4 @@
FROM itdoginfo/openwrt-sdk-ipk:24.10.3
FROM itdoginfo/openwrt-sdk-ipk:24.10.6
ARG PODKOP_VERSION
+116 -102
View File
@@ -35,7 +35,7 @@
"call": "A latency-tested group of proxy URLs for this section",
"key": "A latency-tested group of proxy URLs for this section",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1907"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1915"
]
},
{
@@ -49,15 +49,15 @@
"call": "A manual group of proxy URLs for this section",
"key": "A manual group of proxy URLs for this section",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1889"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1897"
]
},
{
"call": "Action",
"key": "Action",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1659",
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1691"
"../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"
]
},
{
@@ -78,14 +78,14 @@
"call": "Add URLs or local paths to .lst lists",
"key": "Add URLs or local paths to .lst lists",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2325"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2347"
]
},
{
"call": "Add URLs or local paths to .srs / .json lists",
"key": "Add URLs or local paths to .srs / .json lists",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2310"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2332"
]
},
{
@@ -114,21 +114,21 @@
"key": "Applicable for SOCKS and Shadowsocks links",
"places": [
"../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:2021"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2031"
]
},
{
"call": "At least one valid domain must be specified.",
"key": "At least one valid domain must be specified.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:944"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:946"
]
},
{
"call": "At least one valid IP or subnet must be specified.",
"key": "At least one valid IP or subnet must be specified.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:955"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:957"
]
},
{
@@ -149,7 +149,7 @@
"call": "Backend validation failed: %s",
"key": "Backend validation failed: %s",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1046"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1048"
]
},
{
@@ -191,7 +191,7 @@
"call": "Built-in rule sets",
"key": "Built-in rule sets",
"places": [
"../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:2237"
]
},
{
@@ -296,7 +296,7 @@
"call": "Conditions",
"key": "Conditions",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1647"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1651"
]
},
{
@@ -317,14 +317,14 @@
"call": "Connection",
"key": "Connection",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1777"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1781"
]
},
{
"call": "Connection Type",
"key": "Connection Type",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1759"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1763"
]
},
{
@@ -332,7 +332,7 @@
"key": "Connection URL",
"places": [
"../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:1762"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1766"
]
},
{
@@ -455,7 +455,7 @@
"key": "DNS over HTTPS (DoH)",
"places": [
"../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:2086",
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2096",
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:21"
]
},
@@ -464,7 +464,7 @@
"key": "DNS over TLS (DoT)",
"places": [
"../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:2087",
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2097",
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:22"
]
},
@@ -472,7 +472,7 @@
"call": "DNS protocol",
"key": "DNS protocol",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2084"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2094"
]
},
{
@@ -500,7 +500,7 @@
"call": "DNS server",
"key": "DNS server",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2102"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2112"
]
},
{
@@ -529,28 +529,28 @@
"call": "Domain and IP Lists",
"key": "Domain and IP Lists",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2324"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2346"
]
},
{
"call": "Domain keyword",
"key": "Domain keyword",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2185"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2207"
]
},
{
"call": "Domain regex",
"key": "Domain regex",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2192"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2214"
]
},
{
"call": "Domains",
"key": "Domains",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2157"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2179"
]
},
{
@@ -621,9 +621,9 @@
"call": "Duplicate value",
"key": "Duplicate value",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:449",
"../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:484"
"../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"
]
},
{
@@ -639,7 +639,7 @@
"places": [
"../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:1649"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1653"
]
},
{
@@ -653,7 +653,7 @@
"call": "Enable a dedicated DNS resolver when this section uses an interface",
"key": "Enable a dedicated DNS resolver when this section uses an interface",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2073"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2083"
]
},
{
@@ -667,7 +667,7 @@
"call": "Enable Mixed Proxy",
"key": "Enable Mixed Proxy",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2124"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2134"
]
},
{
@@ -696,14 +696,14 @@
"key": "Enter a complete sing-box outbound object",
"places": [
"../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:1800"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1804"
]
},
{
"call": "Enter the subscription URL",
"key": "Enter the subscription URL",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1822"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1826"
]
},
{
@@ -738,7 +738,7 @@
"call": "Exact full domain",
"key": "Exact full domain",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2171"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2193"
]
},
{
@@ -766,14 +766,14 @@
"call": "Expose this section as a local HTTP+SOCKS proxy",
"key": "Expose this section as a local HTTP+SOCKS proxy",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2125"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2135"
]
},
{
"call": "External nfqws config files bypass Podkop Plus queue management and explicit validation.",
"key": "External nfqws config files bypass Podkop Plus queue management and explicit validation.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1107"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1109"
]
},
{
@@ -830,14 +830,14 @@
"call": "Group subscription proxies by country",
"key": "Group subscription proxies by country",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1876"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1882"
]
},
{
"call": "Group subscription proxies by the country flag at the beginning of the outbound tag",
"key": "Group subscription proxies by the country flag at the beginning of the outbound tag",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1877"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1883"
]
},
{
@@ -851,7 +851,7 @@
"call": "How to configure the proxy connection for this section",
"key": "How to configure the proxy connection for this section",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1760"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1764"
]
},
{
@@ -867,8 +867,8 @@
"places": [
"../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:1767",
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2032"
"../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"
]
},
{
@@ -1030,7 +1030,7 @@
"call": "Invalid port number. Must be between 1 and 65535",
"key": "Invalid port number. Must be between 1 and 65535",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2152",
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2162",
"src/validators/validateShadowsocksUrl.ts:85"
]
},
@@ -1214,7 +1214,7 @@
"call": "IPs",
"key": "IPs",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2164"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2186"
]
},
{
@@ -1244,7 +1244,7 @@
"call": "List must be a direct .lst URL or a local .lst path",
"key": "List must be a direct .lst URL or a local .lst path",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1612"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1616"
]
},
{
@@ -1286,42 +1286,42 @@
"call": "Match destination IPs or subnets",
"key": "Match destination IPs or subnets",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2165"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2187"
]
},
{
"call": "Match domains containing a substring",
"key": "Match domains containing a substring",
"places": [
"../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:2208"
]
},
{
"call": "Match domains including all subdomains",
"key": "Match domains including all subdomains",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2158"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2180"
]
},
{
"call": "Match domains using a regular expression",
"key": "Match domains using a regular expression",
"places": [
"../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:2215"
]
},
{
"call": "Match only one exact full domain name",
"key": "Match only one exact full domain name",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2172"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2194"
]
},
{
"call": "Match source IPs or subnets",
"key": "Match source IPs or subnets",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2200"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2222"
]
},
{
@@ -1329,7 +1329,7 @@
"key": "Maximum response time delta in milliseconds",
"places": [
"../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:1957"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1967"
]
},
{
@@ -1343,7 +1343,7 @@
"call": "Mixed Proxy Port",
"key": "Mixed Proxy Port",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2136"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2146"
]
},
{
@@ -1358,7 +1358,7 @@
"key": "Must be a number in the range of 50 - 1000",
"places": [
"../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:1980"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1990"
]
},
{
@@ -1379,14 +1379,14 @@
"call": "NFQWS Strategy",
"key": "NFQWS Strategy",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1725"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1729"
]
},
{
"call": "NFQWS strategy cannot be empty",
"key": "NFQWS strategy cannot be empty",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1237"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1239"
]
},
{
@@ -1477,7 +1477,7 @@
"call": "Optional values must be attached with '=' here; a separate token would be ignored by nfqws.",
"key": "Optional values must be attached with '=' here; a separate token would be ignored by nfqws.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1315"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1317"
]
},
{
@@ -1486,8 +1486,8 @@
"places": [
"../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:1766",
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1799"
"../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"
]
},
{
@@ -1555,7 +1555,7 @@
"call": "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here.",
"key": "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1125"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1127"
]
},
{
@@ -1597,14 +1597,14 @@
"call": "Port cannot be empty",
"key": "Port cannot be empty",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2144"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2154"
]
},
{
"call": "Port for the local mixed proxy of this section",
"key": "Port for the local mixed proxy of this section",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2137"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2147"
]
},
{
@@ -1639,7 +1639,7 @@
"call": "Regional options cannot be used together",
"key": "Regional options cannot be used together",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2254"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2276"
]
},
{
@@ -1656,11 +1656,25 @@
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/ruleset.js:49"
]
},
{
"call": "Resolve domain names before routing so sing-box can use real destination IPs.",
"key": "Resolve domain names before routing so sing-box can use real destination IPs.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2170"
]
},
{
"call": "Resolve real IP for routing",
"key": "Resolve real IP for routing",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2169"
]
},
{
"call": "Resolver for interface outbound",
"key": "Resolver for interface outbound",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2072"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2082"
]
},
{
@@ -1674,14 +1688,14 @@
"call": "Resource selection by hostname inside nfqws is not supported here; sing-box selects resources before NFQUEUE.",
"key": "Resource selection by hostname inside nfqws is not supported here; sing-box selects resources before NFQUEUE.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1110"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1112"
]
},
{
"call": "Resource selection by IP or CIDR inside nfqws is not supported here; sing-box selects resources before NFQUEUE.",
"key": "Resource selection by IP or CIDR inside nfqws is not supported here; sing-box selects resources before NFQUEUE.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1113"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1115"
]
},
{
@@ -1702,7 +1716,7 @@
"call": "Rule set must be a direct .srs / .json URL or a local .srs / .json path",
"key": "Rule set must be a direct .srs / .json URL or a local .srs / .json path",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1604"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1606"
]
},
{
@@ -1716,7 +1730,7 @@
"call": "Rule sets",
"key": "Rule sets",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2309"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2331"
]
},
{
@@ -1772,7 +1786,7 @@
"call": "Russia inside restrictions",
"key": "Russia inside restrictions",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2273"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2295"
]
},
{
@@ -1800,7 +1814,7 @@
"call": "Section name",
"key": "Section name",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1678"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1682"
]
},
{
@@ -1814,7 +1828,7 @@
"call": "Select a predefined list for routing",
"key": "Select a predefined list for routing",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2216"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2238"
]
},
{
@@ -1877,7 +1891,7 @@
"call": "Selector connections",
"key": "Selector connections",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1888"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1896"
]
},
{
@@ -1891,7 +1905,7 @@
"call": "Service list",
"key": "Service list",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2219"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2241"
]
},
{
@@ -1906,7 +1920,7 @@
"key": "Settings",
"places": [
"../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:1646"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1650"
]
},
{
@@ -1984,7 +1998,7 @@
"call": "Source IPs",
"key": "Source IPs",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2199"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2221"
]
},
{
@@ -2040,28 +2054,28 @@
"call": "Subscription",
"key": "Subscription",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1765"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1769"
]
},
{
"call": "Subscription update interval",
"key": "Subscription update interval",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1841"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1845"
]
},
{
"call": "Subscription URL",
"key": "Subscription URL",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1821"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1825"
]
},
{
"call": "Subscription URL cannot be empty",
"key": "Subscription URL cannot be empty",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:395"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:396"
]
},
{
@@ -2103,7 +2117,7 @@
"call": "The desync fwmark is managed by Podkop Plus for loop prevention and must not be overridden here.",
"key": "The desync fwmark is managed by Podkop Plus for loop prevention and must not be overridden here.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1122"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1124"
]
},
{
@@ -2117,7 +2131,7 @@
"call": "The NFQUEUE number is assigned by Podkop Plus for each rule and must not be overridden here.",
"key": "The NFQUEUE number is assigned by Podkop Plus for each rule and must not be overridden here.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1119"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1121"
]
},
{
@@ -2131,28 +2145,28 @@
"call": "This field must start a working nfqws strategy; --dry-run exits immediately and is not allowed here.",
"key": "This field must start a working nfqws strategy; --dry-run exits immediately and is not allowed here.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1128"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1130"
]
},
{
"call": "This field must start a working nfqws strategy; --version exits immediately and is not allowed here.",
"key": "This field must start a working nfqws strategy; --version exits immediately and is not allowed here.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1131"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1133"
]
},
{
"call": "This flag does not accept a value.",
"key": "This flag does not accept a value.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1300"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1302"
]
},
{
"call": "This option requires a value.",
"key": "This option requires a value.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1331"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1333"
]
},
{
@@ -2216,14 +2230,14 @@
"key": "UDP over TCP",
"places": [
"../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:2020"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2030"
]
},
{
"call": "Unable to validate the NFQWS strategy through the backend parser.",
"key": "Unable to validate the NFQWS strategy through the backend parser.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1042"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1044"
]
},
{
@@ -2237,7 +2251,7 @@
"call": "Unexpected standalone token. Use explicit flags such as --name or --name=value.",
"key": "Unexpected standalone token. Use explicit flags such as --name or --name=value.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1280"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1282"
]
},
{
@@ -2272,7 +2286,7 @@
"call": "Unknown NFQWS flag.",
"key": "Unknown NFQWS flag.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1291"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1293"
]
},
{
@@ -2308,14 +2322,14 @@
"call": "URLTest connections",
"key": "URLTest connections",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1906"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1914"
]
},
{
"call": "URLTest interval",
"key": "URLTest interval",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1924"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1932"
]
},
{
@@ -2336,7 +2350,7 @@
"call": "URLTest tolerance",
"key": "URLTest tolerance",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1956"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1966"
]
},
{
@@ -2351,7 +2365,7 @@
"key": "URLTest URL",
"places": [
"../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:1987"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1997"
]
},
{
@@ -2365,7 +2379,7 @@
"call": "Use a network interface as the outbound for this section",
"key": "Use a network interface as the outbound for this section",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2033"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2043"
]
},
{
@@ -2380,7 +2394,7 @@
"call": "Use sing-box duration format. Leave empty to disable automatic updates.",
"key": "Use sing-box duration format. Leave empty to disable automatic updates.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1842",
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1846",
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:283"
]
},
@@ -2388,7 +2402,7 @@
"call": "Use sing-box duration format. Leave empty to disable periodic URLTest checks.",
"key": "Use sing-box duration format. Leave empty to disable periodic URLTest checks.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1925"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1933"
]
},
{
@@ -2415,9 +2429,9 @@
"call": "Validation errors:",
"key": "Validation errors:",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:456",
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:476",
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:480"
"../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"
]
},
{
@@ -2432,7 +2446,7 @@
"call": "Visible name of this section",
"key": "Visible name of this section",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1679"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1683"
]
},
{
@@ -2440,28 +2454,28 @@
"key": "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links",
"places": [
"../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:1778"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1782"
]
},
{
"call": "Warning: %s cannot be used together with %s. Previous selections have been removed.",
"key": "Warning: %s cannot be used together with %s. Previous selections have been removed.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2256"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2278"
]
},
{
"call": "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection.",
"key": "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2275"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2297"
]
},
{
"call": "What Podkop Plus should do when this section matches",
"key": "What Podkop Plus should do when this section matches",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1692"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1696"
]
},
{
@@ -2490,7 +2504,7 @@
"call": "Zapret hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS strategies.",
"key": "Zapret hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS strategies.",
"places": [
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1116"
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1118"
]
},
{
+112 -104
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PODKOP PLUS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-11 21:41+0300\n"
"PO-Revision-Date: 2026-05-11 21:41+0300\n"
"POT-Creation-Date: 2026-05-12 11:28+0300\n"
"PO-Revision-Date: 2026-05-12 11:28+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:1907
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1915
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:1889
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1897
msgid "A manual group of proxy URLs for this section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1659
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1691
#: ../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
msgid "Action"
msgstr ""
@@ -61,11 +61,11 @@ msgstr ""
msgid "Add a section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2325
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2347
msgid "Add URLs or local paths to .lst lists"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2310
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2332
msgid "Add URLs or local paths to .srs / .json lists"
msgstr ""
@@ -82,15 +82,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:2021
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2031
msgid "Applicable for SOCKS and Shadowsocks links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:944
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:946
msgid "At least one valid domain must be specified."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:955
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:957
msgid "At least one valid IP or subnet must be specified."
msgstr ""
@@ -102,7 +102,7 @@ msgstr ""
msgid "Available actions"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1046
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1048
msgid "Backend validation failed: %s"
msgstr ""
@@ -126,7 +126,7 @@ msgstr ""
msgid "Browser is using FakeIP correctly"
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:2237
msgid "Built-in rule sets"
msgstr ""
@@ -192,7 +192,7 @@ msgstr ""
msgid "Close"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1647
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1651
msgid "Conditions"
msgstr ""
@@ -204,16 +204,16 @@ msgstr ""
msgid "Configuration for Podkop Plus service"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1777
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1781
msgid "Connection"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1759
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1763
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:1762
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1766
msgid "Connection URL"
msgstr ""
@@ -285,18 +285,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:2086
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2096
#: ../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:2087
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2097
#: ../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:2084
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2094
msgid "DNS protocol"
msgstr ""
@@ -312,7 +312,7 @@ msgstr ""
msgid "DNS Rewrite TTL"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2102
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2112
msgid "DNS server"
msgstr ""
@@ -329,19 +329,19 @@ msgstr ""
msgid "Do not panic, everything can be fixed, just..."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2324
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2346
msgid "Domain and IP Lists"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2185
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2207
msgid "Domain keyword"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2192
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2214
msgid "Domain regex"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2157
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2179
msgid "Domains"
msgstr ""
@@ -382,9 +382,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:449
#: ../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:484
#: ../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
msgid "Duplicate value"
msgstr ""
@@ -394,7 +394,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:1649
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1653
msgid "Enable"
msgstr ""
@@ -402,7 +402,7 @@ 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:2073
#: ../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 ""
@@ -410,7 +410,7 @@ msgstr ""
msgid "Enable autostart"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2124
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2134
msgid "Enable Mixed Proxy"
msgstr ""
@@ -427,11 +427,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:1800
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1804
msgid "Enter a complete sing-box outbound object"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1822
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1826
msgid "Enter the subscription URL"
msgstr ""
@@ -451,7 +451,7 @@ msgstr ""
msgid "Every minute"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2171
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2193
msgid "Exact full domain"
msgstr ""
@@ -467,11 +467,11 @@ msgstr ""
msgid "Expecting: %s"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2125
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2135
msgid "Expose this section as a local HTTP+SOCKS proxy"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1107
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1109
msgid "External nfqws config files bypass Podkop Plus queue management and explicit validation."
msgstr ""
@@ -507,11 +507,11 @@ msgstr ""
msgid "Global check"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1876
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1882
msgid "Group subscription proxies by country"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1877
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1883
msgid "Group subscription proxies by the country flag at the beginning of the outbound tag"
msgstr ""
@@ -519,7 +519,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:1760
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1764
msgid "How to configure the proxy connection for this section"
msgstr ""
@@ -529,8 +529,8 @@ 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:1767
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2032
#: ../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 ""
@@ -623,7 +623,7 @@ 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:2152
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2162
#: src/validators/validateShadowsocksUrl.ts:85
msgid "Invalid port number. Must be between 1 and 65535"
msgstr ""
@@ -729,7 +729,7 @@ msgstr ""
msgid "IP address 0.0.0.0 is not allowed"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2164
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2186
msgid "IPs"
msgstr ""
@@ -747,7 +747,7 @@ msgstr ""
msgid "Latest"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1612
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1616
msgid "List must be a direct .lst URL or a local .lst path"
msgstr ""
@@ -771,32 +771,32 @@ msgstr ""
msgid "Main DNS"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2165
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2187
msgid "Match destination IPs or subnets"
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:2208
msgid "Match domains containing a substring"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2158
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2180
msgid "Match domains including all subdomains"
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:2215
msgid "Match domains using a regular expression"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2172
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2194
msgid "Match only one exact full domain name"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2200
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2222
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:1957
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1967
msgid "Maximum response time delta in milliseconds"
msgstr ""
@@ -804,7 +804,7 @@ msgstr ""
msgid "Memory Usage"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2136
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2146
msgid "Mixed Proxy Port"
msgstr ""
@@ -813,7 +813,7 @@ 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:1980
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1990
msgid "Must be a number in the range of 50 - 1000"
msgstr ""
@@ -825,11 +825,11 @@ msgstr ""
msgid "NFQUEUE range overlaps with another rule"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1725
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1729
msgid "NFQWS Strategy"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1237
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1239
msgid "NFQWS strategy cannot be empty"
msgstr ""
@@ -884,14 +884,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:1315
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1317
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:1766
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1799
#: ../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
msgid "Outbound JSON"
msgstr ""
@@ -932,7 +932,7 @@ msgstr ""
msgid "Pending"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1125
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1127
msgid "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here."
msgstr ""
@@ -956,11 +956,11 @@ msgstr ""
msgid "Podkop-managed nfqws runtime is ready"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2144
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2154
msgid "Port cannot be empty"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2137
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2147
msgid "Port for the local mixed proxy of this section"
msgstr ""
@@ -980,7 +980,7 @@ msgstr ""
msgid "Proxy traffic is routed via FakeIP"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2254
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2276
msgid "Regional options cannot be used together"
msgstr ""
@@ -992,7 +992,15 @@ msgstr ""
msgid "Remote URL to a sing-box rule set"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2072
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2170
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
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 ""
@@ -1000,11 +1008,11 @@ msgstr ""
msgid "Resolver For Interface Outbound"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1110
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1112
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:1113
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1115
msgid "Resource selection by IP or CIDR inside nfqws is not supported here; sing-box selects resources before NFQUEUE."
msgstr ""
@@ -1016,7 +1024,7 @@ msgstr ""
msgid "Routing Excluded IPs"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1604
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1606
msgid "Rule set must be a direct .srs / .json URL or a local .srs / .json path"
msgstr ""
@@ -1024,7 +1032,7 @@ msgstr ""
msgid "Rule set URL"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2309
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2331
msgid "Rule sets"
msgstr ""
@@ -1056,7 +1064,7 @@ msgstr ""
msgid "Run Diagnostic"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2273
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2295
msgid "Russia inside restrictions"
msgstr ""
@@ -1072,7 +1080,7 @@ msgstr ""
msgid "Section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1678
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1682
msgid "Section name"
msgstr ""
@@ -1080,7 +1088,7 @@ msgstr ""
msgid "Sections"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2216
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2238
msgid "Select a predefined list for routing"
msgstr ""
@@ -1116,7 +1124,7 @@ msgstr ""
msgid "Select the WAN interfaces to be monitored"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1888
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1896
msgid "Selector connections"
msgstr ""
@@ -1124,7 +1132,7 @@ msgstr ""
msgid "Selector Links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2219
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2241
msgid "Service list"
msgstr ""
@@ -1133,7 +1141,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:1646
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1650
msgid "Settings"
msgstr ""
@@ -1178,7 +1186,7 @@ msgstr ""
msgid "Source file"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2199
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2221
msgid "Source IPs"
msgstr ""
@@ -1210,19 +1218,19 @@ msgstr ""
msgid "Stop Podkop Plus"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1765
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1769
msgid "Subscription"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1841
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1845
msgid "Subscription update interval"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1821
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1825
msgid "Subscription URL"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:395
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:396
msgid "Subscription URL cannot be empty"
msgstr ""
@@ -1246,7 +1254,7 @@ msgstr ""
msgid "Test latency"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1122
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1124
msgid "The desync fwmark is managed by Podkop Plus for loop prevention and must not be overridden here."
msgstr ""
@@ -1254,7 +1262,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:1119
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1121
msgid "The NFQUEUE number is assigned by Podkop Plus for each rule and must not be overridden here."
msgstr ""
@@ -1262,19 +1270,19 @@ msgstr ""
msgid "There are rules using Zapret"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1128
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1130
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:1131
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1133
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:1300
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1302
msgid "This flag does not accept a value."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1331
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1333
msgid "This option requires a value."
msgstr ""
@@ -1311,11 +1319,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:2020
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2030
msgid "UDP over TCP"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1042
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1044
msgid "Unable to validate the NFQWS strategy through the backend parser."
msgstr ""
@@ -1323,7 +1331,7 @@ msgstr ""
msgid "Unexpected Podkop-managed nfqws runtime is running"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1280
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1282
msgid "Unexpected standalone token. Use explicit flags such as --name or --name=value."
msgstr ""
@@ -1346,7 +1354,7 @@ msgstr ""
msgid "Unknown error"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1291
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1293
msgid "Unknown NFQWS flag."
msgstr ""
@@ -1367,11 +1375,11 @@ msgstr ""
msgid "URL must use one of the following protocols:"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1906
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1914
msgid "URLTest connections"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1924
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1932
msgid "URLTest interval"
msgstr ""
@@ -1383,7 +1391,7 @@ msgstr ""
msgid "URLTest Links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1956
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1966
msgid "URLTest tolerance"
msgstr ""
@@ -1392,7 +1400,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:1987
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1997
msgid "URLTest URL"
msgstr ""
@@ -1400,7 +1408,7 @@ 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:2033
#: ../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 ""
@@ -1409,12 +1417,12 @@ msgstr ""
msgid "Use sing-box duration format like 1d, 12h or 30m"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1842
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1846
#: ../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:1925
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1933
msgid "Use sing-box duration format. Leave empty to disable periodic URLTest checks."
msgstr ""
@@ -1435,9 +1443,9 @@ msgstr ""
msgid "Valid"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:456
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:476
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:480
#: ../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
msgid "Validation errors:"
msgstr ""
@@ -1446,24 +1454,24 @@ msgstr ""
msgid "View logs"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1679
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1683
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:1778
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1782
msgid "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2256
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2278
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:2275
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2297
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:1692
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1696
msgid "What Podkop Plus should do when this section matches"
msgstr ""
@@ -1480,7 +1488,7 @@ msgstr ""
msgid "Zapret (provider not available)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1116
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1118
msgid "Zapret hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS strategies."
msgstr ""
+8 -2
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PODKOP PLUS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-11 00:41+0300\n"
"PO-Revision-Date: 2026-05-11 00:41+0300\n"
"POT-Creation-Date: 2026-05-12 14:28+0300\n"
"PO-Revision-Date: 2026-05-12 14:28+0300\n"
"Last-Translator: ushan0v\n"
"Language-Team: none\n"
"Language: ru\n"
@@ -698,6 +698,12 @@ msgstr "Удалённый"
msgid "Remote URL to a sing-box rule set"
msgstr "Удалённый URL к набору правил sing-box"
msgid "Resolve domain names before routing so sing-box can use real destination IPs."
msgstr "Разрешать доменные имена перед маршрутизацией, чтобы sing-box использовал реальные IP-адреса назначения."
msgid "Resolve real IP for routing"
msgstr "Разрешать реальный IP для маршрутизации"
msgid "Resolver for interface outbound"
msgstr "Резолвер для outbound через интерфейс"
+2 -2
View File
@@ -2,8 +2,8 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-podkop-plus
PODKOP_BASE_VERSION:=$(or $(PODKOP_BASE_VERSION),$(PODKOP_VERSION),0.7.14)
PODKOP_FORK_RELEASE:=$(or $(PODKOP_FORK_RELEASE),3)
PODKOP_BASE_VERSION:=$(or $(PODKOP_BASE_VERSION),$(PODKOP_VERSION),0.7.15)
PODKOP_FORK_RELEASE:=$(or $(PODKOP_FORK_RELEASE),4)
PODKOP_PACKAGE_VERSION:=$(PODKOP_BASE_VERSION)-$(PODKOP_FORK_RELEASE)
PKG_VERSION:=$(PODKOP_PACKAGE_VERSION)
@@ -2162,6 +2162,18 @@ function createSectionContent(section) {
return _("Invalid port number. Must be between 1 and 65535");
};
o = section.taboption(
"settings",
form.Flag,
"resolve_real_ip_for_routing",
_("Resolve real IP for routing"),
_("Resolve domain names before routing so sing-box can use real destination IPs."),
);
o.default = "0";
o.rmempty = false;
o.depends("action", "proxy");
o.modalonly = true;
addTextConditionField(section, {
key: "domain_suffix",
label: _("Domains"),
+8 -2
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PODKOP PLUS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-11 00:41+0300\n"
"PO-Revision-Date: 2026-05-11 00:41+0300\n"
"POT-Creation-Date: 2026-05-12 14:28+0300\n"
"PO-Revision-Date: 2026-05-12 14:28+0300\n"
"Last-Translator: ushan0v\n"
"Language-Team: none\n"
"Language: ru\n"
@@ -698,6 +698,12 @@ msgstr "Удалённый"
msgid "Remote URL to a sing-box rule set"
msgstr "Удалённый URL к набору правил sing-box"
msgid "Resolve domain names before routing so sing-box can use real destination IPs."
msgstr "Разрешать доменные имена перед маршрутизацией, чтобы sing-box использовал реальные IP-адреса назначения."
msgid "Resolve real IP for routing"
msgstr "Разрешать реальный IP для маршрутизации"
msgid "Resolver for interface outbound"
msgstr "Резолвер для outbound через интерфейс"
+112 -104
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PODKOP PLUS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-11 21:41+0300\n"
"PO-Revision-Date: 2026-05-11 21:41+0300\n"
"POT-Creation-Date: 2026-05-12 11:28+0300\n"
"PO-Revision-Date: 2026-05-12 11:28+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:1907
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1915
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:1889
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1897
msgid "A manual group of proxy URLs for this section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1659
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1691
#: ../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
msgid "Action"
msgstr ""
@@ -61,11 +61,11 @@ msgstr ""
msgid "Add a section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2325
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2347
msgid "Add URLs or local paths to .lst lists"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2310
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2332
msgid "Add URLs or local paths to .srs / .json lists"
msgstr ""
@@ -82,15 +82,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:2021
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2031
msgid "Applicable for SOCKS and Shadowsocks links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:944
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:946
msgid "At least one valid domain must be specified."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:955
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:957
msgid "At least one valid IP or subnet must be specified."
msgstr ""
@@ -102,7 +102,7 @@ msgstr ""
msgid "Available actions"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1046
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1048
msgid "Backend validation failed: %s"
msgstr ""
@@ -126,7 +126,7 @@ msgstr ""
msgid "Browser is using FakeIP correctly"
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:2237
msgid "Built-in rule sets"
msgstr ""
@@ -192,7 +192,7 @@ msgstr ""
msgid "Close"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1647
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1651
msgid "Conditions"
msgstr ""
@@ -204,16 +204,16 @@ msgstr ""
msgid "Configuration for Podkop Plus service"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1777
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1781
msgid "Connection"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1759
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1763
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:1762
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1766
msgid "Connection URL"
msgstr ""
@@ -285,18 +285,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:2086
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2096
#: ../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:2087
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2097
#: ../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:2084
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2094
msgid "DNS protocol"
msgstr ""
@@ -312,7 +312,7 @@ msgstr ""
msgid "DNS Rewrite TTL"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2102
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2112
msgid "DNS server"
msgstr ""
@@ -329,19 +329,19 @@ msgstr ""
msgid "Do not panic, everything can be fixed, just..."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2324
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2346
msgid "Domain and IP Lists"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2185
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2207
msgid "Domain keyword"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2192
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2214
msgid "Domain regex"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2157
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2179
msgid "Domains"
msgstr ""
@@ -382,9 +382,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:449
#: ../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:484
#: ../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
msgid "Duplicate value"
msgstr ""
@@ -394,7 +394,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:1649
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1653
msgid "Enable"
msgstr ""
@@ -402,7 +402,7 @@ 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:2073
#: ../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 ""
@@ -410,7 +410,7 @@ msgstr ""
msgid "Enable autostart"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2124
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2134
msgid "Enable Mixed Proxy"
msgstr ""
@@ -427,11 +427,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:1800
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1804
msgid "Enter a complete sing-box outbound object"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1822
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1826
msgid "Enter the subscription URL"
msgstr ""
@@ -451,7 +451,7 @@ msgstr ""
msgid "Every minute"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2171
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2193
msgid "Exact full domain"
msgstr ""
@@ -467,11 +467,11 @@ msgstr ""
msgid "Expecting: %s"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2125
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2135
msgid "Expose this section as a local HTTP+SOCKS proxy"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1107
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1109
msgid "External nfqws config files bypass Podkop Plus queue management and explicit validation."
msgstr ""
@@ -507,11 +507,11 @@ msgstr ""
msgid "Global check"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1876
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1882
msgid "Group subscription proxies by country"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1877
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1883
msgid "Group subscription proxies by the country flag at the beginning of the outbound tag"
msgstr ""
@@ -519,7 +519,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:1760
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1764
msgid "How to configure the proxy connection for this section"
msgstr ""
@@ -529,8 +529,8 @@ 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:1767
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2032
#: ../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 ""
@@ -623,7 +623,7 @@ 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:2152
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2162
#: src/validators/validateShadowsocksUrl.ts:85
msgid "Invalid port number. Must be between 1 and 65535"
msgstr ""
@@ -729,7 +729,7 @@ msgstr ""
msgid "IP address 0.0.0.0 is not allowed"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2164
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2186
msgid "IPs"
msgstr ""
@@ -747,7 +747,7 @@ msgstr ""
msgid "Latest"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1612
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1616
msgid "List must be a direct .lst URL or a local .lst path"
msgstr ""
@@ -771,32 +771,32 @@ msgstr ""
msgid "Main DNS"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2165
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2187
msgid "Match destination IPs or subnets"
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:2208
msgid "Match domains containing a substring"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2158
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2180
msgid "Match domains including all subdomains"
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:2215
msgid "Match domains using a regular expression"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2172
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2194
msgid "Match only one exact full domain name"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2200
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2222
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:1957
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1967
msgid "Maximum response time delta in milliseconds"
msgstr ""
@@ -804,7 +804,7 @@ msgstr ""
msgid "Memory Usage"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2136
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2146
msgid "Mixed Proxy Port"
msgstr ""
@@ -813,7 +813,7 @@ 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:1980
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1990
msgid "Must be a number in the range of 50 - 1000"
msgstr ""
@@ -825,11 +825,11 @@ msgstr ""
msgid "NFQUEUE range overlaps with another rule"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1725
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1729
msgid "NFQWS Strategy"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1237
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1239
msgid "NFQWS strategy cannot be empty"
msgstr ""
@@ -884,14 +884,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:1315
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1317
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:1766
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1799
#: ../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
msgid "Outbound JSON"
msgstr ""
@@ -932,7 +932,7 @@ msgstr ""
msgid "Pending"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1125
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1127
msgid "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here."
msgstr ""
@@ -956,11 +956,11 @@ msgstr ""
msgid "Podkop-managed nfqws runtime is ready"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2144
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2154
msgid "Port cannot be empty"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2137
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2147
msgid "Port for the local mixed proxy of this section"
msgstr ""
@@ -980,7 +980,7 @@ msgstr ""
msgid "Proxy traffic is routed via FakeIP"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2254
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2276
msgid "Regional options cannot be used together"
msgstr ""
@@ -992,7 +992,15 @@ msgstr ""
msgid "Remote URL to a sing-box rule set"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2072
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2170
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
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 ""
@@ -1000,11 +1008,11 @@ msgstr ""
msgid "Resolver For Interface Outbound"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1110
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1112
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:1113
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1115
msgid "Resource selection by IP or CIDR inside nfqws is not supported here; sing-box selects resources before NFQUEUE."
msgstr ""
@@ -1016,7 +1024,7 @@ msgstr ""
msgid "Routing Excluded IPs"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1604
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1606
msgid "Rule set must be a direct .srs / .json URL or a local .srs / .json path"
msgstr ""
@@ -1024,7 +1032,7 @@ msgstr ""
msgid "Rule set URL"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2309
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2331
msgid "Rule sets"
msgstr ""
@@ -1056,7 +1064,7 @@ msgstr ""
msgid "Run Diagnostic"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2273
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2295
msgid "Russia inside restrictions"
msgstr ""
@@ -1072,7 +1080,7 @@ msgstr ""
msgid "Section"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1678
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1682
msgid "Section name"
msgstr ""
@@ -1080,7 +1088,7 @@ msgstr ""
msgid "Sections"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2216
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2238
msgid "Select a predefined list for routing"
msgstr ""
@@ -1116,7 +1124,7 @@ msgstr ""
msgid "Select the WAN interfaces to be monitored"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1888
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1896
msgid "Selector connections"
msgstr ""
@@ -1124,7 +1132,7 @@ msgstr ""
msgid "Selector Links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2219
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2241
msgid "Service list"
msgstr ""
@@ -1133,7 +1141,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:1646
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1650
msgid "Settings"
msgstr ""
@@ -1178,7 +1186,7 @@ msgstr ""
msgid "Source file"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2199
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2221
msgid "Source IPs"
msgstr ""
@@ -1210,19 +1218,19 @@ msgstr ""
msgid "Stop Podkop Plus"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1765
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1769
msgid "Subscription"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1841
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1845
msgid "Subscription update interval"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1821
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1825
msgid "Subscription URL"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:395
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:396
msgid "Subscription URL cannot be empty"
msgstr ""
@@ -1246,7 +1254,7 @@ msgstr ""
msgid "Test latency"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1122
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1124
msgid "The desync fwmark is managed by Podkop Plus for loop prevention and must not be overridden here."
msgstr ""
@@ -1254,7 +1262,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:1119
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1121
msgid "The NFQUEUE number is assigned by Podkop Plus for each rule and must not be overridden here."
msgstr ""
@@ -1262,19 +1270,19 @@ msgstr ""
msgid "There are rules using Zapret"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1128
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1130
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:1131
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1133
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:1300
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1302
msgid "This flag does not accept a value."
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1331
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1333
msgid "This option requires a value."
msgstr ""
@@ -1311,11 +1319,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:2020
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2030
msgid "UDP over TCP"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1042
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1044
msgid "Unable to validate the NFQWS strategy through the backend parser."
msgstr ""
@@ -1323,7 +1331,7 @@ msgstr ""
msgid "Unexpected Podkop-managed nfqws runtime is running"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1280
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1282
msgid "Unexpected standalone token. Use explicit flags such as --name or --name=value."
msgstr ""
@@ -1346,7 +1354,7 @@ msgstr ""
msgid "Unknown error"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1291
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1293
msgid "Unknown NFQWS flag."
msgstr ""
@@ -1367,11 +1375,11 @@ msgstr ""
msgid "URL must use one of the following protocols:"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1906
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1914
msgid "URLTest connections"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1924
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1932
msgid "URLTest interval"
msgstr ""
@@ -1383,7 +1391,7 @@ msgstr ""
msgid "URLTest Links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1956
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1966
msgid "URLTest tolerance"
msgstr ""
@@ -1392,7 +1400,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:1987
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1997
msgid "URLTest URL"
msgstr ""
@@ -1400,7 +1408,7 @@ 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:2033
#: ../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 ""
@@ -1409,12 +1417,12 @@ msgstr ""
msgid "Use sing-box duration format like 1d, 12h or 30m"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1842
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1846
#: ../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:1925
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1933
msgid "Use sing-box duration format. Leave empty to disable periodic URLTest checks."
msgstr ""
@@ -1435,9 +1443,9 @@ msgstr ""
msgid "Valid"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:456
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:476
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:480
#: ../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
msgid "Validation errors:"
msgstr ""
@@ -1446,24 +1454,24 @@ msgstr ""
msgid "View logs"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1679
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1683
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:1778
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1782
msgid "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2256
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2278
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:2275
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2297
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:1692
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1696
msgid "What Podkop Plus should do when this section matches"
msgstr ""
@@ -1480,7 +1488,7 @@ msgstr ""
msgid "Zapret (provider not available)"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1116
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1118
msgid "Zapret hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS strategies."
msgstr ""
+82 -4
View File
@@ -533,7 +533,7 @@ build_dnsmasq_signature() {
append_sing_box_rule_signature() {
local section="$1"
local action proxy_config_type domain domain_suffix domain_keyword domain_regex ip_cidr source_ip_cidr \
community_lists rule_set domain_ip_lists mixed_proxy_enabled mixed_proxy_port
community_lists rule_set domain_ip_lists mixed_proxy_enabled mixed_proxy_port resolve_real_ip_for_routing
rule_is_enabled "$section" || return 0
@@ -616,6 +616,9 @@ append_sing_box_rule_signature() {
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"
;;
esac
@@ -3953,6 +3956,23 @@ ensure_fakeip_dns_route_rule() {
config=$(sing_box_cm_patch_dns_route_rule "$config" "$tag" "rewrite_ttl" "$rewrite_ttl")
}
route_rule_has_resolve_matchers() {
local tag="$1"
echo "$config" | jq -e \
--arg service_tag "$SERVICE_TAG" \
--arg tag "$tag" \
'.route.rules[]? |
select(.[$service_tag] == $tag) |
(
has("domain") or
has("domain_suffix") or
has("domain_keyword") or
has("domain_regex") or
has("rule_set")
)' >/dev/null 2>&1
}
configure_rule_set_reference_handler() {
local reference="$1"
local route_rule_tag="$2"
@@ -4186,6 +4206,19 @@ configure_route_rule_handler() {
if [ -n "$domain_ip_lists" ]; then
configure_domain_ip_lists "$section" "$route_rule_tag"
fi
if [ "$action" = "proxy" ]; 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
if route_rule_has_resolve_matchers "$route_rule_tag"; then
config=$(sing_box_cm_add_resolve_rule "$config" "$route_rule_tag" "$(gen_id)" "$SB_DNS_SERVER_TAG")
log "Added resolve rule for '$section' rule" "debug"
else
log "Resolve real IP is enabled for '$section', but no domain or rule-set matchers found" "warn"
fi
fi
fi
}
include_source_ips_in_routing_handler() {
@@ -5130,6 +5163,16 @@ nft_list_all_traffic_from_ip() {
}
# Diagnotics
cleanup_check_proxy_dir() {
local dir="$1"
case "$dir" in
"$TMP_SING_BOX_FOLDER"/check-proxy-*)
rm -rf "$dir"
;;
esac
}
check_proxy() {
local sing_box_config_path
config_get sing_box_config_path "settings" "config_path"
@@ -5178,18 +5221,50 @@ check_proxy() {
nolog "Checking proxy connection..."
local check_proxy_dir check_proxy_config check_proxy_cache check_proxy_outbound_tag
check_proxy_dir="$TMP_SING_BOX_FOLDER/check-proxy-$$"
check_proxy_config="$check_proxy_dir/config.json"
check_proxy_cache="$check_proxy_dir/cache.db"
cleanup_check_proxy_dir "$check_proxy_dir"
mkdir -p "$check_proxy_dir"
if ! jq --arg cache_path "$check_proxy_cache" '
.inbounds = []
| .services = []
| (if .experimental.cache_file? then .experimental.cache_file.path = $cache_path else . end)
| del(.experimental.clash_api)
' "$sing_box_config_path" > "$check_proxy_config"; then
nolog "Failed to prepare temporary configuration"
cleanup_check_proxy_dir "$check_proxy_dir"
return 1
fi
check_proxy_outbound_tag=$(jq -r --arg domain "$CHECK_PROXY_IP_DOMAIN" '
.route.rules[]?
| select((.domain // []) | index($domain))
| .outbound // empty
' "$check_proxy_config" | sed -n '1p')
for attempt in $(seq 1 5); do
response=$(sing-box tools fetch ifconfig.me -D /etc/sing-box 2> /dev/null)
if [ -n "$check_proxy_outbound_tag" ]; then
response=$(sing-box tools fetch ifconfig.me -c "$check_proxy_config" -D "$check_proxy_dir" \
--disable-color -o "$check_proxy_outbound_tag" 2> /dev/null)
else
response=$(sing-box tools fetch ifconfig.me -c "$check_proxy_config" -D "$check_proxy_dir" \
--disable-color 2> /dev/null)
fi
if echo "$response" | grep -q "^<html\|403 Forbidden"; then
continue
fi
if [[ $response =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
if printf '%s\n' "$response" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'; then
ip=$(echo "$response" | sed -n 's/^[0-9]\+\.[0-9]\+\.[0-9]\+\.\([0-9]\+\)$/X.X.X.\1/p')
nolog "$ip - should match proxy IP"
cleanup_check_proxy_dir "$check_proxy_dir"
return 0
elif echo "$response" | grep -q "^[0-9a-fA-F:]*::[0-9a-fA-F:]*$\|^[0-9a-fA-F:]\+$"; then
elif printf '%s\n' "$response" | grep -Eq '^[0-9a-fA-F:]*::[0-9a-fA-F:]*$|^[0-9a-fA-F:]+$'; then
ip=$(echo "$response" | sed 's/\([0-9a-fA-F]\+:[0-9a-fA-F]\+:[0-9a-fA-F]\+\):.*/\1:XXXX:XXXX:XXXX/')
nolog "$ip - should match proxy IP"
cleanup_check_proxy_dir "$check_proxy_dir"
return 0
fi
if [ $attempt -eq 5 ]; then
@@ -5199,9 +5274,12 @@ check_proxy() {
else
nolog "Error response: $response"
fi
cleanup_check_proxy_dir "$check_proxy_dir"
return 1
fi
done
cleanup_check_proxy_dir "$check_proxy_dir"
}
check_nft() {
@@ -1115,6 +1115,53 @@ sing_box_cm_add_route_rule() {
}]'
}
#######################################
# Insert a resolve rule immediately before a tagged route rule.
# Copies the domain/rule-set matchers from the target route rule so sing-box can
# resolve a domain destination before the final route decision.
# Arguments:
# config: string (JSON), sing-box configuration to modify
# route_rule_tag: string, tag of the route rule to precede
# resolve_rule_tag: string, tag for the new resolve rule
# server: string, DNS server tag (optional, default: "dns-server")
# Outputs:
# Writes updated JSON configuration to stdout
#######################################
sing_box_cm_add_resolve_rule() {
local config="$1"
local route_rule_tag="$2"
local resolve_rule_tag="$3"
local server="${4:-dns-server}"
echo "$config" | jq \
--arg service_tag "$SERVICE_TAG" \
--arg route_tag "$route_rule_tag" \
--arg resolve_tag "$resolve_rule_tag" \
--arg server "$server" \
'.route.rules |= [
.[] |
if .[$service_tag] == $route_tag then
(
{}
+ (if has("inbound") then { inbound: .inbound } else {} end)
+ (if has("source_ip_cidr") then { source_ip_cidr: .source_ip_cidr } else {} end)
+ (if has("domain") then { domain: .domain } else {} end)
+ (if has("domain_suffix") then { domain_suffix: .domain_suffix } else {} end)
+ (if has("domain_keyword") then { domain_keyword: .domain_keyword } else {} end)
+ (if has("domain_regex") then { domain_regex: .domain_regex } else {} end)
+ (if has("rule_set") then { rule_set: .rule_set } else {} end)
+ {
action: "resolve",
server: $server,
($service_tag): $resolve_tag
}
), .
else
.
end
]'
}
#######################################
# Patch a routing rule in the route section of a sing-box JSON configuration.
# Arguments:
+4 -4
View File
@@ -5,7 +5,7 @@ SCRIPT_PATH="$(readlink -f "${BASH_SOURCE[0]}")"
SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_PATH")" && pwd)"
ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
RELEASE_VERSION="${1:-0.7.14-3}"
RELEASE_VERSION="${1:-0.7.15-4}"
OUTPUT_DIR_INPUT="${2:-}"
BASE_VERSION="${RELEASE_VERSION%-*}"
FORK_RELEASE="${RELEASE_VERSION##*-}"
@@ -20,7 +20,7 @@ if [[ "$DEFAULT_BUILD_HOME" == "/root" ]]; then
fi
if [[ "$BASE_VERSION" == "$RELEASE_VERSION" || -z "$FORK_RELEASE" ]]; then
echo "Expected release version in the form 0.7.14-1" >&2
echo "Expected release version in the form 0.7.15-1" >&2
exit 1
fi
@@ -28,8 +28,8 @@ WSL_NATIVE_ROOT="${WSL_NATIVE_ROOT:-$DEFAULT_BUILD_HOME/build/podkop-plus}"
WORK_DIR="${WORK_DIR:-$ROOT_DIR/.wsl-build}"
SDK_WORK_DIR="${SDK_WORK_DIR:-$WORK_DIR/sdk}"
SDK_CACHE_DIR="${SDK_CACHE_DIR:-$DEFAULT_BUILD_HOME/.cache/podkop-plus/openwrt-sdk}"
IPK_SDK_URL="${IPK_SDK_URL:-https://downloads.openwrt.org/releases/24.10.3/targets/x86/64/openwrt-sdk-24.10.3-x86-64_gcc-13.3.0_musl.Linux-x86_64.tar.zst}"
APK_SDK_URL="${APK_SDK_URL:-https://downloads.openwrt.org/snapshots/targets/x86/64/openwrt-sdk-x86-64_gcc-14.3.0_musl.Linux-x86_64.tar.zst}"
IPK_SDK_URL="${IPK_SDK_URL:-https://downloads.openwrt.org/releases/24.10.6/targets/x86/64/openwrt-sdk-24.10.6-x86-64_gcc-13.3.0_musl.Linux-x86_64.tar.zst}"
APK_SDK_URL="${APK_SDK_URL:-https://downloads.openwrt.org/releases/25.12.3/targets/x86/64/openwrt-sdk-25.12.3-x86-64_gcc-14.3.0_musl.Linux-x86_64.tar.zst}"
APP_DESCRIPTION="Rule-based Podkop Plus LuCI app with hybrid sing-box + zapret orchestration"
I18N_DESCRIPTION="Translation for luci-app-podkop-plus - Русский (Russian)"
+2 -2
View File
@@ -1,7 +1,7 @@
FROM openwrt/sdk:x86-64-SNAPSHOT
FROM openwrt/sdk:x86_64-v25.12.3
WORKDIR /builder
RUN ./setup.sh \
&& ./scripts/feeds update -a \
&& ./scripts/feeds install luci-base \
&& mkdir -p /builder/package/feeds/utilities/ \
&& mkdir -p /builder/package/feeds/luci/
&& mkdir -p /builder/package/feeds/luci/
+2 -2
View File
@@ -1,6 +1,6 @@
FROM openwrt/sdk:x86_64-v24.10.3
FROM openwrt/sdk:x86_64-v24.10.6
WORKDIR /builder
RUN ./scripts/feeds update -a \
&& ./scripts/feeds install luci-base \
&& mkdir -p /builder/package/feeds/utilities/ \
&& mkdir -p /builder/package/feeds/luci/
&& mkdir -p /builder/package/feeds/luci/