Compare commits

...

18 Commits
0.7.14 ... main

Author SHA1 Message Date
Slava-Shchipunov
6089ef4c9b Fix/fix version check (#278) 2026-05-12 19:31:43 +03:00
Kirill Sobakin
617e9a93bc Merge pull request #363 from itdoginfo/version
Fix LuCI Version
2026-05-12 10:11:25 +03:00
Kirill Sobakin
6d9aedd236 Merge pull request #364 from itdoginfo/sdk052026
Update SDK version
2026-05-12 10:05:50 +03:00
Kirill Sobakin
fc9cf79221 fix/literal 2026-05-12 10:04:09 +03:00
Kirill Sobakin
2184c0c7d4 update/SDK version 2026-05-12 10:00:03 +03:00
Kirill Sobakin
03736c613b update/SDK version 2026-05-12 09:58:20 +03:00
Kirill Sobakin
c37ea6a4d3 fix/luci version 2026-05-12 09:35:11 +03:00
Kirill Sobakin
a0869da4a5 fix/luci version 2026-05-12 09:34:56 +03:00
Kirill Sobakin
23ac3a8d12 Merge pull request #361 from romanvht/resolve-action
Add func to insert resolve action in route.rules section
2026-05-12 09:25:19 +03:00
romanvht
d8bd87a7da update locale for action resolve 2026-05-09 14:51:34 +10:00
romanvht
b93403c3e3 distribute locales 2026-05-09 13:03:40 +10:00
romanvht
5629425853 add localisation strings to fe-app-podkop, actualize po&pot 2026-05-09 12:55:15 +10:00
romanvht
8b2abc0b28 add func to insert resolve action in route.rules section 2026-05-09 02:49:40 +10:00
Kirill Sobakin
21085f3ac3 Update README.md 2026-03-07 20:12:30 +03:00
Kirill Sobakin
9a015bbde4 Merge pull request #309 from itdoginfo/fix/default-dns
chore: set dns_server to 77.88.8.8
2026-02-16 07:29:48 +03:00
Andrey Petelin
a7b6c36dfb chore: set dns_server to 77.88.8.8 2026-01-29 12:03:25 +05:00
Kirill Sobakin
f39e2d9ca9 Merge pull request #307 from itdoginfo/fix/dns-check
fix: use nslookup_attempts for DNS check loop
2026-01-28 10:49:34 +03:00
Andrey Petelin
00594f23fd fix: use nslookup_attempts for DNS check loop instead of nslookup_timeout 2026-01-28 12:45:35 +05:00
19 changed files with 543 additions and 363 deletions

View File

@@ -1,4 +1,4 @@
FROM itdoginfo/openwrt-sdk-apk:09102025 FROM itdoginfo/openwrt-sdk-apk:25.12.3
ARG PODKOP_VERSION ARG PODKOP_VERSION
ENV PODKOP_VERSION=${PODKOP_VERSION} ENV PODKOP_VERSION=${PODKOP_VERSION}
@@ -7,5 +7,5 @@ COPY ./podkop /builder/package/feeds/utilities/podkop
COPY ./luci-app-podkop /builder/package/feeds/luci/luci-app-podkop COPY ./luci-app-podkop /builder/package/feeds/luci/luci-app-podkop
RUN make defconfig && \ RUN make defconfig && \
make package/podkop/compile -j1 V=s && \ make package/podkop/compile -j4 V=s && \
make package/luci-app-podkop/compile -j1 V=s make package/luci-app-podkop/compile -j4 V=s

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 ARG PODKOP_VERSION

View File

@@ -45,7 +45,7 @@ wget -O /etc/config/podkop https://raw.githubusercontent.com/itdoginfo/podkop/re
# ToDo # ToDo
> [!IMPORTANT] > [!IMPORTANT]
> PR принимаются только по issues, у которых стоит label "enhancement". Либо по согласованию с авторами в ТГ-чате. Остальные PR на данный момент не рассматриваются. > PR принимаются только по согласованию с авторами в ТГ-чате. Остальные PR на данный момент не рассматриваются. Не тратьте зря своё время.
## Будущее ## Будущее
- [ ] [Подписка](https://github.com/itdoginfo/podkop/issues/118). Здесь нужна реализация, чтоб для каждой секции помимо ручного выбора, был выбор фильтрации по тегу. Например, для main выбираем ключевые слова NL, DE, FI. А для extra секции фильтруем по RU. И создаётся outbound c urltest в которых перечислены outbound из фильтров. - [ ] [Подписка](https://github.com/itdoginfo/podkop/issues/118). Здесь нужна реализация, чтоб для каждой секции помимо ручного выбора, был выбор фильтрации по тегу. Например, для main выбираем ключевые слова NL, DE, FI. А для extra секции фильтруем по RU. И создаётся outbound c urltest в которых перечислены outbound из фильтров.

View File

@@ -52,21 +52,21 @@
"call": "Applicable for SOCKS and Shadowsocks proxy", "call": "Applicable for SOCKS and Shadowsocks proxy",
"key": "Applicable for SOCKS and Shadowsocks proxy", "key": "Applicable for SOCKS and Shadowsocks proxy",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:198" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:199"
] ]
}, },
{ {
"call": "At least one valid domain must be specified. Comments-only content is not allowed.", "call": "At least one valid domain must be specified. Comments-only content is not allowed.",
"key": "At least one valid domain must be specified. Comments-only content is not allowed.", "key": "At least one valid domain must be specified. Comments-only content is not allowed.",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:443" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:444"
] ]
}, },
{ {
"call": "At least one valid subnet or IP must be specified. Comments-only content is not allowed.", "call": "At least one valid subnet or IP must be specified. Comments-only content is not allowed.",
"key": "At least one valid subnet or IP must be specified. Comments-only content is not allowed.", "key": "At least one valid subnet or IP must be specified. Comments-only content is not allowed.",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:524" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:525"
] ]
}, },
{ {
@@ -178,7 +178,7 @@
"call": "Community Lists", "call": "Community Lists",
"key": "Community Lists", "key": "Community Lists",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:298" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:299"
] ]
}, },
{ {
@@ -199,7 +199,7 @@
"call": "Configuration Type", "call": "Configuration Type",
"key": "Configuration Type", "key": "Configuration Type",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:22" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:23"
] ]
}, },
{ {
@@ -213,7 +213,7 @@
"call": "Connection URL", "call": "Connection URL",
"key": "Connection URL", "key": "Connection URL",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:25" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:26"
] ]
}, },
{ {
@@ -297,8 +297,8 @@
"call": "Disabled", "call": "Disabled",
"key": "Disabled", "key": "Disabled",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:389", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:390",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:469" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:470"
] ]
}, },
{ {
@@ -312,7 +312,7 @@
"call": "DNS over HTTPS (DoH)", "call": "DNS over HTTPS (DoH)",
"key": "DNS over HTTPS (DoH)", "key": "DNS over HTTPS (DoH)",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:266", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:267",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:15" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:15"
] ]
}, },
@@ -320,7 +320,7 @@
"call": "DNS over TLS (DoT)", "call": "DNS over TLS (DoT)",
"key": "DNS over TLS (DoT)", "key": "DNS over TLS (DoT)",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:267", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:268",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:16" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:16"
] ]
}, },
@@ -328,7 +328,7 @@
"call": "DNS Protocol Type", "call": "DNS Protocol Type",
"key": "DNS Protocol Type", "key": "DNS Protocol Type",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:263", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:264",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:12" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:12"
] ]
}, },
@@ -343,7 +343,7 @@
"call": "DNS Server", "call": "DNS Server",
"key": "DNS Server", "key": "DNS Server",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:276", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:277",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:24" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:24"
] ]
}, },
@@ -365,7 +365,7 @@
"call": "Domain Resolver", "call": "Domain Resolver",
"key": "Domain Resolver", "key": "Domain Resolver",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:253" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:254"
] ]
}, },
{ {
@@ -416,8 +416,8 @@
"call": "Dynamic List", "call": "Dynamic List",
"key": "Dynamic List", "key": "Dynamic List",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:390", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:391",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:470" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:471"
] ]
}, },
{ {
@@ -431,14 +431,21 @@
"call": "Enable built-in DNS resolver for domains handled by this section", "call": "Enable built-in DNS resolver for domains handled by this section",
"key": "Enable built-in DNS resolver for domains handled by this section", "key": "Enable built-in DNS resolver for domains handled by this section",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:254" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:255"
]
},
{
"call": "Enable DNS resolve to get real IP when routing",
"key": "Enable DNS resolve to get real IP when routing",
"places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:691"
] ]
}, },
{ {
"call": "Enable Mixed Proxy", "call": "Enable Mixed Proxy",
"key": "Enable Mixed Proxy", "key": "Enable Mixed Proxy",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:662" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:665"
] ]
}, },
{ {
@@ -452,7 +459,7 @@
"call": "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies", "call": "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies",
"key": "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies", "key": "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:663" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:666"
] ]
}, },
{ {
@@ -473,56 +480,56 @@
"call": "Enter complete outbound configuration in JSON format", "call": "Enter complete outbound configuration in JSON format",
"key": "Enter complete outbound configuration in JSON format", "key": "Enter complete outbound configuration in JSON format",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:65" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:66"
] ]
}, },
{ {
"call": "Enter domain names separated by commas, spaces, or newlines. You can add comments using //", "call": "Enter domain names separated by commas, spaces, or newlines. You can add comments using //",
"key": "Enter domain names separated by commas, spaces, or newlines. You can add comments using //", "key": "Enter domain names separated by commas, spaces, or newlines. You can add comments using //",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:425" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:426"
] ]
}, },
{ {
"call": "Enter domain names without protocols, e.g. example.com or sub.example.com", "call": "Enter domain names without protocols, e.g. example.com or sub.example.com",
"key": "Enter domain names without protocols, e.g. example.com or sub.example.com", "key": "Enter domain names without protocols, e.g. example.com or sub.example.com",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:399" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:400"
] ]
}, },
{ {
"call": "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses", "call": "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses",
"key": "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses", "key": "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:479" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:480"
] ]
}, },
{ {
"call": "Every 1 minute", "call": "Every 1 minute",
"key": "Every 1 minute", "key": "Every 1 minute",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:137" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:138"
] ]
}, },
{ {
"call": "Every 3 minutes", "call": "Every 3 minutes",
"key": "Every 3 minutes", "key": "Every 3 minutes",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:138" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:139"
] ]
}, },
{ {
"call": "Every 30 seconds", "call": "Every 30 seconds",
"key": "Every 30 seconds", "key": "Every 30 seconds",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:136" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:137"
] ]
}, },
{ {
"call": "Every 5 minutes", "call": "Every 5 minutes",
"key": "Every 5 minutes", "key": "Every 5 minutes",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:139" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:140"
] ]
}, },
{ {
@@ -554,15 +561,15 @@
"src/podkop/tabs/diagnostic/initController.ts:231", "src/podkop/tabs/diagnostic/initController.ts:231",
"src/podkop/tabs/diagnostic/initController.ts:261", "src/podkop/tabs/diagnostic/initController.ts:261",
"src/podkop/tabs/diagnostic/initController.ts:265", "src/podkop/tabs/diagnostic/initController.ts:265",
"src/podkop/tabs/diagnostic/initController.ts:299", "src/podkop/tabs/diagnostic/initController.ts:302",
"src/podkop/tabs/diagnostic/initController.ts:303" "src/podkop/tabs/diagnostic/initController.ts:306"
] ]
}, },
{ {
"call": "Fastest", "call": "Fastest",
"key": "Fastest", "key": "Fastest",
"places": [ "places": [
"src/podkop/methods/custom/getDashboardSections.ts:117", "src/podkop/methods/custom/getDashboardSections.ts:148",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:59" "src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:59"
] ]
}, },
@@ -570,7 +577,7 @@
"call": "Fully Routed IPs", "call": "Fully Routed IPs",
"key": "Fully Routed IPs", "key": "Fully Routed IPs",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:637" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:638"
] ]
}, },
{ {
@@ -936,7 +943,7 @@
"call": "Latest", "call": "Latest",
"key": "Latest", "key": "Latest",
"places": [ "places": [
"src/podkop/tabs/diagnostic/initController.ts:453" "src/podkop/tabs/diagnostic/initController.ts:456"
] ]
}, },
{ {
@@ -950,14 +957,14 @@
"call": "Local Domain Lists", "call": "Local Domain Lists",
"key": "Local Domain Lists", "key": "Local Domain Lists",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:545" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:546"
] ]
}, },
{ {
"call": "Local Subnet Lists", "call": "Local Subnet Lists",
"key": "Local Subnet Lists", "key": "Local Subnet Lists",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:568" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:569"
] ]
}, },
{ {
@@ -985,7 +992,7 @@
"call": "Mixed Proxy Port", "call": "Mixed Proxy Port",
"key": "Mixed Proxy Port", "key": "Mixed Proxy Port",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:673" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:678"
] ]
}, },
{ {
@@ -999,14 +1006,14 @@
"call": "Must be a number in the range of 50 - 1000", "call": "Must be a number in the range of 50 - 1000",
"key": "Must be a number in the range of 50 - 1000", "key": "Must be a number in the range of 50 - 1000",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:163" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:164"
] ]
}, },
{ {
"call": "Network Interface", "call": "Network Interface",
"key": "Network Interface", "key": "Network Interface",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:207" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:208"
] ]
}, },
{ {
@@ -1054,21 +1061,21 @@
"call": "Outbound Config", "call": "Outbound Config",
"key": "Outbound Config", "key": "Outbound Config",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:28" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:29"
] ]
}, },
{ {
"call": "Outbound Configuration", "call": "Outbound Configuration",
"key": "Outbound Configuration", "key": "Outbound Configuration",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:64" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:65"
] ]
}, },
{ {
"call": "Outdated", "call": "Outdated",
"key": "Outdated", "key": "Outdated",
"places": [ "places": [
"src/podkop/tabs/diagnostic/initController.ts:443" "src/podkop/tabs/diagnostic/initController.ts:446"
] ]
}, },
{ {
@@ -1142,7 +1149,7 @@
"call": "Proxy Configuration URL", "call": "Proxy Configuration URL",
"key": "Proxy Configuration URL", "key": "Proxy Configuration URL",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:35" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:36"
] ]
}, },
{ {
@@ -1163,21 +1170,28 @@
"call": "Regional options cannot be used together", "call": "Regional options cannot be used together",
"key": "Regional options cannot be used together", "key": "Regional options cannot be used together",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:332" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:333"
] ]
}, },
{ {
"call": "Remote Domain Lists", "call": "Remote Domain Lists",
"key": "Remote Domain Lists", "key": "Remote Domain Lists",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:591" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:592"
] ]
}, },
{ {
"call": "Remote Subnet Lists", "call": "Remote Subnet Lists",
"key": "Remote Subnet Lists", "key": "Remote Subnet Lists",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:614" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:615"
]
},
{
"call": "Resolve real IP for routing",
"key": "Resolve real IP for routing",
"places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:690"
] ]
}, },
{ {
@@ -1261,7 +1275,7 @@
"call": "Russia inside restrictions", "call": "Russia inside restrictions",
"key": "Russia inside restrictions", "key": "Russia inside restrictions",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:351" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:352"
] ]
}, },
{ {
@@ -1282,7 +1296,7 @@
"call": "Select a predefined list for routing", "call": "Select a predefined list for routing",
"key": "Select a predefined list for routing", "key": "Select a predefined list for routing",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:299" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:300"
] ]
}, },
{ {
@@ -1310,21 +1324,21 @@
"call": "Select how to configure the proxy", "call": "Select how to configure the proxy",
"key": "Select how to configure the proxy", "key": "Select how to configure the proxy",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:23" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:24"
] ]
}, },
{ {
"call": "Select network interface for VPN connection", "call": "Select network interface for VPN connection",
"key": "Select network interface for VPN connection", "key": "Select network interface for VPN connection",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:208" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:209"
] ]
}, },
{ {
"call": "Select or enter DNS server address", "call": "Select or enter DNS server address",
"key": "Select or enter DNS server address", "key": "Select or enter DNS server address",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:277", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:278",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:25" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:25"
] ]
}, },
@@ -1346,21 +1360,21 @@
"call": "Select the DNS protocol type for the domain resolver", "call": "Select the DNS protocol type for the domain resolver",
"key": "Select the DNS protocol type for the domain resolver", "key": "Select the DNS protocol type for the domain resolver",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:264" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:265"
] ]
}, },
{ {
"call": "Select the list type for adding custom domains", "call": "Select the list type for adding custom domains",
"key": "Select the list type for adding custom domains", "key": "Select the list type for adding custom domains",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:387" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:388"
] ]
}, },
{ {
"call": "Select the list type for adding custom subnets", "call": "Select the list type for adding custom subnets",
"key": "Select the list type for adding custom subnets", "key": "Select the list type for adding custom subnets",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:467" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:468"
] ]
}, },
{ {
@@ -1395,14 +1409,14 @@
"call": "Selector", "call": "Selector",
"key": "Selector", "key": "Selector",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:26" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:27"
] ]
}, },
{ {
"call": "Selector Proxy Links", "call": "Selector Proxy Links",
"key": "Selector Proxy Links", "key": "Selector Proxy Links",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:87" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:88"
] ]
}, },
{ {
@@ -1494,29 +1508,29 @@
"call": "Specify local IP addresses or subnets whose traffic will always be routed through the configured route", "call": "Specify local IP addresses or subnets whose traffic will always be routed through the configured route",
"key": "Specify local IP addresses or subnets whose traffic will always be routed through the configured route", "key": "Specify local IP addresses or subnets whose traffic will always be routed through the configured route",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:638" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:639"
] ]
}, },
{ {
"call": "Specify remote URLs to download and use domain lists", "call": "Specify remote URLs to download and use domain lists",
"key": "Specify remote URLs to download and use domain lists", "key": "Specify remote URLs to download and use domain lists",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:592" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:593"
] ]
}, },
{ {
"call": "Specify remote URLs to download and use subnet lists", "call": "Specify remote URLs to download and use subnet lists",
"key": "Specify remote URLs to download and use subnet lists", "key": "Specify remote URLs to download and use subnet lists",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:615" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:616"
] ]
}, },
{ {
"call": "Specify the path to the list file located on the router filesystem", "call": "Specify the path to the list file located on the router filesystem",
"key": "Specify the path to the list file located on the router filesystem", "key": "Specify the path to the list file located on the router filesystem",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:546", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:547",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:569" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:570"
] ]
}, },
{ {
@@ -1572,8 +1586,8 @@
"call": "Text List", "call": "Text List",
"key": "Text List", "key": "Text List",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:391", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:392",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:471" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:472"
] ]
}, },
{ {
@@ -1587,21 +1601,21 @@
"call": "The interval between connectivity tests", "call": "The interval between connectivity tests",
"key": "The interval between connectivity tests", "key": "The interval between connectivity tests",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:134" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:135"
] ]
}, },
{ {
"call": "The maximum difference in response times (ms) allowed when comparing servers", "call": "The maximum difference in response times (ms) allowed when comparing servers",
"key": "The maximum difference in response times (ms) allowed when comparing servers", "key": "The maximum difference in response times (ms) allowed when comparing servers",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:147" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:148"
] ]
}, },
{ {
"call": "The URL used to test server connectivity", "call": "The URL used to test server connectivity",
"key": "The URL used to test server connectivity", "key": "The URL used to test server connectivity",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:170" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:171"
] ]
}, },
{ {
@@ -1650,7 +1664,7 @@
"call": "UDP (Unprotected DNS)", "call": "UDP (Unprotected DNS)",
"key": "UDP (Unprotected DNS)", "key": "UDP (Unprotected DNS)",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:268", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:269",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:17" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:17"
] ]
}, },
@@ -1658,7 +1672,7 @@
"call": "UDP over TCP", "call": "UDP over TCP",
"key": "UDP over TCP", "key": "UDP over TCP",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:197" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:198"
] ]
}, },
{ {
@@ -1671,7 +1685,7 @@
"src/podkop/tabs/diagnostic/initController.ts:41", "src/podkop/tabs/diagnostic/initController.ts:41",
"src/podkop/tabs/diagnostic/initController.ts:42", "src/podkop/tabs/diagnostic/initController.ts:42",
"src/podkop/tabs/diagnostic/initController.ts:43", "src/podkop/tabs/diagnostic/initController.ts:43",
"src/podkop/tabs/diagnostic/initController.ts:417" "src/podkop/tabs/diagnostic/initController.ts:420"
] ]
}, },
{ {
@@ -1707,77 +1721,77 @@
"call": "URLTest", "call": "URLTest",
"key": "URLTest", "key": "URLTest",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:27" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:28"
] ]
}, },
{ {
"call": "URLTest Check Interval", "call": "URLTest Check Interval",
"key": "URLTest Check Interval", "key": "URLTest Check Interval",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:133" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:134"
] ]
}, },
{ {
"call": "URLTest Proxy Links", "call": "URLTest Proxy Links",
"key": "URLTest Proxy Links", "key": "URLTest Proxy Links",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:110" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:111"
] ]
}, },
{ {
"call": "URLTest Testing URL", "call": "URLTest Testing URL",
"key": "URLTest Testing URL", "key": "URLTest Testing URL",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:169" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:170"
] ]
}, },
{ {
"call": "URLTest Tolerance", "call": "URLTest Tolerance",
"key": "URLTest Tolerance", "key": "URLTest Tolerance",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:146" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:147"
] ]
}, },
{ {
"call": "User Domain List Type", "call": "User Domain List Type",
"key": "User Domain List Type", "key": "User Domain List Type",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:386" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:387"
] ]
}, },
{ {
"call": "User Domains", "call": "User Domains",
"key": "User Domains", "key": "User Domains",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:398" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:399"
] ]
}, },
{ {
"call": "User Domains List", "call": "User Domains List",
"key": "User Domains List", "key": "User Domains List",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:424" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:425"
] ]
}, },
{ {
"call": "User Subnet List Type", "call": "User Subnet List Type",
"key": "User Subnet List Type", "key": "User Subnet List Type",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:466" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:467"
] ]
}, },
{ {
"call": "User Subnets", "call": "User Subnets",
"key": "User Subnets", "key": "User Subnets",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:478" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:479"
] ]
}, },
{ {
"call": "User Subnets List", "call": "User Subnets List",
"key": "User Subnets List", "key": "User Subnets List",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:504" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:505"
] ]
}, },
{ {
@@ -1804,8 +1818,8 @@
"call": "Validation errors:", "call": "Validation errors:",
"key": "Validation errors:", "key": "Validation errors:",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:457", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:458",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:536" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:537"
] ]
}, },
{ {
@@ -1827,23 +1841,23 @@
"call": "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links", "call": "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links",
"key": "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links", "key": "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:36", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:37",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:88", "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:89",
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:111" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:112"
] ]
}, },
{ {
"call": "Warning: %s cannot be used together with %s. Previous selections have been removed.", "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.", "key": "Warning: %s cannot be used together with %s. Previous selections have been removed.",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:334" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:335"
] ]
}, },
{ {
"call": "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection.", "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.", "key": "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection.",
"places": [ "places": [
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:353" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:354"
] ]
}, },
{ {

View File

@@ -1,15 +1,15 @@
# SOME DESCRIPTIVE TITLE. # SOME DESCRIPTIVE TITLE.
# Copyright (C) 2026 THE PACKAGE'S COPYRIGHT HOLDER # Copyright (C) 2026 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PODKOP package. # This file is distributed under the same license as the PODKOP package.
# divocatt <210179590+divocatt@users.noreply.github.com>, 2026. # romanvht <romanvht@gmail.com>, 2026.
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PODKOP\n" "Project-Id-Version: PODKOP\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-14 18:21+0200\n" "POT-Creation-Date: 2026-05-09 02:49+1000\n"
"PO-Revision-Date: 2026-01-14 18:21+0200\n" "PO-Revision-Date: 2026-05-09 02:49+1000\n"
"Last-Translator: divocatt <210179590+divocatt@users.noreply.github.com>\n" "Last-Translator: romanvht <romanvht@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n" "Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -44,15 +44,15 @@ msgstr ""
msgid "Allows access to YACD from the WAN. Make sure to open the appropriate port in your firewall." msgid "Allows access to YACD from the WAN. Make sure to open the appropriate port in your firewall."
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:198 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:199
msgid "Applicable for SOCKS and Shadowsocks proxy" msgid "Applicable for SOCKS and Shadowsocks proxy"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:443 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:444
msgid "At least one valid domain must be specified. Comments-only content is not allowed." msgid "At least one valid domain must be specified. Comments-only content is not allowed."
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:524 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:525
msgid "At least one valid subnet or IP must be specified. Comments-only content is not allowed." msgid "At least one valid subnet or IP must be specified. Comments-only content is not allowed."
msgstr "" msgstr ""
@@ -119,7 +119,7 @@ msgstr ""
msgid "Close" msgid "Close"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:298 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:299
msgid "Community Lists" msgid "Community Lists"
msgstr "" msgstr ""
@@ -131,7 +131,7 @@ msgstr ""
msgid "Configuration for Podkop service" msgid "Configuration for Podkop service"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:22 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:23
msgid "Configuration Type" msgid "Configuration Type"
msgstr "" msgstr ""
@@ -139,7 +139,7 @@ msgstr ""
msgid "Connection Type" msgid "Connection Type"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:25 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:26
msgid "Connection URL" msgid "Connection URL"
msgstr "" msgstr ""
@@ -187,8 +187,8 @@ msgstr ""
msgid "Disable the QUIC protocol to improve compatibility or fix issues with video streaming" msgid "Disable the QUIC protocol to improve compatibility or fix issues with video streaming"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:389 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:390
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:469 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:470
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
@@ -196,17 +196,17 @@ msgstr ""
msgid "DNS on router" msgid "DNS on router"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:266 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:267
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:15 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:15
msgid "DNS over HTTPS (DoH)" msgid "DNS over HTTPS (DoH)"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:267 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:268
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:16 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:16
msgid "DNS over TLS (DoT)" msgid "DNS over TLS (DoT)"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:263 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:264
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:12 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:12
msgid "DNS Protocol Type" msgid "DNS Protocol Type"
msgstr "" msgstr ""
@@ -215,7 +215,7 @@ msgstr ""
msgid "DNS Rewrite TTL" msgid "DNS Rewrite TTL"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:276 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:277
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:24 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:24
msgid "DNS Server" msgid "DNS Server"
msgstr "" msgstr ""
@@ -228,7 +228,7 @@ msgstr ""
msgid "Do not panic, everything can be fixed, just..." msgid "Do not panic, everything can be fixed, just..."
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:253 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:254
msgid "Domain Resolver" msgid "Domain Resolver"
msgstr "" msgstr ""
@@ -258,8 +258,8 @@ msgstr ""
msgid "Downloading all lists via specific Proxy/VPN" msgid "Downloading all lists via specific Proxy/VPN"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:390 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:391
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:470 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:471
msgid "Dynamic List" msgid "Dynamic List"
msgstr "" msgstr ""
@@ -267,11 +267,15 @@ msgstr ""
msgid "Enable autostart" msgid "Enable autostart"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:254 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:255
msgid "Enable built-in DNS resolver for domains handled by this section" msgid "Enable built-in DNS resolver for domains handled by this section"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:662 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:691
msgid "Enable DNS resolve to get real IP when routing"
msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:665
msgid "Enable Mixed Proxy" msgid "Enable Mixed Proxy"
msgstr "" msgstr ""
@@ -279,7 +283,7 @@ msgstr ""
msgid "Enable Output Network Interface" msgid "Enable Output Network Interface"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:663 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:666
msgid "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies" msgid "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies"
msgstr "" msgstr ""
@@ -291,35 +295,35 @@ msgstr ""
msgid "Enable YACD WAN Access" msgid "Enable YACD WAN Access"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:65 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:66
msgid "Enter complete outbound configuration in JSON format" msgid "Enter complete outbound configuration in JSON format"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:425 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:426
msgid "Enter domain names separated by commas, spaces, or newlines. You can add comments using //" msgid "Enter domain names separated by commas, spaces, or newlines. You can add comments using //"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:399 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:400
msgid "Enter domain names without protocols, e.g. example.com or sub.example.com" msgid "Enter domain names without protocols, e.g. example.com or sub.example.com"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:479 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:480
msgid "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses" msgid "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:137 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:138
msgid "Every 1 minute" msgid "Every 1 minute"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:138 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:139
msgid "Every 3 minutes" msgid "Every 3 minutes"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:136 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:137
msgid "Every 30 seconds" msgid "Every 30 seconds"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:139 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:140
msgid "Every 5 minutes" msgid "Every 5 minutes"
msgstr "" msgstr ""
@@ -339,17 +343,17 @@ msgstr ""
#: src/podkop/tabs/diagnostic/initController.ts:231 #: src/podkop/tabs/diagnostic/initController.ts:231
#: src/podkop/tabs/diagnostic/initController.ts:261 #: src/podkop/tabs/diagnostic/initController.ts:261
#: src/podkop/tabs/diagnostic/initController.ts:265 #: src/podkop/tabs/diagnostic/initController.ts:265
#: src/podkop/tabs/diagnostic/initController.ts:299 #: src/podkop/tabs/diagnostic/initController.ts:302
#: src/podkop/tabs/diagnostic/initController.ts:303 #: src/podkop/tabs/diagnostic/initController.ts:306
msgid "Failed to execute!" msgid "Failed to execute!"
msgstr "" msgstr ""
#: src/podkop/methods/custom/getDashboardSections.ts:117 #: src/podkop/methods/custom/getDashboardSections.ts:148
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:59 #: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:59
msgid "Fastest" msgid "Fastest"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:637 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:638
msgid "Fully Routed IPs" msgid "Fully Routed IPs"
msgstr "" msgstr ""
@@ -559,7 +563,7 @@ msgstr ""
msgid "Issues detected" msgid "Issues detected"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/initController.ts:453 #: src/podkop/tabs/diagnostic/initController.ts:456
msgid "Latest" msgid "Latest"
msgstr "" msgstr ""
@@ -567,11 +571,11 @@ msgstr ""
msgid "List Update Frequency" msgid "List Update Frequency"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:545 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:546
msgid "Local Domain Lists" msgid "Local Domain Lists"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:568 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:569
msgid "Local Subnet Lists" msgid "Local Subnet Lists"
msgstr "" msgstr ""
@@ -587,7 +591,7 @@ msgstr ""
msgid "Memory Usage" msgid "Memory Usage"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:673 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:678
msgid "Mixed Proxy Port" msgid "Mixed Proxy Port"
msgstr "" msgstr ""
@@ -595,11 +599,11 @@ msgstr ""
msgid "Monitored Interfaces" msgid "Monitored Interfaces"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:163 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:164
msgid "Must be a number in the range of 50 - 1000" msgid "Must be a number in the range of 50 - 1000"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:207 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:208
msgid "Network Interface" msgid "Network Interface"
msgstr "" msgstr ""
@@ -629,15 +633,15 @@ msgstr ""
msgid "Operation timed out" msgid "Operation timed out"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:28 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:29
msgid "Outbound Config" msgid "Outbound Config"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:64 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:65
msgid "Outbound Configuration" msgid "Outbound Configuration"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/initController.ts:443 #: src/podkop/tabs/diagnostic/initController.ts:446
msgid "Outdated" msgid "Outdated"
msgstr "" msgstr ""
@@ -681,7 +685,7 @@ msgstr ""
msgid "Podkop will not modify your DHCP configuration" msgid "Podkop will not modify your DHCP configuration"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:35 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:36
msgid "Proxy Configuration URL" msgid "Proxy Configuration URL"
msgstr "" msgstr ""
@@ -693,18 +697,22 @@ msgstr ""
msgid "Proxy traffic is routed via FakeIP" msgid "Proxy traffic is routed via FakeIP"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:332 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:333
msgid "Regional options cannot be used together" msgid "Regional options cannot be used together"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:591 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:592
msgid "Remote Domain Lists" msgid "Remote Domain Lists"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:614 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:615
msgid "Remote Subnet Lists" msgid "Remote Subnet Lists"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:690
msgid "Resolve real IP for routing"
msgstr ""
#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:49 #: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:49
msgid "Restart podkop" msgid "Restart podkop"
msgstr "" msgstr ""
@@ -749,7 +757,7 @@ msgstr ""
msgid "Run Diagnostic" msgid "Run Diagnostic"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:351 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:352
msgid "Russia inside restrictions" msgid "Russia inside restrictions"
msgstr "" msgstr ""
@@ -761,7 +769,7 @@ msgstr ""
msgid "Sections" msgid "Sections"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:299 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:300
msgid "Select a predefined list for routing" msgid "Select a predefined list for routing"
msgstr "" msgstr ""
@@ -777,15 +785,15 @@ msgstr ""
msgid "Select how often the domain or subnet lists are updated automatically" msgid "Select how often the domain or subnet lists are updated automatically"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:23 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:24
msgid "Select how to configure the proxy" msgid "Select how to configure the proxy"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:208 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:209
msgid "Select network interface for VPN connection" msgid "Select network interface for VPN connection"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:277 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:278
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:25 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:25
msgid "Select or enter DNS server address" msgid "Select or enter DNS server address"
msgstr "" msgstr ""
@@ -798,15 +806,15 @@ msgstr ""
msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing" msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:264 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:265
msgid "Select the DNS protocol type for the domain resolver" msgid "Select the DNS protocol type for the domain resolver"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:387 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:388
msgid "Select the list type for adding custom domains" msgid "Select the list type for adding custom domains"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:467 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:468
msgid "Select the list type for adding custom subnets" msgid "Select the list type for adding custom subnets"
msgstr "" msgstr ""
@@ -826,11 +834,11 @@ msgstr ""
msgid "Select the WAN interfaces to be monitored" msgid "Select the WAN interfaces to be monitored"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:26 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:27
msgid "Selector" msgid "Selector"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:87 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:88
msgid "Selector Proxy Links" msgid "Selector Proxy Links"
msgstr "" msgstr ""
@@ -883,20 +891,20 @@ msgstr ""
msgid "Specify a local IP address to be excluded from routing" msgid "Specify a local IP address to be excluded from routing"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:638 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:639
msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route" msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:592 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:593
msgid "Specify remote URLs to download and use domain lists" msgid "Specify remote URLs to download and use domain lists"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:615 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:616
msgid "Specify remote URLs to download and use subnet lists" msgid "Specify remote URLs to download and use subnet lists"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:546 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:547
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:569 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:570
msgid "Specify the path to the list file located on the router filesystem" msgid "Specify the path to the list file located on the router filesystem"
msgstr "" msgstr ""
@@ -928,8 +936,8 @@ msgstr ""
msgid "Test latency" msgid "Test latency"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:391 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:392
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:471 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:472
msgid "Text List" msgid "Text List"
msgstr "" msgstr ""
@@ -937,15 +945,15 @@ msgstr ""
msgid "The DNS server used to look up the IP address of an upstream DNS server" msgid "The DNS server used to look up the IP address of an upstream DNS server"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:134 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:135
msgid "The interval between connectivity tests" msgid "The interval between connectivity tests"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:147 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:148
msgid "The maximum difference in response times (ms) allowed when comparing servers" msgid "The maximum difference in response times (ms) allowed when comparing servers"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:170 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:171
msgid "The URL used to test server connectivity" msgid "The URL used to test server connectivity"
msgstr "" msgstr ""
@@ -973,12 +981,12 @@ msgstr ""
msgid "TTL value cannot be empty" msgid "TTL value cannot be empty"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:268 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:269
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:17 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:17
msgid "UDP (Unprotected DNS)" msgid "UDP (Unprotected DNS)"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:197 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:198
msgid "UDP over TCP" msgid "UDP over TCP"
msgstr "" msgstr ""
@@ -988,7 +996,7 @@ msgstr ""
#: src/podkop/tabs/diagnostic/initController.ts:41 #: src/podkop/tabs/diagnostic/initController.ts:41
#: src/podkop/tabs/diagnostic/initController.ts:42 #: src/podkop/tabs/diagnostic/initController.ts:42
#: src/podkop/tabs/diagnostic/initController.ts:43 #: src/podkop/tabs/diagnostic/initController.ts:43
#: src/podkop/tabs/diagnostic/initController.ts:417 #: src/podkop/tabs/diagnostic/initController.ts:420
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""
@@ -1009,47 +1017,47 @@ msgstr ""
msgid "URL must use one of the following protocols:" msgid "URL must use one of the following protocols:"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:27 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:28
msgid "URLTest" msgid "URLTest"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:133 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:134
msgid "URLTest Check Interval" msgid "URLTest Check Interval"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:110 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:111
msgid "URLTest Proxy Links" msgid "URLTest Proxy Links"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:169 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:170
msgid "URLTest Testing URL" msgid "URLTest Testing URL"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:146 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:147
msgid "URLTest Tolerance" msgid "URLTest Tolerance"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:386 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:387
msgid "User Domain List Type" msgid "User Domain List Type"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:398 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:399
msgid "User Domains" msgid "User Domains"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:424 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:425
msgid "User Domains List" msgid "User Domains List"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:466 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:467
msgid "User Subnet List Type" msgid "User Subnet List Type"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:478 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:479
msgid "User Subnets" msgid "User Subnets"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:504 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:505
msgid "User Subnets List" msgid "User Subnets List"
msgstr "" msgstr ""
@@ -1070,8 +1078,8 @@ msgstr ""
msgid "Valid" msgid "Valid"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:457 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:458
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:536 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:537
msgid "Validation errors:" msgid "Validation errors:"
msgstr "" msgstr ""
@@ -1084,17 +1092,17 @@ msgstr ""
msgid "Visit Wiki" msgid "Visit Wiki"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:36 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:37
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:88 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:89
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:111 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:112
msgid "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links" msgid "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:334 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:335
msgid "Warning: %s cannot be used together with %s. Previous selections have been removed." msgid "Warning: %s cannot be used together with %s. Previous selections have been removed."
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:353 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:354
msgid "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection." msgid "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection."
msgstr "" msgstr ""

View File

@@ -1,15 +1,15 @@
# RU translations for PODKOP package. # RU translations for PODKOP package.
# Copyright (C) 2026 THE PODKOP'S COPYRIGHT HOLDER # Copyright (C) 2026 THE PODKOP'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PODKOP package. # This file is distributed under the same license as the PODKOP package.
# divocatt, 2026. # romanvht, 2026.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PODKOP\n" "Project-Id-Version: PODKOP\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-14 20:21+0200\n" "POT-Creation-Date: 2026-05-09 12:50+1000\n"
"PO-Revision-Date: 2026-01-14 20:21+0200\n" "PO-Revision-Date: 2026-05-09 12:50+1000\n"
"Last-Translator: divocatt\n" "Last-Translator: romanvht\n"
"Language-Team: none\n" "Language-Team: none\n"
"Language: ru\n" "Language: ru\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -197,6 +197,9 @@ msgstr "Включить автостарт"
msgid "Enable built-in DNS resolver for domains handled by this section" msgid "Enable built-in DNS resolver for domains handled by this section"
msgstr "Включить встроенный DNS-резолвер для доменов, обрабатываемых в этом разделе" msgstr "Включить встроенный DNS-резолвер для доменов, обрабатываемых в этом разделе"
msgid "Enable DNS resolve to get real IP when routing"
msgstr "Разрешать домены в реальные IP-адреса перед маршрутизацией в outbound"
msgid "Enable Mixed Proxy" msgid "Enable Mixed Proxy"
msgstr "Включить смешанный прокси" msgstr "Включить смешанный прокси"
@@ -509,6 +512,9 @@ msgstr "Внешние списки доменов"
msgid "Remote Subnet Lists" msgid "Remote Subnet Lists"
msgstr "Внешние списки подсетей" msgstr "Внешние списки подсетей"
msgid "Resolve real IP for routing"
msgstr "Разрешение реальных IP-адресов"
msgid "Restart podkop" msgid "Restart podkop"
msgstr "Перезапустить Podkop" msgstr "Перезапустить Podkop"

View File

@@ -0,0 +1,3 @@
export function removeVersionPrefix(version: string) {
return version.replace(/^v/, '');
}

View File

@@ -0,0 +1,52 @@
import { normalizeCompiledVersion } from '../../../../helpers/normalizeCompiledVersion';
import { removeVersionPrefix } from '../../../../helpers/removeVersionPrefix';
import type { StoreType } from '../../../services/store.service';
import type { IRenderSystemInfoRow } from '../partials';
function isUnknownVersion(version?: string | null): boolean {
return version === 'unknown' || version === _('unknown');
}
export function getPodkopVersionRow(
diagnosticsSystemInfo: StoreType['diagnosticsSystemInfo'],
): IRenderSystemInfoRow {
const loading = diagnosticsSystemInfo.loading;
const unknown = isUnknownVersion(diagnosticsSystemInfo.podkop_version);
const hasActualVersion =
Boolean(diagnosticsSystemInfo.podkop_latest_version) &&
!isUnknownVersion(diagnosticsSystemInfo.podkop_latest_version);
const version = normalizeCompiledVersion(
diagnosticsSystemInfo.podkop_version,
);
const isDevVersion = version === 'dev';
if (loading || unknown || !hasActualVersion || isDevVersion) {
return {
key: 'Podkop',
value: version,
};
}
if (
removeVersionPrefix(version) !==
removeVersionPrefix(diagnosticsSystemInfo.podkop_latest_version)
) {
return {
key: 'Podkop',
value: version,
tag: {
label: _('Outdated'),
kind: 'warning',
},
};
}
return {
key: 'Podkop',
value: version,
tag: {
label: _('Latest'),
kind: 'success',
},
};
}

View File

@@ -6,7 +6,6 @@ import { runFakeIPCheck } from './checks/runFakeIPCheck';
import { loadingDiagnosticsChecksStore } from './diagnostic.store'; import { loadingDiagnosticsChecksStore } from './diagnostic.store';
import { logger, store, StoreType } from '../../services'; import { logger, store, StoreType } from '../../services';
import { import {
IRenderSystemInfoRow,
renderAvailableActions, renderAvailableActions,
renderCheckSection, renderCheckSection,
renderRunAction, renderRunAction,
@@ -20,6 +19,7 @@ import { PODKOP_LUCI_APP_VERSION } from '../../../constants';
import { showToast } from '../../../helpers/showToast'; import { showToast } from '../../../helpers/showToast';
import { renderWikiDisclaimer } from './partials/renderWikiDisclaimer'; import { renderWikiDisclaimer } from './partials/renderWikiDisclaimer';
import { runSectionsCheck } from './checks/runSectionsCheck'; import { runSectionsCheck } from './checks/runSectionsCheck';
import { getPodkopVersionRow } from './helpers/getPodkopVersionRow';
async function fetchSystemInfo() { async function fetchSystemInfo() {
const systemInfo = await PodkopShellMethods.getSystemInfo(); const systemInfo = await PodkopShellMethods.getSystemInfo();
@@ -415,53 +415,9 @@ function renderDiagnosticSystemInfoWidget() {
const container = document.getElementById('pdk_diagnostic-page-system-info'); const container = document.getElementById('pdk_diagnostic-page-system-info');
function getPodkopVersionRow(): IRenderSystemInfoRow {
const loading = diagnosticsSystemInfo.loading;
const unknown = diagnosticsSystemInfo.podkop_version === _('unknown');
const hasActualVersion =
Boolean(diagnosticsSystemInfo.podkop_latest_version) &&
diagnosticsSystemInfo.podkop_latest_version !== 'unknown';
const version = normalizeCompiledVersion(
diagnosticsSystemInfo.podkop_version,
);
const isDevVersion = version === 'dev';
if (loading || unknown || !hasActualVersion || isDevVersion) {
return {
key: 'Podkop',
value: version,
};
}
if (version !== `v${diagnosticsSystemInfo.podkop_latest_version}`) {
logger.debug(
'[DIAGNOSTIC]',
'diagnosticsSystemInfo',
diagnosticsSystemInfo,
);
return {
key: 'Podkop',
value: version,
tag: {
label: _('Outdated'),
kind: 'warning',
},
};
}
return {
key: 'Podkop',
value: version,
tag: {
label: _('Latest'),
kind: 'success',
},
};
}
const renderedSystemInfo = renderSystemInfo({ const renderedSystemInfo = renderSystemInfo({
items: [ items: [
getPodkopVersionRow(), getPodkopVersionRow(diagnosticsSystemInfo),
{ {
key: 'Luci App', key: 'Luci App',
value: normalizeCompiledVersion(PODKOP_LUCI_APP_VERSION), value: normalizeCompiledVersion(PODKOP_LUCI_APP_VERSION),

View File

@@ -0,0 +1,69 @@
import { describe, expect, it } from 'vitest';
import { getPodkopVersionRow } from '../helpers/getPodkopVersionRow';
import type { StoreType } from '../../../services/store.service';
function makeDiagnosticsSystemInfo(
patch: Partial<StoreType['diagnosticsSystemInfo']> = {},
): StoreType['diagnosticsSystemInfo'] {
return {
loading: false,
podkop_version: '1.2.3',
podkop_latest_version: '1.2.3',
luci_app_version: '1.0.0',
sing_box_version: '1.11.0',
openwrt_version: 'OpenWrt 25.12',
device_model: 'Test Router',
...patch,
};
}
describe('getPodkopVersionRow', () => {
it('returns Latest when versions differ only by leading v', () => {
const row = getPodkopVersionRow(
makeDiagnosticsSystemInfo({
podkop_version: 'v1.2.3',
podkop_latest_version: '1.2.3',
}),
);
expect(row).toEqual({
key: 'Podkop',
value: 'v1.2.3',
tag: {
label: 'Latest',
kind: 'success',
},
});
});
it('returns Outdated when versions differ', () => {
const row = getPodkopVersionRow(
makeDiagnosticsSystemInfo({
podkop_version: '1.2.2',
podkop_latest_version: '1.2.3',
}),
);
expect(row).toEqual({
key: 'Podkop',
value: '1.2.2',
tag: {
label: 'Outdated',
kind: 'warning',
},
});
});
it('returns plain row without tag for dev build', () => {
const row = getPodkopVersionRow(
makeDiagnosticsSystemInfo({
podkop_version: 'COMPILED_VERSION',
}),
);
expect(row).toEqual({
key: 'Podkop',
value: 'dev',
});
});
});

View File

@@ -3925,6 +3925,49 @@ async function runSectionsCheck() {
} }
} }
// src/helpers/removeVersionPrefix.ts
function removeVersionPrefix(version) {
return version.replace(/^v/, "");
}
// src/podkop/tabs/diagnostic/helpers/getPodkopVersionRow.ts
function isUnknownVersion(version) {
return version === "unknown" || version === _("unknown");
}
function getPodkopVersionRow(diagnosticsSystemInfo) {
const loading = diagnosticsSystemInfo.loading;
const unknown = isUnknownVersion(diagnosticsSystemInfo.podkop_version);
const hasActualVersion = Boolean(diagnosticsSystemInfo.podkop_latest_version) && !isUnknownVersion(diagnosticsSystemInfo.podkop_latest_version);
const version = normalizeCompiledVersion(
diagnosticsSystemInfo.podkop_version
);
const isDevVersion = version === "dev";
if (loading || unknown || !hasActualVersion || isDevVersion) {
return {
key: "Podkop",
value: version
};
}
if (removeVersionPrefix(version) !== removeVersionPrefix(diagnosticsSystemInfo.podkop_latest_version)) {
return {
key: "Podkop",
value: version,
tag: {
label: _("Outdated"),
kind: "warning"
}
};
}
return {
key: "Podkop",
value: version,
tag: {
label: _("Latest"),
kind: "success"
}
};
}
// src/podkop/tabs/diagnostic/initController.ts // src/podkop/tabs/diagnostic/initController.ts
async function fetchSystemInfo() { async function fetchSystemInfo() {
const systemInfo = await PodkopShellMethods.getSystemInfo(); const systemInfo = await PodkopShellMethods.getSystemInfo();
@@ -4272,47 +4315,9 @@ function renderDiagnosticSystemInfoWidget() {
logger.debug("[DIAGNOSTIC]", "renderDiagnosticSystemInfoWidget"); logger.debug("[DIAGNOSTIC]", "renderDiagnosticSystemInfoWidget");
const diagnosticsSystemInfo = store.get().diagnosticsSystemInfo; const diagnosticsSystemInfo = store.get().diagnosticsSystemInfo;
const container = document.getElementById("pdk_diagnostic-page-system-info"); const container = document.getElementById("pdk_diagnostic-page-system-info");
function getPodkopVersionRow() {
const loading = diagnosticsSystemInfo.loading;
const unknown = diagnosticsSystemInfo.podkop_version === _("unknown");
const hasActualVersion = Boolean(diagnosticsSystemInfo.podkop_latest_version) && diagnosticsSystemInfo.podkop_latest_version !== "unknown";
const version = normalizeCompiledVersion(
diagnosticsSystemInfo.podkop_version
);
const isDevVersion = version === "dev";
if (loading || unknown || !hasActualVersion || isDevVersion) {
return {
key: "Podkop",
value: version
};
}
if (version !== `v${diagnosticsSystemInfo.podkop_latest_version}`) {
logger.debug(
"[DIAGNOSTIC]",
"diagnosticsSystemInfo",
diagnosticsSystemInfo
);
return {
key: "Podkop",
value: version,
tag: {
label: _("Outdated"),
kind: "warning"
}
};
}
return {
key: "Podkop",
value: version,
tag: {
label: _("Latest"),
kind: "success"
}
};
}
const renderedSystemInfo = renderSystemInfo({ const renderedSystemInfo = renderSystemInfo({
items: [ items: [
getPodkopVersionRow(), getPodkopVersionRow(diagnosticsSystemInfo),
{ {
key: "Luci App", key: "Luci App",
value: normalizeCompiledVersion(PODKOP_LUCI_APP_VERSION) value: normalizeCompiledVersion(PODKOP_LUCI_APP_VERSION)

View File

@@ -683,6 +683,17 @@ function createSectionContent(section) {
); );
o.rmempty = false; o.rmempty = false;
o.depends("mixed_proxy_enabled", "1"); o.depends("mixed_proxy_enabled", "1");
o = section.option(
form.Flag,
"resolve_real_ip_for_routing",
_("Resolve real IP for routing"),
_("Enable DNS resolve to get real IP when routing"),
);
o.default = "0";
o.rmempty = false;
o.depends("connection_type", "proxy");
o.depends("connection_type", "vpn");
} }
const EntryPoint = { const EntryPoint = {

View File

@@ -1,15 +1,15 @@
# RU translations for PODKOP package. # RU translations for PODKOP package.
# Copyright (C) 2026 THE PODKOP'S COPYRIGHT HOLDER # Copyright (C) 2026 THE PODKOP'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PODKOP package. # This file is distributed under the same license as the PODKOP package.
# divocatt, 2026. # romanvht, 2026.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PODKOP\n" "Project-Id-Version: PODKOP\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-14 20:21+0200\n" "POT-Creation-Date: 2026-05-09 12:50+1000\n"
"PO-Revision-Date: 2026-01-14 20:21+0200\n" "PO-Revision-Date: 2026-05-09 12:50+1000\n"
"Last-Translator: divocatt\n" "Last-Translator: romanvht\n"
"Language-Team: none\n" "Language-Team: none\n"
"Language: ru\n" "Language: ru\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -197,6 +197,9 @@ msgstr "Включить автостарт"
msgid "Enable built-in DNS resolver for domains handled by this section" msgid "Enable built-in DNS resolver for domains handled by this section"
msgstr "Включить встроенный DNS-резолвер для доменов, обрабатываемых в этом разделе" msgstr "Включить встроенный DNS-резолвер для доменов, обрабатываемых в этом разделе"
msgid "Enable DNS resolve to get real IP when routing"
msgstr "Разрешать домены в реальные IP-адреса перед маршрутизацией в outbound"
msgid "Enable Mixed Proxy" msgid "Enable Mixed Proxy"
msgstr "Включить смешанный прокси" msgstr "Включить смешанный прокси"
@@ -509,6 +512,9 @@ msgstr "Внешние списки доменов"
msgid "Remote Subnet Lists" msgid "Remote Subnet Lists"
msgstr "Внешние списки подсетей" msgstr "Внешние списки подсетей"
msgid "Resolve real IP for routing"
msgstr "Разрешение реальных IP-адресов"
msgid "Restart podkop" msgid "Restart podkop"
msgstr "Перезапустить Podkop" msgstr "Перезапустить Podkop"

View File

@@ -1,15 +1,15 @@
# SOME DESCRIPTIVE TITLE. # SOME DESCRIPTIVE TITLE.
# Copyright (C) 2026 THE PACKAGE'S COPYRIGHT HOLDER # Copyright (C) 2026 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PODKOP package. # This file is distributed under the same license as the PODKOP package.
# divocatt <210179590+divocatt@users.noreply.github.com>, 2026. # romanvht <romanvht@gmail.com>, 2026.
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PODKOP\n" "Project-Id-Version: PODKOP\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-14 18:21+0200\n" "POT-Creation-Date: 2026-05-09 02:49+1000\n"
"PO-Revision-Date: 2026-01-14 18:21+0200\n" "PO-Revision-Date: 2026-05-09 02:49+1000\n"
"Last-Translator: divocatt <210179590+divocatt@users.noreply.github.com>\n" "Last-Translator: romanvht <romanvht@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n" "Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -44,15 +44,15 @@ msgstr ""
msgid "Allows access to YACD from the WAN. Make sure to open the appropriate port in your firewall." msgid "Allows access to YACD from the WAN. Make sure to open the appropriate port in your firewall."
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:198 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:199
msgid "Applicable for SOCKS and Shadowsocks proxy" msgid "Applicable for SOCKS and Shadowsocks proxy"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:443 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:444
msgid "At least one valid domain must be specified. Comments-only content is not allowed." msgid "At least one valid domain must be specified. Comments-only content is not allowed."
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:524 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:525
msgid "At least one valid subnet or IP must be specified. Comments-only content is not allowed." msgid "At least one valid subnet or IP must be specified. Comments-only content is not allowed."
msgstr "" msgstr ""
@@ -119,7 +119,7 @@ msgstr ""
msgid "Close" msgid "Close"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:298 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:299
msgid "Community Lists" msgid "Community Lists"
msgstr "" msgstr ""
@@ -131,7 +131,7 @@ msgstr ""
msgid "Configuration for Podkop service" msgid "Configuration for Podkop service"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:22 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:23
msgid "Configuration Type" msgid "Configuration Type"
msgstr "" msgstr ""
@@ -139,7 +139,7 @@ msgstr ""
msgid "Connection Type" msgid "Connection Type"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:25 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:26
msgid "Connection URL" msgid "Connection URL"
msgstr "" msgstr ""
@@ -187,8 +187,8 @@ msgstr ""
msgid "Disable the QUIC protocol to improve compatibility or fix issues with video streaming" msgid "Disable the QUIC protocol to improve compatibility or fix issues with video streaming"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:389 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:390
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:469 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:470
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
@@ -196,17 +196,17 @@ msgstr ""
msgid "DNS on router" msgid "DNS on router"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:266 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:267
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:15 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:15
msgid "DNS over HTTPS (DoH)" msgid "DNS over HTTPS (DoH)"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:267 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:268
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:16 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:16
msgid "DNS over TLS (DoT)" msgid "DNS over TLS (DoT)"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:263 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:264
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:12 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:12
msgid "DNS Protocol Type" msgid "DNS Protocol Type"
msgstr "" msgstr ""
@@ -215,7 +215,7 @@ msgstr ""
msgid "DNS Rewrite TTL" msgid "DNS Rewrite TTL"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:276 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:277
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:24 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:24
msgid "DNS Server" msgid "DNS Server"
msgstr "" msgstr ""
@@ -228,7 +228,7 @@ msgstr ""
msgid "Do not panic, everything can be fixed, just..." msgid "Do not panic, everything can be fixed, just..."
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:253 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:254
msgid "Domain Resolver" msgid "Domain Resolver"
msgstr "" msgstr ""
@@ -258,8 +258,8 @@ msgstr ""
msgid "Downloading all lists via specific Proxy/VPN" msgid "Downloading all lists via specific Proxy/VPN"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:390 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:391
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:470 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:471
msgid "Dynamic List" msgid "Dynamic List"
msgstr "" msgstr ""
@@ -267,11 +267,15 @@ msgstr ""
msgid "Enable autostart" msgid "Enable autostart"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:254 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:255
msgid "Enable built-in DNS resolver for domains handled by this section" msgid "Enable built-in DNS resolver for domains handled by this section"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:662 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:691
msgid "Enable DNS resolve to get real IP when routing"
msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:665
msgid "Enable Mixed Proxy" msgid "Enable Mixed Proxy"
msgstr "" msgstr ""
@@ -279,7 +283,7 @@ msgstr ""
msgid "Enable Output Network Interface" msgid "Enable Output Network Interface"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:663 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:666
msgid "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies" msgid "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies"
msgstr "" msgstr ""
@@ -291,35 +295,35 @@ msgstr ""
msgid "Enable YACD WAN Access" msgid "Enable YACD WAN Access"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:65 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:66
msgid "Enter complete outbound configuration in JSON format" msgid "Enter complete outbound configuration in JSON format"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:425 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:426
msgid "Enter domain names separated by commas, spaces, or newlines. You can add comments using //" msgid "Enter domain names separated by commas, spaces, or newlines. You can add comments using //"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:399 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:400
msgid "Enter domain names without protocols, e.g. example.com or sub.example.com" msgid "Enter domain names without protocols, e.g. example.com or sub.example.com"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:479 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:480
msgid "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses" msgid "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:137 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:138
msgid "Every 1 minute" msgid "Every 1 minute"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:138 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:139
msgid "Every 3 minutes" msgid "Every 3 minutes"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:136 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:137
msgid "Every 30 seconds" msgid "Every 30 seconds"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:139 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:140
msgid "Every 5 minutes" msgid "Every 5 minutes"
msgstr "" msgstr ""
@@ -339,17 +343,17 @@ msgstr ""
#: src/podkop/tabs/diagnostic/initController.ts:231 #: src/podkop/tabs/diagnostic/initController.ts:231
#: src/podkop/tabs/diagnostic/initController.ts:261 #: src/podkop/tabs/diagnostic/initController.ts:261
#: src/podkop/tabs/diagnostic/initController.ts:265 #: src/podkop/tabs/diagnostic/initController.ts:265
#: src/podkop/tabs/diagnostic/initController.ts:299 #: src/podkop/tabs/diagnostic/initController.ts:302
#: src/podkop/tabs/diagnostic/initController.ts:303 #: src/podkop/tabs/diagnostic/initController.ts:306
msgid "Failed to execute!" msgid "Failed to execute!"
msgstr "" msgstr ""
#: src/podkop/methods/custom/getDashboardSections.ts:117 #: src/podkop/methods/custom/getDashboardSections.ts:148
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:59 #: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:59
msgid "Fastest" msgid "Fastest"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:637 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:638
msgid "Fully Routed IPs" msgid "Fully Routed IPs"
msgstr "" msgstr ""
@@ -559,7 +563,7 @@ msgstr ""
msgid "Issues detected" msgid "Issues detected"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/initController.ts:453 #: src/podkop/tabs/diagnostic/initController.ts:456
msgid "Latest" msgid "Latest"
msgstr "" msgstr ""
@@ -567,11 +571,11 @@ msgstr ""
msgid "List Update Frequency" msgid "List Update Frequency"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:545 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:546
msgid "Local Domain Lists" msgid "Local Domain Lists"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:568 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:569
msgid "Local Subnet Lists" msgid "Local Subnet Lists"
msgstr "" msgstr ""
@@ -587,7 +591,7 @@ msgstr ""
msgid "Memory Usage" msgid "Memory Usage"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:673 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:678
msgid "Mixed Proxy Port" msgid "Mixed Proxy Port"
msgstr "" msgstr ""
@@ -595,11 +599,11 @@ msgstr ""
msgid "Monitored Interfaces" msgid "Monitored Interfaces"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:163 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:164
msgid "Must be a number in the range of 50 - 1000" msgid "Must be a number in the range of 50 - 1000"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:207 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:208
msgid "Network Interface" msgid "Network Interface"
msgstr "" msgstr ""
@@ -629,15 +633,15 @@ msgstr ""
msgid "Operation timed out" msgid "Operation timed out"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:28 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:29
msgid "Outbound Config" msgid "Outbound Config"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:64 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:65
msgid "Outbound Configuration" msgid "Outbound Configuration"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/initController.ts:443 #: src/podkop/tabs/diagnostic/initController.ts:446
msgid "Outdated" msgid "Outdated"
msgstr "" msgstr ""
@@ -681,7 +685,7 @@ msgstr ""
msgid "Podkop will not modify your DHCP configuration" msgid "Podkop will not modify your DHCP configuration"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:35 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:36
msgid "Proxy Configuration URL" msgid "Proxy Configuration URL"
msgstr "" msgstr ""
@@ -693,18 +697,22 @@ msgstr ""
msgid "Proxy traffic is routed via FakeIP" msgid "Proxy traffic is routed via FakeIP"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:332 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:333
msgid "Regional options cannot be used together" msgid "Regional options cannot be used together"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:591 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:592
msgid "Remote Domain Lists" msgid "Remote Domain Lists"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:614 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:615
msgid "Remote Subnet Lists" msgid "Remote Subnet Lists"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:690
msgid "Resolve real IP for routing"
msgstr ""
#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:49 #: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:49
msgid "Restart podkop" msgid "Restart podkop"
msgstr "" msgstr ""
@@ -749,7 +757,7 @@ msgstr ""
msgid "Run Diagnostic" msgid "Run Diagnostic"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:351 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:352
msgid "Russia inside restrictions" msgid "Russia inside restrictions"
msgstr "" msgstr ""
@@ -761,7 +769,7 @@ msgstr ""
msgid "Sections" msgid "Sections"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:299 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:300
msgid "Select a predefined list for routing" msgid "Select a predefined list for routing"
msgstr "" msgstr ""
@@ -777,15 +785,15 @@ msgstr ""
msgid "Select how often the domain or subnet lists are updated automatically" msgid "Select how often the domain or subnet lists are updated automatically"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:23 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:24
msgid "Select how to configure the proxy" msgid "Select how to configure the proxy"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:208 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:209
msgid "Select network interface for VPN connection" msgid "Select network interface for VPN connection"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:277 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:278
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:25 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:25
msgid "Select or enter DNS server address" msgid "Select or enter DNS server address"
msgstr "" msgstr ""
@@ -798,15 +806,15 @@ msgstr ""
msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing" msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:264 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:265
msgid "Select the DNS protocol type for the domain resolver" msgid "Select the DNS protocol type for the domain resolver"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:387 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:388
msgid "Select the list type for adding custom domains" msgid "Select the list type for adding custom domains"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:467 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:468
msgid "Select the list type for adding custom subnets" msgid "Select the list type for adding custom subnets"
msgstr "" msgstr ""
@@ -826,11 +834,11 @@ msgstr ""
msgid "Select the WAN interfaces to be monitored" msgid "Select the WAN interfaces to be monitored"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:26 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:27
msgid "Selector" msgid "Selector"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:87 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:88
msgid "Selector Proxy Links" msgid "Selector Proxy Links"
msgstr "" msgstr ""
@@ -883,20 +891,20 @@ msgstr ""
msgid "Specify a local IP address to be excluded from routing" msgid "Specify a local IP address to be excluded from routing"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:638 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:639
msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route" msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:592 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:593
msgid "Specify remote URLs to download and use domain lists" msgid "Specify remote URLs to download and use domain lists"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:615 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:616
msgid "Specify remote URLs to download and use subnet lists" msgid "Specify remote URLs to download and use subnet lists"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:546 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:547
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:569 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:570
msgid "Specify the path to the list file located on the router filesystem" msgid "Specify the path to the list file located on the router filesystem"
msgstr "" msgstr ""
@@ -928,8 +936,8 @@ msgstr ""
msgid "Test latency" msgid "Test latency"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:391 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:392
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:471 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:472
msgid "Text List" msgid "Text List"
msgstr "" msgstr ""
@@ -937,15 +945,15 @@ msgstr ""
msgid "The DNS server used to look up the IP address of an upstream DNS server" msgid "The DNS server used to look up the IP address of an upstream DNS server"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:134 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:135
msgid "The interval between connectivity tests" msgid "The interval between connectivity tests"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:147 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:148
msgid "The maximum difference in response times (ms) allowed when comparing servers" msgid "The maximum difference in response times (ms) allowed when comparing servers"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:170 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:171
msgid "The URL used to test server connectivity" msgid "The URL used to test server connectivity"
msgstr "" msgstr ""
@@ -973,12 +981,12 @@ msgstr ""
msgid "TTL value cannot be empty" msgid "TTL value cannot be empty"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:268 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:269
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:17 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:17
msgid "UDP (Unprotected DNS)" msgid "UDP (Unprotected DNS)"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:197 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:198
msgid "UDP over TCP" msgid "UDP over TCP"
msgstr "" msgstr ""
@@ -988,7 +996,7 @@ msgstr ""
#: src/podkop/tabs/diagnostic/initController.ts:41 #: src/podkop/tabs/diagnostic/initController.ts:41
#: src/podkop/tabs/diagnostic/initController.ts:42 #: src/podkop/tabs/diagnostic/initController.ts:42
#: src/podkop/tabs/diagnostic/initController.ts:43 #: src/podkop/tabs/diagnostic/initController.ts:43
#: src/podkop/tabs/diagnostic/initController.ts:417 #: src/podkop/tabs/diagnostic/initController.ts:420
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""
@@ -1009,47 +1017,47 @@ msgstr ""
msgid "URL must use one of the following protocols:" msgid "URL must use one of the following protocols:"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:27 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:28
msgid "URLTest" msgid "URLTest"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:133 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:134
msgid "URLTest Check Interval" msgid "URLTest Check Interval"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:110 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:111
msgid "URLTest Proxy Links" msgid "URLTest Proxy Links"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:169 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:170
msgid "URLTest Testing URL" msgid "URLTest Testing URL"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:146 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:147
msgid "URLTest Tolerance" msgid "URLTest Tolerance"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:386 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:387
msgid "User Domain List Type" msgid "User Domain List Type"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:398 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:399
msgid "User Domains" msgid "User Domains"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:424 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:425
msgid "User Domains List" msgid "User Domains List"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:466 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:467
msgid "User Subnet List Type" msgid "User Subnet List Type"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:478 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:479
msgid "User Subnets" msgid "User Subnets"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:504 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:505
msgid "User Subnets List" msgid "User Subnets List"
msgstr "" msgstr ""
@@ -1070,8 +1078,8 @@ msgstr ""
msgid "Valid" msgid "Valid"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:457 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:458
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:536 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:537
msgid "Validation errors:" msgid "Validation errors:"
msgstr "" msgstr ""
@@ -1084,17 +1092,17 @@ msgstr ""
msgid "Visit Wiki" msgid "Visit Wiki"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:36 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:37
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:88 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:89
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:111 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:112
msgid "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links" msgid "vless://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links"
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:334 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:335
msgid "Warning: %s cannot be used together with %s. Previous selections have been removed." msgid "Warning: %s cannot be used together with %s. Previous selections have been removed."
msgstr "" msgstr ""
#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:353 #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:354
msgid "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection." msgid "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection."
msgstr "" msgstr ""

View File

@@ -1,6 +1,6 @@
config settings 'settings' config settings 'settings'
option dns_type 'udp' option dns_type 'udp'
option dns_server '8.8.8.8' option dns_server '77.88.8.8'
option bootstrap_dns_server '77.88.8.8' option bootstrap_dns_server '77.88.8.8'
option dns_rewrite_ttl '60' option dns_rewrite_ttl '60'
list source_network_interfaces 'br-lan' list source_network_interfaces 'br-lan'

View File

@@ -490,7 +490,7 @@ list_update() {
local i local i
# DNS Check # DNS Check
for i in $(seq 1 $nslookup_timeout); do for i in $(seq 1 $nslookup_attempts); do
if nslookup -timeout=$nslookup_timeout openwrt.org > /dev/null 2>&1; then if nslookup -timeout=$nslookup_timeout openwrt.org > /dev/null 2>&1; then
echolog "✅ DNS check passed" echolog "✅ DNS check passed"
break break
@@ -918,7 +918,7 @@ configure_routing_for_section_lists() {
fi fi
local community_lists user_domain_list_type user_subnet_list_type local_domain_lists local_subnet_lists \ local community_lists user_domain_list_type user_subnet_list_type local_domain_lists local_subnet_lists \
remote_domain_lists remote_subnet_lists section_connection_type route_rule_tag remote_domain_lists remote_subnet_lists section_connection_type route_rule_tag resolve_real_ip_for_routing
config_get community_lists "$section" "community_lists" config_get community_lists "$section" "community_lists"
config_get user_domain_list_type "$section" "user_domain_list_type" "disabled" config_get user_domain_list_type "$section" "user_domain_list_type" "disabled"
config_get user_subnet_list_type "$section" "user_subnet_list_type" "disabled" config_get user_subnet_list_type "$section" "user_subnet_list_type" "disabled"
@@ -927,6 +927,7 @@ configure_routing_for_section_lists() {
config_get remote_domain_lists "$section" "remote_domain_lists" config_get remote_domain_lists "$section" "remote_domain_lists"
config_get remote_subnet_lists "$section" "remote_subnet_lists" config_get remote_subnet_lists "$section" "remote_subnet_lists"
config_get section_connection_type "$section" "connection_type" config_get section_connection_type "$section" "connection_type"
config_get_bool resolve_real_ip_for_routing "$section" "resolve_real_ip_for_routing" 0
case "$section_connection_type" in case "$section_connection_type" in
proxy | vpn) proxy | vpn)
@@ -982,6 +983,11 @@ configure_routing_for_section_lists() {
config_list_foreach "$section" "remote_subnet_lists" configure_remote_domain_or_subnet_list_handler \ config_list_foreach "$section" "remote_subnet_lists" configure_remote_domain_or_subnet_list_handler \
"subnets" "$section" "$route_rule_tag" "subnets" "$section" "$route_rule_tag"
fi fi
if [ "$resolve_real_ip_for_routing" -eq 1 ]; then
config=$(sing_box_cm_add_resolve_rule "$config" "$route_rule_tag" "$(gen_id)" "$SB_DNS_SERVER_TAG")
log "Added resolve rule for '$section' section" "debug"
fi
} }
configure_community_list_handler() { configure_community_list_handler() {

View File

@@ -1090,6 +1090,42 @@ sing_box_cm_add_route_rule() {
}]' }]'
} }
#######################################
# Insert a resolve rule immediately before a route rule.
# Copies rule_set from the target route rule.
# 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:
# Updated JSON config 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
{
action: "resolve",
rule_set: (.rule_set // []),
server: $server,
($service_tag): $resolve_tag
}, .
else .
end
]'
}
####################################### #######################################
# Patch a routing rule in the route section of a sing-box JSON configuration. # Patch a routing rule in the route section of a sing-box JSON configuration.
# Arguments: # Arguments:

View File

@@ -1,4 +1,4 @@
FROM openwrt/sdk:x86-64-SNAPSHOT FROM openwrt/sdk:x86_64-v25.12.3
WORKDIR /builder WORKDIR /builder
RUN ./setup.sh \ RUN ./setup.sh \
&& ./scripts/feeds update -a \ && ./scripts/feeds update -a \

View File

@@ -1,4 +1,4 @@
FROM openwrt/sdk:x86_64-v24.10.3 FROM openwrt/sdk:x86_64-v24.10.6
WORKDIR /builder WORKDIR /builder
RUN ./scripts/feeds update -a \ RUN ./scripts/feeds update -a \
&& ./scripts/feeds install luci-base \ && ./scripts/feeds install luci-base \