0 selects an available port."
msgstr ""
@@ -33,15 +33,17 @@ msgstr ""
msgid "(Imported)"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1172
-#: htdocs/luci-static/resources/fchomo/listeners.js:1180
-#: htdocs/luci-static/resources/fchomo/listeners.js:1189
+#: htdocs/luci-static/resources/fchomo.js:1488
+#: htdocs/luci-static/resources/fchomo.js:1494
+#: htdocs/luci-static/resources/fchomo/listeners.js:1160
+#: htdocs/luci-static/resources/fchomo/listeners.js:1168
+#: htdocs/luci-static/resources/fchomo/listeners.js:1177
#: htdocs/luci-static/resources/view/fchomo/global.js:572
#: htdocs/luci-static/resources/view/fchomo/global.js:578
-#: htdocs/luci-static/resources/view/fchomo/node.js:1563
-#: htdocs/luci-static/resources/view/fchomo/node.js:1569
-#: htdocs/luci-static/resources/view/fchomo/node.js:1577
-#: htdocs/luci-static/resources/view/fchomo/node.js:1583
+#: htdocs/luci-static/resources/view/fchomo/node.js:1527
+#: htdocs/luci-static/resources/view/fchomo/node.js:1533
+#: htdocs/luci-static/resources/view/fchomo/node.js:1541
+#: htdocs/luci-static/resources/view/fchomo/node.js:1547
msgid "(mTLS)"
msgstr ""
@@ -63,10 +65,10 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1113
#: htdocs/luci-static/resources/view/fchomo/client.js:1369
#: htdocs/luci-static/resources/view/fchomo/node.js:305
-#: htdocs/luci-static/resources/view/fchomo/node.js:2771
-#: htdocs/luci-static/resources/view/fchomo/node.js:2782
-#: htdocs/luci-static/resources/view/fchomo/node.js:2801
-#: htdocs/luci-static/resources/view/fchomo/node.js:2812
+#: htdocs/luci-static/resources/view/fchomo/node.js:2735
+#: htdocs/luci-static/resources/view/fchomo/node.js:2746
+#: htdocs/luci-static/resources/view/fchomo/node.js:2765
+#: htdocs/luci-static/resources/view/fchomo/node.js:2776
msgid "-- Please choose --"
msgstr ""
@@ -95,7 +97,7 @@ msgstr ""
msgid "2022-blake3-chacha20-poly1305"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1733
+#: htdocs/luci-static/resources/view/fchomo/node.js:1697
msgid "-1 disables it."
msgstr ""
@@ -103,11 +105,11 @@ msgstr ""
msgid "0 or 1 only."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1150
-#: htdocs/luci-static/resources/fchomo/listeners.js:1165
-#: htdocs/luci-static/resources/fchomo/listeners.js:1190
-#: htdocs/luci-static/resources/view/fchomo/node.js:1570
-#: htdocs/luci-static/resources/view/fchomo/node.js:1584
+#: htdocs/luci-static/resources/fchomo/listeners.js:1138
+#: htdocs/luci-static/resources/fchomo/listeners.js:1153
+#: htdocs/luci-static/resources/fchomo/listeners.js:1178
+#: htdocs/luci-static/resources/view/fchomo/node.js:1534
+#: htdocs/luci-static/resources/view/fchomo/node.js:1548
msgid "Save your configuration before uploading files!"
msgstr ""
@@ -209,11 +211,11 @@ msgstr ""
msgid "Add a inbound"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2232
+#: htdocs/luci-static/resources/view/fchomo/node.js:2196
msgid "Add a provider"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2745
+#: htdocs/luci-static/resources/view/fchomo/node.js:2709
msgid "Add a proxy chain"
msgstr ""
@@ -237,11 +239,11 @@ msgstr ""
msgid "Add a sub rule"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2529
+#: htdocs/luci-static/resources/view/fchomo/node.js:2493
msgid "Add prefix"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2533
+#: htdocs/luci-static/resources/view/fchomo/node.js:2497
msgid "Add suffix"
msgstr ""
@@ -296,7 +298,7 @@ msgstr ""
msgid "Allow access to the local LAN via the exit node."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1073
+#: htdocs/luci-static/resources/fchomo/listeners.js:1061
msgid "Allow insecure connections"
msgstr ""
@@ -360,22 +362,22 @@ msgid "Authentication key"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:376
-#: htdocs/luci-static/resources/fchomo/listeners.js:1365
+#: htdocs/luci-static/resources/fchomo/listeners.js:1353
#: htdocs/luci-static/resources/view/fchomo/global.js:423
#: htdocs/luci-static/resources/view/fchomo/node.js:467
#: htdocs/luci-static/resources/view/fchomo/node.js:491
#: htdocs/luci-static/resources/view/fchomo/node.js:850
#: htdocs/luci-static/resources/view/fchomo/node.js:1202
-#: htdocs/luci-static/resources/view/fchomo/node.js:2038
+#: htdocs/luci-static/resources/view/fchomo/node.js:2002
msgid "Auto"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1851
+#: htdocs/luci-static/resources/view/fchomo/node.js:1815
msgid "Auto Enable when %s is empty."
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:139
-#: htdocs/luci-static/resources/view/fchomo/node.js:1654
+#: htdocs/luci-static/resources/view/fchomo/node.js:1618
msgid "Auto configure firewall"
msgstr ""
@@ -430,13 +432,13 @@ msgid "Binary mrs"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:766
-#: htdocs/luci-static/resources/view/fchomo/node.js:2199
-#: htdocs/luci-static/resources/view/fchomo/node.js:2618
+#: htdocs/luci-static/resources/view/fchomo/node.js:2163
+#: htdocs/luci-static/resources/view/fchomo/node.js:2582
msgid "Bind interface"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2200
-#: htdocs/luci-static/resources/view/fchomo/node.js:2619
+#: htdocs/luci-static/resources/view/fchomo/node.js:2164
+#: htdocs/luci-static/resources/view/fchomo/node.js:2583
msgid "Bind outbound interface."
msgstr ""
@@ -505,17 +507,20 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1536
+#: htdocs/luci-static/resources/fchomo.js:1468
+#: htdocs/luci-static/resources/view/fchomo/node.js:1507
msgid "Cert fingerprint"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1537
+#: htdocs/luci-static/resources/fchomo.js:1469
+#: htdocs/luci-static/resources/view/fchomo/node.js:1508
msgid ""
"Certificate fingerprint. Used to implement SSL Pinning and prevent MitM."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1127
-#: htdocs/luci-static/resources/view/fchomo/node.js:1563
+#: htdocs/luci-static/resources/fchomo.js:1488
+#: htdocs/luci-static/resources/fchomo/listeners.js:1115
+#: htdocs/luci-static/resources/view/fchomo/node.js:1527
msgid "Certificate path"
msgstr ""
@@ -573,25 +578,27 @@ msgid ""
"to download the latest initial package."
msgstr ""
+#: htdocs/luci-static/resources/fchomo.js:1489
+#: htdocs/luci-static/resources/fchomo.js:1495
#: htdocs/luci-static/resources/fchomo/listeners.js:869
-#: htdocs/luci-static/resources/fchomo/listeners.js:1181
+#: htdocs/luci-static/resources/fchomo/listeners.js:1169
#: htdocs/luci-static/resources/view/fchomo/global.js:579
#: htdocs/luci-static/resources/view/fchomo/node.js:1392
-#: htdocs/luci-static/resources/view/fchomo/node.js:1564
-#: htdocs/luci-static/resources/view/fchomo/node.js:1578
+#: htdocs/luci-static/resources/view/fchomo/node.js:1528
+#: htdocs/luci-static/resources/view/fchomo/node.js:1542
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:22
msgid "Client"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1180
+#: htdocs/luci-static/resources/fchomo/listeners.js:1168
msgid "Client Auth Certificate path"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1172
+#: htdocs/luci-static/resources/fchomo/listeners.js:1160
msgid "Client Auth type"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1609
+#: htdocs/luci-static/resources/view/fchomo/node.js:1573
msgid "Client fingerprint"
msgstr ""
@@ -615,8 +622,8 @@ msgstr ""
msgid "Client status"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1807
-#: htdocs/luci-static/resources/view/fchomo/node.js:1839
+#: htdocs/luci-static/resources/view/fchomo/node.js:1771
+#: htdocs/luci-static/resources/view/fchomo/node.js:1803
msgid "Cloudflare WARP"
msgstr ""
@@ -629,7 +636,7 @@ msgstr ""
msgid "Common ports (bypass P2P traffic)"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1583
+#: htdocs/luci-static/resources/fchomo.js:1661
msgid "Complete"
msgstr ""
@@ -666,14 +673,14 @@ msgid "Content copied to clipboard!"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:698
-#: htdocs/luci-static/resources/view/fchomo/node.js:2389
-#: htdocs/luci-static/resources/view/fchomo/node.js:2415
+#: htdocs/luci-static/resources/view/fchomo/node.js:2353
+#: htdocs/luci-static/resources/view/fchomo/node.js:2379
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:359
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:385
msgid "Content will not be verified, Please make sure you enter it correctly."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2388
+#: htdocs/luci-static/resources/view/fchomo/node.js:2352
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:358
msgid "Contents"
msgstr ""
@@ -706,7 +713,7 @@ msgstr ""
msgid "Custom Direct List"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2520
+#: htdocs/luci-static/resources/view/fchomo/node.js:2484
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:431
msgid "Custom HTTP header."
msgstr ""
@@ -744,7 +751,7 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1524
#: htdocs/luci-static/resources/view/fchomo/client.js:1533
#: htdocs/luci-static/resources/view/fchomo/node.js:1173
-#: htdocs/luci-static/resources/view/fchomo/node.js:1905
+#: htdocs/luci-static/resources/view/fchomo/node.js:1869
msgid "DNS server"
msgstr ""
@@ -791,11 +798,11 @@ msgstr ""
msgid "Destination addresses allowed to be forwarded via Wireguard."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2768
+#: htdocs/luci-static/resources/view/fchomo/node.js:2732
msgid "Destination provider"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2779
+#: htdocs/luci-static/resources/view/fchomo/node.js:2743
msgid "Destination proxy node"
msgstr ""
@@ -803,8 +810,8 @@ msgstr ""
msgid "Dial fields"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2791
-#: htdocs/luci-static/resources/view/fchomo/node.js:2821
+#: htdocs/luci-static/resources/view/fchomo/node.js:2755
+#: htdocs/luci-static/resources/view/fchomo/node.js:2785
msgid "Different chain head/tail"
msgstr ""
@@ -847,7 +854,7 @@ msgstr ""
msgid "Disable P2P"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1477
+#: htdocs/luci-static/resources/view/fchomo/node.js:1448
msgid "Disable SNI"
msgstr ""
@@ -874,31 +881,32 @@ msgstr ""
msgid "Domain"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1478
+#: htdocs/luci-static/resources/view/fchomo/node.js:1449
msgid "Donot send server name in ClientHello."
msgstr ""
+#: htdocs/luci-static/resources/fchomo.js:1481
#: htdocs/luci-static/resources/view/fchomo/client.js:1676
-#: htdocs/luci-static/resources/view/fchomo/node.js:1556
-#: htdocs/luci-static/resources/view/fchomo/node.js:2602
+#: htdocs/luci-static/resources/view/fchomo/node.js:1520
+#: htdocs/luci-static/resources/view/fchomo/node.js:2566
msgid "Donot verifying server certificate."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1417
-#: htdocs/luci-static/resources/view/fchomo/node.js:2176
+#: htdocs/luci-static/resources/fchomo/listeners.js:1405
+#: htdocs/luci-static/resources/view/fchomo/node.js:2140
msgid "Download bandwidth"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1418
-#: htdocs/luci-static/resources/view/fchomo/node.js:2177
+#: htdocs/luci-static/resources/fchomo/listeners.js:1406
+#: htdocs/luci-static/resources/view/fchomo/node.js:2141
msgid "Download bandwidth in Mbps."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1440
+#: htdocs/luci-static/resources/fchomo.js:1518
msgid "Download failed: %s"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1436
+#: htdocs/luci-static/resources/fchomo.js:1514
msgid "Download successful."
msgstr ""
@@ -910,16 +918,16 @@ msgstr ""
msgid "Dual stack"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1603
+#: htdocs/luci-static/resources/view/fchomo/node.js:1567
msgid "ECH HTTPS record query servername"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1238
-#: htdocs/luci-static/resources/view/fchomo/node.js:1597
+#: htdocs/luci-static/resources/fchomo/listeners.js:1226
+#: htdocs/luci-static/resources/view/fchomo/node.js:1561
msgid "ECH config"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1197
+#: htdocs/luci-static/resources/fchomo/listeners.js:1185
msgid "ECH key"
msgstr ""
@@ -935,11 +943,11 @@ msgstr ""
msgid "ETag support"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2016
+#: htdocs/luci-static/resources/view/fchomo/node.js:1980
msgid "Early Data first packet length limit."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2022
+#: htdocs/luci-static/resources/view/fchomo/node.js:1986
msgid "Early Data header name"
msgstr ""
@@ -959,7 +967,7 @@ msgstr ""
msgid "Edit ruleset"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2386
+#: htdocs/luci-static/resources/view/fchomo/node.js:2350
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:356
msgid "Editer"
msgstr ""
@@ -983,9 +991,9 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:422
#: htdocs/luci-static/resources/view/fchomo/global.js:712
#: htdocs/luci-static/resources/view/fchomo/node.js:267
-#: htdocs/luci-static/resources/view/fchomo/node.js:2359
-#: htdocs/luci-static/resources/view/fchomo/node.js:2641
-#: htdocs/luci-static/resources/view/fchomo/node.js:2755
+#: htdocs/luci-static/resources/view/fchomo/node.js:2323
+#: htdocs/luci-static/resources/view/fchomo/node.js:2605
+#: htdocs/luci-static/resources/view/fchomo/node.js:2719
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:283
#: htdocs/luci-static/resources/view/fchomo/server.js:49
msgid "Enable"
@@ -1008,7 +1016,7 @@ msgid ""
"conversion for outbound connections"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1591
+#: htdocs/luci-static/resources/view/fchomo/node.js:1555
msgid "Enable ECH"
msgstr ""
@@ -1016,13 +1024,13 @@ msgstr ""
msgid "Enable MagicDNS"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1405
-#: htdocs/luci-static/resources/view/fchomo/node.js:2164
+#: htdocs/luci-static/resources/fchomo/listeners.js:1393
+#: htdocs/luci-static/resources/view/fchomo/node.js:2128
msgid "Enable TCP Brutal"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1406
-#: htdocs/luci-static/resources/view/fchomo/node.js:2165
+#: htdocs/luci-static/resources/fchomo/listeners.js:1394
+#: htdocs/luci-static/resources/view/fchomo/node.js:2129
msgid "Enable TCP Brutal congestion control algorithm"
msgstr ""
@@ -1034,7 +1042,7 @@ msgstr ""
msgid "Enable fast open"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2153
+#: htdocs/luci-static/resources/view/fchomo/node.js:2117
msgid "Enable multiplexing only for TCP."
msgstr ""
@@ -1043,17 +1051,17 @@ msgstr ""
msgid "Enable obfuscate for downlink"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1400
-#: htdocs/luci-static/resources/view/fchomo/node.js:2147
+#: htdocs/luci-static/resources/fchomo/listeners.js:1388
+#: htdocs/luci-static/resources/view/fchomo/node.js:2111
msgid "Enable padding"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2158
+#: htdocs/luci-static/resources/view/fchomo/node.js:2122
msgid "Enable statistic"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1257
-#: htdocs/luci-static/resources/view/fchomo/node.js:2578
+#: htdocs/luci-static/resources/view/fchomo/node.js:2542
msgid ""
"Enable the SUoT protocol, requires server support. Conflict with Multiplex."
msgstr ""
@@ -1096,7 +1104,7 @@ msgid ""
"if empty."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2699
+#: htdocs/luci-static/resources/view/fchomo/node.js:2663
msgid "Exclude matched node types."
msgstr ""
@@ -1107,7 +1115,7 @@ msgid ""
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1251
-#: htdocs/luci-static/resources/view/fchomo/node.js:2692
+#: htdocs/luci-static/resources/view/fchomo/node.js:2656
msgid "Exclude nodes that meet keywords or regexps."
msgstr ""
@@ -1124,40 +1132,41 @@ msgid "Expand/Collapse result"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1194
-#: htdocs/luci-static/resources/view/fchomo/node.js:2677
+#: htdocs/luci-static/resources/view/fchomo/node.js:2641
msgid "Expected HTTP code. 204 will be used if empty."
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1196
-#: htdocs/luci-static/resources/view/fchomo/node.js:2679
+#: htdocs/luci-static/resources/view/fchomo/node.js:2643
msgid "Expected status"
msgstr ""
#: htdocs/luci-static/resources/fchomo.js:529
#: htdocs/luci-static/resources/fchomo.js:532
#: htdocs/luci-static/resources/fchomo.js:535
-#: htdocs/luci-static/resources/fchomo.js:1600
-#: htdocs/luci-static/resources/fchomo.js:1608
-#: htdocs/luci-static/resources/fchomo.js:1616
-#: htdocs/luci-static/resources/fchomo.js:1639
-#: htdocs/luci-static/resources/fchomo.js:1642
-#: htdocs/luci-static/resources/fchomo.js:1649
-#: htdocs/luci-static/resources/fchomo.js:1665
-#: htdocs/luci-static/resources/fchomo.js:1674
+#: htdocs/luci-static/resources/fchomo.js:1678
#: htdocs/luci-static/resources/fchomo.js:1686
-#: htdocs/luci-static/resources/fchomo.js:1689
-#: htdocs/luci-static/resources/fchomo.js:1699
-#: htdocs/luci-static/resources/fchomo.js:1711
-#: htdocs/luci-static/resources/fchomo.js:1714
+#: htdocs/luci-static/resources/fchomo.js:1694
+#: htdocs/luci-static/resources/fchomo.js:1717
+#: htdocs/luci-static/resources/fchomo.js:1720
#: htdocs/luci-static/resources/fchomo.js:1727
-#: htdocs/luci-static/resources/fchomo.js:1736
-#: htdocs/luci-static/resources/fchomo.js:1746
-#: htdocs/luci-static/resources/fchomo.js:1781
-#: htdocs/luci-static/resources/fchomo.js:1783
-#: htdocs/luci-static/resources/fchomo.js:1796
-#: htdocs/luci-static/resources/fchomo.js:1802
-#: htdocs/luci-static/resources/fchomo.js:1809
-#: htdocs/luci-static/resources/fchomo.js:1818
+#: htdocs/luci-static/resources/fchomo.js:1743
+#: htdocs/luci-static/resources/fchomo.js:1752
+#: htdocs/luci-static/resources/fchomo.js:1764
+#: htdocs/luci-static/resources/fchomo.js:1767
+#: htdocs/luci-static/resources/fchomo.js:1777
+#: htdocs/luci-static/resources/fchomo.js:1789
+#: htdocs/luci-static/resources/fchomo.js:1792
+#: htdocs/luci-static/resources/fchomo.js:1805
+#: htdocs/luci-static/resources/fchomo.js:1814
+#: htdocs/luci-static/resources/fchomo.js:1823
+#: htdocs/luci-static/resources/fchomo.js:1832
+#: htdocs/luci-static/resources/fchomo.js:1867
+#: htdocs/luci-static/resources/fchomo.js:1869
+#: htdocs/luci-static/resources/fchomo.js:1882
+#: htdocs/luci-static/resources/fchomo.js:1888
+#: htdocs/luci-static/resources/fchomo.js:1895
+#: htdocs/luci-static/resources/fchomo.js:1904
#: htdocs/luci-static/resources/fchomo/listeners.js:291
#: htdocs/luci-static/resources/fchomo/listeners.js:346
#: htdocs/luci-static/resources/fchomo/listeners.js:861
@@ -1173,24 +1182,23 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:499
#: htdocs/luci-static/resources/view/fchomo/node.js:900
#: htdocs/luci-static/resources/view/fchomo/node.js:1415
-#: htdocs/luci-static/resources/view/fchomo/node.js:1542
-#: htdocs/luci-static/resources/view/fchomo/node.js:2791
-#: htdocs/luci-static/resources/view/fchomo/node.js:2821
+#: htdocs/luci-static/resources/view/fchomo/node.js:2755
+#: htdocs/luci-static/resources/view/fchomo/node.js:2785
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:311
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:325
msgid "Expecting: %s"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1141
+#: htdocs/luci-static/resources/fchomo/listeners.js:1129
msgid "Expecting: Cannot be empty."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1252
-#: htdocs/luci-static/resources/view/fchomo/node.js:1625
+#: htdocs/luci-static/resources/fchomo/listeners.js:1240
+#: htdocs/luci-static/resources/view/fchomo/node.js:1589
msgid "Expecting: Cannot be enabled when %s is enabled."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1136
+#: htdocs/luci-static/resources/fchomo/listeners.js:1124
msgid "Expecting: Keep empty when %s is enabled."
msgstr ""
@@ -1201,13 +1209,13 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:699
#: htdocs/luci-static/resources/fchomo/listeners.js:705
-#: htdocs/luci-static/resources/fchomo/listeners.js:1326
-#: htdocs/luci-static/resources/fchomo/listeners.js:1333
+#: htdocs/luci-static/resources/fchomo/listeners.js:1314
+#: htdocs/luci-static/resources/fchomo/listeners.js:1321
#: htdocs/luci-static/resources/view/fchomo/node.js:1289
#: htdocs/luci-static/resources/view/fchomo/node.js:1295
-#: htdocs/luci-static/resources/view/fchomo/node.js:1931
-#: htdocs/luci-static/resources/view/fchomo/node.js:1938
-#: htdocs/luci-static/resources/view/fchomo/node.js:1946
+#: htdocs/luci-static/resources/view/fchomo/node.js:1895
+#: htdocs/luci-static/resources/view/fchomo/node.js:1902
+#: htdocs/luci-static/resources/view/fchomo/node.js:1910
msgid "Expecting: Only support %s."
msgstr ""
@@ -1227,19 +1235,19 @@ msgstr ""
msgid "Factor"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1541
+#: htdocs/luci-static/resources/fchomo.js:1619
msgid "Failed to execute \"/etc/init.d/fchomo %s %s\" reason: %s"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1494
+#: htdocs/luci-static/resources/fchomo.js:1572
msgid "Failed to generate %s, error: %s."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1918
+#: htdocs/luci-static/resources/fchomo.js:2004
msgid "Failed to upload %s, error: %s."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1937
+#: htdocs/luci-static/resources/fchomo.js:2023
msgid "Failed to upload, error: %s."
msgstr ""
@@ -1268,7 +1276,7 @@ msgid "Fallback relay"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1246
-#: htdocs/luci-static/resources/view/fchomo/node.js:2686
+#: htdocs/luci-static/resources/view/fchomo/node.js:2650
msgid "Filter nodes that meet keywords or regexps."
msgstr ""
@@ -1294,7 +1302,7 @@ msgid "Final DNS server (For poisoned domains)"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:138
-#: htdocs/luci-static/resources/view/fchomo/node.js:1653
+#: htdocs/luci-static/resources/view/fchomo/node.js:1617
msgid "Firewall"
msgstr ""
@@ -1310,9 +1318,9 @@ msgid ""
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1195
-#: htdocs/luci-static/resources/view/fchomo/node.js:2539
-#: htdocs/luci-static/resources/view/fchomo/node.js:2547
-#: htdocs/luci-static/resources/view/fchomo/node.js:2678
+#: htdocs/luci-static/resources/view/fchomo/node.js:2503
+#: htdocs/luci-static/resources/view/fchomo/node.js:2511
+#: htdocs/luci-static/resources/view/fchomo/node.js:2642
msgid ""
"For format see %s."
@@ -1322,7 +1330,7 @@ msgstr ""
msgid "Force"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1900
+#: htdocs/luci-static/resources/view/fchomo/node.js:1864
msgid "Force DNS remote resolution."
msgstr ""
@@ -1349,7 +1357,7 @@ msgstr ""
msgid "FullCombo Shark!"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1971
+#: htdocs/luci-static/resources/view/fchomo/node.js:1935
msgid "GET"
msgstr ""
@@ -1369,7 +1377,7 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:119
#: htdocs/luci-static/resources/view/fchomo/client.js:1050
#: htdocs/luci-static/resources/view/fchomo/node.js:252
-#: htdocs/luci-static/resources/view/fchomo/node.js:2349
+#: htdocs/luci-static/resources/view/fchomo/node.js:2313
msgid "General fields"
msgstr ""
@@ -1385,9 +1393,9 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:313
#: htdocs/luci-static/resources/fchomo/listeners.js:315
#: htdocs/luci-static/resources/fchomo/listeners.js:965
-#: htdocs/luci-static/resources/fchomo/listeners.js:1230
+#: htdocs/luci-static/resources/fchomo/listeners.js:1218
#: htdocs/luci-static/resources/view/fchomo/global.js:616
-#: htdocs/luci-static/resources/view/fchomo/node.js:2507
+#: htdocs/luci-static/resources/view/fchomo/node.js:2471
msgid "Generate"
msgstr ""
@@ -1458,15 +1466,15 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo.js:228
#: htdocs/luci-static/resources/fchomo/listeners.js:717
#: htdocs/luci-static/resources/view/fchomo/node.js:1307
-#: htdocs/luci-static/resources/view/fchomo/node.js:1918
-#: htdocs/luci-static/resources/view/fchomo/node.js:1931
-#: htdocs/luci-static/resources/view/fchomo/node.js:1938
+#: htdocs/luci-static/resources/view/fchomo/node.js:1882
+#: htdocs/luci-static/resources/view/fchomo/node.js:1895
+#: htdocs/luci-static/resources/view/fchomo/node.js:1902
msgid "HTTP"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:333
-#: htdocs/luci-static/resources/view/fchomo/node.js:1993
-#: htdocs/luci-static/resources/view/fchomo/node.js:2519
+#: htdocs/luci-static/resources/view/fchomo/node.js:1957
+#: htdocs/luci-static/resources/view/fchomo/node.js:2483
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:430
msgid "HTTP header"
msgstr ""
@@ -1492,7 +1500,7 @@ msgstr ""
msgid "HTTP mask: %s"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1970
+#: htdocs/luci-static/resources/view/fchomo/node.js:1934
msgid "HTTP request method"
msgstr ""
@@ -1511,9 +1519,9 @@ msgid ""
"returned if empty."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1919
-#: htdocs/luci-static/resources/view/fchomo/node.js:1932
-#: htdocs/luci-static/resources/view/fchomo/node.js:1939
+#: htdocs/luci-static/resources/view/fchomo/node.js:1883
+#: htdocs/luci-static/resources/view/fchomo/node.js:1896
+#: htdocs/luci-static/resources/view/fchomo/node.js:1903
msgid "HTTPUpgrade"
msgstr ""
@@ -1551,27 +1559,27 @@ msgid "Health check"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1164
-#: htdocs/luci-static/resources/view/fchomo/node.js:2646
+#: htdocs/luci-static/resources/view/fchomo/node.js:2610
msgid "Health check URL"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1193
-#: htdocs/luci-static/resources/view/fchomo/node.js:2676
+#: htdocs/luci-static/resources/view/fchomo/node.js:2640
msgid "Health check expected status"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1173
-#: htdocs/luci-static/resources/view/fchomo/node.js:2656
+#: htdocs/luci-static/resources/view/fchomo/node.js:2620
msgid "Health check interval"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1180
-#: htdocs/luci-static/resources/view/fchomo/node.js:2663
+#: htdocs/luci-static/resources/view/fchomo/node.js:2627
msgid "Health check timeout"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1052
-#: htdocs/luci-static/resources/view/fchomo/node.js:2351
+#: htdocs/luci-static/resources/view/fchomo/node.js:2315
msgid "Health fields"
msgstr ""
@@ -1605,7 +1613,8 @@ msgstr ""
msgid "Hostname"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1484
+#: htdocs/luci-static/resources/fchomo.js:1458
+#: htdocs/luci-static/resources/view/fchomo/node.js:1455
msgid ""
"Hostname that the client attempts to connect to at the start of the TLS "
"handshake process."
@@ -1648,15 +1657,15 @@ msgstr ""
msgid "IP stack"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2213
-#: htdocs/luci-static/resources/view/fchomo/node.js:2632
+#: htdocs/luci-static/resources/view/fchomo/node.js:2177
+#: htdocs/luci-static/resources/view/fchomo/node.js:2596
msgid "IP version"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1793
-#: htdocs/luci-static/resources/view/fchomo/node.js:1803
-#: htdocs/luci-static/resources/view/fchomo/node.js:1807
-#: htdocs/luci-static/resources/view/fchomo/node.js:1819
+#: htdocs/luci-static/resources/view/fchomo/node.js:1757
+#: htdocs/luci-static/resources/view/fchomo/node.js:1767
+#: htdocs/luci-static/resources/view/fchomo/node.js:1771
+#: htdocs/luci-static/resources/view/fchomo/node.js:1783
msgid "IPv4"
msgstr ""
@@ -1664,9 +1673,9 @@ msgstr ""
msgid "IPv4 only"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1826
-#: htdocs/luci-static/resources/view/fchomo/node.js:1835
-#: htdocs/luci-static/resources/view/fchomo/node.js:1839
+#: htdocs/luci-static/resources/view/fchomo/node.js:1790
+#: htdocs/luci-static/resources/view/fchomo/node.js:1799
+#: htdocs/luci-static/resources/view/fchomo/node.js:1803
msgid "IPv6"
msgstr ""
@@ -1695,7 +1704,7 @@ msgstr ""
msgid "Idle timeout"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1642
+#: htdocs/luci-static/resources/fchomo.js:1720
msgid "If All ports is selected, uncheck others"
msgstr ""
@@ -1729,8 +1738,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1812
#: htdocs/luci-static/resources/view/fchomo/client.js:1847
#: htdocs/luci-static/resources/view/fchomo/client.js:1868
-#: htdocs/luci-static/resources/view/fchomo/node.js:2239
-#: htdocs/luci-static/resources/view/fchomo/node.js:2337
+#: htdocs/luci-static/resources/view/fchomo/node.js:2203
+#: htdocs/luci-static/resources/view/fchomo/node.js:2301
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:164
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:260
msgid "Import mihomo config"
@@ -1746,8 +1755,8 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:487
#: htdocs/luci-static/resources/view/fchomo/node.js:694
#: htdocs/luci-static/resources/view/fchomo/node.js:700
-#: htdocs/luci-static/resources/view/fchomo/node.js:2584
-#: htdocs/luci-static/resources/view/fchomo/node.js:2590
+#: htdocs/luci-static/resources/view/fchomo/node.js:2548
+#: htdocs/luci-static/resources/view/fchomo/node.js:2554
msgid "In Mbps."
msgstr ""
@@ -1755,12 +1764,12 @@ msgstr ""
msgid "In bps. 0 means no speed limit."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2427
+#: htdocs/luci-static/resources/view/fchomo/node.js:2391
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:403
msgid "In bytes. %s will be used if empty."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1301
+#: htdocs/luci-static/resources/fchomo/listeners.js:1289
#: htdocs/luci-static/resources/view/fchomo/node.js:679
#: htdocs/luci-static/resources/view/fchomo/node.js:686
#: htdocs/luci-static/resources/view/fchomo/node.js:760
@@ -1769,11 +1778,11 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1181
#: htdocs/luci-static/resources/view/fchomo/client.js:1227
-#: htdocs/luci-static/resources/view/fchomo/node.js:2664
+#: htdocs/luci-static/resources/view/fchomo/node.js:2628
msgid "In millisecond. %s will be used if empty."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2062
+#: htdocs/luci-static/resources/view/fchomo/node.js:2026
msgid "In milliseconds."
msgstr ""
@@ -1783,7 +1792,7 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:663
#: htdocs/luci-static/resources/view/fchomo/node.js:609
#: htdocs/luci-static/resources/view/fchomo/node.js:616
-#: htdocs/luci-static/resources/view/fchomo/node.js:2009
+#: htdocs/luci-static/resources/view/fchomo/node.js:1973
msgid "In seconds."
msgstr ""
@@ -1792,8 +1801,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:451
#: htdocs/luci-static/resources/view/fchomo/global.js:537
#: htdocs/luci-static/resources/view/fchomo/node.js:712
-#: htdocs/luci-static/resources/view/fchomo/node.js:2433
-#: htdocs/luci-static/resources/view/fchomo/node.js:2657
+#: htdocs/luci-static/resources/view/fchomo/node.js:2397
+#: htdocs/luci-static/resources/view/fchomo/node.js:2621
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:409
msgid "In seconds. %s will be used if empty."
msgstr ""
@@ -1851,7 +1860,7 @@ msgstr ""
msgid "Initial congestion window size"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2366
+#: htdocs/luci-static/resources/view/fchomo/node.js:2330
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:299
msgid "Inline"
msgstr ""
@@ -1867,12 +1876,12 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:692
#: htdocs/luci-static/resources/fchomo/listeners.js:702
#: htdocs/luci-static/resources/fchomo/listeners.js:707
-#: htdocs/luci-static/resources/fchomo/listeners.js:1138
-#: htdocs/luci-static/resources/fchomo/listeners.js:1254
+#: htdocs/luci-static/resources/fchomo/listeners.js:1126
+#: htdocs/luci-static/resources/fchomo/listeners.js:1242
#: htdocs/luci-static/resources/view/fchomo/node.js:1282
#: htdocs/luci-static/resources/view/fchomo/node.js:1292
#: htdocs/luci-static/resources/view/fchomo/node.js:1297
-#: htdocs/luci-static/resources/view/fchomo/node.js:1627
+#: htdocs/luci-static/resources/view/fchomo/node.js:1591
msgid "JLS"
msgstr ""
@@ -1887,11 +1896,11 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo.js:454
#: htdocs/luci-static/resources/view/fchomo/node.js:1136
#: htdocs/luci-static/resources/view/fchomo/node.js:1201
-#: htdocs/luci-static/resources/view/fchomo/node.js:2606
+#: htdocs/luci-static/resources/view/fchomo/node.js:2570
msgid "Keep default"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2098
+#: htdocs/luci-static/resources/view/fchomo/node.js:2062
msgid "Keep-alive period"
msgstr ""
@@ -1900,8 +1909,9 @@ msgstr ""
msgid "Key"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1157
-#: htdocs/luci-static/resources/view/fchomo/node.js:1577
+#: htdocs/luci-static/resources/fchomo.js:1494
+#: htdocs/luci-static/resources/fchomo/listeners.js:1145
+#: htdocs/luci-static/resources/view/fchomo/node.js:1541
msgid "Key path"
msgstr ""
@@ -1928,8 +1938,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1818
#: htdocs/luci-static/resources/view/fchomo/client.js:1874
#: htdocs/luci-static/resources/view/fchomo/node.js:262
-#: htdocs/luci-static/resources/view/fchomo/node.js:2354
-#: htdocs/luci-static/resources/view/fchomo/node.js:2750
+#: htdocs/luci-static/resources/view/fchomo/node.js:2318
+#: htdocs/luci-static/resources/view/fchomo/node.js:2714
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:278
msgid "Label"
msgstr ""
@@ -1939,7 +1949,7 @@ msgid "Latency first"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1187
-#: htdocs/luci-static/resources/view/fchomo/node.js:2670
+#: htdocs/luci-static/resources/view/fchomo/node.js:2634
msgid "Lazy"
msgstr ""
@@ -1976,8 +1986,9 @@ msgid ""
"network."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1080
-#: htdocs/luci-static/resources/view/fchomo/node.js:1490
+#: htdocs/luci-static/resources/fchomo.js:1463
+#: htdocs/luci-static/resources/fchomo/listeners.js:1068
+#: htdocs/luci-static/resources/view/fchomo/node.js:1461
msgid "List of supported application level protocols, in order of preference."
msgstr ""
@@ -1995,8 +2006,8 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:154
#: htdocs/luci-static/resources/view/fchomo/client.js:1467
-#: htdocs/luci-static/resources/view/fchomo/node.js:1721
-#: htdocs/luci-static/resources/view/fchomo/node.js:1731
+#: htdocs/luci-static/resources/view/fchomo/node.js:1685
+#: htdocs/luci-static/resources/view/fchomo/node.js:1695
msgid "Listen port"
msgstr ""
@@ -2008,7 +2019,7 @@ msgstr ""
msgid "Listen routing mark (Fwmark)"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1769
+#: htdocs/luci-static/resources/view/fchomo/node.js:1733
msgid "Listeners"
msgstr ""
@@ -2016,7 +2027,7 @@ msgstr ""
msgid "Load balance"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2364
+#: htdocs/luci-static/resources/view/fchomo/node.js:2328
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:297
msgid "Local"
msgstr ""
@@ -2061,7 +2072,7 @@ msgid "Lowercase only"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:524
-#: htdocs/luci-static/resources/view/fchomo/node.js:1869
+#: htdocs/luci-static/resources/view/fchomo/node.js:1833
msgid "MTU"
msgstr ""
@@ -2101,7 +2112,7 @@ msgstr ""
msgid "Match rule set."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2015
+#: htdocs/luci-static/resources/view/fchomo/node.js:1979
msgid "Max Early Data"
msgstr ""
@@ -2110,15 +2121,15 @@ msgstr ""
msgid "Max UDP relay packet size"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1377
+#: htdocs/luci-static/resources/fchomo/listeners.js:1365
msgid "Max buffered posts"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2073
+#: htdocs/luci-static/resources/view/fchomo/node.js:2037
msgid "Max concurrency"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2078
+#: htdocs/luci-static/resources/view/fchomo/node.js:2042
msgid "Max connections"
msgstr ""
@@ -2136,8 +2147,8 @@ msgstr ""
msgid "Max download speed"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1388
-#: htdocs/luci-static/resources/view/fchomo/node.js:2055
+#: htdocs/luci-static/resources/fchomo/listeners.js:1376
+#: htdocs/luci-static/resources/view/fchomo/node.js:2019
msgid "Max each POST bytes"
msgstr ""
@@ -2153,15 +2164,15 @@ msgstr ""
msgid "Max realms per client IP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2088
+#: htdocs/luci-static/resources/view/fchomo/node.js:2052
msgid "Max request times"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2093
+#: htdocs/luci-static/resources/view/fchomo/node.js:2057
msgid "Max reusable seconds"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2083
+#: htdocs/luci-static/resources/view/fchomo/node.js:2047
msgid "Max reuse times"
msgstr ""
@@ -2170,12 +2181,12 @@ msgstr ""
msgid "Max upload speed"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2119
-#: htdocs/luci-static/resources/view/fchomo/node.js:2139
+#: htdocs/luci-static/resources/view/fchomo/node.js:2083
+#: htdocs/luci-static/resources/view/fchomo/node.js:2103
msgid "Maximum connections"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2137
+#: htdocs/luci-static/resources/view/fchomo/node.js:2101
msgid ""
"Maximum multiplexed streams in a connection before opening a new connection."
"%s and %s."
@@ -2193,7 +2204,7 @@ msgid ""
"rate."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2136
+#: htdocs/luci-static/resources/view/fchomo/node.js:2100
msgid "Maximum streams"
msgstr ""
@@ -2218,11 +2229,11 @@ msgstr ""
msgid "Min of idle sessions to keep"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2061
+#: htdocs/luci-static/resources/view/fchomo/node.js:2025
msgid "Min posts interval"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2128
+#: htdocs/luci-static/resources/view/fchomo/node.js:2092
msgid ""
"Minimum multiplexed streams in a connection before opening a new connection."
msgstr ""
@@ -2232,8 +2243,8 @@ msgstr ""
msgid "Minimum padding rate"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2127
-#: htdocs/luci-static/resources/view/fchomo/node.js:2139
+#: htdocs/luci-static/resources/view/fchomo/node.js:2091
+#: htdocs/luci-static/resources/view/fchomo/node.js:2103
msgid "Minimum streams"
msgstr ""
@@ -2254,8 +2265,8 @@ msgstr ""
msgid "Mixed port"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1395
-#: htdocs/luci-static/resources/view/fchomo/node.js:2105
+#: htdocs/luci-static/resources/fchomo/listeners.js:1383
+#: htdocs/luci-static/resources/view/fchomo/node.js:2069
msgid "Multiplex"
msgstr ""
@@ -2273,7 +2284,7 @@ msgstr ""
msgid "NETWORK"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1787
+#: htdocs/luci-static/resources/view/fchomo/node.js:1751
msgid "NO Listener"
msgstr ""
@@ -2286,7 +2297,7 @@ msgstr ""
msgid "Name of the Proxy group as outbound."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2439
+#: htdocs/luci-static/resources/view/fchomo/node.js:2403
msgid "Name of the Proxy group to download provider."
msgstr ""
@@ -2315,7 +2326,7 @@ msgstr ""
msgid "Network type"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2608
+#: htdocs/luci-static/resources/view/fchomo/node.js:2572
msgid "No"
msgstr ""
@@ -2323,7 +2334,7 @@ msgstr ""
msgid "No Authentication IP ranges"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1372
+#: htdocs/luci-static/resources/fchomo/listeners.js:1360
msgid "No SSE header"
msgstr ""
@@ -2331,12 +2342,12 @@ msgstr ""
msgid "No add'l params"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2045
+#: htdocs/luci-static/resources/view/fchomo/node.js:2009
msgid "No gRPC header"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1188
-#: htdocs/luci-static/resources/view/fchomo/node.js:2671
+#: htdocs/luci-static/resources/view/fchomo/node.js:2635
msgid "No testing is performed when this provider node is not in use."
msgstr ""
@@ -2354,17 +2365,17 @@ msgid "Node"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1250
-#: htdocs/luci-static/resources/view/fchomo/node.js:2691
+#: htdocs/luci-static/resources/view/fchomo/node.js:2655
msgid "Node exclude filter"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1255
-#: htdocs/luci-static/resources/view/fchomo/node.js:2698
+#: htdocs/luci-static/resources/view/fchomo/node.js:2662
msgid "Node exclude type"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1245
-#: htdocs/luci-static/resources/view/fchomo/node.js:2685
+#: htdocs/luci-static/resources/view/fchomo/node.js:2649
msgid "Node filter"
msgstr ""
@@ -2388,7 +2399,7 @@ msgstr ""
msgid "Not Running"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2716
+#: htdocs/luci-static/resources/view/fchomo/node.js:2680
msgid "Note: The subscription of provider %s is includes %s."
msgstr ""
@@ -2438,7 +2449,7 @@ msgstr ""
msgid "One or more numbers in the range 0-63 separated by commas"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1074
+#: htdocs/luci-static/resources/fchomo/listeners.js:1062
msgid "Only applicable when %s are used as a frontend."
msgstr ""
@@ -2457,7 +2468,7 @@ msgstr ""
msgid "Only process traffic from specific interfaces. Leave empty for all."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1770
+#: htdocs/luci-static/resources/view/fchomo/node.js:1734
msgid "Only the address %s is valid."
msgstr ""
@@ -2477,7 +2488,7 @@ msgstr ""
msgid "Other"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2556
+#: htdocs/luci-static/resources/view/fchomo/node.js:2520
msgid "Other configuration items"
msgstr ""
@@ -2485,8 +2496,9 @@ msgstr ""
msgid "Outbound"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1549
-#: htdocs/luci-static/resources/view/fchomo/node.js:2595
+#: htdocs/luci-static/resources/fchomo.js:1474
+#: htdocs/luci-static/resources/view/fchomo/node.js:1513
+#: htdocs/luci-static/resources/view/fchomo/node.js:2559
msgid "Override cert DNSName"
msgstr ""
@@ -2496,7 +2508,7 @@ msgid "Override destination"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1051
-#: htdocs/luci-static/resources/view/fchomo/node.js:2350
+#: htdocs/luci-static/resources/view/fchomo/node.js:2314
msgid "Override fields"
msgstr ""
@@ -2516,7 +2528,7 @@ msgstr ""
msgid "Override the existing ECS in original request."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1604
+#: htdocs/luci-static/resources/view/fchomo/node.js:1568
msgid "Overrides the domain name used for HTTPS record queries."
msgstr ""
@@ -2524,11 +2536,11 @@ msgstr ""
msgid "Overview"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1972
+#: htdocs/luci-static/resources/view/fchomo/node.js:1936
msgid "POST"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1973
+#: htdocs/luci-static/resources/view/fchomo/node.js:1937
msgid "PUT"
msgstr ""
@@ -2536,7 +2548,7 @@ msgstr ""
msgid "Packet encoding"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2050
+#: htdocs/luci-static/resources/view/fchomo/node.js:2014
msgid "Padding bytes"
msgstr ""
@@ -2572,7 +2584,7 @@ msgid "Path in bundle: %s"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:819
-#: htdocs/luci-static/resources/view/fchomo/node.js:2414
+#: htdocs/luci-static/resources/view/fchomo/node.js:2378
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:384
msgid "Payload"
msgstr ""
@@ -2620,8 +2632,8 @@ msgid ""
"standards."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2387
-#: htdocs/luci-static/resources/view/fchomo/node.js:2413
+#: htdocs/luci-static/resources/view/fchomo/node.js:2351
+#: htdocs/luci-static/resources/view/fchomo/node.js:2377
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:357
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:383
msgid ""
@@ -2635,7 +2647,7 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1541
#: htdocs/luci-static/resources/view/fchomo/client.js:1796
#: htdocs/luci-static/resources/view/fchomo/client.js:1848
-#: htdocs/luci-static/resources/view/fchomo/node.js:2240
+#: htdocs/luci-static/resources/view/fchomo/node.js:2204
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:165
msgid "Please type %s fields of mihomo config."
msgstr ""
@@ -2660,7 +2672,7 @@ msgstr ""
msgid "Port"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1651
+#: htdocs/luci-static/resources/fchomo.js:1729
msgid "Port %s alrealy exists!"
msgstr ""
@@ -2688,8 +2700,7 @@ msgstr ""
msgid "Pre-shared key"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1017
-#: htdocs/luci-static/resources/view/fchomo/node.js:1437
+#: htdocs/luci-static/resources/fchomo.js:1437
msgid "Pre-shared key of rendezvous server"
msgstr ""
@@ -2706,17 +2717,17 @@ msgid ""
"Prevent ICMP loopback issues in some cases. Ping will not show real delay."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1721
-#: htdocs/luci-static/resources/view/fchomo/node.js:1722
+#: htdocs/luci-static/resources/view/fchomo/node.js:1685
+#: htdocs/luci-static/resources/view/fchomo/node.js:1686
msgid "Primary"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:768
#: htdocs/luci-static/resources/view/fchomo/global.js:785
-#: htdocs/luci-static/resources/view/fchomo/node.js:2201
-#: htdocs/luci-static/resources/view/fchomo/node.js:2208
-#: htdocs/luci-static/resources/view/fchomo/node.js:2620
-#: htdocs/luci-static/resources/view/fchomo/node.js:2627
+#: htdocs/luci-static/resources/view/fchomo/node.js:2165
+#: htdocs/luci-static/resources/view/fchomo/node.js:2172
+#: htdocs/luci-static/resources/view/fchomo/node.js:2584
+#: htdocs/luci-static/resources/view/fchomo/node.js:2591
msgid "Priority: Proxy Node > Global."
msgstr ""
@@ -2745,12 +2756,12 @@ msgstr ""
msgid "Process matching mode"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2546
+#: htdocs/luci-static/resources/view/fchomo/node.js:2510
msgid "Programmable replacement"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:716
-#: htdocs/luci-static/resources/view/fchomo/node.js:2111
+#: htdocs/luci-static/resources/view/fchomo/node.js:2075
msgid "Protocol"
msgstr ""
@@ -2765,13 +2776,13 @@ msgid ""
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1108
-#: htdocs/luci-static/resources/view/fchomo/node.js:2223
-#: htdocs/luci-static/resources/view/fchomo/node.js:2232
-#: htdocs/luci-static/resources/view/fchomo/node.js:2761
+#: htdocs/luci-static/resources/view/fchomo/node.js:2187
+#: htdocs/luci-static/resources/view/fchomo/node.js:2196
+#: htdocs/luci-static/resources/view/fchomo/node.js:2725
msgid "Provider"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2420
+#: htdocs/luci-static/resources/view/fchomo/node.js:2384
msgid "Provider URL"
msgstr ""
@@ -2794,19 +2805,20 @@ msgid "Proxy MAC-s"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:225
-#: htdocs/luci-static/resources/view/fchomo/node.js:2760
+#: htdocs/luci-static/resources/view/fchomo/node.js:2724
msgid "Proxy Node"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2736
-#: htdocs/luci-static/resources/view/fchomo/node.js:2745
+#: htdocs/luci-static/resources/view/fchomo/node.js:2700
+#: htdocs/luci-static/resources/view/fchomo/node.js:2709
msgid "Proxy chain"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:629
+#: htdocs/luci-static/resources/fchomo/listeners.js:1009
#: htdocs/luci-static/resources/view/fchomo/client.js:809
#: htdocs/luci-static/resources/view/fchomo/client.js:1639
-#: htdocs/luci-static/resources/view/fchomo/node.js:2438
+#: htdocs/luci-static/resources/view/fchomo/node.js:2402
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:414
msgid "Proxy group"
msgstr ""
@@ -2847,39 +2859,39 @@ msgstr ""
msgid "Quick Reload"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1139
-#: htdocs/luci-static/resources/fchomo/listeners.js:1245
-#: htdocs/luci-static/resources/view/fchomo/node.js:1618
+#: htdocs/luci-static/resources/fchomo/listeners.js:1127
+#: htdocs/luci-static/resources/fchomo/listeners.js:1233
+#: htdocs/luci-static/resources/view/fchomo/node.js:1582
msgid "REALITY"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1644
+#: htdocs/luci-static/resources/view/fchomo/node.js:1608
msgid "REALITY X25519MLKEM768 PQC support"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1293
+#: htdocs/luci-static/resources/fchomo/listeners.js:1281
msgid "REALITY certificate issued to"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1261
+#: htdocs/luci-static/resources/fchomo/listeners.js:1249
msgid "REALITY handshake server"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1300
+#: htdocs/luci-static/resources/fchomo/listeners.js:1288
msgid "REALITY max time difference"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1268
+#: htdocs/luci-static/resources/fchomo/listeners.js:1256
msgid "REALITY private key"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1283
-#: htdocs/luci-static/resources/view/fchomo/node.js:1634
+#: htdocs/luci-static/resources/fchomo/listeners.js:1271
+#: htdocs/luci-static/resources/view/fchomo/node.js:1598
msgid "REALITY public key"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1287
-#: htdocs/luci-static/resources/view/fchomo/node.js:1639
+#: htdocs/luci-static/resources/fchomo/listeners.js:1275
+#: htdocs/luci-static/resources/view/fchomo/node.js:1603
msgid "REALITY short ID"
msgstr ""
@@ -2915,13 +2927,11 @@ msgstr ""
msgid "Randomized traffic characteristics"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1006
-#: htdocs/luci-static/resources/view/fchomo/node.js:1426
+#: htdocs/luci-static/resources/fchomo.js:1426
msgid "Realm"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1022
-#: htdocs/luci-static/resources/view/fchomo/node.js:1442
+#: htdocs/luci-static/resources/fchomo.js:1442
msgid "Realm ID"
msgstr ""
@@ -2929,7 +2939,7 @@ msgstr ""
msgid "Realm name pattern"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2717
+#: htdocs/luci-static/resources/view/fchomo/node.js:2681
msgid ""
"Recommended to adjust Client DNS configuration based on actual conditions."
msgstr ""
@@ -2977,12 +2987,12 @@ msgstr ""
msgid "Rematching routing rules"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2365
+#: htdocs/luci-static/resources/view/fchomo/node.js:2329
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:298
msgid "Remote"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1899
+#: htdocs/luci-static/resources/view/fchomo/node.js:1863
msgid "Remote DNS resolve"
msgstr ""
@@ -2994,30 +3004,29 @@ msgstr ""
msgid "Remote trace target"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1572
+#: htdocs/luci-static/resources/fchomo.js:1650
msgid "Remove"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1577
+#: htdocs/luci-static/resources/fchomo.js:1655
#: htdocs/luci-static/resources/view/fchomo/node.js:244
#: htdocs/luci-static/resources/view/fchomo/node.js:246
-#: htdocs/luci-static/resources/view/fchomo/node.js:2341
-#: htdocs/luci-static/resources/view/fchomo/node.js:2343
+#: htdocs/luci-static/resources/view/fchomo/node.js:2305
+#: htdocs/luci-static/resources/view/fchomo/node.js:2307
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:270
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:272
msgid "Remove idles"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1011
-#: htdocs/luci-static/resources/view/fchomo/node.js:1431
+#: htdocs/luci-static/resources/fchomo.js:1431
msgid "Rendezvous server"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2537
+#: htdocs/luci-static/resources/view/fchomo/node.js:2501
msgid "Replace name"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2538
+#: htdocs/luci-static/resources/view/fchomo/node.js:2502
msgid "Replace node name."
msgstr ""
@@ -3025,9 +3034,9 @@ msgstr ""
msgid "Request"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1351
-#: htdocs/luci-static/resources/view/fchomo/node.js:1979
-#: htdocs/luci-static/resources/view/fchomo/node.js:1986
+#: htdocs/luci-static/resources/fchomo/listeners.js:1339
+#: htdocs/luci-static/resources/view/fchomo/node.js:1943
+#: htdocs/luci-static/resources/view/fchomo/node.js:1950
msgid "Request path"
msgstr ""
@@ -3044,7 +3053,7 @@ msgid "Require any"
msgstr ""
#: htdocs/luci-static/resources/fchomo.js:481
-#: htdocs/luci-static/resources/view/fchomo/node.js:1645
+#: htdocs/luci-static/resources/view/fchomo/node.js:1609
msgid "Requires server support."
msgstr ""
@@ -3059,12 +3068,12 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:691
#: htdocs/luci-static/resources/fchomo/listeners.js:701
#: htdocs/luci-static/resources/fchomo/listeners.js:706
-#: htdocs/luci-static/resources/fchomo/listeners.js:1137
-#: htdocs/luci-static/resources/fchomo/listeners.js:1253
+#: htdocs/luci-static/resources/fchomo/listeners.js:1125
+#: htdocs/luci-static/resources/fchomo/listeners.js:1241
#: htdocs/luci-static/resources/view/fchomo/node.js:1281
#: htdocs/luci-static/resources/view/fchomo/node.js:1291
#: htdocs/luci-static/resources/view/fchomo/node.js:1296
-#: htdocs/luci-static/resources/view/fchomo/node.js:1626
+#: htdocs/luci-static/resources/view/fchomo/node.js:1590
msgid "Restls"
msgstr ""
@@ -3117,8 +3126,8 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:612
#: htdocs/luci-static/resources/view/fchomo/global.js:784
-#: htdocs/luci-static/resources/view/fchomo/node.js:2207
-#: htdocs/luci-static/resources/view/fchomo/node.js:2626
+#: htdocs/luci-static/resources/view/fchomo/node.js:2171
+#: htdocs/luci-static/resources/view/fchomo/node.js:2590
msgid "Routing mark (Fwmark)"
msgstr ""
@@ -3202,8 +3211,7 @@ msgstr ""
msgid "STUN"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1028
-#: htdocs/luci-static/resources/view/fchomo/node.js:1448
+#: htdocs/luci-static/resources/fchomo.js:1448
msgid "STUN servers"
msgstr ""
@@ -3233,8 +3241,8 @@ msgstr ""
msgid "Save"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1731
-#: htdocs/luci-static/resources/view/fchomo/node.js:1732
+#: htdocs/luci-static/resources/view/fchomo/node.js:1695
+#: htdocs/luci-static/resources/view/fchomo/node.js:1696
msgid "Secondary"
msgstr ""
@@ -3268,8 +3276,8 @@ msgid "Send random ticket of 300s-600s duration for client 0-RTT reuse."
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:850
-#: htdocs/luci-static/resources/fchomo/listeners.js:1128
-#: htdocs/luci-static/resources/fchomo/listeners.js:1158
+#: htdocs/luci-static/resources/fchomo/listeners.js:1116
+#: htdocs/luci-static/resources/fchomo/listeners.js:1146
#: htdocs/luci-static/resources/view/fchomo/server.js:58
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:62
msgid "Server"
@@ -3279,9 +3287,9 @@ msgstr ""
msgid "Server address"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1345
-#: htdocs/luci-static/resources/view/fchomo/node.js:1958
-#: htdocs/luci-static/resources/view/fchomo/node.js:1964
+#: htdocs/luci-static/resources/fchomo/listeners.js:1333
+#: htdocs/luci-static/resources/view/fchomo/node.js:1922
+#: htdocs/luci-static/resources/view/fchomo/node.js:1928
msgid "Server hostname"
msgstr ""
@@ -3305,12 +3313,12 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:690
#: htdocs/luci-static/resources/fchomo/listeners.js:700
#: htdocs/luci-static/resources/fchomo/listeners.js:705
-#: htdocs/luci-static/resources/fchomo/listeners.js:1136
-#: htdocs/luci-static/resources/fchomo/listeners.js:1252
+#: htdocs/luci-static/resources/fchomo/listeners.js:1124
+#: htdocs/luci-static/resources/fchomo/listeners.js:1240
#: htdocs/luci-static/resources/view/fchomo/node.js:1280
#: htdocs/luci-static/resources/view/fchomo/node.js:1290
#: htdocs/luci-static/resources/view/fchomo/node.js:1295
-#: htdocs/luci-static/resources/view/fchomo/node.js:1625
+#: htdocs/luci-static/resources/view/fchomo/node.js:1589
msgid "ShadowTLS"
msgstr ""
@@ -3334,7 +3342,7 @@ msgstr ""
msgid "Shadowsocks password"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2159
+#: htdocs/luci-static/resources/view/fchomo/node.js:2123
msgid "Show connections in the dashboard for breaking connections easier."
msgstr ""
@@ -3346,14 +3354,15 @@ msgstr ""
msgid "Simple round-robin all nodes"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2426
+#: htdocs/luci-static/resources/view/fchomo/node.js:2390
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:402
msgid "Size limit"
msgstr ""
+#: htdocs/luci-static/resources/fchomo.js:1480
#: htdocs/luci-static/resources/view/fchomo/client.js:1675
-#: htdocs/luci-static/resources/view/fchomo/node.js:1555
-#: htdocs/luci-static/resources/view/fchomo/node.js:2601
+#: htdocs/luci-static/resources/view/fchomo/node.js:1519
+#: htdocs/luci-static/resources/view/fchomo/node.js:2565
msgid "Skip cert verify"
msgstr ""
@@ -3450,7 +3459,7 @@ msgstr ""
msgid "Successfully updated."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1934
+#: htdocs/luci-static/resources/fchomo.js:2020
msgid "Successfully uploaded."
msgstr ""
@@ -3506,7 +3515,7 @@ msgstr ""
msgid "TCP idle timeout"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2152
+#: htdocs/luci-static/resources/view/fchomo/node.js:2116
msgid "TCP only"
msgstr ""
@@ -3534,8 +3543,8 @@ msgstr ""
msgid "TCP/UDP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2183
-#: htdocs/luci-static/resources/view/fchomo/node.js:2562
+#: htdocs/luci-static/resources/view/fchomo/node.js:2147
+#: htdocs/luci-static/resources/view/fchomo/node.js:2526
msgid "TFO"
msgstr ""
@@ -3548,20 +3557,22 @@ msgid "TLD DNS zone used by MagicDNS, default is %s."
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:718
-#: htdocs/luci-static/resources/fchomo/listeners.js:1038
+#: htdocs/luci-static/resources/fchomo/listeners.js:1026
#: htdocs/luci-static/resources/view/fchomo/global.js:558
#: htdocs/luci-static/resources/view/fchomo/node.js:472
#: htdocs/luci-static/resources/view/fchomo/node.js:1308
-#: htdocs/luci-static/resources/view/fchomo/node.js:1458
+#: htdocs/luci-static/resources/view/fchomo/node.js:1429
msgid "TLS"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1079
-#: htdocs/luci-static/resources/view/fchomo/node.js:1489
+#: htdocs/luci-static/resources/fchomo.js:1462
+#: htdocs/luci-static/resources/fchomo/listeners.js:1067
+#: htdocs/luci-static/resources/view/fchomo/node.js:1460
msgid "TLS ALPN"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1483
+#: htdocs/luci-static/resources/fchomo.js:1457
+#: htdocs/luci-static/resources/view/fchomo/node.js:1454
msgid "TLS SNI"
msgstr ""
@@ -3593,29 +3604,31 @@ msgid ""
"Tell the client to use the BBR flow control algorithm instead of Hysteria CC."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1793
+#: htdocs/luci-static/resources/view/fchomo/node.js:1757
+#: htdocs/luci-static/resources/view/fchomo/node.js:1766
+#: htdocs/luci-static/resources/view/fchomo/node.js:1770
+#: htdocs/luci-static/resources/view/fchomo/node.js:1783
+#: htdocs/luci-static/resources/view/fchomo/node.js:1790
+#: htdocs/luci-static/resources/view/fchomo/node.js:1798
#: htdocs/luci-static/resources/view/fchomo/node.js:1802
-#: htdocs/luci-static/resources/view/fchomo/node.js:1806
-#: htdocs/luci-static/resources/view/fchomo/node.js:1819
-#: htdocs/luci-static/resources/view/fchomo/node.js:1826
-#: htdocs/luci-static/resources/view/fchomo/node.js:1834
-#: htdocs/luci-static/resources/view/fchomo/node.js:1838
msgid "The %s address used by local machine in the %s network."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1158
-#: htdocs/luci-static/resources/view/fchomo/node.js:1578
+#: htdocs/luci-static/resources/fchomo.js:1495
+#: htdocs/luci-static/resources/fchomo/listeners.js:1146
+#: htdocs/luci-static/resources/view/fchomo/node.js:1542
msgid "The %s private key, in PEM format."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1128
-#: htdocs/luci-static/resources/fchomo/listeners.js:1181
+#: htdocs/luci-static/resources/fchomo.js:1489
+#: htdocs/luci-static/resources/fchomo/listeners.js:1116
+#: htdocs/luci-static/resources/fchomo/listeners.js:1169
#: htdocs/luci-static/resources/view/fchomo/global.js:579
-#: htdocs/luci-static/resources/view/fchomo/node.js:1564
+#: htdocs/luci-static/resources/view/fchomo/node.js:1528
msgid "The %s public key, in PEM format."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1598
+#: htdocs/luci-static/resources/view/fchomo/node.js:1562
msgid ""
"The ECH parameter of the HTTPS record for the domain. Leave empty to resolve "
"via DNS."
@@ -3663,19 +3676,24 @@ msgstr ""
msgid "The proxy used to connect to the handshake target."
msgstr ""
+#: htdocs/luci-static/resources/fchomo/listeners.js:1010
+msgid "The proxy used to connect to the rendezvous server."
+msgstr ""
+
#: htdocs/luci-static/resources/fchomo/listeners.js:880
#: htdocs/luci-static/resources/view/fchomo/node.js:1403
msgid "The server and client can set different padding parameters."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1239
+#: htdocs/luci-static/resources/fchomo/listeners.js:1227
#: htdocs/luci-static/resources/view/fchomo/global.js:623
msgid "This ECH parameter needs to be added to the HTTPS record of the domain."
msgstr ""
+#: htdocs/luci-static/resources/fchomo.js:1483
#: htdocs/luci-static/resources/view/fchomo/client.js:1678
-#: htdocs/luci-static/resources/view/fchomo/node.js:1558
-#: htdocs/luci-static/resources/view/fchomo/node.js:2604
+#: htdocs/luci-static/resources/view/fchomo/node.js:1522
+#: htdocs/luci-static/resources/view/fchomo/node.js:2568
msgid ""
"This is DANGEROUS, your traffic is almost like "
"PLAIN TEXT! Use at your own risk!"
@@ -3715,18 +3733,18 @@ msgstr ""
msgid "Traffic pattern"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2798
+#: htdocs/luci-static/resources/view/fchomo/node.js:2762
msgid "Transit proxy group"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2809
+#: htdocs/luci-static/resources/view/fchomo/node.js:2773
msgid "Transit proxy node"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:194
-#: htdocs/luci-static/resources/fchomo/listeners.js:1309
+#: htdocs/luci-static/resources/fchomo/listeners.js:1297
#: htdocs/luci-static/resources/view/fchomo/node.js:363
-#: htdocs/luci-static/resources/view/fchomo/node.js:1911
+#: htdocs/luci-static/resources/view/fchomo/node.js:1875
msgid "Transport"
msgstr ""
@@ -3735,8 +3753,8 @@ msgstr ""
msgid "Transport fields"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1314
-#: htdocs/luci-static/resources/view/fchomo/node.js:1916
+#: htdocs/luci-static/resources/fchomo/listeners.js:1302
+#: htdocs/luci-static/resources/view/fchomo/node.js:1880
msgid "Transport type"
msgstr ""
@@ -3789,8 +3807,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:871
#: htdocs/luci-static/resources/view/fchomo/client.js:1069
#: htdocs/luci-static/resources/view/fchomo/node.js:271
-#: htdocs/luci-static/resources/view/fchomo/node.js:2363
-#: htdocs/luci-static/resources/view/fchomo/node.js:2759
+#: htdocs/luci-static/resources/view/fchomo/node.js:2327
+#: htdocs/luci-static/resources/view/fchomo/node.js:2723
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:296
msgid "Type"
msgstr ""
@@ -3809,7 +3827,7 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:676
#: htdocs/luci-static/resources/view/fchomo/client.js:617
#: htdocs/luci-static/resources/view/fchomo/client.js:706
-#: htdocs/luci-static/resources/view/fchomo/node.js:2572
+#: htdocs/luci-static/resources/view/fchomo/node.js:2536
msgid "UDP"
msgstr ""
@@ -3853,7 +3871,7 @@ msgstr ""
msgid "UUID"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1443
+#: htdocs/luci-static/resources/fchomo.js:1521
msgid "Unable to download unsupported type: %s"
msgstr ""
@@ -3879,7 +3897,7 @@ msgid "Unknown error: %s"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1256
-#: htdocs/luci-static/resources/view/fchomo/node.js:2577
+#: htdocs/luci-static/resources/view/fchomo/node.js:2541
msgid "UoT"
msgstr ""
@@ -3887,24 +3905,24 @@ msgstr ""
msgid "Update failed."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2432
+#: htdocs/luci-static/resources/view/fchomo/node.js:2396
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:408
msgid "Update interval"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1411
-#: htdocs/luci-static/resources/view/fchomo/node.js:2170
+#: htdocs/luci-static/resources/fchomo/listeners.js:1399
+#: htdocs/luci-static/resources/view/fchomo/node.js:2134
msgid "Upload bandwidth"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1412
-#: htdocs/luci-static/resources/view/fchomo/node.js:2171
+#: htdocs/luci-static/resources/fchomo/listeners.js:1400
+#: htdocs/luci-static/resources/view/fchomo/node.js:2135
msgid "Upload bandwidth in Mbps."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1149
-#: htdocs/luci-static/resources/fchomo/listeners.js:1189
-#: htdocs/luci-static/resources/view/fchomo/node.js:1569
+#: htdocs/luci-static/resources/fchomo/listeners.js:1137
+#: htdocs/luci-static/resources/fchomo/listeners.js:1177
+#: htdocs/luci-static/resources/view/fchomo/node.js:1533
msgid "Upload certificate"
msgstr ""
@@ -3912,25 +3930,25 @@ msgstr ""
msgid "Upload initial package"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1164
-#: htdocs/luci-static/resources/view/fchomo/node.js:1583
+#: htdocs/luci-static/resources/fchomo/listeners.js:1152
+#: htdocs/luci-static/resources/view/fchomo/node.js:1547
msgid "Upload key"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1152
-#: htdocs/luci-static/resources/fchomo/listeners.js:1167
-#: htdocs/luci-static/resources/fchomo/listeners.js:1192
+#: htdocs/luci-static/resources/fchomo/listeners.js:1140
+#: htdocs/luci-static/resources/fchomo/listeners.js:1155
+#: htdocs/luci-static/resources/fchomo/listeners.js:1180
#: htdocs/luci-static/resources/view/fchomo/global.js:306
-#: htdocs/luci-static/resources/view/fchomo/node.js:1572
-#: htdocs/luci-static/resources/view/fchomo/node.js:1586
+#: htdocs/luci-static/resources/view/fchomo/node.js:1536
+#: htdocs/luci-static/resources/view/fchomo/node.js:1550
msgid "Upload..."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1849
+#: htdocs/luci-static/resources/view/fchomo/node.js:1813
msgid "Use DHCP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1850
+#: htdocs/luci-static/resources/view/fchomo/node.js:1814
msgid "Use DHCP to obtain IP address."
msgstr ""
@@ -3976,8 +3994,9 @@ msgstr ""
msgid "Used to resolve the domain of the Proxy node."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1550
-#: htdocs/luci-static/resources/view/fchomo/node.js:2596
+#: htdocs/luci-static/resources/fchomo.js:1475
+#: htdocs/luci-static/resources/view/fchomo/node.js:1514
+#: htdocs/luci-static/resources/view/fchomo/node.js:2560
msgid "Used to verify the hostname on the returned certificates."
msgstr ""
@@ -4012,11 +4031,11 @@ msgstr ""
msgid "Using this in conjunction with %s is recommended."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2027
+#: htdocs/luci-static/resources/view/fchomo/node.js:1991
msgid "V2ray HTTPUpgrade"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2032
+#: htdocs/luci-static/resources/view/fchomo/node.js:1996
msgid "V2ray HTTPUpgrade fast open"
msgstr ""
@@ -4030,9 +4049,9 @@ msgstr ""
msgid "VMess"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1793
-#: htdocs/luci-static/resources/view/fchomo/node.js:1819
-#: htdocs/luci-static/resources/view/fchomo/node.js:1826
+#: htdocs/luci-static/resources/view/fchomo/node.js:1757
+#: htdocs/luci-static/resources/view/fchomo/node.js:1783
+#: htdocs/luci-static/resources/view/fchomo/node.js:1790
msgid "VPN"
msgstr ""
@@ -4044,8 +4063,8 @@ msgstr ""
msgid "Valid 16-digit Moon World ID and 10-digit Node ID of Moon Root server."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2369
-#: htdocs/luci-static/resources/view/fchomo/node.js:2765
+#: htdocs/luci-static/resources/view/fchomo/node.js:2333
+#: htdocs/luci-static/resources/view/fchomo/node.js:2729
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:339
msgid "Value"
msgstr ""
@@ -4070,16 +4089,16 @@ msgid "Version hint"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1116
-#: htdocs/luci-static/resources/view/fchomo/node.js:1818
-#: htdocs/luci-static/resources/view/fchomo/node.js:1851
+#: htdocs/luci-static/resources/view/fchomo/node.js:1782
+#: htdocs/luci-static/resources/view/fchomo/node.js:1815
msgid "Virtual IPv4 address"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1825
+#: htdocs/luci-static/resources/view/fchomo/node.js:1789
msgid "Virtual IPv6 address"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1792
+#: htdocs/luci-static/resources/view/fchomo/node.js:1756
msgid "Virtual address"
msgstr ""
@@ -4097,15 +4116,15 @@ msgid "Warning"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:377
-#: htdocs/luci-static/resources/fchomo/listeners.js:1316
-#: htdocs/luci-static/resources/fchomo/listeners.js:1327
-#: htdocs/luci-static/resources/fchomo/listeners.js:1334
+#: htdocs/luci-static/resources/fchomo/listeners.js:1304
+#: htdocs/luci-static/resources/fchomo/listeners.js:1315
+#: htdocs/luci-static/resources/fchomo/listeners.js:1322
#: htdocs/luci-static/resources/view/fchomo/node.js:468
#: htdocs/luci-static/resources/view/fchomo/node.js:497
-#: htdocs/luci-static/resources/view/fchomo/node.js:1921
-#: htdocs/luci-static/resources/view/fchomo/node.js:1934
-#: htdocs/luci-static/resources/view/fchomo/node.js:1941
-#: htdocs/luci-static/resources/view/fchomo/node.js:1947
+#: htdocs/luci-static/resources/view/fchomo/node.js:1885
+#: htdocs/luci-static/resources/view/fchomo/node.js:1898
+#: htdocs/luci-static/resources/view/fchomo/node.js:1905
+#: htdocs/luci-static/resources/view/fchomo/node.js:1911
msgid "WebSocket"
msgstr ""
@@ -4141,33 +4160,33 @@ msgstr ""
msgid "WireGuard requires base64-encoded private keys."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1803
-#: htdocs/luci-static/resources/view/fchomo/node.js:1835
+#: htdocs/luci-static/resources/view/fchomo/node.js:1767
+#: htdocs/luci-static/resources/view/fchomo/node.js:1799
msgid "Wireguard"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1317
-#: htdocs/luci-static/resources/fchomo/listeners.js:1328
-#: htdocs/luci-static/resources/view/fchomo/node.js:1922
-#: htdocs/luci-static/resources/view/fchomo/node.js:1942
+#: htdocs/luci-static/resources/fchomo/listeners.js:1305
+#: htdocs/luci-static/resources/fchomo/listeners.js:1316
+#: htdocs/luci-static/resources/view/fchomo/node.js:1886
+#: htdocs/luci-static/resources/view/fchomo/node.js:1906
msgid "XHTTP"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1364
-#: htdocs/luci-static/resources/view/fchomo/node.js:2037
+#: htdocs/luci-static/resources/fchomo/listeners.js:1352
+#: htdocs/luci-static/resources/view/fchomo/node.js:2001
msgid "XHTTP mode"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2068
+#: htdocs/luci-static/resources/view/fchomo/node.js:2032
msgid "XMUX"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2073
-#: htdocs/luci-static/resources/view/fchomo/node.js:2078
-#: htdocs/luci-static/resources/view/fchomo/node.js:2083
-#: htdocs/luci-static/resources/view/fchomo/node.js:2088
-#: htdocs/luci-static/resources/view/fchomo/node.js:2093
-#: htdocs/luci-static/resources/view/fchomo/node.js:2098
+#: htdocs/luci-static/resources/view/fchomo/node.js:2037
+#: htdocs/luci-static/resources/view/fchomo/node.js:2042
+#: htdocs/luci-static/resources/view/fchomo/node.js:2047
+#: htdocs/luci-static/resources/view/fchomo/node.js:2052
+#: htdocs/luci-static/resources/view/fchomo/node.js:2057
+#: htdocs/luci-static/resources/view/fchomo/node.js:2062
msgid "XMUX:"
msgstr ""
@@ -4183,7 +4202,7 @@ msgstr ""
msgid "Yaml text"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2607
+#: htdocs/luci-static/resources/view/fchomo/node.js:2571
msgid "Yes"
msgstr ""
@@ -4196,7 +4215,7 @@ msgstr ""
msgid "YouTube"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1916
+#: htdocs/luci-static/resources/fchomo.js:2002
msgid "Your %s was successfully uploaded. Size: %sB."
msgstr ""
@@ -4232,11 +4251,11 @@ msgstr ""
msgid "aes-gcm-256"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2454
+#: htdocs/luci-static/resources/view/fchomo/node.js:2418
msgid "age private key"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2515
+#: htdocs/luci-static/resources/view/fchomo/node.js:2479
msgid "age public key"
msgstr ""
@@ -4261,9 +4280,9 @@ msgstr ""
msgid "bbr3"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1154
-#: htdocs/luci-static/resources/fchomo/listeners.js:1194
-#: htdocs/luci-static/resources/view/fchomo/node.js:1574
+#: htdocs/luci-static/resources/fchomo/listeners.js:1142
+#: htdocs/luci-static/resources/fchomo/listeners.js:1182
+#: htdocs/luci-static/resources/view/fchomo/node.js:1538
msgid "certificate"
msgstr ""
@@ -4295,7 +4314,7 @@ msgstr ""
msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2589
+#: htdocs/luci-static/resources/view/fchomo/node.js:2553
msgid "down"
msgstr ""
@@ -4310,26 +4329,26 @@ msgstr ""
msgid "false = bandwidth optimized downlink; true = pure Sudoku downlink."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1315
-#: htdocs/luci-static/resources/fchomo/listeners.js:1326
-#: htdocs/luci-static/resources/fchomo/listeners.js:1333
-#: htdocs/luci-static/resources/view/fchomo/node.js:1920
-#: htdocs/luci-static/resources/view/fchomo/node.js:1933
-#: htdocs/luci-static/resources/view/fchomo/node.js:1940
-#: htdocs/luci-static/resources/view/fchomo/node.js:1946
+#: htdocs/luci-static/resources/fchomo/listeners.js:1303
+#: htdocs/luci-static/resources/fchomo/listeners.js:1314
+#: htdocs/luci-static/resources/fchomo/listeners.js:1321
+#: htdocs/luci-static/resources/view/fchomo/node.js:1884
+#: htdocs/luci-static/resources/view/fchomo/node.js:1897
+#: htdocs/luci-static/resources/view/fchomo/node.js:1904
+#: htdocs/luci-static/resources/view/fchomo/node.js:1910
msgid "gRPC"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2003
+#: htdocs/luci-static/resources/view/fchomo/node.js:1967
msgid "gRPC User-Agent"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2008
+#: htdocs/luci-static/resources/view/fchomo/node.js:1972
msgid "gRPC ping interval"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1358
-#: htdocs/luci-static/resources/view/fchomo/node.js:1999
+#: htdocs/luci-static/resources/fchomo/listeners.js:1346
+#: htdocs/luci-static/resources/view/fchomo/node.js:1963
msgid "gRPC service name"
msgstr ""
@@ -4342,7 +4361,7 @@ msgstr ""
msgid "h2"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2115
+#: htdocs/luci-static/resources/view/fchomo/node.js:2079
msgid "h2mux"
msgstr ""
@@ -4358,7 +4377,7 @@ msgstr ""
msgid "least one keypair required"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2730
+#: htdocs/luci-static/resources/view/fchomo/node.js:2694
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:444
msgid "luci-app-tinyfilemanager is not installed, please install it first."
msgstr ""
@@ -4378,7 +4397,7 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1576
#: htdocs/luci-static/resources/view/fchomo/client.js:1810
#: htdocs/luci-static/resources/view/fchomo/client.js:1866
-#: htdocs/luci-static/resources/view/fchomo/node.js:2335
+#: htdocs/luci-static/resources/view/fchomo/node.js:2299
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:258
msgid "mihomo config"
msgstr ""
@@ -4387,8 +4406,8 @@ msgstr ""
msgid "mlkem768x25519plus"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2188
-#: htdocs/luci-static/resources/view/fchomo/node.js:2567
+#: htdocs/luci-static/resources/view/fchomo/node.js:2152
+#: htdocs/luci-static/resources/view/fchomo/node.js:2531
msgid "mpTCP"
msgstr ""
@@ -4400,10 +4419,10 @@ msgstr ""
msgid "no-resolve"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1639
-#: htdocs/luci-static/resources/fchomo.js:1746
-#: htdocs/luci-static/resources/fchomo.js:1781
-#: htdocs/luci-static/resources/fchomo.js:1809
+#: htdocs/luci-static/resources/fchomo.js:1717
+#: htdocs/luci-static/resources/fchomo.js:1832
+#: htdocs/luci-static/resources/fchomo.js:1867
+#: htdocs/luci-static/resources/fchomo.js:1895
msgid "non-empty value"
msgstr ""
@@ -4457,11 +4476,11 @@ msgstr ""
msgid "openssl-chacha20"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2548
+#: htdocs/luci-static/resources/view/fchomo/node.js:2512
msgid "override.override-expr"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2540
+#: htdocs/luci-static/resources/view/fchomo/node.js:2504
msgid "override.proxy-name"
msgstr ""
@@ -4469,8 +4488,8 @@ msgstr ""
msgid "packet addr (v2ray-core v5+)"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1368
-#: htdocs/luci-static/resources/view/fchomo/node.js:2041
+#: htdocs/luci-static/resources/fchomo/listeners.js:1356
+#: htdocs/luci-static/resources/view/fchomo/node.js:2005
msgid "packet-up"
msgstr ""
@@ -4479,8 +4498,8 @@ msgstr ""
msgid "poll"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1169
-#: htdocs/luci-static/resources/view/fchomo/node.js:1588
+#: htdocs/luci-static/resources/fchomo/listeners.js:1157
+#: htdocs/luci-static/resources/view/fchomo/node.js:1552
msgid "private key"
msgstr ""
@@ -4501,7 +4520,7 @@ msgstr ""
msgid "rule-set"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2113
+#: htdocs/luci-static/resources/view/fchomo/node.js:2077
msgid "smux"
msgstr ""
@@ -4514,17 +4533,17 @@ msgstr ""
msgid "src"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1366
-#: htdocs/luci-static/resources/view/fchomo/node.js:2039
+#: htdocs/luci-static/resources/fchomo/listeners.js:1354
+#: htdocs/luci-static/resources/view/fchomo/node.js:2003
msgid "stream-one"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1367
-#: htdocs/luci-static/resources/view/fchomo/node.js:2040
+#: htdocs/luci-static/resources/fchomo/listeners.js:1355
+#: htdocs/luci-static/resources/view/fchomo/node.js:2004
msgid "stream-up"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1383
+#: htdocs/luci-static/resources/fchomo/listeners.js:1371
msgid "stream-up server seconds"
msgstr ""
@@ -4556,11 +4575,11 @@ msgstr ""
msgid "unique identifier"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1818
+#: htdocs/luci-static/resources/fchomo.js:1904
msgid "unique value"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2583
+#: htdocs/luci-static/resources/view/fchomo/node.js:2547
msgid "up"
msgstr ""
@@ -4598,42 +4617,42 @@ msgstr ""
msgid "v5"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1686
-#: htdocs/luci-static/resources/fchomo.js:1689
+#: htdocs/luci-static/resources/fchomo.js:1764
+#: htdocs/luci-static/resources/fchomo.js:1767
msgid "valid JSON format"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1542
+#: htdocs/luci-static/resources/fchomo.js:1823
msgid "valid SHA256 string with %d characters"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1711
-#: htdocs/luci-static/resources/fchomo.js:1714
+#: htdocs/luci-static/resources/fchomo.js:1789
+#: htdocs/luci-static/resources/fchomo.js:1792
msgid "valid URL"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1736
+#: htdocs/luci-static/resources/fchomo.js:1814
msgid "valid base64 key with %d characters"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1796
-#: htdocs/luci-static/resources/fchomo.js:1802
+#: htdocs/luci-static/resources/fchomo.js:1882
+#: htdocs/luci-static/resources/fchomo.js:1888
msgid "valid format: 2x, 2p, 4v"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1727
+#: htdocs/luci-static/resources/fchomo.js:1805
msgid "valid hex string with %d characters"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1783
+#: htdocs/luci-static/resources/fchomo.js:1869
msgid "valid key length with %d characters"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1649
+#: htdocs/luci-static/resources/fchomo.js:1727
msgid "valid port value"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1699
+#: htdocs/luci-static/resources/fchomo.js:1777
msgid "valid uuid"
msgstr ""
@@ -4657,7 +4676,7 @@ msgstr ""
msgid "yacd-meta"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2114
+#: htdocs/luci-static/resources/view/fchomo/node.js:2078
msgid "yamux"
msgstr ""
@@ -4669,10 +4688,10 @@ msgstr ""
msgid "zero"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1466
+#: htdocs/luci-static/resources/fchomo.js:1544
msgid "🔗"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1445
+#: htdocs/luci-static/resources/fchomo.js:1523
msgid "🡇"
msgstr ""
diff --git a/luci-app-fchomo/po/zh_Hans/fchomo.po b/luci-app-fchomo/po/zh_Hans/fchomo.po
index 709732bf7..737be9553 100644
--- a/luci-app-fchomo/po/zh_Hans/fchomo.po
+++ b/luci-app-fchomo/po/zh_Hans/fchomo.po
@@ -12,8 +12,8 @@ msgstr ""
msgid "%s Hostname"
msgstr "%s 主机名称"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1722
-#: htdocs/luci-static/resources/view/fchomo/node.js:1732
+#: htdocs/luci-static/resources/view/fchomo/node.js:1686
+#: htdocs/luci-static/resources/view/fchomo/node.js:1696
msgid "%s UDP port. 0 selects an available port."
msgstr "%s UDP 端口。0 自动选择一个可用端口。"
@@ -40,15 +40,17 @@ msgstr "%s 端口"
msgid "(Imported)"
msgstr "(已导入)"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1172
-#: htdocs/luci-static/resources/fchomo/listeners.js:1180
-#: htdocs/luci-static/resources/fchomo/listeners.js:1189
+#: htdocs/luci-static/resources/fchomo.js:1488
+#: htdocs/luci-static/resources/fchomo.js:1494
+#: htdocs/luci-static/resources/fchomo/listeners.js:1160
+#: htdocs/luci-static/resources/fchomo/listeners.js:1168
+#: htdocs/luci-static/resources/fchomo/listeners.js:1177
#: htdocs/luci-static/resources/view/fchomo/global.js:572
#: htdocs/luci-static/resources/view/fchomo/global.js:578
-#: htdocs/luci-static/resources/view/fchomo/node.js:1563
-#: htdocs/luci-static/resources/view/fchomo/node.js:1569
-#: htdocs/luci-static/resources/view/fchomo/node.js:1577
-#: htdocs/luci-static/resources/view/fchomo/node.js:1583
+#: htdocs/luci-static/resources/view/fchomo/node.js:1527
+#: htdocs/luci-static/resources/view/fchomo/node.js:1533
+#: htdocs/luci-static/resources/view/fchomo/node.js:1541
+#: htdocs/luci-static/resources/view/fchomo/node.js:1547
msgid "(mTLS)"
msgstr ""
@@ -70,10 +72,10 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1113
#: htdocs/luci-static/resources/view/fchomo/client.js:1369
#: htdocs/luci-static/resources/view/fchomo/node.js:305
-#: htdocs/luci-static/resources/view/fchomo/node.js:2771
-#: htdocs/luci-static/resources/view/fchomo/node.js:2782
-#: htdocs/luci-static/resources/view/fchomo/node.js:2801
-#: htdocs/luci-static/resources/view/fchomo/node.js:2812
+#: htdocs/luci-static/resources/view/fchomo/node.js:2735
+#: htdocs/luci-static/resources/view/fchomo/node.js:2746
+#: htdocs/luci-static/resources/view/fchomo/node.js:2765
+#: htdocs/luci-static/resources/view/fchomo/node.js:2776
msgid "-- Please choose --"
msgstr "-- 请选择 --"
@@ -102,7 +104,7 @@ msgstr ""
msgid "2022-blake3-chacha20-poly1305"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1733
+#: htdocs/luci-static/resources/view/fchomo/node.js:1697
msgid "-1 disables it."
msgstr "-1 表示禁用它。"
@@ -110,11 +112,11 @@ msgstr "-1 表示禁用它。"
msgid "0 or 1 only."
msgstr "仅限 0 或 1。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1150
-#: htdocs/luci-static/resources/fchomo/listeners.js:1165
-#: htdocs/luci-static/resources/fchomo/listeners.js:1190
-#: htdocs/luci-static/resources/view/fchomo/node.js:1570
-#: htdocs/luci-static/resources/view/fchomo/node.js:1584
+#: htdocs/luci-static/resources/fchomo/listeners.js:1138
+#: htdocs/luci-static/resources/fchomo/listeners.js:1153
+#: htdocs/luci-static/resources/fchomo/listeners.js:1178
+#: htdocs/luci-static/resources/view/fchomo/node.js:1534
+#: htdocs/luci-static/resources/view/fchomo/node.js:1548
msgid "Save your configuration before uploading files!"
msgstr "上传文件前请先保存配置!"
@@ -218,11 +220,11 @@ msgstr "新增 节点"
msgid "Add a inbound"
msgstr "新增 入站"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2232
+#: htdocs/luci-static/resources/view/fchomo/node.js:2196
msgid "Add a provider"
msgstr "新增 供应商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2745
+#: htdocs/luci-static/resources/view/fchomo/node.js:2709
msgid "Add a proxy chain"
msgstr "新增 代理链"
@@ -246,11 +248,11 @@ msgstr "新增 服务器"
msgid "Add a sub rule"
msgstr "新增 子规则"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2529
+#: htdocs/luci-static/resources/view/fchomo/node.js:2493
msgid "Add prefix"
msgstr "添加前缀"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2533
+#: htdocs/luci-static/resources/view/fchomo/node.js:2497
msgid "Add suffix"
msgstr "添加后缀"
@@ -307,7 +309,7 @@ msgstr ""
msgid "Allow access to the local LAN via the exit node."
msgstr "允许通过出口节点访问本地局域网。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1073
+#: htdocs/luci-static/resources/fchomo/listeners.js:1061
msgid "Allow insecure connections"
msgstr "允许不安全的连接"
@@ -371,22 +373,22 @@ msgid "Authentication key"
msgstr "验证密钥"
#: htdocs/luci-static/resources/fchomo/listeners.js:376
-#: htdocs/luci-static/resources/fchomo/listeners.js:1365
+#: htdocs/luci-static/resources/fchomo/listeners.js:1353
#: htdocs/luci-static/resources/view/fchomo/global.js:423
#: htdocs/luci-static/resources/view/fchomo/node.js:467
#: htdocs/luci-static/resources/view/fchomo/node.js:491
#: htdocs/luci-static/resources/view/fchomo/node.js:850
#: htdocs/luci-static/resources/view/fchomo/node.js:1202
-#: htdocs/luci-static/resources/view/fchomo/node.js:2038
+#: htdocs/luci-static/resources/view/fchomo/node.js:2002
msgid "Auto"
msgstr "自动"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1851
+#: htdocs/luci-static/resources/view/fchomo/node.js:1815
msgid "Auto Enable when %s is empty."
msgstr "当 %s 为空时自动启用。"
#: htdocs/luci-static/resources/fchomo/listeners.js:139
-#: htdocs/luci-static/resources/view/fchomo/node.js:1654
+#: htdocs/luci-static/resources/view/fchomo/node.js:1618
msgid "Auto configure firewall"
msgstr "自动配置防火墙"
@@ -441,13 +443,13 @@ msgid "Binary mrs"
msgstr "二进制 mrs"
#: htdocs/luci-static/resources/view/fchomo/global.js:766
-#: htdocs/luci-static/resources/view/fchomo/node.js:2199
-#: htdocs/luci-static/resources/view/fchomo/node.js:2618
+#: htdocs/luci-static/resources/view/fchomo/node.js:2163
+#: htdocs/luci-static/resources/view/fchomo/node.js:2582
msgid "Bind interface"
msgstr "绑定接口"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2200
-#: htdocs/luci-static/resources/view/fchomo/node.js:2619
+#: htdocs/luci-static/resources/view/fchomo/node.js:2164
+#: htdocs/luci-static/resources/view/fchomo/node.js:2583
msgid "Bind outbound interface."
msgstr "绑定出站接口。"
@@ -516,17 +518,20 @@ msgstr "CORS 允许的来源,留空则使用 *。"
msgid "Cancel"
msgstr "取消"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1536
+#: htdocs/luci-static/resources/fchomo.js:1468
+#: htdocs/luci-static/resources/view/fchomo/node.js:1507
msgid "Cert fingerprint"
msgstr "证书指纹"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1537
+#: htdocs/luci-static/resources/fchomo.js:1469
+#: htdocs/luci-static/resources/view/fchomo/node.js:1508
msgid ""
"Certificate fingerprint. Used to implement SSL Pinning and prevent MitM."
msgstr "证书指纹。用于实现 SSL证书固定 并防止 MitM。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1127
-#: htdocs/luci-static/resources/view/fchomo/node.js:1563
+#: htdocs/luci-static/resources/fchomo.js:1488
+#: htdocs/luci-static/resources/fchomo/listeners.js:1115
+#: htdocs/luci-static/resources/view/fchomo/node.js:1527
msgid "Certificate path"
msgstr "证书路径"
@@ -587,25 +592,27 @@ msgstr ""
"点击此处下载"
"最新的初始包。"
+#: htdocs/luci-static/resources/fchomo.js:1489
+#: htdocs/luci-static/resources/fchomo.js:1495
#: htdocs/luci-static/resources/fchomo/listeners.js:869
-#: htdocs/luci-static/resources/fchomo/listeners.js:1181
+#: htdocs/luci-static/resources/fchomo/listeners.js:1169
#: htdocs/luci-static/resources/view/fchomo/global.js:579
#: htdocs/luci-static/resources/view/fchomo/node.js:1392
-#: htdocs/luci-static/resources/view/fchomo/node.js:1564
-#: htdocs/luci-static/resources/view/fchomo/node.js:1578
+#: htdocs/luci-static/resources/view/fchomo/node.js:1528
+#: htdocs/luci-static/resources/view/fchomo/node.js:1542
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:22
msgid "Client"
msgstr "客户端"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1180
+#: htdocs/luci-static/resources/fchomo/listeners.js:1168
msgid "Client Auth Certificate path"
msgstr "客户端认证证书路径"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1172
+#: htdocs/luci-static/resources/fchomo/listeners.js:1160
msgid "Client Auth type"
msgstr "客户端认证类型"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1609
+#: htdocs/luci-static/resources/view/fchomo/node.js:1573
msgid "Client fingerprint"
msgstr "客户端指纹"
@@ -629,8 +636,8 @@ msgstr "客户端公钥"
msgid "Client status"
msgstr "客户端状态"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1807
-#: htdocs/luci-static/resources/view/fchomo/node.js:1839
+#: htdocs/luci-static/resources/view/fchomo/node.js:1771
+#: htdocs/luci-static/resources/view/fchomo/node.js:1803
msgid "Cloudflare WARP"
msgstr ""
@@ -643,7 +650,7 @@ msgstr "收集数据中..."
msgid "Common ports (bypass P2P traffic)"
msgstr "常用端口(绕过 P2P 流量)"
-#: htdocs/luci-static/resources/fchomo.js:1583
+#: htdocs/luci-static/resources/fchomo.js:1661
msgid "Complete"
msgstr "完成"
@@ -680,14 +687,14 @@ msgid "Content copied to clipboard!"
msgstr "内容已复制到剪贴板!"
#: htdocs/luci-static/resources/view/fchomo/client.js:698
-#: htdocs/luci-static/resources/view/fchomo/node.js:2389
-#: htdocs/luci-static/resources/view/fchomo/node.js:2415
+#: htdocs/luci-static/resources/view/fchomo/node.js:2353
+#: htdocs/luci-static/resources/view/fchomo/node.js:2379
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:359
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:385
msgid "Content will not be verified, Please make sure you enter it correctly."
msgstr "内容将不会被验证,请确保输入正确。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2388
+#: htdocs/luci-static/resources/view/fchomo/node.js:2352
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:358
msgid "Contents"
msgstr "内容"
@@ -720,7 +727,7 @@ msgstr "自定义 %s 控制服务器。"
msgid "Custom Direct List"
msgstr "自定义直连列表"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2520
+#: htdocs/luci-static/resources/view/fchomo/node.js:2484
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:431
msgid "Custom HTTP header."
msgstr "自定义 HTTP header。"
@@ -758,7 +765,7 @@ msgstr " DNS 端口"
#: htdocs/luci-static/resources/view/fchomo/client.js:1524
#: htdocs/luci-static/resources/view/fchomo/client.js:1533
#: htdocs/luci-static/resources/view/fchomo/node.js:1173
-#: htdocs/luci-static/resources/view/fchomo/node.js:1905
+#: htdocs/luci-static/resources/view/fchomo/node.js:1869
msgid "DNS server"
msgstr "DNS 服务器"
@@ -805,11 +812,11 @@ msgstr "从私钥派生"
msgid "Destination addresses allowed to be forwarded via Wireguard."
msgstr "允许通过 WireGuard 转发的目的地址"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2768
+#: htdocs/luci-static/resources/view/fchomo/node.js:2732
msgid "Destination provider"
msgstr "落地供应商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2779
+#: htdocs/luci-static/resources/view/fchomo/node.js:2743
msgid "Destination proxy node"
msgstr "落地代理节点"
@@ -817,8 +824,8 @@ msgstr "落地代理节点"
msgid "Dial fields"
msgstr "拨号字段"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2791
-#: htdocs/luci-static/resources/view/fchomo/node.js:2821
+#: htdocs/luci-static/resources/view/fchomo/node.js:2755
+#: htdocs/luci-static/resources/view/fchomo/node.js:2785
msgid "Different chain head/tail"
msgstr "不同的链头/链尾"
@@ -861,7 +868,7 @@ msgstr "禁用 ICMP 转发"
msgid "Disable P2P"
msgstr "禁用 P2P"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1477
+#: htdocs/luci-static/resources/view/fchomo/node.js:1448
msgid "Disable SNI"
msgstr "禁用 SNI"
@@ -890,31 +897,32 @@ msgstr ""
msgid "Domain"
msgstr "域名"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1478
+#: htdocs/luci-static/resources/view/fchomo/node.js:1449
msgid "Donot send server name in ClientHello."
msgstr "不要在 ClientHello 中发送服务器名称。"
+#: htdocs/luci-static/resources/fchomo.js:1481
#: htdocs/luci-static/resources/view/fchomo/client.js:1676
-#: htdocs/luci-static/resources/view/fchomo/node.js:1556
-#: htdocs/luci-static/resources/view/fchomo/node.js:2602
+#: htdocs/luci-static/resources/view/fchomo/node.js:1520
+#: htdocs/luci-static/resources/view/fchomo/node.js:2566
msgid "Donot verifying server certificate."
msgstr "不验证服务器证书。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1417
-#: htdocs/luci-static/resources/view/fchomo/node.js:2176
+#: htdocs/luci-static/resources/fchomo/listeners.js:1405
+#: htdocs/luci-static/resources/view/fchomo/node.js:2140
msgid "Download bandwidth"
msgstr "下载带宽"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1418
-#: htdocs/luci-static/resources/view/fchomo/node.js:2177
+#: htdocs/luci-static/resources/fchomo/listeners.js:1406
+#: htdocs/luci-static/resources/view/fchomo/node.js:2141
msgid "Download bandwidth in Mbps."
msgstr "下载带宽(单位:Mbps)。"
-#: htdocs/luci-static/resources/fchomo.js:1440
+#: htdocs/luci-static/resources/fchomo.js:1518
msgid "Download failed: %s"
msgstr "下载失败: %s"
-#: htdocs/luci-static/resources/fchomo.js:1436
+#: htdocs/luci-static/resources/fchomo.js:1514
msgid "Download successful."
msgstr "下载成功。"
@@ -926,16 +934,16 @@ msgstr "目的地 IP"
msgid "Dual stack"
msgstr "双栈"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1603
+#: htdocs/luci-static/resources/view/fchomo/node.js:1567
msgid "ECH HTTPS record query servername"
msgstr "ECH HTTPS 记录查询域名"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1238
-#: htdocs/luci-static/resources/view/fchomo/node.js:1597
+#: htdocs/luci-static/resources/fchomo/listeners.js:1226
+#: htdocs/luci-static/resources/view/fchomo/node.js:1561
msgid "ECH config"
msgstr "ECH 配置"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1197
+#: htdocs/luci-static/resources/fchomo/listeners.js:1185
msgid "ECH key"
msgstr "ECH 密钥"
@@ -951,11 +959,11 @@ msgstr "EDNS 客户端子网"
msgid "ETag support"
msgstr "ETag 支持"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2016
+#: htdocs/luci-static/resources/view/fchomo/node.js:1980
msgid "Early Data first packet length limit."
msgstr "前置数据长度阈值"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2022
+#: htdocs/luci-static/resources/view/fchomo/node.js:1986
msgid "Early Data header name"
msgstr "前置数据标头"
@@ -975,7 +983,7 @@ msgstr "编辑出站"
msgid "Edit ruleset"
msgstr "编辑规则集"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2386
+#: htdocs/luci-static/resources/view/fchomo/node.js:2350
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:356
msgid "Editer"
msgstr "编辑器"
@@ -999,9 +1007,9 @@ msgstr "为空时回退"
#: htdocs/luci-static/resources/view/fchomo/global.js:422
#: htdocs/luci-static/resources/view/fchomo/global.js:712
#: htdocs/luci-static/resources/view/fchomo/node.js:267
-#: htdocs/luci-static/resources/view/fchomo/node.js:2359
-#: htdocs/luci-static/resources/view/fchomo/node.js:2641
-#: htdocs/luci-static/resources/view/fchomo/node.js:2755
+#: htdocs/luci-static/resources/view/fchomo/node.js:2323
+#: htdocs/luci-static/resources/view/fchomo/node.js:2605
+#: htdocs/luci-static/resources/view/fchomo/node.js:2719
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:283
#: htdocs/luci-static/resources/view/fchomo/server.js:49
msgid "Enable"
@@ -1028,7 +1036,7 @@ msgstr ""
"为出站连接启用 IP4P 转换"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1591
+#: htdocs/luci-static/resources/view/fchomo/node.js:1555
msgid "Enable ECH"
msgstr "启用 ECH"
@@ -1036,13 +1044,13 @@ msgstr "启用 ECH"
msgid "Enable MagicDNS"
msgstr "启用 MagicDNS"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1405
-#: htdocs/luci-static/resources/view/fchomo/node.js:2164
+#: htdocs/luci-static/resources/fchomo/listeners.js:1393
+#: htdocs/luci-static/resources/view/fchomo/node.js:2128
msgid "Enable TCP Brutal"
msgstr "启用 TCP Brutal"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1406
-#: htdocs/luci-static/resources/view/fchomo/node.js:2165
+#: htdocs/luci-static/resources/fchomo/listeners.js:1394
+#: htdocs/luci-static/resources/view/fchomo/node.js:2129
msgid "Enable TCP Brutal congestion control algorithm"
msgstr "启用 TCP Brutal 拥塞控制算法。"
@@ -1054,7 +1062,7 @@ msgstr "启用加密"
msgid "Enable fast open"
msgstr "启用 Fast open"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2153
+#: htdocs/luci-static/resources/view/fchomo/node.js:2117
msgid "Enable multiplexing only for TCP."
msgstr "仅为 TCP 启用多路复用。"
@@ -1063,17 +1071,17 @@ msgstr "仅为 TCP 启用多路复用。"
msgid "Enable obfuscate for downlink"
msgstr "启用下行链路混淆"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1400
-#: htdocs/luci-static/resources/view/fchomo/node.js:2147
+#: htdocs/luci-static/resources/fchomo/listeners.js:1388
+#: htdocs/luci-static/resources/view/fchomo/node.js:2111
msgid "Enable padding"
msgstr "启用填充"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2158
+#: htdocs/luci-static/resources/view/fchomo/node.js:2122
msgid "Enable statistic"
msgstr "启用统计"
#: htdocs/luci-static/resources/view/fchomo/node.js:1257
-#: htdocs/luci-static/resources/view/fchomo/node.js:2578
+#: htdocs/luci-static/resources/view/fchomo/node.js:2542
msgid ""
"Enable the SUoT protocol, requires server support. Conflict with Multiplex."
msgstr "启用 SUoT 协议,需要服务端支持。与多路复用冲突。"
@@ -1116,7 +1124,7 @@ msgid ""
"if empty."
msgstr "超过此限制将会触发强制健康检查。留空则使用 5。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2699
+#: htdocs/luci-static/resources/view/fchomo/node.js:2663
msgid "Exclude matched node types."
msgstr "排除匹配的节点类型。"
@@ -1129,7 +1137,7 @@ msgstr ""
"rel=\"noreferrer noopener\">此处。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1251
-#: htdocs/luci-static/resources/view/fchomo/node.js:2692
+#: htdocs/luci-static/resources/view/fchomo/node.js:2656
msgid "Exclude nodes that meet keywords or regexps."
msgstr "排除匹配关键词或表达式的节点。"
@@ -1146,40 +1154,41 @@ msgid "Expand/Collapse result"
msgstr "展开/收起 结果"
#: htdocs/luci-static/resources/view/fchomo/client.js:1194
-#: htdocs/luci-static/resources/view/fchomo/node.js:2677
+#: htdocs/luci-static/resources/view/fchomo/node.js:2641
msgid "Expected HTTP code. 204 will be used if empty."
msgstr "预期的 HTTP code。留空则使用 204。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1196
-#: htdocs/luci-static/resources/view/fchomo/node.js:2679
+#: htdocs/luci-static/resources/view/fchomo/node.js:2643
msgid "Expected status"
msgstr "预期状态"
#: htdocs/luci-static/resources/fchomo.js:529
#: htdocs/luci-static/resources/fchomo.js:532
#: htdocs/luci-static/resources/fchomo.js:535
-#: htdocs/luci-static/resources/fchomo.js:1600
-#: htdocs/luci-static/resources/fchomo.js:1608
-#: htdocs/luci-static/resources/fchomo.js:1616
-#: htdocs/luci-static/resources/fchomo.js:1639
-#: htdocs/luci-static/resources/fchomo.js:1642
-#: htdocs/luci-static/resources/fchomo.js:1649
-#: htdocs/luci-static/resources/fchomo.js:1665
-#: htdocs/luci-static/resources/fchomo.js:1674
+#: htdocs/luci-static/resources/fchomo.js:1678
#: htdocs/luci-static/resources/fchomo.js:1686
-#: htdocs/luci-static/resources/fchomo.js:1689
-#: htdocs/luci-static/resources/fchomo.js:1699
-#: htdocs/luci-static/resources/fchomo.js:1711
-#: htdocs/luci-static/resources/fchomo.js:1714
+#: htdocs/luci-static/resources/fchomo.js:1694
+#: htdocs/luci-static/resources/fchomo.js:1717
+#: htdocs/luci-static/resources/fchomo.js:1720
#: htdocs/luci-static/resources/fchomo.js:1727
-#: htdocs/luci-static/resources/fchomo.js:1736
-#: htdocs/luci-static/resources/fchomo.js:1746
-#: htdocs/luci-static/resources/fchomo.js:1781
-#: htdocs/luci-static/resources/fchomo.js:1783
-#: htdocs/luci-static/resources/fchomo.js:1796
-#: htdocs/luci-static/resources/fchomo.js:1802
-#: htdocs/luci-static/resources/fchomo.js:1809
-#: htdocs/luci-static/resources/fchomo.js:1818
+#: htdocs/luci-static/resources/fchomo.js:1743
+#: htdocs/luci-static/resources/fchomo.js:1752
+#: htdocs/luci-static/resources/fchomo.js:1764
+#: htdocs/luci-static/resources/fchomo.js:1767
+#: htdocs/luci-static/resources/fchomo.js:1777
+#: htdocs/luci-static/resources/fchomo.js:1789
+#: htdocs/luci-static/resources/fchomo.js:1792
+#: htdocs/luci-static/resources/fchomo.js:1805
+#: htdocs/luci-static/resources/fchomo.js:1814
+#: htdocs/luci-static/resources/fchomo.js:1823
+#: htdocs/luci-static/resources/fchomo.js:1832
+#: htdocs/luci-static/resources/fchomo.js:1867
+#: htdocs/luci-static/resources/fchomo.js:1869
+#: htdocs/luci-static/resources/fchomo.js:1882
+#: htdocs/luci-static/resources/fchomo.js:1888
+#: htdocs/luci-static/resources/fchomo.js:1895
+#: htdocs/luci-static/resources/fchomo.js:1904
#: htdocs/luci-static/resources/fchomo/listeners.js:291
#: htdocs/luci-static/resources/fchomo/listeners.js:346
#: htdocs/luci-static/resources/fchomo/listeners.js:861
@@ -1195,24 +1204,23 @@ msgstr "预期状态"
#: htdocs/luci-static/resources/view/fchomo/node.js:499
#: htdocs/luci-static/resources/view/fchomo/node.js:900
#: htdocs/luci-static/resources/view/fchomo/node.js:1415
-#: htdocs/luci-static/resources/view/fchomo/node.js:1542
-#: htdocs/luci-static/resources/view/fchomo/node.js:2791
-#: htdocs/luci-static/resources/view/fchomo/node.js:2821
+#: htdocs/luci-static/resources/view/fchomo/node.js:2755
+#: htdocs/luci-static/resources/view/fchomo/node.js:2785
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:311
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:325
msgid "Expecting: %s"
msgstr "请输入:%s"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1141
+#: htdocs/luci-static/resources/fchomo/listeners.js:1129
msgid "Expecting: Cannot be empty."
msgstr "请输入:不能为空。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1252
-#: htdocs/luci-static/resources/view/fchomo/node.js:1625
+#: htdocs/luci-static/resources/fchomo/listeners.js:1240
+#: htdocs/luci-static/resources/view/fchomo/node.js:1589
msgid "Expecting: Cannot be enabled when %s is enabled."
msgstr "请输入:当 %s 启用时,无法启用。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1136
+#: htdocs/luci-static/resources/fchomo/listeners.js:1124
msgid "Expecting: Keep empty when %s is enabled."
msgstr "请输入:启用 %s 时保持为空。"
@@ -1223,13 +1231,13 @@ msgstr "请输入:至少包含 %s 或 %s 中的一个。"
#: htdocs/luci-static/resources/fchomo/listeners.js:699
#: htdocs/luci-static/resources/fchomo/listeners.js:705
-#: htdocs/luci-static/resources/fchomo/listeners.js:1326
-#: htdocs/luci-static/resources/fchomo/listeners.js:1333
+#: htdocs/luci-static/resources/fchomo/listeners.js:1314
+#: htdocs/luci-static/resources/fchomo/listeners.js:1321
#: htdocs/luci-static/resources/view/fchomo/node.js:1289
#: htdocs/luci-static/resources/view/fchomo/node.js:1295
-#: htdocs/luci-static/resources/view/fchomo/node.js:1931
-#: htdocs/luci-static/resources/view/fchomo/node.js:1938
-#: htdocs/luci-static/resources/view/fchomo/node.js:1946
+#: htdocs/luci-static/resources/view/fchomo/node.js:1895
+#: htdocs/luci-static/resources/view/fchomo/node.js:1902
+#: htdocs/luci-static/resources/view/fchomo/node.js:1910
msgid "Expecting: Only support %s."
msgstr "请输入:仅支援 %s。"
@@ -1249,19 +1257,19 @@ msgstr "实验性"
msgid "Factor"
msgstr "条件"
-#: htdocs/luci-static/resources/fchomo.js:1541
+#: htdocs/luci-static/resources/fchomo.js:1619
msgid "Failed to execute \"/etc/init.d/fchomo %s %s\" reason: %s"
msgstr "无法执行 \"/etc/init.d/fchomo %s %s\" 原因: %s"
-#: htdocs/luci-static/resources/fchomo.js:1494
+#: htdocs/luci-static/resources/fchomo.js:1572
msgid "Failed to generate %s, error: %s."
msgstr "生成 %s 失败,错误:%s。"
-#: htdocs/luci-static/resources/fchomo.js:1918
+#: htdocs/luci-static/resources/fchomo.js:2004
msgid "Failed to upload %s, error: %s."
msgstr "上传 %s 失败,错误:%s。"
-#: htdocs/luci-static/resources/fchomo.js:1937
+#: htdocs/luci-static/resources/fchomo.js:2023
msgid "Failed to upload, error: %s."
msgstr "上传失败,错误:%s。"
@@ -1290,7 +1298,7 @@ msgid "Fallback relay"
msgstr "自动回退中继"
#: htdocs/luci-static/resources/view/fchomo/client.js:1246
-#: htdocs/luci-static/resources/view/fchomo/node.js:2686
+#: htdocs/luci-static/resources/view/fchomo/node.js:2650
msgid "Filter nodes that meet keywords or regexps."
msgstr "过滤匹配关键字或表达式的节点。"
@@ -1316,7 +1324,7 @@ msgid "Final DNS server (For poisoned domains)"
msgstr "兜底 DNS 服务器 (用于已被投毒污染的域名)"
#: htdocs/luci-static/resources/fchomo/listeners.js:138
-#: htdocs/luci-static/resources/view/fchomo/node.js:1653
+#: htdocs/luci-static/resources/view/fchomo/node.js:1617
msgid "Firewall"
msgstr "防火墙"
@@ -1334,9 +1342,9 @@ msgstr ""
"noopener\">%s."
#: htdocs/luci-static/resources/view/fchomo/client.js:1195
-#: htdocs/luci-static/resources/view/fchomo/node.js:2539
-#: htdocs/luci-static/resources/view/fchomo/node.js:2547
-#: htdocs/luci-static/resources/view/fchomo/node.js:2678
+#: htdocs/luci-static/resources/view/fchomo/node.js:2503
+#: htdocs/luci-static/resources/view/fchomo/node.js:2511
+#: htdocs/luci-static/resources/view/fchomo/node.js:2642
msgid ""
"For format see %s."
@@ -1348,7 +1356,7 @@ msgstr ""
msgid "Force"
msgstr "强制"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1900
+#: htdocs/luci-static/resources/view/fchomo/node.js:1864
msgid "Force DNS remote resolution."
msgstr "强制 DNS 远程解析。"
@@ -1375,7 +1383,7 @@ msgstr "转发速率限制"
msgid "FullCombo Shark!"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1971
+#: htdocs/luci-static/resources/view/fchomo/node.js:1935
msgid "GET"
msgstr ""
@@ -1395,7 +1403,7 @@ msgstr "常规"
#: htdocs/luci-static/resources/fchomo/listeners.js:119
#: htdocs/luci-static/resources/view/fchomo/client.js:1050
#: htdocs/luci-static/resources/view/fchomo/node.js:252
-#: htdocs/luci-static/resources/view/fchomo/node.js:2349
+#: htdocs/luci-static/resources/view/fchomo/node.js:2313
msgid "General fields"
msgstr "常规字段"
@@ -1411,9 +1419,9 @@ msgstr "常规设置"
#: htdocs/luci-static/resources/fchomo/listeners.js:313
#: htdocs/luci-static/resources/fchomo/listeners.js:315
#: htdocs/luci-static/resources/fchomo/listeners.js:965
-#: htdocs/luci-static/resources/fchomo/listeners.js:1230
+#: htdocs/luci-static/resources/fchomo/listeners.js:1218
#: htdocs/luci-static/resources/view/fchomo/global.js:616
-#: htdocs/luci-static/resources/view/fchomo/node.js:2507
+#: htdocs/luci-static/resources/view/fchomo/node.js:2471
msgid "Generate"
msgstr "生成"
@@ -1484,15 +1492,15 @@ msgstr "组"
#: htdocs/luci-static/resources/fchomo.js:228
#: htdocs/luci-static/resources/fchomo/listeners.js:717
#: htdocs/luci-static/resources/view/fchomo/node.js:1307
-#: htdocs/luci-static/resources/view/fchomo/node.js:1918
-#: htdocs/luci-static/resources/view/fchomo/node.js:1931
-#: htdocs/luci-static/resources/view/fchomo/node.js:1938
+#: htdocs/luci-static/resources/view/fchomo/node.js:1882
+#: htdocs/luci-static/resources/view/fchomo/node.js:1895
+#: htdocs/luci-static/resources/view/fchomo/node.js:1902
msgid "HTTP"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:333
-#: htdocs/luci-static/resources/view/fchomo/node.js:1993
-#: htdocs/luci-static/resources/view/fchomo/node.js:2519
+#: htdocs/luci-static/resources/view/fchomo/node.js:1957
+#: htdocs/luci-static/resources/view/fchomo/node.js:2483
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:430
msgid "HTTP header"
msgstr "HTTP header"
@@ -1518,7 +1526,7 @@ msgstr "HTTP 伪装多路复用"
msgid "HTTP mask: %s"
msgstr "HTTP 伪装: %s"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1970
+#: htdocs/luci-static/resources/view/fchomo/node.js:1934
msgid "HTTP request method"
msgstr "HTTP 请求方法"
@@ -1537,9 +1545,9 @@ msgid ""
"returned if empty."
msgstr "身份验证失败时的 HTTP3 服务器响应。默认返回 404 页面。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1919
-#: htdocs/luci-static/resources/view/fchomo/node.js:1932
-#: htdocs/luci-static/resources/view/fchomo/node.js:1939
+#: htdocs/luci-static/resources/view/fchomo/node.js:1883
+#: htdocs/luci-static/resources/view/fchomo/node.js:1896
+#: htdocs/luci-static/resources/view/fchomo/node.js:1903
msgid "HTTPUpgrade"
msgstr ""
@@ -1577,27 +1585,27 @@ msgid "Health check"
msgstr "健康检查"
#: htdocs/luci-static/resources/view/fchomo/client.js:1164
-#: htdocs/luci-static/resources/view/fchomo/node.js:2646
+#: htdocs/luci-static/resources/view/fchomo/node.js:2610
msgid "Health check URL"
msgstr "健康检查 URL"
#: htdocs/luci-static/resources/view/fchomo/client.js:1193
-#: htdocs/luci-static/resources/view/fchomo/node.js:2676
+#: htdocs/luci-static/resources/view/fchomo/node.js:2640
msgid "Health check expected status"
msgstr "健康检查预期状态"
#: htdocs/luci-static/resources/view/fchomo/client.js:1173
-#: htdocs/luci-static/resources/view/fchomo/node.js:2656
+#: htdocs/luci-static/resources/view/fchomo/node.js:2620
msgid "Health check interval"
msgstr "健康检查间隔"
#: htdocs/luci-static/resources/view/fchomo/client.js:1180
-#: htdocs/luci-static/resources/view/fchomo/node.js:2663
+#: htdocs/luci-static/resources/view/fchomo/node.js:2627
msgid "Health check timeout"
msgstr "健康检查超时"
#: htdocs/luci-static/resources/view/fchomo/client.js:1052
-#: htdocs/luci-static/resources/view/fchomo/node.js:2351
+#: htdocs/luci-static/resources/view/fchomo/node.js:2315
msgid "Health fields"
msgstr "健康字段"
@@ -1631,7 +1639,8 @@ msgstr "主机/SNI 覆盖"
msgid "Hostname"
msgstr "主机名"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1484
+#: htdocs/luci-static/resources/fchomo.js:1458
+#: htdocs/luci-static/resources/view/fchomo/node.js:1455
msgid ""
"Hostname that the client attempts to connect to at the start of the TLS "
"handshake process."
@@ -1674,15 +1683,15 @@ msgstr "IP 覆写"
msgid "IP stack"
msgstr "IP 协议栈"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2213
-#: htdocs/luci-static/resources/view/fchomo/node.js:2632
+#: htdocs/luci-static/resources/view/fchomo/node.js:2177
+#: htdocs/luci-static/resources/view/fchomo/node.js:2596
msgid "IP version"
msgstr "IP 版本"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1793
-#: htdocs/luci-static/resources/view/fchomo/node.js:1803
-#: htdocs/luci-static/resources/view/fchomo/node.js:1807
-#: htdocs/luci-static/resources/view/fchomo/node.js:1819
+#: htdocs/luci-static/resources/view/fchomo/node.js:1757
+#: htdocs/luci-static/resources/view/fchomo/node.js:1767
+#: htdocs/luci-static/resources/view/fchomo/node.js:1771
+#: htdocs/luci-static/resources/view/fchomo/node.js:1783
msgid "IPv4"
msgstr "IPv4"
@@ -1690,9 +1699,9 @@ msgstr "IPv4"
msgid "IPv4 only"
msgstr "仅 IPv4"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1826
-#: htdocs/luci-static/resources/view/fchomo/node.js:1835
-#: htdocs/luci-static/resources/view/fchomo/node.js:1839
+#: htdocs/luci-static/resources/view/fchomo/node.js:1790
+#: htdocs/luci-static/resources/view/fchomo/node.js:1799
+#: htdocs/luci-static/resources/view/fchomo/node.js:1803
msgid "IPv6"
msgstr "IPv6"
@@ -1721,7 +1730,7 @@ msgstr "闲置会话超时"
msgid "Idle timeout"
msgstr "闲置超时"
-#: htdocs/luci-static/resources/fchomo.js:1642
+#: htdocs/luci-static/resources/fchomo.js:1720
msgid "If All ports is selected, uncheck others"
msgstr "如果选择了“所有端口”,则取消选中“其他”"
@@ -1755,8 +1764,8 @@ msgstr "导入"
#: htdocs/luci-static/resources/view/fchomo/client.js:1812
#: htdocs/luci-static/resources/view/fchomo/client.js:1847
#: htdocs/luci-static/resources/view/fchomo/client.js:1868
-#: htdocs/luci-static/resources/view/fchomo/node.js:2239
-#: htdocs/luci-static/resources/view/fchomo/node.js:2337
+#: htdocs/luci-static/resources/view/fchomo/node.js:2203
+#: htdocs/luci-static/resources/view/fchomo/node.js:2301
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:164
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:260
msgid "Import mihomo config"
@@ -1772,8 +1781,8 @@ msgstr "导入规则集链接"
#: htdocs/luci-static/resources/fchomo/listeners.js:487
#: htdocs/luci-static/resources/view/fchomo/node.js:694
#: htdocs/luci-static/resources/view/fchomo/node.js:700
-#: htdocs/luci-static/resources/view/fchomo/node.js:2584
-#: htdocs/luci-static/resources/view/fchomo/node.js:2590
+#: htdocs/luci-static/resources/view/fchomo/node.js:2548
+#: htdocs/luci-static/resources/view/fchomo/node.js:2554
msgid "In Mbps."
msgstr "单位为 Mbps。"
@@ -1781,12 +1790,12 @@ msgstr "单位为 Mbps。"
msgid "In bps. 0 means no speed limit."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2427
+#: htdocs/luci-static/resources/view/fchomo/node.js:2391
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:403
msgid "In bytes. %s will be used if empty."
msgstr "单位为字节。留空则使用 %s。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1301
+#: htdocs/luci-static/resources/fchomo/listeners.js:1289
#: htdocs/luci-static/resources/view/fchomo/node.js:679
#: htdocs/luci-static/resources/view/fchomo/node.js:686
#: htdocs/luci-static/resources/view/fchomo/node.js:760
@@ -1795,11 +1804,11 @@ msgstr "单位为毫秒。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1181
#: htdocs/luci-static/resources/view/fchomo/client.js:1227
-#: htdocs/luci-static/resources/view/fchomo/node.js:2664
+#: htdocs/luci-static/resources/view/fchomo/node.js:2628
msgid "In millisecond. %s will be used if empty."
msgstr "单位为毫秒。留空则使用 %s。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2062
+#: htdocs/luci-static/resources/view/fchomo/node.js:2026
msgid "In milliseconds."
msgstr "单位为毫秒。"
@@ -1809,7 +1818,7 @@ msgstr "单位为毫秒。"
#: htdocs/luci-static/resources/fchomo/listeners.js:663
#: htdocs/luci-static/resources/view/fchomo/node.js:609
#: htdocs/luci-static/resources/view/fchomo/node.js:616
-#: htdocs/luci-static/resources/view/fchomo/node.js:2009
+#: htdocs/luci-static/resources/view/fchomo/node.js:1973
msgid "In seconds."
msgstr "单位为秒。"
@@ -1818,8 +1827,8 @@ msgstr "单位为秒。"
#: htdocs/luci-static/resources/view/fchomo/global.js:451
#: htdocs/luci-static/resources/view/fchomo/global.js:537
#: htdocs/luci-static/resources/view/fchomo/node.js:712
-#: htdocs/luci-static/resources/view/fchomo/node.js:2433
-#: htdocs/luci-static/resources/view/fchomo/node.js:2657
+#: htdocs/luci-static/resources/view/fchomo/node.js:2397
+#: htdocs/luci-static/resources/view/fchomo/node.js:2621
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:409
msgid "In seconds. %s will be used if empty."
msgstr "单位为秒。留空则使用 %s。"
@@ -1879,7 +1888,7 @@ msgstr "信息"
msgid "Initial congestion window size"
msgstr "初始拥塞窗口大小"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2366
+#: htdocs/luci-static/resources/view/fchomo/node.js:2330
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:299
msgid "Inline"
msgstr "内嵌"
@@ -1895,12 +1904,12 @@ msgstr "接口控制"
#: htdocs/luci-static/resources/fchomo/listeners.js:692
#: htdocs/luci-static/resources/fchomo/listeners.js:702
#: htdocs/luci-static/resources/fchomo/listeners.js:707
-#: htdocs/luci-static/resources/fchomo/listeners.js:1138
-#: htdocs/luci-static/resources/fchomo/listeners.js:1254
+#: htdocs/luci-static/resources/fchomo/listeners.js:1126
+#: htdocs/luci-static/resources/fchomo/listeners.js:1242
#: htdocs/luci-static/resources/view/fchomo/node.js:1282
#: htdocs/luci-static/resources/view/fchomo/node.js:1292
#: htdocs/luci-static/resources/view/fchomo/node.js:1297
-#: htdocs/luci-static/resources/view/fchomo/node.js:1627
+#: htdocs/luci-static/resources/view/fchomo/node.js:1591
msgid "JLS"
msgstr "JLS"
@@ -1915,11 +1924,11 @@ msgstr "加入 %s。格式:%s"
#: htdocs/luci-static/resources/fchomo.js:454
#: htdocs/luci-static/resources/view/fchomo/node.js:1136
#: htdocs/luci-static/resources/view/fchomo/node.js:1201
-#: htdocs/luci-static/resources/view/fchomo/node.js:2606
+#: htdocs/luci-static/resources/view/fchomo/node.js:2570
msgid "Keep default"
msgstr "保持缺省"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2098
+#: htdocs/luci-static/resources/view/fchomo/node.js:2062
msgid "Keep-alive period"
msgstr "Keep-alive 周期"
@@ -1928,8 +1937,9 @@ msgstr "Keep-alive 周期"
msgid "Key"
msgstr "密钥"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1157
-#: htdocs/luci-static/resources/view/fchomo/node.js:1577
+#: htdocs/luci-static/resources/fchomo.js:1494
+#: htdocs/luci-static/resources/fchomo/listeners.js:1145
+#: htdocs/luci-static/resources/view/fchomo/node.js:1541
msgid "Key path"
msgstr "证书路径"
@@ -1956,8 +1966,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1818
#: htdocs/luci-static/resources/view/fchomo/client.js:1874
#: htdocs/luci-static/resources/view/fchomo/node.js:262
-#: htdocs/luci-static/resources/view/fchomo/node.js:2354
-#: htdocs/luci-static/resources/view/fchomo/node.js:2750
+#: htdocs/luci-static/resources/view/fchomo/node.js:2318
+#: htdocs/luci-static/resources/view/fchomo/node.js:2714
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:278
msgid "Label"
msgstr "标签"
@@ -1967,7 +1977,7 @@ msgid "Latency first"
msgstr "延迟优先"
#: htdocs/luci-static/resources/view/fchomo/client.js:1187
-#: htdocs/luci-static/resources/view/fchomo/node.js:2670
+#: htdocs/luci-static/resources/view/fchomo/node.js:2634
msgid "Lazy"
msgstr "怠惰状态"
@@ -2006,8 +2016,9 @@ msgid ""
"network."
msgstr "要向 EasyTier 网络中的其他对端开放的本地子网的列表(CIDR)。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1080
-#: htdocs/luci-static/resources/view/fchomo/node.js:1490
+#: htdocs/luci-static/resources/fchomo.js:1463
+#: htdocs/luci-static/resources/fchomo/listeners.js:1068
+#: htdocs/luci-static/resources/view/fchomo/node.js:1461
msgid "List of supported application level protocols, in order of preference."
msgstr "支持的应用层协议协商列表,按顺序排列。"
@@ -2025,8 +2036,8 @@ msgstr "监听接口"
#: htdocs/luci-static/resources/fchomo/listeners.js:154
#: htdocs/luci-static/resources/view/fchomo/client.js:1467
-#: htdocs/luci-static/resources/view/fchomo/node.js:1721
-#: htdocs/luci-static/resources/view/fchomo/node.js:1731
+#: htdocs/luci-static/resources/view/fchomo/node.js:1685
+#: htdocs/luci-static/resources/view/fchomo/node.js:1695
msgid "Listen port"
msgstr "监听端口"
@@ -2038,7 +2049,7 @@ msgstr "监听端口"
msgid "Listen routing mark (Fwmark)"
msgstr "监听路由标记 (Fwmark)"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1769
+#: htdocs/luci-static/resources/view/fchomo/node.js:1733
msgid "Listeners"
msgstr "监听"
@@ -2046,7 +2057,7 @@ msgstr "监听"
msgid "Load balance"
msgstr "负载均衡"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2364
+#: htdocs/luci-static/resources/view/fchomo/node.js:2328
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:297
msgid "Local"
msgstr "本地"
@@ -2091,7 +2102,7 @@ msgid "Lowercase only"
msgstr "仅限小写"
#: htdocs/luci-static/resources/view/fchomo/global.js:524
-#: htdocs/luci-static/resources/view/fchomo/node.js:1869
+#: htdocs/luci-static/resources/view/fchomo/node.js:1833
msgid "MTU"
msgstr "MTU"
@@ -2131,7 +2142,7 @@ msgstr "匹配响应通过 ipcidr"
msgid "Match rule set."
msgstr "匹配规则集。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2015
+#: htdocs/luci-static/resources/view/fchomo/node.js:1979
msgid "Max Early Data"
msgstr "前置数据最大值"
@@ -2140,15 +2151,15 @@ msgstr "前置数据最大值"
msgid "Max UDP relay packet size"
msgstr "UDP 中继数据包最大尺寸"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1377
+#: htdocs/luci-static/resources/fchomo/listeners.js:1365
msgid "Max buffered posts"
msgstr "POST 最大缓冲"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2073
+#: htdocs/luci-static/resources/view/fchomo/node.js:2037
msgid "Max concurrency"
msgstr "最大并发"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2078
+#: htdocs/luci-static/resources/view/fchomo/node.js:2042
msgid "Max connections"
msgstr "最大连接数"
@@ -2166,8 +2177,8 @@ msgstr "最大数据报帧大小"
msgid "Max download speed"
msgstr "最大下载速度"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1388
-#: htdocs/luci-static/resources/view/fchomo/node.js:2055
+#: htdocs/luci-static/resources/fchomo/listeners.js:1376
+#: htdocs/luci-static/resources/view/fchomo/node.js:2019
msgid "Max each POST bytes"
msgstr "POST 最大字节数"
@@ -2183,15 +2194,15 @@ msgstr "最大 Realms 总数"
msgid "Max realms per client IP"
msgstr "每客户端 IP 最大 Realms 总数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2088
+#: htdocs/luci-static/resources/view/fchomo/node.js:2052
msgid "Max request times"
msgstr "最大请求次数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2093
+#: htdocs/luci-static/resources/view/fchomo/node.js:2057
msgid "Max reusable seconds"
msgstr "最大可复用秒数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2083
+#: htdocs/luci-static/resources/view/fchomo/node.js:2047
msgid "Max reuse times"
msgstr "最大复用次数"
@@ -2200,12 +2211,12 @@ msgstr "最大复用次数"
msgid "Max upload speed"
msgstr "最大上传速度"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2119
-#: htdocs/luci-static/resources/view/fchomo/node.js:2139
+#: htdocs/luci-static/resources/view/fchomo/node.js:2083
+#: htdocs/luci-static/resources/view/fchomo/node.js:2103
msgid "Maximum connections"
msgstr "最大连接数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2137
+#: htdocs/luci-static/resources/view/fchomo/node.js:2101
msgid ""
"Maximum multiplexed streams in a connection before opening a new connection."
"%s and %s."
@@ -2225,7 +2236,7 @@ msgid ""
"rate."
msgstr "最大填充率必须大于等于最小填充率。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2136
+#: htdocs/luci-static/resources/view/fchomo/node.js:2100
msgid "Maximum streams"
msgstr "最大流数量"
@@ -2250,11 +2261,11 @@ msgstr "Mihomo 服务端"
msgid "Min of idle sessions to keep"
msgstr "要保留的最少闲置会话数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2061
+#: htdocs/luci-static/resources/view/fchomo/node.js:2025
msgid "Min posts interval"
msgstr "POST 请求最小间隔时间"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2128
+#: htdocs/luci-static/resources/view/fchomo/node.js:2092
msgid ""
"Minimum multiplexed streams in a connection before opening a new connection."
msgstr "在打开新连接之前,连接中的最小多路复用流数量。"
@@ -2264,8 +2275,8 @@ msgstr "在打开新连接之前,连接中的最小多路复用流数量。"
msgid "Minimum padding rate"
msgstr "最小填充率"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2127
-#: htdocs/luci-static/resources/view/fchomo/node.js:2139
+#: htdocs/luci-static/resources/view/fchomo/node.js:2091
+#: htdocs/luci-static/resources/view/fchomo/node.js:2103
msgid "Minimum streams"
msgstr "最小流数量"
@@ -2286,8 +2297,8 @@ msgstr "混合 系统 TCP 栈和 gVisor UDP 栈。"
msgid "Mixed port"
msgstr "混合端口"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1395
-#: htdocs/luci-static/resources/view/fchomo/node.js:2105
+#: htdocs/luci-static/resources/fchomo/listeners.js:1383
+#: htdocs/luci-static/resources/view/fchomo/node.js:2069
msgid "Multiplex"
msgstr "多路复用"
@@ -2305,7 +2316,7 @@ msgstr "多路复用"
msgid "NETWORK"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1787
+#: htdocs/luci-static/resources/view/fchomo/node.js:1751
msgid "NO Listener"
msgstr "无监听"
@@ -2318,7 +2329,7 @@ msgstr "NOT"
msgid "Name of the Proxy group as outbound."
msgstr "出站代理组的名称。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2439
+#: htdocs/luci-static/resources/view/fchomo/node.js:2403
msgid "Name of the Proxy group to download provider."
msgstr "用于下载供应商订阅的代理组名称。"
@@ -2347,7 +2358,7 @@ msgstr ""
msgid "Network type"
msgstr "网络类型"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2608
+#: htdocs/luci-static/resources/view/fchomo/node.js:2572
msgid "No"
msgstr ""
@@ -2355,7 +2366,7 @@ msgstr ""
msgid "No Authentication IP ranges"
msgstr "无需认证的 IP 范围"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1372
+#: htdocs/luci-static/resources/fchomo/listeners.js:1360
msgid "No SSE header"
msgstr "无 SSE header"
@@ -2363,12 +2374,12 @@ msgstr "无 SSE header"
msgid "No add'l params"
msgstr "无附加参数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2045
+#: htdocs/luci-static/resources/view/fchomo/node.js:2009
msgid "No gRPC header"
msgstr "无 gRPC header"
#: htdocs/luci-static/resources/view/fchomo/client.js:1188
-#: htdocs/luci-static/resources/view/fchomo/node.js:2671
+#: htdocs/luci-static/resources/view/fchomo/node.js:2635
msgid "No testing is performed when this provider node is not in use."
msgstr "当此供应商的节点未使用时,不执行任何测试。"
@@ -2386,17 +2397,17 @@ msgid "Node"
msgstr "节点"
#: htdocs/luci-static/resources/view/fchomo/client.js:1250
-#: htdocs/luci-static/resources/view/fchomo/node.js:2691
+#: htdocs/luci-static/resources/view/fchomo/node.js:2655
msgid "Node exclude filter"
msgstr "排除节点"
#: htdocs/luci-static/resources/view/fchomo/client.js:1255
-#: htdocs/luci-static/resources/view/fchomo/node.js:2698
+#: htdocs/luci-static/resources/view/fchomo/node.js:2662
msgid "Node exclude type"
msgstr "排除节点类型"
#: htdocs/luci-static/resources/view/fchomo/client.js:1245
-#: htdocs/luci-static/resources/view/fchomo/node.js:2685
+#: htdocs/luci-static/resources/view/fchomo/node.js:2649
msgid "Node filter"
msgstr "过滤节点"
@@ -2420,7 +2431,7 @@ msgstr "未安装"
msgid "Not Running"
msgstr "未在运行"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2716
+#: htdocs/luci-static/resources/view/fchomo/node.js:2680
msgid "Note: The subscription of provider %s is includes %s."
msgstr "注意:供应商 %s 的订阅包含 %s。"
@@ -2470,7 +2481,7 @@ msgstr "混淆为%s"
msgid "One or more numbers in the range 0-63 separated by commas"
msgstr "0-63 范围内的一个或多个数字,以逗号分隔"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1074
+#: htdocs/luci-static/resources/fchomo/listeners.js:1062
msgid "Only applicable when %s are used as a frontend."
msgstr "仅当 %s 用作前端时适用。"
@@ -2489,7 +2500,7 @@ msgstr "仅允许使用与本网络相同的 %s 和 %s 的节点通过此节点
msgid "Only process traffic from specific interfaces. Leave empty for all."
msgstr "只处理来自指定接口的流量。留空表示全部。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1770
+#: htdocs/luci-static/resources/view/fchomo/node.js:1734
msgid "Only the address %s is valid."
msgstr "只有地址 %s 是有效的。"
@@ -2509,7 +2520,7 @@ msgstr "该选项已弃用,请使用%s作为代替。"
msgid "Other"
msgstr "其他"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2556
+#: htdocs/luci-static/resources/view/fchomo/node.js:2520
msgid "Other configuration items"
msgstr "其他配置项"
@@ -2517,8 +2528,9 @@ msgstr "其他配置项"
msgid "Outbound"
msgstr "出站"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1549
-#: htdocs/luci-static/resources/view/fchomo/node.js:2595
+#: htdocs/luci-static/resources/fchomo.js:1474
+#: htdocs/luci-static/resources/view/fchomo/node.js:1513
+#: htdocs/luci-static/resources/view/fchomo/node.js:2559
msgid "Override cert DNSName"
msgstr "覆盖证书 DNSName"
@@ -2528,7 +2540,7 @@ msgid "Override destination"
msgstr "覆盖目标地址"
#: htdocs/luci-static/resources/view/fchomo/client.js:1051
-#: htdocs/luci-static/resources/view/fchomo/node.js:2350
+#: htdocs/luci-static/resources/view/fchomo/node.js:2314
msgid "Override fields"
msgstr "覆盖字段"
@@ -2548,7 +2560,7 @@ msgstr "使用嗅探到的域名覆盖连接目标。"
msgid "Override the existing ECS in original request."
msgstr "覆盖原始请求中已有的 ECS。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1604
+#: htdocs/luci-static/resources/view/fchomo/node.js:1568
msgid "Overrides the domain name used for HTTPS record queries."
msgstr "覆盖用于 HTTPS 记录查询的域名。"
@@ -2556,11 +2568,11 @@ msgstr "覆盖用于 HTTPS 记录查询的域名。"
msgid "Overview"
msgstr "概览"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1972
+#: htdocs/luci-static/resources/view/fchomo/node.js:1936
msgid "POST"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1973
+#: htdocs/luci-static/resources/view/fchomo/node.js:1937
msgid "PUT"
msgstr ""
@@ -2568,7 +2580,7 @@ msgstr ""
msgid "Packet encoding"
msgstr "数据包编码"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2050
+#: htdocs/luci-static/resources/view/fchomo/node.js:2014
msgid "Padding bytes"
msgstr "填充字节"
@@ -2604,7 +2616,7 @@ msgid "Path in bundle: %s"
msgstr "在捆绑包%s中的路径"
#: htdocs/luci-static/resources/fchomo/listeners.js:819
-#: htdocs/luci-static/resources/view/fchomo/node.js:2414
+#: htdocs/luci-static/resources/view/fchomo/node.js:2378
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:384
msgid "Payload"
msgstr "Payload"
@@ -2654,8 +2666,8 @@ msgid ""
"standards."
msgstr "链接格式标准请参考 %s。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2387
-#: htdocs/luci-static/resources/view/fchomo/node.js:2413
+#: htdocs/luci-static/resources/view/fchomo/node.js:2351
+#: htdocs/luci-static/resources/view/fchomo/node.js:2377
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:357
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:383
msgid ""
@@ -2670,7 +2682,7 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1541
#: htdocs/luci-static/resources/view/fchomo/client.js:1796
#: htdocs/luci-static/resources/view/fchomo/client.js:1848
-#: htdocs/luci-static/resources/view/fchomo/node.js:2240
+#: htdocs/luci-static/resources/view/fchomo/node.js:2204
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:165
msgid "Please type %s fields of mihomo config."
msgstr "请输入 mihomo 配置的 %s 字段。"
@@ -2695,7 +2707,7 @@ msgstr "插件类型"
msgid "Port"
msgstr "端口"
-#: htdocs/luci-static/resources/fchomo.js:1651
+#: htdocs/luci-static/resources/fchomo.js:1729
msgid "Port %s alrealy exists!"
msgstr "端口 %s 已存在!"
@@ -2723,8 +2735,7 @@ msgstr "端口池"
msgid "Pre-shared key"
msgstr "预共享密钥"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1017
-#: htdocs/luci-static/resources/view/fchomo/node.js:1437
+#: htdocs/luci-static/resources/fchomo.js:1437
msgid "Pre-shared key of rendezvous server"
msgstr "牵线服务器的预共享密钥"
@@ -2741,17 +2752,17 @@ msgid ""
"Prevent ICMP loopback issues in some cases. Ping will not show real delay."
msgstr "防止某些情况下的 ICMP 环回问题。Ping 不会显示实际延迟。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1721
-#: htdocs/luci-static/resources/view/fchomo/node.js:1722
+#: htdocs/luci-static/resources/view/fchomo/node.js:1685
+#: htdocs/luci-static/resources/view/fchomo/node.js:1686
msgid "Primary"
msgstr "主要"
#: htdocs/luci-static/resources/view/fchomo/global.js:768
#: htdocs/luci-static/resources/view/fchomo/global.js:785
-#: htdocs/luci-static/resources/view/fchomo/node.js:2201
-#: htdocs/luci-static/resources/view/fchomo/node.js:2208
-#: htdocs/luci-static/resources/view/fchomo/node.js:2620
-#: htdocs/luci-static/resources/view/fchomo/node.js:2627
+#: htdocs/luci-static/resources/view/fchomo/node.js:2165
+#: htdocs/luci-static/resources/view/fchomo/node.js:2172
+#: htdocs/luci-static/resources/view/fchomo/node.js:2584
+#: htdocs/luci-static/resources/view/fchomo/node.js:2591
msgid "Priority: Proxy Node > Global."
msgstr "优先级: 代理节点 > 全局。"
@@ -2780,12 +2791,12 @@ msgstr "进程"
msgid "Process matching mode"
msgstr "进程匹配模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2546
+#: htdocs/luci-static/resources/view/fchomo/node.js:2510
msgid "Programmable replacement"
msgstr "可编程替换"
#: htdocs/luci-static/resources/view/fchomo/global.js:716
-#: htdocs/luci-static/resources/view/fchomo/node.js:2111
+#: htdocs/luci-static/resources/view/fchomo/node.js:2075
msgid "Protocol"
msgstr "协议"
@@ -2800,13 +2811,13 @@ msgid ""
msgstr "协议参数。 如启用会随机浪费流量(在 v2ray 中默认启用并且无法禁用)。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1108
-#: htdocs/luci-static/resources/view/fchomo/node.js:2223
-#: htdocs/luci-static/resources/view/fchomo/node.js:2232
-#: htdocs/luci-static/resources/view/fchomo/node.js:2761
+#: htdocs/luci-static/resources/view/fchomo/node.js:2187
+#: htdocs/luci-static/resources/view/fchomo/node.js:2196
+#: htdocs/luci-static/resources/view/fchomo/node.js:2725
msgid "Provider"
msgstr "供应商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2420
+#: htdocs/luci-static/resources/view/fchomo/node.js:2384
msgid "Provider URL"
msgstr "供应商订阅 URL"
@@ -2829,19 +2840,20 @@ msgid "Proxy MAC-s"
msgstr "代理 MAC 地址"
#: htdocs/luci-static/resources/view/fchomo/node.js:225
-#: htdocs/luci-static/resources/view/fchomo/node.js:2760
+#: htdocs/luci-static/resources/view/fchomo/node.js:2724
msgid "Proxy Node"
msgstr "代理节点"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2736
-#: htdocs/luci-static/resources/view/fchomo/node.js:2745
+#: htdocs/luci-static/resources/view/fchomo/node.js:2700
+#: htdocs/luci-static/resources/view/fchomo/node.js:2709
msgid "Proxy chain"
msgstr "代理链"
#: htdocs/luci-static/resources/fchomo/listeners.js:629
+#: htdocs/luci-static/resources/fchomo/listeners.js:1009
#: htdocs/luci-static/resources/view/fchomo/client.js:809
#: htdocs/luci-static/resources/view/fchomo/client.js:1639
-#: htdocs/luci-static/resources/view/fchomo/node.js:2438
+#: htdocs/luci-static/resources/view/fchomo/node.js:2402
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:414
msgid "Proxy group"
msgstr "代理组"
@@ -2882,39 +2894,39 @@ msgstr "QUIC 版本"
msgid "Quick Reload"
msgstr "快速重载"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1139
-#: htdocs/luci-static/resources/fchomo/listeners.js:1245
-#: htdocs/luci-static/resources/view/fchomo/node.js:1618
+#: htdocs/luci-static/resources/fchomo/listeners.js:1127
+#: htdocs/luci-static/resources/fchomo/listeners.js:1233
+#: htdocs/luci-static/resources/view/fchomo/node.js:1582
msgid "REALITY"
msgstr "REALITY"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1644
+#: htdocs/luci-static/resources/view/fchomo/node.js:1608
msgid "REALITY X25519MLKEM768 PQC support"
msgstr "REALITY X25519MLKEM768 后量子加密支持"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1293
+#: htdocs/luci-static/resources/fchomo/listeners.js:1281
msgid "REALITY certificate issued to"
msgstr "REALITY 证书颁发给"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1261
+#: htdocs/luci-static/resources/fchomo/listeners.js:1249
msgid "REALITY handshake server"
msgstr "REALITY 握手服务器"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1300
+#: htdocs/luci-static/resources/fchomo/listeners.js:1288
msgid "REALITY max time difference"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1268
+#: htdocs/luci-static/resources/fchomo/listeners.js:1256
msgid "REALITY private key"
msgstr "REALITY 私钥"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1283
-#: htdocs/luci-static/resources/view/fchomo/node.js:1634
+#: htdocs/luci-static/resources/fchomo/listeners.js:1271
+#: htdocs/luci-static/resources/view/fchomo/node.js:1598
msgid "REALITY public key"
msgstr "REALITY 公钥"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1287
-#: htdocs/luci-static/resources/view/fchomo/node.js:1639
+#: htdocs/luci-static/resources/fchomo/listeners.js:1275
+#: htdocs/luci-static/resources/view/fchomo/node.js:1603
msgid "REALITY short ID"
msgstr "REALITY 标识符"
@@ -2950,13 +2962,11 @@ msgstr "留空将使用随机令牌。"
msgid "Randomized traffic characteristics"
msgstr "随机化流量特征"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1006
-#: htdocs/luci-static/resources/view/fchomo/node.js:1426
+#: htdocs/luci-static/resources/fchomo.js:1426
msgid "Realm"
msgstr "Realm"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1022
-#: htdocs/luci-static/resources/view/fchomo/node.js:1442
+#: htdocs/luci-static/resources/fchomo.js:1442
msgid "Realm ID"
msgstr "Realm ID"
@@ -2964,7 +2974,7 @@ msgstr "Realm ID"
msgid "Realm name pattern"
msgstr "Realm 名称模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2717
+#: htdocs/luci-static/resources/view/fchomo/node.js:2681
msgid ""
"Recommended to adjust Client DNS configuration based on actual conditions."
msgstr "建议根据实际情况调整客户端 DNS 配置。"
@@ -3012,12 +3022,12 @@ msgstr "再路由"
msgid "Rematching routing rules"
msgstr "重新匹配路由规则"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2365
+#: htdocs/luci-static/resources/view/fchomo/node.js:2329
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:298
msgid "Remote"
msgstr "远程"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1899
+#: htdocs/luci-static/resources/view/fchomo/node.js:1863
msgid "Remote DNS resolve"
msgstr "远程 DNS 解析"
@@ -3029,30 +3039,29 @@ msgstr "远程跟踪级别"
msgid "Remote trace target"
msgstr "远程跟踪目标"
-#: htdocs/luci-static/resources/fchomo.js:1572
+#: htdocs/luci-static/resources/fchomo.js:1650
msgid "Remove"
msgstr "移除"
-#: htdocs/luci-static/resources/fchomo.js:1577
+#: htdocs/luci-static/resources/fchomo.js:1655
#: htdocs/luci-static/resources/view/fchomo/node.js:244
#: htdocs/luci-static/resources/view/fchomo/node.js:246
-#: htdocs/luci-static/resources/view/fchomo/node.js:2341
-#: htdocs/luci-static/resources/view/fchomo/node.js:2343
+#: htdocs/luci-static/resources/view/fchomo/node.js:2305
+#: htdocs/luci-static/resources/view/fchomo/node.js:2307
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:270
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:272
msgid "Remove idles"
msgstr "移除闲置"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1011
-#: htdocs/luci-static/resources/view/fchomo/node.js:1431
+#: htdocs/luci-static/resources/fchomo.js:1431
msgid "Rendezvous server"
msgstr "牵线服务器"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2537
+#: htdocs/luci-static/resources/view/fchomo/node.js:2501
msgid "Replace name"
msgstr "名称替换"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2538
+#: htdocs/luci-static/resources/view/fchomo/node.js:2502
msgid "Replace node name."
msgstr "替换节点名称"
@@ -3060,9 +3069,9 @@ msgstr "替换节点名称"
msgid "Request"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1351
-#: htdocs/luci-static/resources/view/fchomo/node.js:1979
-#: htdocs/luci-static/resources/view/fchomo/node.js:1986
+#: htdocs/luci-static/resources/fchomo/listeners.js:1339
+#: htdocs/luci-static/resources/view/fchomo/node.js:1943
+#: htdocs/luci-static/resources/view/fchomo/node.js:1950
msgid "Request path"
msgstr "请求路径"
@@ -3079,7 +3088,7 @@ msgid "Require any"
msgstr ""
#: htdocs/luci-static/resources/fchomo.js:481
-#: htdocs/luci-static/resources/view/fchomo/node.js:1645
+#: htdocs/luci-static/resources/view/fchomo/node.js:1609
msgid "Requires server support."
msgstr "需要服务器支持。"
@@ -3094,12 +3103,12 @@ msgstr "资源管理"
#: htdocs/luci-static/resources/fchomo/listeners.js:691
#: htdocs/luci-static/resources/fchomo/listeners.js:701
#: htdocs/luci-static/resources/fchomo/listeners.js:706
-#: htdocs/luci-static/resources/fchomo/listeners.js:1137
-#: htdocs/luci-static/resources/fchomo/listeners.js:1253
+#: htdocs/luci-static/resources/fchomo/listeners.js:1125
+#: htdocs/luci-static/resources/fchomo/listeners.js:1241
#: htdocs/luci-static/resources/view/fchomo/node.js:1281
#: htdocs/luci-static/resources/view/fchomo/node.js:1291
#: htdocs/luci-static/resources/view/fchomo/node.js:1296
-#: htdocs/luci-static/resources/view/fchomo/node.js:1626
+#: htdocs/luci-static/resources/view/fchomo/node.js:1590
msgid "Restls"
msgstr ""
@@ -3152,8 +3161,8 @@ msgstr "路由 GFW 流量"
#: htdocs/luci-static/resources/fchomo/listeners.js:612
#: htdocs/luci-static/resources/view/fchomo/global.js:784
-#: htdocs/luci-static/resources/view/fchomo/node.js:2207
-#: htdocs/luci-static/resources/view/fchomo/node.js:2626
+#: htdocs/luci-static/resources/view/fchomo/node.js:2171
+#: htdocs/luci-static/resources/view/fchomo/node.js:2590
msgid "Routing mark (Fwmark)"
msgstr "路由标记 (Fwmark)"
@@ -3237,8 +3246,7 @@ msgstr ""
msgid "STUN"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1028
-#: htdocs/luci-static/resources/view/fchomo/node.js:1448
+#: htdocs/luci-static/resources/fchomo.js:1448
msgid "STUN servers"
msgstr "STUN 服务器"
@@ -3268,8 +3276,8 @@ msgstr "相同 来源地址 和 目标地址 请求。相同节点"
msgid "Save"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1731
-#: htdocs/luci-static/resources/view/fchomo/node.js:1732
+#: htdocs/luci-static/resources/view/fchomo/node.js:1695
+#: htdocs/luci-static/resources/view/fchomo/node.js:1696
msgid "Secondary"
msgstr "次要"
@@ -3303,8 +3311,8 @@ msgid "Send random ticket of 300s-600s duration for client 0-RTT reuse."
msgstr "发送 300-600 秒的随机票证,以供客户端 0-RTT 重用。"
#: htdocs/luci-static/resources/fchomo/listeners.js:850
-#: htdocs/luci-static/resources/fchomo/listeners.js:1128
-#: htdocs/luci-static/resources/fchomo/listeners.js:1158
+#: htdocs/luci-static/resources/fchomo/listeners.js:1116
+#: htdocs/luci-static/resources/fchomo/listeners.js:1146
#: htdocs/luci-static/resources/view/fchomo/server.js:58
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:62
msgid "Server"
@@ -3314,9 +3322,9 @@ msgstr "服务端"
msgid "Server address"
msgstr "服务器地址"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1345
-#: htdocs/luci-static/resources/view/fchomo/node.js:1958
-#: htdocs/luci-static/resources/view/fchomo/node.js:1964
+#: htdocs/luci-static/resources/fchomo/listeners.js:1333
+#: htdocs/luci-static/resources/view/fchomo/node.js:1922
+#: htdocs/luci-static/resources/view/fchomo/node.js:1928
msgid "Server hostname"
msgstr "服务器主机名称"
@@ -3340,12 +3348,12 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:690
#: htdocs/luci-static/resources/fchomo/listeners.js:700
#: htdocs/luci-static/resources/fchomo/listeners.js:705
-#: htdocs/luci-static/resources/fchomo/listeners.js:1136
-#: htdocs/luci-static/resources/fchomo/listeners.js:1252
+#: htdocs/luci-static/resources/fchomo/listeners.js:1124
+#: htdocs/luci-static/resources/fchomo/listeners.js:1240
#: htdocs/luci-static/resources/view/fchomo/node.js:1280
#: htdocs/luci-static/resources/view/fchomo/node.js:1290
#: htdocs/luci-static/resources/view/fchomo/node.js:1295
-#: htdocs/luci-static/resources/view/fchomo/node.js:1625
+#: htdocs/luci-static/resources/view/fchomo/node.js:1589
msgid "ShadowTLS"
msgstr ""
@@ -3369,7 +3377,7 @@ msgstr "Shadowsocks 加密"
msgid "Shadowsocks password"
msgstr "Shadowsocks 密码"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2159
+#: htdocs/luci-static/resources/view/fchomo/node.js:2123
msgid "Show connections in the dashboard for breaking connections easier."
msgstr "在面板中显示连接以便于打断连接。"
@@ -3381,14 +3389,15 @@ msgstr "静音"
msgid "Simple round-robin all nodes"
msgstr "简单轮替所有节点"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2426
+#: htdocs/luci-static/resources/view/fchomo/node.js:2390
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:402
msgid "Size limit"
msgstr "大小限制"
+#: htdocs/luci-static/resources/fchomo.js:1480
#: htdocs/luci-static/resources/view/fchomo/client.js:1675
-#: htdocs/luci-static/resources/view/fchomo/node.js:1555
-#: htdocs/luci-static/resources/view/fchomo/node.js:2601
+#: htdocs/luci-static/resources/view/fchomo/node.js:1519
+#: htdocs/luci-static/resources/view/fchomo/node.js:2565
msgid "Skip cert verify"
msgstr "跳过证书验证"
@@ -3485,7 +3494,7 @@ msgstr "已成功导入 %s 个%s (共 %s 个)。"
msgid "Successfully updated."
msgstr "更新成功。"
-#: htdocs/luci-static/resources/fchomo.js:1934
+#: htdocs/luci-static/resources/fchomo.js:2020
msgid "Successfully uploaded."
msgstr "已成功上传。"
@@ -3543,7 +3552,7 @@ msgstr "TCP 并发"
msgid "TCP idle timeout"
msgstr "TCP 闲置超时"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2152
+#: htdocs/luci-static/resources/view/fchomo/node.js:2116
msgid "TCP only"
msgstr "仅 TCP"
@@ -3571,8 +3580,8 @@ msgstr "TCP-Keep-Alive 间隔"
msgid "TCP/UDP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2183
-#: htdocs/luci-static/resources/view/fchomo/node.js:2562
+#: htdocs/luci-static/resources/view/fchomo/node.js:2147
+#: htdocs/luci-static/resources/view/fchomo/node.js:2526
msgid "TFO"
msgstr "TCP 快速打开 (TFO)"
@@ -3585,20 +3594,22 @@ msgid "TLD DNS zone used by MagicDNS, default is %s."
msgstr "MagicDNS 使用的 TLD DNS 区域,默认为 %s。"
#: htdocs/luci-static/resources/fchomo/listeners.js:718
-#: htdocs/luci-static/resources/fchomo/listeners.js:1038
+#: htdocs/luci-static/resources/fchomo/listeners.js:1026
#: htdocs/luci-static/resources/view/fchomo/global.js:558
#: htdocs/luci-static/resources/view/fchomo/node.js:472
#: htdocs/luci-static/resources/view/fchomo/node.js:1308
-#: htdocs/luci-static/resources/view/fchomo/node.js:1458
+#: htdocs/luci-static/resources/view/fchomo/node.js:1429
msgid "TLS"
msgstr "TLS"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1079
-#: htdocs/luci-static/resources/view/fchomo/node.js:1489
+#: htdocs/luci-static/resources/fchomo.js:1462
+#: htdocs/luci-static/resources/fchomo/listeners.js:1067
+#: htdocs/luci-static/resources/view/fchomo/node.js:1460
msgid "TLS ALPN"
msgstr "TLS ALPN"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1483
+#: htdocs/luci-static/resources/fchomo.js:1457
+#: htdocs/luci-static/resources/view/fchomo/node.js:1454
msgid "TLS SNI"
msgstr ""
@@ -3630,29 +3641,31 @@ msgid ""
"Tell the client to use the BBR flow control algorithm instead of Hysteria CC."
msgstr "让客户端使用 BBR 流控算法。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1793
+#: htdocs/luci-static/resources/view/fchomo/node.js:1757
+#: htdocs/luci-static/resources/view/fchomo/node.js:1766
+#: htdocs/luci-static/resources/view/fchomo/node.js:1770
+#: htdocs/luci-static/resources/view/fchomo/node.js:1783
+#: htdocs/luci-static/resources/view/fchomo/node.js:1790
+#: htdocs/luci-static/resources/view/fchomo/node.js:1798
#: htdocs/luci-static/resources/view/fchomo/node.js:1802
-#: htdocs/luci-static/resources/view/fchomo/node.js:1806
-#: htdocs/luci-static/resources/view/fchomo/node.js:1819
-#: htdocs/luci-static/resources/view/fchomo/node.js:1826
-#: htdocs/luci-static/resources/view/fchomo/node.js:1834
-#: htdocs/luci-static/resources/view/fchomo/node.js:1838
msgid "The %s address used by local machine in the %s network."
msgstr "本机 %s 地址,用于在 %s 网络中使用。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1158
-#: htdocs/luci-static/resources/view/fchomo/node.js:1578
+#: htdocs/luci-static/resources/fchomo.js:1495
+#: htdocs/luci-static/resources/fchomo/listeners.js:1146
+#: htdocs/luci-static/resources/view/fchomo/node.js:1542
msgid "The %s private key, in PEM format."
msgstr "%s私钥,需要 PEM 格式。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1128
-#: htdocs/luci-static/resources/fchomo/listeners.js:1181
+#: htdocs/luci-static/resources/fchomo.js:1489
+#: htdocs/luci-static/resources/fchomo/listeners.js:1116
+#: htdocs/luci-static/resources/fchomo/listeners.js:1169
#: htdocs/luci-static/resources/view/fchomo/global.js:579
-#: htdocs/luci-static/resources/view/fchomo/node.js:1564
+#: htdocs/luci-static/resources/view/fchomo/node.js:1528
msgid "The %s public key, in PEM format."
msgstr "%s公钥,需要 PEM 格式。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1598
+#: htdocs/luci-static/resources/view/fchomo/node.js:1562
msgid ""
"The ECH parameter of the HTTPS record for the domain. Leave empty to resolve "
"via DNS."
@@ -3700,19 +3713,24 @@ msgstr "匹配 %s 的将被视为已被投毒污染。"
msgid "The proxy used to connect to the handshake target."
msgstr "用于连接握手目标的代理。"
+#: htdocs/luci-static/resources/fchomo/listeners.js:1010
+msgid "The proxy used to connect to the rendezvous server."
+msgstr "用于连接牵线服务器的代理。"
+
#: htdocs/luci-static/resources/fchomo/listeners.js:880
#: htdocs/luci-static/resources/view/fchomo/node.js:1403
msgid "The server and client can set different padding parameters."
msgstr "服务器和客户端可以设置不同的填充参数。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1239
+#: htdocs/luci-static/resources/fchomo/listeners.js:1227
#: htdocs/luci-static/resources/view/fchomo/global.js:623
msgid "This ECH parameter needs to be added to the HTTPS record of the domain."
msgstr "此 ECH 参数需要添加到域名的 HTTPS 记录中。"
+#: htdocs/luci-static/resources/fchomo.js:1483
#: htdocs/luci-static/resources/view/fchomo/client.js:1678
-#: htdocs/luci-static/resources/view/fchomo/node.js:1558
-#: htdocs/luci-static/resources/view/fchomo/node.js:2604
+#: htdocs/luci-static/resources/view/fchomo/node.js:1522
+#: htdocs/luci-static/resources/view/fchomo/node.js:2568
msgid ""
"This is DANGEROUS, your traffic is almost like "
"PLAIN TEXT! Use at your own risk!"
@@ -3756,18 +3774,18 @@ msgstr "Tproxy 端口"
msgid "Traffic pattern"
msgstr "流量模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2798
+#: htdocs/luci-static/resources/view/fchomo/node.js:2762
msgid "Transit proxy group"
msgstr "中转代理组"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2809
+#: htdocs/luci-static/resources/view/fchomo/node.js:2773
msgid "Transit proxy node"
msgstr "中转代理节点"
#: htdocs/luci-static/resources/fchomo/listeners.js:194
-#: htdocs/luci-static/resources/fchomo/listeners.js:1309
+#: htdocs/luci-static/resources/fchomo/listeners.js:1297
#: htdocs/luci-static/resources/view/fchomo/node.js:363
-#: htdocs/luci-static/resources/view/fchomo/node.js:1911
+#: htdocs/luci-static/resources/view/fchomo/node.js:1875
msgid "Transport"
msgstr "传输层"
@@ -3776,8 +3794,8 @@ msgstr "传输层"
msgid "Transport fields"
msgstr "传输层字段"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1314
-#: htdocs/luci-static/resources/view/fchomo/node.js:1916
+#: htdocs/luci-static/resources/fchomo/listeners.js:1302
+#: htdocs/luci-static/resources/view/fchomo/node.js:1880
msgid "Transport type"
msgstr "传输层类型"
@@ -3830,8 +3848,8 @@ msgstr "关闭 TCP 中继。"
#: htdocs/luci-static/resources/view/fchomo/client.js:871
#: htdocs/luci-static/resources/view/fchomo/client.js:1069
#: htdocs/luci-static/resources/view/fchomo/node.js:271
-#: htdocs/luci-static/resources/view/fchomo/node.js:2363
-#: htdocs/luci-static/resources/view/fchomo/node.js:2759
+#: htdocs/luci-static/resources/view/fchomo/node.js:2327
+#: htdocs/luci-static/resources/view/fchomo/node.js:2723
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:296
msgid "Type"
msgstr "类型"
@@ -3850,7 +3868,7 @@ msgstr "类型"
#: htdocs/luci-static/resources/fchomo/listeners.js:676
#: htdocs/luci-static/resources/view/fchomo/client.js:617
#: htdocs/luci-static/resources/view/fchomo/client.js:706
-#: htdocs/luci-static/resources/view/fchomo/node.js:2572
+#: htdocs/luci-static/resources/view/fchomo/node.js:2536
msgid "UDP"
msgstr "UDP"
@@ -3894,7 +3912,7 @@ msgstr "自动选择"
msgid "UUID"
msgstr "UUID"
-#: htdocs/luci-static/resources/fchomo.js:1443
+#: htdocs/luci-static/resources/fchomo.js:1521
msgid "Unable to download unsupported type: %s"
msgstr "无法下载不支持的类型: %s"
@@ -3920,7 +3938,7 @@ msgid "Unknown error: %s"
msgstr "未知错误:%s"
#: htdocs/luci-static/resources/view/fchomo/node.js:1256
-#: htdocs/luci-static/resources/view/fchomo/node.js:2577
+#: htdocs/luci-static/resources/view/fchomo/node.js:2541
msgid "UoT"
msgstr "UDP over TCP (UoT)"
@@ -3928,24 +3946,24 @@ msgstr "UDP over TCP (UoT)"
msgid "Update failed."
msgstr "更新失败。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2432
+#: htdocs/luci-static/resources/view/fchomo/node.js:2396
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:408
msgid "Update interval"
msgstr "更新间隔"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1411
-#: htdocs/luci-static/resources/view/fchomo/node.js:2170
+#: htdocs/luci-static/resources/fchomo/listeners.js:1399
+#: htdocs/luci-static/resources/view/fchomo/node.js:2134
msgid "Upload bandwidth"
msgstr "上传带宽"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1412
-#: htdocs/luci-static/resources/view/fchomo/node.js:2171
+#: htdocs/luci-static/resources/fchomo/listeners.js:1400
+#: htdocs/luci-static/resources/view/fchomo/node.js:2135
msgid "Upload bandwidth in Mbps."
msgstr "上传带宽(单位:Mbps)。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1149
-#: htdocs/luci-static/resources/fchomo/listeners.js:1189
-#: htdocs/luci-static/resources/view/fchomo/node.js:1569
+#: htdocs/luci-static/resources/fchomo/listeners.js:1137
+#: htdocs/luci-static/resources/fchomo/listeners.js:1177
+#: htdocs/luci-static/resources/view/fchomo/node.js:1533
msgid "Upload certificate"
msgstr "上传证书"
@@ -3953,25 +3971,25 @@ msgstr "上传证书"
msgid "Upload initial package"
msgstr "上传初始资源包"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1164
-#: htdocs/luci-static/resources/view/fchomo/node.js:1583
+#: htdocs/luci-static/resources/fchomo/listeners.js:1152
+#: htdocs/luci-static/resources/view/fchomo/node.js:1547
msgid "Upload key"
msgstr "上传密钥"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1152
-#: htdocs/luci-static/resources/fchomo/listeners.js:1167
-#: htdocs/luci-static/resources/fchomo/listeners.js:1192
+#: htdocs/luci-static/resources/fchomo/listeners.js:1140
+#: htdocs/luci-static/resources/fchomo/listeners.js:1155
+#: htdocs/luci-static/resources/fchomo/listeners.js:1180
#: htdocs/luci-static/resources/view/fchomo/global.js:306
-#: htdocs/luci-static/resources/view/fchomo/node.js:1572
-#: htdocs/luci-static/resources/view/fchomo/node.js:1586
+#: htdocs/luci-static/resources/view/fchomo/node.js:1536
+#: htdocs/luci-static/resources/view/fchomo/node.js:1550
msgid "Upload..."
msgstr "上传..."
-#: htdocs/luci-static/resources/view/fchomo/node.js:1849
+#: htdocs/luci-static/resources/view/fchomo/node.js:1813
msgid "Use DHCP"
msgstr "使用 DHCP"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1850
+#: htdocs/luci-static/resources/view/fchomo/node.js:1814
msgid "Use DHCP to obtain IP address."
msgstr "使用 DHCP 获取 IP 地址。"
@@ -4017,8 +4035,9 @@ msgstr "用于解析 DNS 服务器的域名。必须是 IP。"
msgid "Used to resolve the domain of the Proxy node."
msgstr "用于解析代理节点的域名。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1550
-#: htdocs/luci-static/resources/view/fchomo/node.js:2596
+#: htdocs/luci-static/resources/fchomo.js:1475
+#: htdocs/luci-static/resources/view/fchomo/node.js:1514
+#: htdocs/luci-static/resources/view/fchomo/node.js:2560
msgid "Used to verify the hostname on the returned certificates."
msgstr "用于验证返回的证书上的主机名。"
@@ -4053,11 +4072,11 @@ msgstr "UDP 直连失败后使用中继。"
msgid "Using this in conjunction with %s is recommended."
msgstr "建议与 %s 结合使用。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2027
+#: htdocs/luci-static/resources/view/fchomo/node.js:1991
msgid "V2ray HTTPUpgrade"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2032
+#: htdocs/luci-static/resources/view/fchomo/node.js:1996
msgid "V2ray HTTPUpgrade fast open"
msgstr ""
@@ -4071,9 +4090,9 @@ msgstr ""
msgid "VMess"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1793
-#: htdocs/luci-static/resources/view/fchomo/node.js:1819
-#: htdocs/luci-static/resources/view/fchomo/node.js:1826
+#: htdocs/luci-static/resources/view/fchomo/node.js:1757
+#: htdocs/luci-static/resources/view/fchomo/node.js:1783
+#: htdocs/luci-static/resources/view/fchomo/node.js:1790
msgid "VPN"
msgstr ""
@@ -4085,8 +4104,8 @@ msgstr "VPN 字段"
msgid "Valid 16-digit Moon World ID and 10-digit Node ID of Moon Root server."
msgstr "有效的 16-位数 Moon World ID 和 10-位数 Moon Root 服务器 Node ID。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2369
-#: htdocs/luci-static/resources/view/fchomo/node.js:2765
+#: htdocs/luci-static/resources/view/fchomo/node.js:2333
+#: htdocs/luci-static/resources/view/fchomo/node.js:2729
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:339
msgid "Value"
msgstr "可视化值"
@@ -4111,16 +4130,16 @@ msgid "Version hint"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1116
-#: htdocs/luci-static/resources/view/fchomo/node.js:1818
-#: htdocs/luci-static/resources/view/fchomo/node.js:1851
+#: htdocs/luci-static/resources/view/fchomo/node.js:1782
+#: htdocs/luci-static/resources/view/fchomo/node.js:1815
msgid "Virtual IPv4 address"
msgstr "虚拟 IPv4 地址"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1825
+#: htdocs/luci-static/resources/view/fchomo/node.js:1789
msgid "Virtual IPv6 address"
msgstr "虚拟 IPv6 地址"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1792
+#: htdocs/luci-static/resources/view/fchomo/node.js:1756
msgid "Virtual address"
msgstr "虚拟地址"
@@ -4138,15 +4157,15 @@ msgid "Warning"
msgstr "警告"
#: htdocs/luci-static/resources/fchomo/listeners.js:377
-#: htdocs/luci-static/resources/fchomo/listeners.js:1316
-#: htdocs/luci-static/resources/fchomo/listeners.js:1327
-#: htdocs/luci-static/resources/fchomo/listeners.js:1334
+#: htdocs/luci-static/resources/fchomo/listeners.js:1304
+#: htdocs/luci-static/resources/fchomo/listeners.js:1315
+#: htdocs/luci-static/resources/fchomo/listeners.js:1322
#: htdocs/luci-static/resources/view/fchomo/node.js:468
#: htdocs/luci-static/resources/view/fchomo/node.js:497
-#: htdocs/luci-static/resources/view/fchomo/node.js:1921
-#: htdocs/luci-static/resources/view/fchomo/node.js:1934
-#: htdocs/luci-static/resources/view/fchomo/node.js:1941
-#: htdocs/luci-static/resources/view/fchomo/node.js:1947
+#: htdocs/luci-static/resources/view/fchomo/node.js:1885
+#: htdocs/luci-static/resources/view/fchomo/node.js:1898
+#: htdocs/luci-static/resources/view/fchomo/node.js:1905
+#: htdocs/luci-static/resources/view/fchomo/node.js:1911
msgid "WebSocket"
msgstr ""
@@ -4182,33 +4201,33 @@ msgstr "WireGuard 预共享密钥。"
msgid "WireGuard requires base64-encoded private keys."
msgstr "WireGuard 要求 base64 编码的私钥。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1803
-#: htdocs/luci-static/resources/view/fchomo/node.js:1835
+#: htdocs/luci-static/resources/view/fchomo/node.js:1767
+#: htdocs/luci-static/resources/view/fchomo/node.js:1799
msgid "Wireguard"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1317
-#: htdocs/luci-static/resources/fchomo/listeners.js:1328
-#: htdocs/luci-static/resources/view/fchomo/node.js:1922
-#: htdocs/luci-static/resources/view/fchomo/node.js:1942
+#: htdocs/luci-static/resources/fchomo/listeners.js:1305
+#: htdocs/luci-static/resources/fchomo/listeners.js:1316
+#: htdocs/luci-static/resources/view/fchomo/node.js:1886
+#: htdocs/luci-static/resources/view/fchomo/node.js:1906
msgid "XHTTP"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1364
-#: htdocs/luci-static/resources/view/fchomo/node.js:2037
+#: htdocs/luci-static/resources/fchomo/listeners.js:1352
+#: htdocs/luci-static/resources/view/fchomo/node.js:2001
msgid "XHTTP mode"
msgstr "XHTTP 模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2068
+#: htdocs/luci-static/resources/view/fchomo/node.js:2032
msgid "XMUX"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2073
-#: htdocs/luci-static/resources/view/fchomo/node.js:2078
-#: htdocs/luci-static/resources/view/fchomo/node.js:2083
-#: htdocs/luci-static/resources/view/fchomo/node.js:2088
-#: htdocs/luci-static/resources/view/fchomo/node.js:2093
-#: htdocs/luci-static/resources/view/fchomo/node.js:2098
+#: htdocs/luci-static/resources/view/fchomo/node.js:2037
+#: htdocs/luci-static/resources/view/fchomo/node.js:2042
+#: htdocs/luci-static/resources/view/fchomo/node.js:2047
+#: htdocs/luci-static/resources/view/fchomo/node.js:2052
+#: htdocs/luci-static/resources/view/fchomo/node.js:2057
+#: htdocs/luci-static/resources/view/fchomo/node.js:2062
msgid "XMUX:"
msgstr ""
@@ -4224,7 +4243,7 @@ msgstr ""
msgid "Yaml text"
msgstr "Yaml 格式文本"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2607
+#: htdocs/luci-static/resources/view/fchomo/node.js:2571
msgid "Yes"
msgstr ""
@@ -4237,7 +4256,7 @@ msgstr "您可以将 %s 添加到 %s 中,以解析虚拟网络内的 A/PTR 记
msgid "YouTube"
msgstr "油管"
-#: htdocs/luci-static/resources/fchomo.js:1916
+#: htdocs/luci-static/resources/fchomo.js:2002
msgid "Your %s was successfully uploaded. Size: %sB."
msgstr "您的 %s 已成功上传。大小:%sB。"
@@ -4273,11 +4292,11 @@ msgstr ""
msgid "aes-gcm-256"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2454
+#: htdocs/luci-static/resources/view/fchomo/node.js:2418
msgid "age private key"
msgstr "age 私钥"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2515
+#: htdocs/luci-static/resources/view/fchomo/node.js:2479
msgid "age public key"
msgstr "age 公钥"
@@ -4302,9 +4321,9 @@ msgstr "bbr"
msgid "bbr3"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1154
-#: htdocs/luci-static/resources/fchomo/listeners.js:1194
-#: htdocs/luci-static/resources/view/fchomo/node.js:1574
+#: htdocs/luci-static/resources/fchomo/listeners.js:1142
+#: htdocs/luci-static/resources/fchomo/listeners.js:1182
+#: htdocs/luci-static/resources/view/fchomo/node.js:1538
msgid "certificate"
msgstr "证书"
@@ -4336,7 +4355,7 @@ msgstr "decryption"
msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)"
msgstr "dnsmasq 自行选择上游服务器。 (可能影响 CDN 准确性)"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2589
+#: htdocs/luci-static/resources/view/fchomo/node.js:2553
msgid "down"
msgstr "Hysteria 下载速率"
@@ -4351,26 +4370,26 @@ msgstr "encryption"
msgid "false = bandwidth optimized downlink; true = pure Sudoku downlink."
msgstr "false = 带宽优化下行 true = 纯 Sudoku 下行。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1315
-#: htdocs/luci-static/resources/fchomo/listeners.js:1326
-#: htdocs/luci-static/resources/fchomo/listeners.js:1333
-#: htdocs/luci-static/resources/view/fchomo/node.js:1920
-#: htdocs/luci-static/resources/view/fchomo/node.js:1933
-#: htdocs/luci-static/resources/view/fchomo/node.js:1940
-#: htdocs/luci-static/resources/view/fchomo/node.js:1946
+#: htdocs/luci-static/resources/fchomo/listeners.js:1303
+#: htdocs/luci-static/resources/fchomo/listeners.js:1314
+#: htdocs/luci-static/resources/fchomo/listeners.js:1321
+#: htdocs/luci-static/resources/view/fchomo/node.js:1884
+#: htdocs/luci-static/resources/view/fchomo/node.js:1897
+#: htdocs/luci-static/resources/view/fchomo/node.js:1904
+#: htdocs/luci-static/resources/view/fchomo/node.js:1910
msgid "gRPC"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2003
+#: htdocs/luci-static/resources/view/fchomo/node.js:1967
msgid "gRPC User-Agent"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2008
+#: htdocs/luci-static/resources/view/fchomo/node.js:1972
msgid "gRPC ping interval"
msgstr "gRPC ping 间隔"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1358
-#: htdocs/luci-static/resources/view/fchomo/node.js:1999
+#: htdocs/luci-static/resources/fchomo/listeners.js:1346
+#: htdocs/luci-static/resources/view/fchomo/node.js:1963
msgid "gRPC service name"
msgstr "gRPC 服务名称"
@@ -4383,7 +4402,7 @@ msgstr "gVisor"
msgid "h2"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2115
+#: htdocs/luci-static/resources/view/fchomo/node.js:2079
msgid "h2mux"
msgstr ""
@@ -4399,7 +4418,7 @@ msgstr ""
msgid "least one keypair required"
msgstr "至少需要一对密钥"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2730
+#: htdocs/luci-static/resources/view/fchomo/node.js:2694
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:444
msgid "luci-app-tinyfilemanager is not installed, please install it first."
msgstr "luci-app-tinyfilemanager 未安装,请先安装它。"
@@ -4419,7 +4438,7 @@ msgstr "mihomo IP 协议栈(MIPS)"
#: htdocs/luci-static/resources/view/fchomo/client.js:1576
#: htdocs/luci-static/resources/view/fchomo/client.js:1810
#: htdocs/luci-static/resources/view/fchomo/client.js:1866
-#: htdocs/luci-static/resources/view/fchomo/node.js:2335
+#: htdocs/luci-static/resources/view/fchomo/node.js:2299
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:258
msgid "mihomo config"
msgstr "mihomo 配置"
@@ -4428,8 +4447,8 @@ msgstr "mihomo 配置"
msgid "mlkem768x25519plus"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2188
-#: htdocs/luci-static/resources/view/fchomo/node.js:2567
+#: htdocs/luci-static/resources/view/fchomo/node.js:2152
+#: htdocs/luci-static/resources/view/fchomo/node.js:2531
msgid "mpTCP"
msgstr "多路径 TCP (mpTCP)"
@@ -4441,10 +4460,10 @@ msgstr "new_reno"
msgid "no-resolve"
msgstr "no-resolve"
-#: htdocs/luci-static/resources/fchomo.js:1639
-#: htdocs/luci-static/resources/fchomo.js:1746
-#: htdocs/luci-static/resources/fchomo.js:1781
-#: htdocs/luci-static/resources/fchomo.js:1809
+#: htdocs/luci-static/resources/fchomo.js:1717
+#: htdocs/luci-static/resources/fchomo.js:1832
+#: htdocs/luci-static/resources/fchomo.js:1867
+#: htdocs/luci-static/resources/fchomo.js:1895
msgid "non-empty value"
msgstr "非空值"
@@ -4498,11 +4517,11 @@ msgstr ""
msgid "openssl-chacha20"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2548
+#: htdocs/luci-static/resources/view/fchomo/node.js:2512
msgid "override.override-expr"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2540
+#: htdocs/luci-static/resources/view/fchomo/node.js:2504
msgid "override.proxy-name"
msgstr ""
@@ -4510,8 +4529,8 @@ msgstr ""
msgid "packet addr (v2ray-core v5+)"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1368
-#: htdocs/luci-static/resources/view/fchomo/node.js:2041
+#: htdocs/luci-static/resources/fchomo/listeners.js:1356
+#: htdocs/luci-static/resources/view/fchomo/node.js:2005
msgid "packet-up"
msgstr ""
@@ -4520,8 +4539,8 @@ msgstr ""
msgid "poll"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1169
-#: htdocs/luci-static/resources/view/fchomo/node.js:1588
+#: htdocs/luci-static/resources/fchomo/listeners.js:1157
+#: htdocs/luci-static/resources/view/fchomo/node.js:1552
msgid "private key"
msgstr "私钥"
@@ -4542,7 +4561,7 @@ msgstr "需要使用 API 的前端适配。"
msgid "rule-set"
msgstr "规则集"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2113
+#: htdocs/luci-static/resources/view/fchomo/node.js:2077
msgid "smux"
msgstr ""
@@ -4555,17 +4574,17 @@ msgstr ""
msgid "src"
msgstr "src"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1366
-#: htdocs/luci-static/resources/view/fchomo/node.js:2039
+#: htdocs/luci-static/resources/fchomo/listeners.js:1354
+#: htdocs/luci-static/resources/view/fchomo/node.js:2003
msgid "stream-one"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1367
-#: htdocs/luci-static/resources/view/fchomo/node.js:2040
+#: htdocs/luci-static/resources/fchomo/listeners.js:1355
+#: htdocs/luci-static/resources/view/fchomo/node.js:2004
msgid "stream-up"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1383
+#: htdocs/luci-static/resources/fchomo/listeners.js:1371
msgid "stream-up server seconds"
msgstr ""
@@ -4597,11 +4616,11 @@ msgstr "独立 UCI 标识"
msgid "unique identifier"
msgstr "独立标识"
-#: htdocs/luci-static/resources/fchomo.js:1818
+#: htdocs/luci-static/resources/fchomo.js:1904
msgid "unique value"
msgstr "独立值"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2583
+#: htdocs/luci-static/resources/view/fchomo/node.js:2547
msgid "up"
msgstr "Hysteria 上传速率"
@@ -4639,42 +4658,42 @@ msgstr ""
msgid "v5"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1686
-#: htdocs/luci-static/resources/fchomo.js:1689
+#: htdocs/luci-static/resources/fchomo.js:1764
+#: htdocs/luci-static/resources/fchomo.js:1767
msgid "valid JSON format"
msgstr "有效的 JSON 格式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1542
+#: htdocs/luci-static/resources/fchomo.js:1823
msgid "valid SHA256 string with %d characters"
msgstr "包含 %d 个字符的有效 SHA256 字符串"
-#: htdocs/luci-static/resources/fchomo.js:1711
-#: htdocs/luci-static/resources/fchomo.js:1714
+#: htdocs/luci-static/resources/fchomo.js:1789
+#: htdocs/luci-static/resources/fchomo.js:1792
msgid "valid URL"
msgstr "有效网址"
-#: htdocs/luci-static/resources/fchomo.js:1736
+#: htdocs/luci-static/resources/fchomo.js:1814
msgid "valid base64 key with %d characters"
msgstr "包含 %d 个字符的有效 base64 密钥"
-#: htdocs/luci-static/resources/fchomo.js:1796
-#: htdocs/luci-static/resources/fchomo.js:1802
+#: htdocs/luci-static/resources/fchomo.js:1882
+#: htdocs/luci-static/resources/fchomo.js:1888
msgid "valid format: 2x, 2p, 4v"
msgstr "有效格式: 2x, 2p, 4v"
-#: htdocs/luci-static/resources/fchomo.js:1727
+#: htdocs/luci-static/resources/fchomo.js:1805
msgid "valid hex string with %d characters"
msgstr "包含 %d 个字符的有效 Hex 字符串"
-#: htdocs/luci-static/resources/fchomo.js:1783
+#: htdocs/luci-static/resources/fchomo.js:1869
msgid "valid key length with %d characters"
msgstr "包含 %d 个字符的有效密钥"
-#: htdocs/luci-static/resources/fchomo.js:1649
+#: htdocs/luci-static/resources/fchomo.js:1727
msgid "valid port value"
msgstr "有效端口值"
-#: htdocs/luci-static/resources/fchomo.js:1699
+#: htdocs/luci-static/resources/fchomo.js:1777
msgid "valid uuid"
msgstr "有效 uuid"
@@ -4698,7 +4717,7 @@ msgstr ""
msgid "yacd-meta"
msgstr "yacd-meta"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2114
+#: htdocs/luci-static/resources/view/fchomo/node.js:2078
msgid "yamux"
msgstr ""
@@ -4710,10 +4729,10 @@ msgstr ""
msgid "zero"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1466
+#: htdocs/luci-static/resources/fchomo.js:1544
msgid "🔗"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1445
+#: htdocs/luci-static/resources/fchomo.js:1523
msgid "🡇"
msgstr ""
diff --git a/luci-app-fchomo/po/zh_Hant/fchomo.po b/luci-app-fchomo/po/zh_Hant/fchomo.po
index f0fc10c56..5b17f10f8 100644
--- a/luci-app-fchomo/po/zh_Hant/fchomo.po
+++ b/luci-app-fchomo/po/zh_Hant/fchomo.po
@@ -12,8 +12,8 @@ msgstr ""
msgid "%s Hostname"
msgstr "%s 主機名稱"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1722
-#: htdocs/luci-static/resources/view/fchomo/node.js:1732
+#: htdocs/luci-static/resources/view/fchomo/node.js:1686
+#: htdocs/luci-static/resources/view/fchomo/node.js:1696
msgid "%s UDP port. 0 selects an available port."
msgstr "%s UDP 連接埠。 0 自動選擇一個可用連接埠。"
@@ -40,15 +40,17 @@ msgstr "%s 連接埠"
msgid "(Imported)"
msgstr "(已導入)"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1172
-#: htdocs/luci-static/resources/fchomo/listeners.js:1180
-#: htdocs/luci-static/resources/fchomo/listeners.js:1189
+#: htdocs/luci-static/resources/fchomo.js:1488
+#: htdocs/luci-static/resources/fchomo.js:1494
+#: htdocs/luci-static/resources/fchomo/listeners.js:1160
+#: htdocs/luci-static/resources/fchomo/listeners.js:1168
+#: htdocs/luci-static/resources/fchomo/listeners.js:1177
#: htdocs/luci-static/resources/view/fchomo/global.js:572
#: htdocs/luci-static/resources/view/fchomo/global.js:578
-#: htdocs/luci-static/resources/view/fchomo/node.js:1563
-#: htdocs/luci-static/resources/view/fchomo/node.js:1569
-#: htdocs/luci-static/resources/view/fchomo/node.js:1577
-#: htdocs/luci-static/resources/view/fchomo/node.js:1583
+#: htdocs/luci-static/resources/view/fchomo/node.js:1527
+#: htdocs/luci-static/resources/view/fchomo/node.js:1533
+#: htdocs/luci-static/resources/view/fchomo/node.js:1541
+#: htdocs/luci-static/resources/view/fchomo/node.js:1547
msgid "(mTLS)"
msgstr ""
@@ -70,10 +72,10 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1113
#: htdocs/luci-static/resources/view/fchomo/client.js:1369
#: htdocs/luci-static/resources/view/fchomo/node.js:305
-#: htdocs/luci-static/resources/view/fchomo/node.js:2771
-#: htdocs/luci-static/resources/view/fchomo/node.js:2782
-#: htdocs/luci-static/resources/view/fchomo/node.js:2801
-#: htdocs/luci-static/resources/view/fchomo/node.js:2812
+#: htdocs/luci-static/resources/view/fchomo/node.js:2735
+#: htdocs/luci-static/resources/view/fchomo/node.js:2746
+#: htdocs/luci-static/resources/view/fchomo/node.js:2765
+#: htdocs/luci-static/resources/view/fchomo/node.js:2776
msgid "-- Please choose --"
msgstr "-- 請選擇 --"
@@ -102,7 +104,7 @@ msgstr ""
msgid "2022-blake3-chacha20-poly1305"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1733
+#: htdocs/luci-static/resources/view/fchomo/node.js:1697
msgid "-1 disables it."
msgstr "-1 表示停用它。"
@@ -110,11 +112,11 @@ msgstr "-1 表示停用它。"
msgid "0 or 1 only."
msgstr "僅限 0 或 1。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1150
-#: htdocs/luci-static/resources/fchomo/listeners.js:1165
-#: htdocs/luci-static/resources/fchomo/listeners.js:1190
-#: htdocs/luci-static/resources/view/fchomo/node.js:1570
-#: htdocs/luci-static/resources/view/fchomo/node.js:1584
+#: htdocs/luci-static/resources/fchomo/listeners.js:1138
+#: htdocs/luci-static/resources/fchomo/listeners.js:1153
+#: htdocs/luci-static/resources/fchomo/listeners.js:1178
+#: htdocs/luci-static/resources/view/fchomo/node.js:1534
+#: htdocs/luci-static/resources/view/fchomo/node.js:1548
msgid "Save your configuration before uploading files!"
msgstr "上傳文件前請先保存配置!"
@@ -218,11 +220,11 @@ msgstr "新增 節點"
msgid "Add a inbound"
msgstr "新增 入站"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2232
+#: htdocs/luci-static/resources/view/fchomo/node.js:2196
msgid "Add a provider"
msgstr "新增 供應商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2745
+#: htdocs/luci-static/resources/view/fchomo/node.js:2709
msgid "Add a proxy chain"
msgstr "新增 代理鏈"
@@ -246,11 +248,11 @@ msgstr "新增 伺服器"
msgid "Add a sub rule"
msgstr "新增 子規則"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2529
+#: htdocs/luci-static/resources/view/fchomo/node.js:2493
msgid "Add prefix"
msgstr "添加前綴"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2533
+#: htdocs/luci-static/resources/view/fchomo/node.js:2497
msgid "Add suffix"
msgstr "添加後綴"
@@ -307,7 +309,7 @@ msgstr ""
msgid "Allow access to the local LAN via the exit node."
msgstr "允許透過出口節點存取本地區域網路。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1073
+#: htdocs/luci-static/resources/fchomo/listeners.js:1061
msgid "Allow insecure connections"
msgstr "允許不安全的連線"
@@ -371,22 +373,22 @@ msgid "Authentication key"
msgstr "認證金鑰"
#: htdocs/luci-static/resources/fchomo/listeners.js:376
-#: htdocs/luci-static/resources/fchomo/listeners.js:1365
+#: htdocs/luci-static/resources/fchomo/listeners.js:1353
#: htdocs/luci-static/resources/view/fchomo/global.js:423
#: htdocs/luci-static/resources/view/fchomo/node.js:467
#: htdocs/luci-static/resources/view/fchomo/node.js:491
#: htdocs/luci-static/resources/view/fchomo/node.js:850
#: htdocs/luci-static/resources/view/fchomo/node.js:1202
-#: htdocs/luci-static/resources/view/fchomo/node.js:2038
+#: htdocs/luci-static/resources/view/fchomo/node.js:2002
msgid "Auto"
msgstr "自動"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1851
+#: htdocs/luci-static/resources/view/fchomo/node.js:1815
msgid "Auto Enable when %s is empty."
msgstr "當 %s 為空時自動啟用。"
#: htdocs/luci-static/resources/fchomo/listeners.js:139
-#: htdocs/luci-static/resources/view/fchomo/node.js:1654
+#: htdocs/luci-static/resources/view/fchomo/node.js:1618
msgid "Auto configure firewall"
msgstr "自動配置防火牆"
@@ -441,13 +443,13 @@ msgid "Binary mrs"
msgstr "二進位 mrs"
#: htdocs/luci-static/resources/view/fchomo/global.js:766
-#: htdocs/luci-static/resources/view/fchomo/node.js:2199
-#: htdocs/luci-static/resources/view/fchomo/node.js:2618
+#: htdocs/luci-static/resources/view/fchomo/node.js:2163
+#: htdocs/luci-static/resources/view/fchomo/node.js:2582
msgid "Bind interface"
msgstr "綁定介面"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2200
-#: htdocs/luci-static/resources/view/fchomo/node.js:2619
+#: htdocs/luci-static/resources/view/fchomo/node.js:2164
+#: htdocs/luci-static/resources/view/fchomo/node.js:2583
msgid "Bind outbound interface."
msgstr "綁定出站介面。"
@@ -516,17 +518,20 @@ msgstr "CORS 允許的來源,留空則使用 *。"
msgid "Cancel"
msgstr "取消"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1536
+#: htdocs/luci-static/resources/fchomo.js:1468
+#: htdocs/luci-static/resources/view/fchomo/node.js:1507
msgid "Cert fingerprint"
msgstr "憑證指紋"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1537
+#: htdocs/luci-static/resources/fchomo.js:1469
+#: htdocs/luci-static/resources/view/fchomo/node.js:1508
msgid ""
"Certificate fingerprint. Used to implement SSL Pinning and prevent MitM."
msgstr "憑證指紋。用於實現 SSL憑證固定 並防止 MitM。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1127
-#: htdocs/luci-static/resources/view/fchomo/node.js:1563
+#: htdocs/luci-static/resources/fchomo.js:1488
+#: htdocs/luci-static/resources/fchomo/listeners.js:1115
+#: htdocs/luci-static/resources/view/fchomo/node.js:1527
msgid "Certificate path"
msgstr "憑證路徑"
@@ -587,25 +592,27 @@ msgstr ""
"點擊此處下載"
"最新的初始包。"
+#: htdocs/luci-static/resources/fchomo.js:1489
+#: htdocs/luci-static/resources/fchomo.js:1495
#: htdocs/luci-static/resources/fchomo/listeners.js:869
-#: htdocs/luci-static/resources/fchomo/listeners.js:1181
+#: htdocs/luci-static/resources/fchomo/listeners.js:1169
#: htdocs/luci-static/resources/view/fchomo/global.js:579
#: htdocs/luci-static/resources/view/fchomo/node.js:1392
-#: htdocs/luci-static/resources/view/fchomo/node.js:1564
-#: htdocs/luci-static/resources/view/fchomo/node.js:1578
+#: htdocs/luci-static/resources/view/fchomo/node.js:1528
+#: htdocs/luci-static/resources/view/fchomo/node.js:1542
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:22
msgid "Client"
msgstr "客戶端"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1180
+#: htdocs/luci-static/resources/fchomo/listeners.js:1168
msgid "Client Auth Certificate path"
msgstr "客戶端認證憑證路徑"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1172
+#: htdocs/luci-static/resources/fchomo/listeners.js:1160
msgid "Client Auth type"
msgstr "客戶端認證類型"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1609
+#: htdocs/luci-static/resources/view/fchomo/node.js:1573
msgid "Client fingerprint"
msgstr "客戶端指紋"
@@ -629,8 +636,8 @@ msgstr "客戶端公鑰"
msgid "Client status"
msgstr "客戶端狀態"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1807
-#: htdocs/luci-static/resources/view/fchomo/node.js:1839
+#: htdocs/luci-static/resources/view/fchomo/node.js:1771
+#: htdocs/luci-static/resources/view/fchomo/node.js:1803
msgid "Cloudflare WARP"
msgstr ""
@@ -643,7 +650,7 @@ msgstr "收集資料中..."
msgid "Common ports (bypass P2P traffic)"
msgstr "常用連接埠(繞過 P2P 流量)"
-#: htdocs/luci-static/resources/fchomo.js:1583
+#: htdocs/luci-static/resources/fchomo.js:1661
msgid "Complete"
msgstr "完成"
@@ -680,14 +687,14 @@ msgid "Content copied to clipboard!"
msgstr "內容已複製到剪貼簿!"
#: htdocs/luci-static/resources/view/fchomo/client.js:698
-#: htdocs/luci-static/resources/view/fchomo/node.js:2389
-#: htdocs/luci-static/resources/view/fchomo/node.js:2415
+#: htdocs/luci-static/resources/view/fchomo/node.js:2353
+#: htdocs/luci-static/resources/view/fchomo/node.js:2379
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:359
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:385
msgid "Content will not be verified, Please make sure you enter it correctly."
msgstr "內容將不會被驗證,請確保輸入正確。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2388
+#: htdocs/luci-static/resources/view/fchomo/node.js:2352
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:358
msgid "Contents"
msgstr "內容"
@@ -720,7 +727,7 @@ msgstr "自訂 %s 控制伺服器。"
msgid "Custom Direct List"
msgstr "自訂直連清單"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2520
+#: htdocs/luci-static/resources/view/fchomo/node.js:2484
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:431
msgid "Custom HTTP header."
msgstr "自訂 HTTP header。"
@@ -758,7 +765,7 @@ msgstr " DNS 連接埠"
#: htdocs/luci-static/resources/view/fchomo/client.js:1524
#: htdocs/luci-static/resources/view/fchomo/client.js:1533
#: htdocs/luci-static/resources/view/fchomo/node.js:1173
-#: htdocs/luci-static/resources/view/fchomo/node.js:1905
+#: htdocs/luci-static/resources/view/fchomo/node.js:1869
msgid "DNS server"
msgstr "DNS 伺服器"
@@ -805,11 +812,11 @@ msgstr "從私鑰派生"
msgid "Destination addresses allowed to be forwarded via Wireguard."
msgstr "允許通過 WireGuard 轉發的目的位址"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2768
+#: htdocs/luci-static/resources/view/fchomo/node.js:2732
msgid "Destination provider"
msgstr "落地供應商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2779
+#: htdocs/luci-static/resources/view/fchomo/node.js:2743
msgid "Destination proxy node"
msgstr "落地代理節點"
@@ -817,8 +824,8 @@ msgstr "落地代理節點"
msgid "Dial fields"
msgstr "撥號欄位"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2791
-#: htdocs/luci-static/resources/view/fchomo/node.js:2821
+#: htdocs/luci-static/resources/view/fchomo/node.js:2755
+#: htdocs/luci-static/resources/view/fchomo/node.js:2785
msgid "Different chain head/tail"
msgstr "不同的鏈頭/鏈尾"
@@ -861,7 +868,7 @@ msgstr "禁用 ICMP 轉發"
msgid "Disable P2P"
msgstr "停用 P2P"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1477
+#: htdocs/luci-static/resources/view/fchomo/node.js:1448
msgid "Disable SNI"
msgstr "停用 SNI"
@@ -890,31 +897,32 @@ msgstr ""
msgid "Domain"
msgstr "網域"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1478
+#: htdocs/luci-static/resources/view/fchomo/node.js:1449
msgid "Donot send server name in ClientHello."
msgstr "不要在 ClientHello 中傳送伺服器名稱。"
+#: htdocs/luci-static/resources/fchomo.js:1481
#: htdocs/luci-static/resources/view/fchomo/client.js:1676
-#: htdocs/luci-static/resources/view/fchomo/node.js:1556
-#: htdocs/luci-static/resources/view/fchomo/node.js:2602
+#: htdocs/luci-static/resources/view/fchomo/node.js:1520
+#: htdocs/luci-static/resources/view/fchomo/node.js:2566
msgid "Donot verifying server certificate."
msgstr "不驗證伺服器憑證。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1417
-#: htdocs/luci-static/resources/view/fchomo/node.js:2176
+#: htdocs/luci-static/resources/fchomo/listeners.js:1405
+#: htdocs/luci-static/resources/view/fchomo/node.js:2140
msgid "Download bandwidth"
msgstr "下載頻寬"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1418
-#: htdocs/luci-static/resources/view/fchomo/node.js:2177
+#: htdocs/luci-static/resources/fchomo/listeners.js:1406
+#: htdocs/luci-static/resources/view/fchomo/node.js:2141
msgid "Download bandwidth in Mbps."
msgstr "下載頻寬(單位:Mbps)。"
-#: htdocs/luci-static/resources/fchomo.js:1440
+#: htdocs/luci-static/resources/fchomo.js:1518
msgid "Download failed: %s"
msgstr "下載失敗: %s"
-#: htdocs/luci-static/resources/fchomo.js:1436
+#: htdocs/luci-static/resources/fchomo.js:1514
msgid "Download successful."
msgstr "下載成功。"
@@ -926,16 +934,16 @@ msgstr "目的地 IP"
msgid "Dual stack"
msgstr "雙棧"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1603
+#: htdocs/luci-static/resources/view/fchomo/node.js:1567
msgid "ECH HTTPS record query servername"
msgstr "ECH HTTPS 記錄查詢網域"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1238
-#: htdocs/luci-static/resources/view/fchomo/node.js:1597
+#: htdocs/luci-static/resources/fchomo/listeners.js:1226
+#: htdocs/luci-static/resources/view/fchomo/node.js:1561
msgid "ECH config"
msgstr "ECH 配置"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1197
+#: htdocs/luci-static/resources/fchomo/listeners.js:1185
msgid "ECH key"
msgstr "ECH 密鑰"
@@ -951,11 +959,11 @@ msgstr "EDNS 客戶端子網"
msgid "ETag support"
msgstr "ETag 支援"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2016
+#: htdocs/luci-static/resources/view/fchomo/node.js:1980
msgid "Early Data first packet length limit."
msgstr "前置數據長度閾值"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2022
+#: htdocs/luci-static/resources/view/fchomo/node.js:1986
msgid "Early Data header name"
msgstr "前置數據標頭"
@@ -975,7 +983,7 @@ msgstr "編輯出站"
msgid "Edit ruleset"
msgstr "編輯規則集"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2386
+#: htdocs/luci-static/resources/view/fchomo/node.js:2350
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:356
msgid "Editer"
msgstr "編輯器"
@@ -999,9 +1007,9 @@ msgstr "為空時回退"
#: htdocs/luci-static/resources/view/fchomo/global.js:422
#: htdocs/luci-static/resources/view/fchomo/global.js:712
#: htdocs/luci-static/resources/view/fchomo/node.js:267
-#: htdocs/luci-static/resources/view/fchomo/node.js:2359
-#: htdocs/luci-static/resources/view/fchomo/node.js:2641
-#: htdocs/luci-static/resources/view/fchomo/node.js:2755
+#: htdocs/luci-static/resources/view/fchomo/node.js:2323
+#: htdocs/luci-static/resources/view/fchomo/node.js:2605
+#: htdocs/luci-static/resources/view/fchomo/node.js:2719
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:283
#: htdocs/luci-static/resources/view/fchomo/server.js:49
msgid "Enable"
@@ -1028,7 +1036,7 @@ msgstr ""
"為出站連線啟用 IP4P 轉換"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1591
+#: htdocs/luci-static/resources/view/fchomo/node.js:1555
msgid "Enable ECH"
msgstr "啟用 ECH"
@@ -1036,13 +1044,13 @@ msgstr "啟用 ECH"
msgid "Enable MagicDNS"
msgstr "啟用 MagicDNS"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1405
-#: htdocs/luci-static/resources/view/fchomo/node.js:2164
+#: htdocs/luci-static/resources/fchomo/listeners.js:1393
+#: htdocs/luci-static/resources/view/fchomo/node.js:2128
msgid "Enable TCP Brutal"
msgstr "啟用 TCP Brutal"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1406
-#: htdocs/luci-static/resources/view/fchomo/node.js:2165
+#: htdocs/luci-static/resources/fchomo/listeners.js:1394
+#: htdocs/luci-static/resources/view/fchomo/node.js:2129
msgid "Enable TCP Brutal congestion control algorithm"
msgstr "啟用 TCP Brutal 擁塞控制演算法。"
@@ -1054,7 +1062,7 @@ msgstr "啟用加密"
msgid "Enable fast open"
msgstr "啟用 Fast open"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2153
+#: htdocs/luci-static/resources/view/fchomo/node.js:2117
msgid "Enable multiplexing only for TCP."
msgstr "僅為 TCP 啟用多路復用。"
@@ -1063,17 +1071,17 @@ msgstr "僅為 TCP 啟用多路復用。"
msgid "Enable obfuscate for downlink"
msgstr "啟用下行鏈路混淆"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1400
-#: htdocs/luci-static/resources/view/fchomo/node.js:2147
+#: htdocs/luci-static/resources/fchomo/listeners.js:1388
+#: htdocs/luci-static/resources/view/fchomo/node.js:2111
msgid "Enable padding"
msgstr "啟用填充"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2158
+#: htdocs/luci-static/resources/view/fchomo/node.js:2122
msgid "Enable statistic"
msgstr "啟用統計"
#: htdocs/luci-static/resources/view/fchomo/node.js:1257
-#: htdocs/luci-static/resources/view/fchomo/node.js:2578
+#: htdocs/luci-static/resources/view/fchomo/node.js:2542
msgid ""
"Enable the SUoT protocol, requires server support. Conflict with Multiplex."
msgstr "啟用 SUoT 協議,需要服務端支援。與多路復用衝突。"
@@ -1116,7 +1124,7 @@ msgid ""
"if empty."
msgstr "超過此限制將會觸發強制健康檢查。留空則使用 5。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2699
+#: htdocs/luci-static/resources/view/fchomo/node.js:2663
msgid "Exclude matched node types."
msgstr "排除匹配的節點類型。"
@@ -1129,7 +1137,7 @@ msgstr ""
"rel=\"noreferrer noopener\">此處。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1251
-#: htdocs/luci-static/resources/view/fchomo/node.js:2692
+#: htdocs/luci-static/resources/view/fchomo/node.js:2656
msgid "Exclude nodes that meet keywords or regexps."
msgstr "排除匹配關鍵字或表達式的節點。"
@@ -1146,40 +1154,41 @@ msgid "Expand/Collapse result"
msgstr "展開/收起 結果"
#: htdocs/luci-static/resources/view/fchomo/client.js:1194
-#: htdocs/luci-static/resources/view/fchomo/node.js:2677
+#: htdocs/luci-static/resources/view/fchomo/node.js:2641
msgid "Expected HTTP code. 204 will be used if empty."
msgstr "預期的 HTTP code。留空則使用 204。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1196
-#: htdocs/luci-static/resources/view/fchomo/node.js:2679
+#: htdocs/luci-static/resources/view/fchomo/node.js:2643
msgid "Expected status"
msgstr "預期狀態"
#: htdocs/luci-static/resources/fchomo.js:529
#: htdocs/luci-static/resources/fchomo.js:532
#: htdocs/luci-static/resources/fchomo.js:535
-#: htdocs/luci-static/resources/fchomo.js:1600
-#: htdocs/luci-static/resources/fchomo.js:1608
-#: htdocs/luci-static/resources/fchomo.js:1616
-#: htdocs/luci-static/resources/fchomo.js:1639
-#: htdocs/luci-static/resources/fchomo.js:1642
-#: htdocs/luci-static/resources/fchomo.js:1649
-#: htdocs/luci-static/resources/fchomo.js:1665
-#: htdocs/luci-static/resources/fchomo.js:1674
+#: htdocs/luci-static/resources/fchomo.js:1678
#: htdocs/luci-static/resources/fchomo.js:1686
-#: htdocs/luci-static/resources/fchomo.js:1689
-#: htdocs/luci-static/resources/fchomo.js:1699
-#: htdocs/luci-static/resources/fchomo.js:1711
-#: htdocs/luci-static/resources/fchomo.js:1714
+#: htdocs/luci-static/resources/fchomo.js:1694
+#: htdocs/luci-static/resources/fchomo.js:1717
+#: htdocs/luci-static/resources/fchomo.js:1720
#: htdocs/luci-static/resources/fchomo.js:1727
-#: htdocs/luci-static/resources/fchomo.js:1736
-#: htdocs/luci-static/resources/fchomo.js:1746
-#: htdocs/luci-static/resources/fchomo.js:1781
-#: htdocs/luci-static/resources/fchomo.js:1783
-#: htdocs/luci-static/resources/fchomo.js:1796
-#: htdocs/luci-static/resources/fchomo.js:1802
-#: htdocs/luci-static/resources/fchomo.js:1809
-#: htdocs/luci-static/resources/fchomo.js:1818
+#: htdocs/luci-static/resources/fchomo.js:1743
+#: htdocs/luci-static/resources/fchomo.js:1752
+#: htdocs/luci-static/resources/fchomo.js:1764
+#: htdocs/luci-static/resources/fchomo.js:1767
+#: htdocs/luci-static/resources/fchomo.js:1777
+#: htdocs/luci-static/resources/fchomo.js:1789
+#: htdocs/luci-static/resources/fchomo.js:1792
+#: htdocs/luci-static/resources/fchomo.js:1805
+#: htdocs/luci-static/resources/fchomo.js:1814
+#: htdocs/luci-static/resources/fchomo.js:1823
+#: htdocs/luci-static/resources/fchomo.js:1832
+#: htdocs/luci-static/resources/fchomo.js:1867
+#: htdocs/luci-static/resources/fchomo.js:1869
+#: htdocs/luci-static/resources/fchomo.js:1882
+#: htdocs/luci-static/resources/fchomo.js:1888
+#: htdocs/luci-static/resources/fchomo.js:1895
+#: htdocs/luci-static/resources/fchomo.js:1904
#: htdocs/luci-static/resources/fchomo/listeners.js:291
#: htdocs/luci-static/resources/fchomo/listeners.js:346
#: htdocs/luci-static/resources/fchomo/listeners.js:861
@@ -1195,24 +1204,23 @@ msgstr "預期狀態"
#: htdocs/luci-static/resources/view/fchomo/node.js:499
#: htdocs/luci-static/resources/view/fchomo/node.js:900
#: htdocs/luci-static/resources/view/fchomo/node.js:1415
-#: htdocs/luci-static/resources/view/fchomo/node.js:1542
-#: htdocs/luci-static/resources/view/fchomo/node.js:2791
-#: htdocs/luci-static/resources/view/fchomo/node.js:2821
+#: htdocs/luci-static/resources/view/fchomo/node.js:2755
+#: htdocs/luci-static/resources/view/fchomo/node.js:2785
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:311
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:325
msgid "Expecting: %s"
msgstr "請輸入:%s"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1141
+#: htdocs/luci-static/resources/fchomo/listeners.js:1129
msgid "Expecting: Cannot be empty."
msgstr "請輸入:不能為空。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1252
-#: htdocs/luci-static/resources/view/fchomo/node.js:1625
+#: htdocs/luci-static/resources/fchomo/listeners.js:1240
+#: htdocs/luci-static/resources/view/fchomo/node.js:1589
msgid "Expecting: Cannot be enabled when %s is enabled."
msgstr "請輸入:當 %s 啟用時,無法啟用。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1136
+#: htdocs/luci-static/resources/fchomo/listeners.js:1124
msgid "Expecting: Keep empty when %s is enabled."
msgstr "請輸入:啟用 %s 時保持為空。"
@@ -1223,13 +1231,13 @@ msgstr "請輸入:至少包含 %s 或 %s 中的一個。"
#: htdocs/luci-static/resources/fchomo/listeners.js:699
#: htdocs/luci-static/resources/fchomo/listeners.js:705
-#: htdocs/luci-static/resources/fchomo/listeners.js:1326
-#: htdocs/luci-static/resources/fchomo/listeners.js:1333
+#: htdocs/luci-static/resources/fchomo/listeners.js:1314
+#: htdocs/luci-static/resources/fchomo/listeners.js:1321
#: htdocs/luci-static/resources/view/fchomo/node.js:1289
#: htdocs/luci-static/resources/view/fchomo/node.js:1295
-#: htdocs/luci-static/resources/view/fchomo/node.js:1931
-#: htdocs/luci-static/resources/view/fchomo/node.js:1938
-#: htdocs/luci-static/resources/view/fchomo/node.js:1946
+#: htdocs/luci-static/resources/view/fchomo/node.js:1895
+#: htdocs/luci-static/resources/view/fchomo/node.js:1902
+#: htdocs/luci-static/resources/view/fchomo/node.js:1910
msgid "Expecting: Only support %s."
msgstr "請輸入:僅支援 %s。"
@@ -1249,19 +1257,19 @@ msgstr "實驗性"
msgid "Factor"
msgstr "條件"
-#: htdocs/luci-static/resources/fchomo.js:1541
+#: htdocs/luci-static/resources/fchomo.js:1619
msgid "Failed to execute \"/etc/init.d/fchomo %s %s\" reason: %s"
msgstr "無法執行 \"/etc/init.d/fchomo %s %s\" 原因: %s"
-#: htdocs/luci-static/resources/fchomo.js:1494
+#: htdocs/luci-static/resources/fchomo.js:1572
msgid "Failed to generate %s, error: %s."
msgstr "生成 %s 失敗,錯誤:%s。"
-#: htdocs/luci-static/resources/fchomo.js:1918
+#: htdocs/luci-static/resources/fchomo.js:2004
msgid "Failed to upload %s, error: %s."
msgstr "上傳 %s 失敗,錯誤:%s。"
-#: htdocs/luci-static/resources/fchomo.js:1937
+#: htdocs/luci-static/resources/fchomo.js:2023
msgid "Failed to upload, error: %s."
msgstr "上傳失敗,錯誤:%s。"
@@ -1290,7 +1298,7 @@ msgid "Fallback relay"
msgstr "自動回退中繼"
#: htdocs/luci-static/resources/view/fchomo/client.js:1246
-#: htdocs/luci-static/resources/view/fchomo/node.js:2686
+#: htdocs/luci-static/resources/view/fchomo/node.js:2650
msgid "Filter nodes that meet keywords or regexps."
msgstr "過濾匹配關鍵字或表達式的節點。"
@@ -1316,7 +1324,7 @@ msgid "Final DNS server (For poisoned domains)"
msgstr "兜底 DNS 伺服器 (用於已被投毒汙染的網域)"
#: htdocs/luci-static/resources/fchomo/listeners.js:138
-#: htdocs/luci-static/resources/view/fchomo/node.js:1653
+#: htdocs/luci-static/resources/view/fchomo/node.js:1617
msgid "Firewall"
msgstr "防火牆"
@@ -1334,9 +1342,9 @@ msgstr ""
"noopener\">%s."
#: htdocs/luci-static/resources/view/fchomo/client.js:1195
-#: htdocs/luci-static/resources/view/fchomo/node.js:2539
-#: htdocs/luci-static/resources/view/fchomo/node.js:2547
-#: htdocs/luci-static/resources/view/fchomo/node.js:2678
+#: htdocs/luci-static/resources/view/fchomo/node.js:2503
+#: htdocs/luci-static/resources/view/fchomo/node.js:2511
+#: htdocs/luci-static/resources/view/fchomo/node.js:2642
msgid ""
"For format see %s."
@@ -1348,7 +1356,7 @@ msgstr ""
msgid "Force"
msgstr "強制"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1900
+#: htdocs/luci-static/resources/view/fchomo/node.js:1864
msgid "Force DNS remote resolution."
msgstr "強制 DNS 遠端解析。"
@@ -1375,7 +1383,7 @@ msgstr "轉發速率限制"
msgid "FullCombo Shark!"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1971
+#: htdocs/luci-static/resources/view/fchomo/node.js:1935
msgid "GET"
msgstr ""
@@ -1395,7 +1403,7 @@ msgstr "常規"
#: htdocs/luci-static/resources/fchomo/listeners.js:119
#: htdocs/luci-static/resources/view/fchomo/client.js:1050
#: htdocs/luci-static/resources/view/fchomo/node.js:252
-#: htdocs/luci-static/resources/view/fchomo/node.js:2349
+#: htdocs/luci-static/resources/view/fchomo/node.js:2313
msgid "General fields"
msgstr "常規欄位"
@@ -1411,9 +1419,9 @@ msgstr "常規設定"
#: htdocs/luci-static/resources/fchomo/listeners.js:313
#: htdocs/luci-static/resources/fchomo/listeners.js:315
#: htdocs/luci-static/resources/fchomo/listeners.js:965
-#: htdocs/luci-static/resources/fchomo/listeners.js:1230
+#: htdocs/luci-static/resources/fchomo/listeners.js:1218
#: htdocs/luci-static/resources/view/fchomo/global.js:616
-#: htdocs/luci-static/resources/view/fchomo/node.js:2507
+#: htdocs/luci-static/resources/view/fchomo/node.js:2471
msgid "Generate"
msgstr "生成"
@@ -1484,15 +1492,15 @@ msgstr "組"
#: htdocs/luci-static/resources/fchomo.js:228
#: htdocs/luci-static/resources/fchomo/listeners.js:717
#: htdocs/luci-static/resources/view/fchomo/node.js:1307
-#: htdocs/luci-static/resources/view/fchomo/node.js:1918
-#: htdocs/luci-static/resources/view/fchomo/node.js:1931
-#: htdocs/luci-static/resources/view/fchomo/node.js:1938
+#: htdocs/luci-static/resources/view/fchomo/node.js:1882
+#: htdocs/luci-static/resources/view/fchomo/node.js:1895
+#: htdocs/luci-static/resources/view/fchomo/node.js:1902
msgid "HTTP"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:333
-#: htdocs/luci-static/resources/view/fchomo/node.js:1993
-#: htdocs/luci-static/resources/view/fchomo/node.js:2519
+#: htdocs/luci-static/resources/view/fchomo/node.js:1957
+#: htdocs/luci-static/resources/view/fchomo/node.js:2483
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:430
msgid "HTTP header"
msgstr "HTTP header"
@@ -1518,7 +1526,7 @@ msgstr "HTTP 偽裝多路復用"
msgid "HTTP mask: %s"
msgstr "HTTP 偽裝: %s"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1970
+#: htdocs/luci-static/resources/view/fchomo/node.js:1934
msgid "HTTP request method"
msgstr "HTTP 請求方法"
@@ -1537,9 +1545,9 @@ msgid ""
"returned if empty."
msgstr "身份驗證失敗時的 HTTP3 伺服器回應。預設回傳 404 頁面。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1919
-#: htdocs/luci-static/resources/view/fchomo/node.js:1932
-#: htdocs/luci-static/resources/view/fchomo/node.js:1939
+#: htdocs/luci-static/resources/view/fchomo/node.js:1883
+#: htdocs/luci-static/resources/view/fchomo/node.js:1896
+#: htdocs/luci-static/resources/view/fchomo/node.js:1903
msgid "HTTPUpgrade"
msgstr ""
@@ -1577,27 +1585,27 @@ msgid "Health check"
msgstr "健康檢查"
#: htdocs/luci-static/resources/view/fchomo/client.js:1164
-#: htdocs/luci-static/resources/view/fchomo/node.js:2646
+#: htdocs/luci-static/resources/view/fchomo/node.js:2610
msgid "Health check URL"
msgstr "健康檢查 URL"
#: htdocs/luci-static/resources/view/fchomo/client.js:1193
-#: htdocs/luci-static/resources/view/fchomo/node.js:2676
+#: htdocs/luci-static/resources/view/fchomo/node.js:2640
msgid "Health check expected status"
msgstr "健康檢查预期状态"
#: htdocs/luci-static/resources/view/fchomo/client.js:1173
-#: htdocs/luci-static/resources/view/fchomo/node.js:2656
+#: htdocs/luci-static/resources/view/fchomo/node.js:2620
msgid "Health check interval"
msgstr "健康檢查間隔"
#: htdocs/luci-static/resources/view/fchomo/client.js:1180
-#: htdocs/luci-static/resources/view/fchomo/node.js:2663
+#: htdocs/luci-static/resources/view/fchomo/node.js:2627
msgid "Health check timeout"
msgstr "健康檢查逾時"
#: htdocs/luci-static/resources/view/fchomo/client.js:1052
-#: htdocs/luci-static/resources/view/fchomo/node.js:2351
+#: htdocs/luci-static/resources/view/fchomo/node.js:2315
msgid "Health fields"
msgstr "健康欄位"
@@ -1631,7 +1639,8 @@ msgstr "主機/SNI 覆蓋"
msgid "Hostname"
msgstr "主機名稱"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1484
+#: htdocs/luci-static/resources/fchomo.js:1458
+#: htdocs/luci-static/resources/view/fchomo/node.js:1455
msgid ""
"Hostname that the client attempts to connect to at the start of the TLS "
"handshake process."
@@ -1674,15 +1683,15 @@ msgstr "IP 覆寫"
msgid "IP stack"
msgstr "IP 協定棧"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2213
-#: htdocs/luci-static/resources/view/fchomo/node.js:2632
+#: htdocs/luci-static/resources/view/fchomo/node.js:2177
+#: htdocs/luci-static/resources/view/fchomo/node.js:2596
msgid "IP version"
msgstr "IP 版本"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1793
-#: htdocs/luci-static/resources/view/fchomo/node.js:1803
-#: htdocs/luci-static/resources/view/fchomo/node.js:1807
-#: htdocs/luci-static/resources/view/fchomo/node.js:1819
+#: htdocs/luci-static/resources/view/fchomo/node.js:1757
+#: htdocs/luci-static/resources/view/fchomo/node.js:1767
+#: htdocs/luci-static/resources/view/fchomo/node.js:1771
+#: htdocs/luci-static/resources/view/fchomo/node.js:1783
msgid "IPv4"
msgstr "IPv4"
@@ -1690,9 +1699,9 @@ msgstr "IPv4"
msgid "IPv4 only"
msgstr "僅 IPv4"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1826
-#: htdocs/luci-static/resources/view/fchomo/node.js:1835
-#: htdocs/luci-static/resources/view/fchomo/node.js:1839
+#: htdocs/luci-static/resources/view/fchomo/node.js:1790
+#: htdocs/luci-static/resources/view/fchomo/node.js:1799
+#: htdocs/luci-static/resources/view/fchomo/node.js:1803
msgid "IPv6"
msgstr "IPv6"
@@ -1721,7 +1730,7 @@ msgstr "閒置會話逾時"
msgid "Idle timeout"
msgstr "閒置逾時"
-#: htdocs/luci-static/resources/fchomo.js:1642
+#: htdocs/luci-static/resources/fchomo.js:1720
msgid "If All ports is selected, uncheck others"
msgstr "如果選擇了“所有連接埠”,則取消選取“其他”"
@@ -1755,8 +1764,8 @@ msgstr "導入"
#: htdocs/luci-static/resources/view/fchomo/client.js:1812
#: htdocs/luci-static/resources/view/fchomo/client.js:1847
#: htdocs/luci-static/resources/view/fchomo/client.js:1868
-#: htdocs/luci-static/resources/view/fchomo/node.js:2239
-#: htdocs/luci-static/resources/view/fchomo/node.js:2337
+#: htdocs/luci-static/resources/view/fchomo/node.js:2203
+#: htdocs/luci-static/resources/view/fchomo/node.js:2301
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:164
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:260
msgid "Import mihomo config"
@@ -1772,8 +1781,8 @@ msgstr "導入規則集連結"
#: htdocs/luci-static/resources/fchomo/listeners.js:487
#: htdocs/luci-static/resources/view/fchomo/node.js:694
#: htdocs/luci-static/resources/view/fchomo/node.js:700
-#: htdocs/luci-static/resources/view/fchomo/node.js:2584
-#: htdocs/luci-static/resources/view/fchomo/node.js:2590
+#: htdocs/luci-static/resources/view/fchomo/node.js:2548
+#: htdocs/luci-static/resources/view/fchomo/node.js:2554
msgid "In Mbps."
msgstr "單位為 Mbps。"
@@ -1781,12 +1790,12 @@ msgstr "單位為 Mbps。"
msgid "In bps. 0 means no speed limit."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2427
+#: htdocs/luci-static/resources/view/fchomo/node.js:2391
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:403
msgid "In bytes. %s will be used if empty."
msgstr "單位為位元組。留空則使用 %s。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1301
+#: htdocs/luci-static/resources/fchomo/listeners.js:1289
#: htdocs/luci-static/resources/view/fchomo/node.js:679
#: htdocs/luci-static/resources/view/fchomo/node.js:686
#: htdocs/luci-static/resources/view/fchomo/node.js:760
@@ -1795,11 +1804,11 @@ msgstr "單位為毫秒。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1181
#: htdocs/luci-static/resources/view/fchomo/client.js:1227
-#: htdocs/luci-static/resources/view/fchomo/node.js:2664
+#: htdocs/luci-static/resources/view/fchomo/node.js:2628
msgid "In millisecond. %s will be used if empty."
msgstr "單位為毫秒。留空則使用 %s。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2062
+#: htdocs/luci-static/resources/view/fchomo/node.js:2026
msgid "In milliseconds."
msgstr "單位為毫秒。"
@@ -1809,7 +1818,7 @@ msgstr "單位為毫秒。"
#: htdocs/luci-static/resources/fchomo/listeners.js:663
#: htdocs/luci-static/resources/view/fchomo/node.js:609
#: htdocs/luci-static/resources/view/fchomo/node.js:616
-#: htdocs/luci-static/resources/view/fchomo/node.js:2009
+#: htdocs/luci-static/resources/view/fchomo/node.js:1973
msgid "In seconds."
msgstr "單位為秒。"
@@ -1818,8 +1827,8 @@ msgstr "單位為秒。"
#: htdocs/luci-static/resources/view/fchomo/global.js:451
#: htdocs/luci-static/resources/view/fchomo/global.js:537
#: htdocs/luci-static/resources/view/fchomo/node.js:712
-#: htdocs/luci-static/resources/view/fchomo/node.js:2433
-#: htdocs/luci-static/resources/view/fchomo/node.js:2657
+#: htdocs/luci-static/resources/view/fchomo/node.js:2397
+#: htdocs/luci-static/resources/view/fchomo/node.js:2621
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:409
msgid "In seconds. %s will be used if empty."
msgstr "單位為秒。留空則使用 %s。"
@@ -1879,7 +1888,7 @@ msgstr "訊息"
msgid "Initial congestion window size"
msgstr "初始擁塞視窗大小"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2366
+#: htdocs/luci-static/resources/view/fchomo/node.js:2330
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:299
msgid "Inline"
msgstr "內嵌"
@@ -1895,12 +1904,12 @@ msgstr "介面控制"
#: htdocs/luci-static/resources/fchomo/listeners.js:692
#: htdocs/luci-static/resources/fchomo/listeners.js:702
#: htdocs/luci-static/resources/fchomo/listeners.js:707
-#: htdocs/luci-static/resources/fchomo/listeners.js:1138
-#: htdocs/luci-static/resources/fchomo/listeners.js:1254
+#: htdocs/luci-static/resources/fchomo/listeners.js:1126
+#: htdocs/luci-static/resources/fchomo/listeners.js:1242
#: htdocs/luci-static/resources/view/fchomo/node.js:1282
#: htdocs/luci-static/resources/view/fchomo/node.js:1292
#: htdocs/luci-static/resources/view/fchomo/node.js:1297
-#: htdocs/luci-static/resources/view/fchomo/node.js:1627
+#: htdocs/luci-static/resources/view/fchomo/node.js:1591
msgid "JLS"
msgstr "JLS"
@@ -1915,11 +1924,11 @@ msgstr "加入 %s。格式:%s"
#: htdocs/luci-static/resources/fchomo.js:454
#: htdocs/luci-static/resources/view/fchomo/node.js:1136
#: htdocs/luci-static/resources/view/fchomo/node.js:1201
-#: htdocs/luci-static/resources/view/fchomo/node.js:2606
+#: htdocs/luci-static/resources/view/fchomo/node.js:2570
msgid "Keep default"
msgstr "保持預設"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2098
+#: htdocs/luci-static/resources/view/fchomo/node.js:2062
msgid "Keep-alive period"
msgstr "Keep-alive 週期"
@@ -1928,8 +1937,9 @@ msgstr "Keep-alive 週期"
msgid "Key"
msgstr "密鑰"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1157
-#: htdocs/luci-static/resources/view/fchomo/node.js:1577
+#: htdocs/luci-static/resources/fchomo.js:1494
+#: htdocs/luci-static/resources/fchomo/listeners.js:1145
+#: htdocs/luci-static/resources/view/fchomo/node.js:1541
msgid "Key path"
msgstr "憑證路徑"
@@ -1956,8 +1966,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1818
#: htdocs/luci-static/resources/view/fchomo/client.js:1874
#: htdocs/luci-static/resources/view/fchomo/node.js:262
-#: htdocs/luci-static/resources/view/fchomo/node.js:2354
-#: htdocs/luci-static/resources/view/fchomo/node.js:2750
+#: htdocs/luci-static/resources/view/fchomo/node.js:2318
+#: htdocs/luci-static/resources/view/fchomo/node.js:2714
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:278
msgid "Label"
msgstr "標籤"
@@ -1967,7 +1977,7 @@ msgid "Latency first"
msgstr "延遲優先"
#: htdocs/luci-static/resources/view/fchomo/client.js:1187
-#: htdocs/luci-static/resources/view/fchomo/node.js:2670
+#: htdocs/luci-static/resources/view/fchomo/node.js:2634
msgid "Lazy"
msgstr "怠惰狀態"
@@ -2006,8 +2016,9 @@ msgid ""
"network."
msgstr "要向 EasyTier 網路中的其他對端開放的本機子網的清單(CIDR)。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1080
-#: htdocs/luci-static/resources/view/fchomo/node.js:1490
+#: htdocs/luci-static/resources/fchomo.js:1463
+#: htdocs/luci-static/resources/fchomo/listeners.js:1068
+#: htdocs/luci-static/resources/view/fchomo/node.js:1461
msgid "List of supported application level protocols, in order of preference."
msgstr "支援的應用層協議協商清單,依序排列。"
@@ -2025,8 +2036,8 @@ msgstr "監聽介面"
#: htdocs/luci-static/resources/fchomo/listeners.js:154
#: htdocs/luci-static/resources/view/fchomo/client.js:1467
-#: htdocs/luci-static/resources/view/fchomo/node.js:1721
-#: htdocs/luci-static/resources/view/fchomo/node.js:1731
+#: htdocs/luci-static/resources/view/fchomo/node.js:1685
+#: htdocs/luci-static/resources/view/fchomo/node.js:1695
msgid "Listen port"
msgstr "監聽埠"
@@ -2038,7 +2049,7 @@ msgstr "監聽埠"
msgid "Listen routing mark (Fwmark)"
msgstr "監聽路由標記 (Fwmark)"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1769
+#: htdocs/luci-static/resources/view/fchomo/node.js:1733
msgid "Listeners"
msgstr "監聽"
@@ -2046,7 +2057,7 @@ msgstr "監聽"
msgid "Load balance"
msgstr "負載均衡"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2364
+#: htdocs/luci-static/resources/view/fchomo/node.js:2328
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:297
msgid "Local"
msgstr "本地"
@@ -2091,7 +2102,7 @@ msgid "Lowercase only"
msgstr "僅限小寫"
#: htdocs/luci-static/resources/view/fchomo/global.js:524
-#: htdocs/luci-static/resources/view/fchomo/node.js:1869
+#: htdocs/luci-static/resources/view/fchomo/node.js:1833
msgid "MTU"
msgstr "MTU"
@@ -2131,7 +2142,7 @@ msgstr "匹配回應通過 ipcidr"
msgid "Match rule set."
msgstr "匹配規則集。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2015
+#: htdocs/luci-static/resources/view/fchomo/node.js:1979
msgid "Max Early Data"
msgstr "前置數據最大值"
@@ -2140,15 +2151,15 @@ msgstr "前置數據最大值"
msgid "Max UDP relay packet size"
msgstr "UDP 中繼數據包最大尺寸"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1377
+#: htdocs/luci-static/resources/fchomo/listeners.js:1365
msgid "Max buffered posts"
msgstr "POST 最大緩衝"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2073
+#: htdocs/luci-static/resources/view/fchomo/node.js:2037
msgid "Max concurrency"
msgstr "最大並發"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2078
+#: htdocs/luci-static/resources/view/fchomo/node.js:2042
msgid "Max connections"
msgstr "最大連線數"
@@ -2166,8 +2177,8 @@ msgstr "最大資料封包大小"
msgid "Max download speed"
msgstr "最大下載速度"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1388
-#: htdocs/luci-static/resources/view/fchomo/node.js:2055
+#: htdocs/luci-static/resources/fchomo/listeners.js:1376
+#: htdocs/luci-static/resources/view/fchomo/node.js:2019
msgid "Max each POST bytes"
msgstr "POST 最大位元組數"
@@ -2183,15 +2194,15 @@ msgstr "最大 Realms 數量"
msgid "Max realms per client IP"
msgstr "每客戶端 IP 最大 Realms 數量"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2088
+#: htdocs/luci-static/resources/view/fchomo/node.js:2052
msgid "Max request times"
msgstr "最大請求次數"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2093
+#: htdocs/luci-static/resources/view/fchomo/node.js:2057
msgid "Max reusable seconds"
msgstr "最大可重用秒數"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2083
+#: htdocs/luci-static/resources/view/fchomo/node.js:2047
msgid "Max reuse times"
msgstr "最大重用次數"
@@ -2200,12 +2211,12 @@ msgstr "最大重用次數"
msgid "Max upload speed"
msgstr "最大上傳速度"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2119
-#: htdocs/luci-static/resources/view/fchomo/node.js:2139
+#: htdocs/luci-static/resources/view/fchomo/node.js:2083
+#: htdocs/luci-static/resources/view/fchomo/node.js:2103
msgid "Maximum connections"
msgstr "最大連線數"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2137
+#: htdocs/luci-static/resources/view/fchomo/node.js:2101
msgid ""
"Maximum multiplexed streams in a connection before opening a new connection."
"%s and %s."
@@ -2225,7 +2236,7 @@ msgid ""
"rate."
msgstr "最大填充率必須大於等于最小填充率。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2136
+#: htdocs/luci-static/resources/view/fchomo/node.js:2100
msgid "Maximum streams"
msgstr "最大流數量"
@@ -2250,11 +2261,11 @@ msgstr "Mihomo 服務端"
msgid "Min of idle sessions to keep"
msgstr "要保留的最少閒置會話數"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2061
+#: htdocs/luci-static/resources/view/fchomo/node.js:2025
msgid "Min posts interval"
msgstr "POST 請求最小間隔時間"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2128
+#: htdocs/luci-static/resources/view/fchomo/node.js:2092
msgid ""
"Minimum multiplexed streams in a connection before opening a new connection."
msgstr "在開啟新連線之前,連線中的最小多路復用流數量。"
@@ -2264,8 +2275,8 @@ msgstr "在開啟新連線之前,連線中的最小多路復用流數量。"
msgid "Minimum padding rate"
msgstr "最小填充率"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2127
-#: htdocs/luci-static/resources/view/fchomo/node.js:2139
+#: htdocs/luci-static/resources/view/fchomo/node.js:2091
+#: htdocs/luci-static/resources/view/fchomo/node.js:2103
msgid "Minimum streams"
msgstr "最小流數量"
@@ -2286,8 +2297,8 @@ msgstr "混合 系統 TCP 堆栈和 gVisor UDP 堆栈
msgid "Mixed port"
msgstr "混合連接埠"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1395
-#: htdocs/luci-static/resources/view/fchomo/node.js:2105
+#: htdocs/luci-static/resources/fchomo/listeners.js:1383
+#: htdocs/luci-static/resources/view/fchomo/node.js:2069
msgid "Multiplex"
msgstr "多路復用"
@@ -2305,7 +2316,7 @@ msgstr "多路復用"
msgid "NETWORK"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1787
+#: htdocs/luci-static/resources/view/fchomo/node.js:1751
msgid "NO Listener"
msgstr "無監聽"
@@ -2318,7 +2329,7 @@ msgstr "NOT"
msgid "Name of the Proxy group as outbound."
msgstr "出站代理組的名稱。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2439
+#: htdocs/luci-static/resources/view/fchomo/node.js:2403
msgid "Name of the Proxy group to download provider."
msgstr "用於下載供應商訂閱的代理組名稱。"
@@ -2347,7 +2358,7 @@ msgstr ""
msgid "Network type"
msgstr "網路類型"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2608
+#: htdocs/luci-static/resources/view/fchomo/node.js:2572
msgid "No"
msgstr ""
@@ -2355,7 +2366,7 @@ msgstr ""
msgid "No Authentication IP ranges"
msgstr "無需認證的 IP 範圍"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1372
+#: htdocs/luci-static/resources/fchomo/listeners.js:1360
msgid "No SSE header"
msgstr "無 SSE header"
@@ -2363,12 +2374,12 @@ msgstr "無 SSE header"
msgid "No add'l params"
msgstr "無附加參數"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2045
+#: htdocs/luci-static/resources/view/fchomo/node.js:2009
msgid "No gRPC header"
msgstr "無 gRPC header"
#: htdocs/luci-static/resources/view/fchomo/client.js:1188
-#: htdocs/luci-static/resources/view/fchomo/node.js:2671
+#: htdocs/luci-static/resources/view/fchomo/node.js:2635
msgid "No testing is performed when this provider node is not in use."
msgstr "當此供應商的節點未使用時,不執行任何測試。"
@@ -2386,17 +2397,17 @@ msgid "Node"
msgstr "節點"
#: htdocs/luci-static/resources/view/fchomo/client.js:1250
-#: htdocs/luci-static/resources/view/fchomo/node.js:2691
+#: htdocs/luci-static/resources/view/fchomo/node.js:2655
msgid "Node exclude filter"
msgstr "排除節點"
#: htdocs/luci-static/resources/view/fchomo/client.js:1255
-#: htdocs/luci-static/resources/view/fchomo/node.js:2698
+#: htdocs/luci-static/resources/view/fchomo/node.js:2662
msgid "Node exclude type"
msgstr "排除節點類型"
#: htdocs/luci-static/resources/view/fchomo/client.js:1245
-#: htdocs/luci-static/resources/view/fchomo/node.js:2685
+#: htdocs/luci-static/resources/view/fchomo/node.js:2649
msgid "Node filter"
msgstr "過濾節點"
@@ -2420,7 +2431,7 @@ msgstr "未安裝"
msgid "Not Running"
msgstr "未在運作"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2716
+#: htdocs/luci-static/resources/view/fchomo/node.js:2680
msgid "Note: The subscription of provider %s is includes %s."
msgstr "注意:供應商 %s 的訂閱包含 %s。"
@@ -2470,7 +2481,7 @@ msgstr "混淆為%s"
msgid "One or more numbers in the range 0-63 separated by commas"
msgstr "0-63 範圍內的一個或多個數字,以逗號分隔"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1074
+#: htdocs/luci-static/resources/fchomo/listeners.js:1062
msgid "Only applicable when %s are used as a frontend."
msgstr "僅當 %s 用作前端時適用。"
@@ -2489,7 +2500,7 @@ msgstr "僅允許使用與本網路相同的 %s 和 %s 的節點透過此節點
msgid "Only process traffic from specific interfaces. Leave empty for all."
msgstr "只處理來自指定介面的流量。留空表示全部。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1770
+#: htdocs/luci-static/resources/view/fchomo/node.js:1734
msgid "Only the address %s is valid."
msgstr "只有位址 %s 是有效的。"
@@ -2509,7 +2520,7 @@ msgstr "該選項已棄用,請使用%s作為代替。"
msgid "Other"
msgstr "其他"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2556
+#: htdocs/luci-static/resources/view/fchomo/node.js:2520
msgid "Other configuration items"
msgstr "其他配置項"
@@ -2517,8 +2528,9 @@ msgstr "其他配置項"
msgid "Outbound"
msgstr "出站"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1549
-#: htdocs/luci-static/resources/view/fchomo/node.js:2595
+#: htdocs/luci-static/resources/fchomo.js:1474
+#: htdocs/luci-static/resources/view/fchomo/node.js:1513
+#: htdocs/luci-static/resources/view/fchomo/node.js:2559
msgid "Override cert DNSName"
msgstr "覆蓋憑證 DNSName"
@@ -2528,7 +2540,7 @@ msgid "Override destination"
msgstr "覆蓋目標位址"
#: htdocs/luci-static/resources/view/fchomo/client.js:1051
-#: htdocs/luci-static/resources/view/fchomo/node.js:2350
+#: htdocs/luci-static/resources/view/fchomo/node.js:2314
msgid "Override fields"
msgstr "覆蓋欄位"
@@ -2548,7 +2560,7 @@ msgstr "使用嗅探到的網域覆寫連線目標。"
msgid "Override the existing ECS in original request."
msgstr "覆蓋原始請求中已有的 ECS。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1604
+#: htdocs/luci-static/resources/view/fchomo/node.js:1568
msgid "Overrides the domain name used for HTTPS record queries."
msgstr "覆蓋用於 HTTPS 記錄查詢的網域。"
@@ -2556,11 +2568,11 @@ msgstr "覆蓋用於 HTTPS 記錄查詢的網域。"
msgid "Overview"
msgstr "概覽"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1972
+#: htdocs/luci-static/resources/view/fchomo/node.js:1936
msgid "POST"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1973
+#: htdocs/luci-static/resources/view/fchomo/node.js:1937
msgid "PUT"
msgstr ""
@@ -2568,7 +2580,7 @@ msgstr ""
msgid "Packet encoding"
msgstr "數據包編碼"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2050
+#: htdocs/luci-static/resources/view/fchomo/node.js:2014
msgid "Padding bytes"
msgstr "填充位元組"
@@ -2604,7 +2616,7 @@ msgid "Path in bundle: %s"
msgstr "在捆綁包%s中的路徑"
#: htdocs/luci-static/resources/fchomo/listeners.js:819
-#: htdocs/luci-static/resources/view/fchomo/node.js:2414
+#: htdocs/luci-static/resources/view/fchomo/node.js:2378
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:384
msgid "Payload"
msgstr "Payload"
@@ -2654,8 +2666,8 @@ msgid ""
"standards."
msgstr "連結格式標準請參考 %s。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2387
-#: htdocs/luci-static/resources/view/fchomo/node.js:2413
+#: htdocs/luci-static/resources/view/fchomo/node.js:2351
+#: htdocs/luci-static/resources/view/fchomo/node.js:2377
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:357
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:383
msgid ""
@@ -2670,7 +2682,7 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1541
#: htdocs/luci-static/resources/view/fchomo/client.js:1796
#: htdocs/luci-static/resources/view/fchomo/client.js:1848
-#: htdocs/luci-static/resources/view/fchomo/node.js:2240
+#: htdocs/luci-static/resources/view/fchomo/node.js:2204
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:165
msgid "Please type %s fields of mihomo config."
msgstr "請輸入 mihomo 配置的 %s 欄位。"
@@ -2695,7 +2707,7 @@ msgstr "外掛類型"
msgid "Port"
msgstr "連接埠"
-#: htdocs/luci-static/resources/fchomo.js:1651
+#: htdocs/luci-static/resources/fchomo.js:1729
msgid "Port %s alrealy exists!"
msgstr "連接埠 %s 已存在!"
@@ -2723,8 +2735,7 @@ msgstr "連接埠池"
msgid "Pre-shared key"
msgstr "預先共用金鑰"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1017
-#: htdocs/luci-static/resources/view/fchomo/node.js:1437
+#: htdocs/luci-static/resources/fchomo.js:1437
msgid "Pre-shared key of rendezvous server"
msgstr "牽線伺服器的預先共用金鑰"
@@ -2741,17 +2752,17 @@ msgid ""
"Prevent ICMP loopback issues in some cases. Ping will not show real delay."
msgstr "防止某些情況下的 ICMP 環回問題。 Ping 不會顯示實際延遲。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1721
-#: htdocs/luci-static/resources/view/fchomo/node.js:1722
+#: htdocs/luci-static/resources/view/fchomo/node.js:1685
+#: htdocs/luci-static/resources/view/fchomo/node.js:1686
msgid "Primary"
msgstr "主要"
#: htdocs/luci-static/resources/view/fchomo/global.js:768
#: htdocs/luci-static/resources/view/fchomo/global.js:785
-#: htdocs/luci-static/resources/view/fchomo/node.js:2201
-#: htdocs/luci-static/resources/view/fchomo/node.js:2208
-#: htdocs/luci-static/resources/view/fchomo/node.js:2620
-#: htdocs/luci-static/resources/view/fchomo/node.js:2627
+#: htdocs/luci-static/resources/view/fchomo/node.js:2165
+#: htdocs/luci-static/resources/view/fchomo/node.js:2172
+#: htdocs/luci-static/resources/view/fchomo/node.js:2584
+#: htdocs/luci-static/resources/view/fchomo/node.js:2591
msgid "Priority: Proxy Node > Global."
msgstr "優先權: 代理節點 > 全域。"
@@ -2780,12 +2791,12 @@ msgstr "進程"
msgid "Process matching mode"
msgstr "進程匹配模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2546
+#: htdocs/luci-static/resources/view/fchomo/node.js:2510
msgid "Programmable replacement"
msgstr "可編程替換"
#: htdocs/luci-static/resources/view/fchomo/global.js:716
-#: htdocs/luci-static/resources/view/fchomo/node.js:2111
+#: htdocs/luci-static/resources/view/fchomo/node.js:2075
msgid "Protocol"
msgstr "協議"
@@ -2800,13 +2811,13 @@ msgid ""
msgstr "協議參數。 如啟用會隨機浪費流量(在 v2ray 中預設為啟用且無法停用)。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1108
-#: htdocs/luci-static/resources/view/fchomo/node.js:2223
-#: htdocs/luci-static/resources/view/fchomo/node.js:2232
-#: htdocs/luci-static/resources/view/fchomo/node.js:2761
+#: htdocs/luci-static/resources/view/fchomo/node.js:2187
+#: htdocs/luci-static/resources/view/fchomo/node.js:2196
+#: htdocs/luci-static/resources/view/fchomo/node.js:2725
msgid "Provider"
msgstr "供應商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2420
+#: htdocs/luci-static/resources/view/fchomo/node.js:2384
msgid "Provider URL"
msgstr "供應商訂閱 URL"
@@ -2829,19 +2840,20 @@ msgid "Proxy MAC-s"
msgstr "代理 MAC 位址"
#: htdocs/luci-static/resources/view/fchomo/node.js:225
-#: htdocs/luci-static/resources/view/fchomo/node.js:2760
+#: htdocs/luci-static/resources/view/fchomo/node.js:2724
msgid "Proxy Node"
msgstr "代理節點"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2736
-#: htdocs/luci-static/resources/view/fchomo/node.js:2745
+#: htdocs/luci-static/resources/view/fchomo/node.js:2700
+#: htdocs/luci-static/resources/view/fchomo/node.js:2709
msgid "Proxy chain"
msgstr "代理鏈"
#: htdocs/luci-static/resources/fchomo/listeners.js:629
+#: htdocs/luci-static/resources/fchomo/listeners.js:1009
#: htdocs/luci-static/resources/view/fchomo/client.js:809
#: htdocs/luci-static/resources/view/fchomo/client.js:1639
-#: htdocs/luci-static/resources/view/fchomo/node.js:2438
+#: htdocs/luci-static/resources/view/fchomo/node.js:2402
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:414
msgid "Proxy group"
msgstr "代理組"
@@ -2882,39 +2894,39 @@ msgstr "QUIC 版本"
msgid "Quick Reload"
msgstr "快速重載"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1139
-#: htdocs/luci-static/resources/fchomo/listeners.js:1245
-#: htdocs/luci-static/resources/view/fchomo/node.js:1618
+#: htdocs/luci-static/resources/fchomo/listeners.js:1127
+#: htdocs/luci-static/resources/fchomo/listeners.js:1233
+#: htdocs/luci-static/resources/view/fchomo/node.js:1582
msgid "REALITY"
msgstr "REALITY"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1644
+#: htdocs/luci-static/resources/view/fchomo/node.js:1608
msgid "REALITY X25519MLKEM768 PQC support"
msgstr "REALITY X25519MLKEM768 後量子加密支援"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1293
+#: htdocs/luci-static/resources/fchomo/listeners.js:1281
msgid "REALITY certificate issued to"
msgstr "REALITY 憑證頒發給"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1261
+#: htdocs/luci-static/resources/fchomo/listeners.js:1249
msgid "REALITY handshake server"
msgstr "REALITY 握手伺服器"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1300
+#: htdocs/luci-static/resources/fchomo/listeners.js:1288
msgid "REALITY max time difference"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1268
+#: htdocs/luci-static/resources/fchomo/listeners.js:1256
msgid "REALITY private key"
msgstr "REALITY 私鑰"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1283
-#: htdocs/luci-static/resources/view/fchomo/node.js:1634
+#: htdocs/luci-static/resources/fchomo/listeners.js:1271
+#: htdocs/luci-static/resources/view/fchomo/node.js:1598
msgid "REALITY public key"
msgstr "REALITY 公鑰"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1287
-#: htdocs/luci-static/resources/view/fchomo/node.js:1639
+#: htdocs/luci-static/resources/fchomo/listeners.js:1275
+#: htdocs/luci-static/resources/view/fchomo/node.js:1603
msgid "REALITY short ID"
msgstr "REALITY 標識符"
@@ -2950,13 +2962,11 @@ msgstr "留空將使用隨機令牌。"
msgid "Randomized traffic characteristics"
msgstr "隨機化流量特徵"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1006
-#: htdocs/luci-static/resources/view/fchomo/node.js:1426
+#: htdocs/luci-static/resources/fchomo.js:1426
msgid "Realm"
msgstr "Realm"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1022
-#: htdocs/luci-static/resources/view/fchomo/node.js:1442
+#: htdocs/luci-static/resources/fchomo.js:1442
msgid "Realm ID"
msgstr "Realm ID"
@@ -2964,7 +2974,7 @@ msgstr "Realm ID"
msgid "Realm name pattern"
msgstr "Realm 名稱模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2717
+#: htdocs/luci-static/resources/view/fchomo/node.js:2681
msgid ""
"Recommended to adjust Client DNS configuration based on actual conditions."
msgstr "建議根據實際情況調整客戶端 DNS 配置。"
@@ -3012,12 +3022,12 @@ msgstr "再路由"
msgid "Rematching routing rules"
msgstr "重新匹配路由規則"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2365
+#: htdocs/luci-static/resources/view/fchomo/node.js:2329
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:298
msgid "Remote"
msgstr "遠端"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1899
+#: htdocs/luci-static/resources/view/fchomo/node.js:1863
msgid "Remote DNS resolve"
msgstr "遠端 DNS 解析"
@@ -3029,30 +3039,29 @@ msgstr "遠端追蹤等級"
msgid "Remote trace target"
msgstr "遠端追蹤目標"
-#: htdocs/luci-static/resources/fchomo.js:1572
+#: htdocs/luci-static/resources/fchomo.js:1650
msgid "Remove"
msgstr "移除"
-#: htdocs/luci-static/resources/fchomo.js:1577
+#: htdocs/luci-static/resources/fchomo.js:1655
#: htdocs/luci-static/resources/view/fchomo/node.js:244
#: htdocs/luci-static/resources/view/fchomo/node.js:246
-#: htdocs/luci-static/resources/view/fchomo/node.js:2341
-#: htdocs/luci-static/resources/view/fchomo/node.js:2343
+#: htdocs/luci-static/resources/view/fchomo/node.js:2305
+#: htdocs/luci-static/resources/view/fchomo/node.js:2307
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:270
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:272
msgid "Remove idles"
msgstr "移除閒置"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1011
-#: htdocs/luci-static/resources/view/fchomo/node.js:1431
+#: htdocs/luci-static/resources/fchomo.js:1431
msgid "Rendezvous server"
msgstr "牽線伺服器"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2537
+#: htdocs/luci-static/resources/view/fchomo/node.js:2501
msgid "Replace name"
msgstr "名稱替換"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2538
+#: htdocs/luci-static/resources/view/fchomo/node.js:2502
msgid "Replace node name."
msgstr "替換節點名稱"
@@ -3060,9 +3069,9 @@ msgstr "替換節點名稱"
msgid "Request"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1351
-#: htdocs/luci-static/resources/view/fchomo/node.js:1979
-#: htdocs/luci-static/resources/view/fchomo/node.js:1986
+#: htdocs/luci-static/resources/fchomo/listeners.js:1339
+#: htdocs/luci-static/resources/view/fchomo/node.js:1943
+#: htdocs/luci-static/resources/view/fchomo/node.js:1950
msgid "Request path"
msgstr "請求路徑"
@@ -3079,7 +3088,7 @@ msgid "Require any"
msgstr ""
#: htdocs/luci-static/resources/fchomo.js:481
-#: htdocs/luci-static/resources/view/fchomo/node.js:1645
+#: htdocs/luci-static/resources/view/fchomo/node.js:1609
msgid "Requires server support."
msgstr "需要伺服器支援。"
@@ -3094,12 +3103,12 @@ msgstr "資源管理"
#: htdocs/luci-static/resources/fchomo/listeners.js:691
#: htdocs/luci-static/resources/fchomo/listeners.js:701
#: htdocs/luci-static/resources/fchomo/listeners.js:706
-#: htdocs/luci-static/resources/fchomo/listeners.js:1137
-#: htdocs/luci-static/resources/fchomo/listeners.js:1253
+#: htdocs/luci-static/resources/fchomo/listeners.js:1125
+#: htdocs/luci-static/resources/fchomo/listeners.js:1241
#: htdocs/luci-static/resources/view/fchomo/node.js:1281
#: htdocs/luci-static/resources/view/fchomo/node.js:1291
#: htdocs/luci-static/resources/view/fchomo/node.js:1296
-#: htdocs/luci-static/resources/view/fchomo/node.js:1626
+#: htdocs/luci-static/resources/view/fchomo/node.js:1590
msgid "Restls"
msgstr ""
@@ -3152,8 +3161,8 @@ msgstr "路由 GFW 流量"
#: htdocs/luci-static/resources/fchomo/listeners.js:612
#: htdocs/luci-static/resources/view/fchomo/global.js:784
-#: htdocs/luci-static/resources/view/fchomo/node.js:2207
-#: htdocs/luci-static/resources/view/fchomo/node.js:2626
+#: htdocs/luci-static/resources/view/fchomo/node.js:2171
+#: htdocs/luci-static/resources/view/fchomo/node.js:2590
msgid "Routing mark (Fwmark)"
msgstr "路由標記 (Fwmark)"
@@ -3237,8 +3246,7 @@ msgstr ""
msgid "STUN"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1028
-#: htdocs/luci-static/resources/view/fchomo/node.js:1448
+#: htdocs/luci-static/resources/fchomo.js:1448
msgid "STUN servers"
msgstr "STUN 伺服器"
@@ -3268,8 +3276,8 @@ msgstr "相同 來源位址 和 目標位址 請求。相同節點"
msgid "Save"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1731
-#: htdocs/luci-static/resources/view/fchomo/node.js:1732
+#: htdocs/luci-static/resources/view/fchomo/node.js:1695
+#: htdocs/luci-static/resources/view/fchomo/node.js:1696
msgid "Secondary"
msgstr "次要"
@@ -3303,8 +3311,8 @@ msgid "Send random ticket of 300s-600s duration for client 0-RTT reuse."
msgstr "發送 300-600 秒的隨機票證,以供客戶端 0-RTT 重用。"
#: htdocs/luci-static/resources/fchomo/listeners.js:850
-#: htdocs/luci-static/resources/fchomo/listeners.js:1128
-#: htdocs/luci-static/resources/fchomo/listeners.js:1158
+#: htdocs/luci-static/resources/fchomo/listeners.js:1116
+#: htdocs/luci-static/resources/fchomo/listeners.js:1146
#: htdocs/luci-static/resources/view/fchomo/server.js:58
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:62
msgid "Server"
@@ -3314,9 +3322,9 @@ msgstr "服務端"
msgid "Server address"
msgstr "伺服器位址"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1345
-#: htdocs/luci-static/resources/view/fchomo/node.js:1958
-#: htdocs/luci-static/resources/view/fchomo/node.js:1964
+#: htdocs/luci-static/resources/fchomo/listeners.js:1333
+#: htdocs/luci-static/resources/view/fchomo/node.js:1922
+#: htdocs/luci-static/resources/view/fchomo/node.js:1928
msgid "Server hostname"
msgstr "伺服器主機名稱"
@@ -3340,12 +3348,12 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:690
#: htdocs/luci-static/resources/fchomo/listeners.js:700
#: htdocs/luci-static/resources/fchomo/listeners.js:705
-#: htdocs/luci-static/resources/fchomo/listeners.js:1136
-#: htdocs/luci-static/resources/fchomo/listeners.js:1252
+#: htdocs/luci-static/resources/fchomo/listeners.js:1124
+#: htdocs/luci-static/resources/fchomo/listeners.js:1240
#: htdocs/luci-static/resources/view/fchomo/node.js:1280
#: htdocs/luci-static/resources/view/fchomo/node.js:1290
#: htdocs/luci-static/resources/view/fchomo/node.js:1295
-#: htdocs/luci-static/resources/view/fchomo/node.js:1625
+#: htdocs/luci-static/resources/view/fchomo/node.js:1589
msgid "ShadowTLS"
msgstr ""
@@ -3369,7 +3377,7 @@ msgstr "Shadowsocks 加密"
msgid "Shadowsocks password"
msgstr "Shadowsocks 密碼"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2159
+#: htdocs/luci-static/resources/view/fchomo/node.js:2123
msgid "Show connections in the dashboard for breaking connections easier."
msgstr "在面板中顯示連線以便於打斷連線。"
@@ -3381,14 +3389,15 @@ msgstr "靜音"
msgid "Simple round-robin all nodes"
msgstr "簡單輪替所有節點"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2426
+#: htdocs/luci-static/resources/view/fchomo/node.js:2390
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:402
msgid "Size limit"
msgstr "大小限制"
+#: htdocs/luci-static/resources/fchomo.js:1480
#: htdocs/luci-static/resources/view/fchomo/client.js:1675
-#: htdocs/luci-static/resources/view/fchomo/node.js:1555
-#: htdocs/luci-static/resources/view/fchomo/node.js:2601
+#: htdocs/luci-static/resources/view/fchomo/node.js:1519
+#: htdocs/luci-static/resources/view/fchomo/node.js:2565
msgid "Skip cert verify"
msgstr "跳過憑證驗證"
@@ -3485,7 +3494,7 @@ msgstr "已成功匯入 %s 個%s (共 %s 個)。"
msgid "Successfully updated."
msgstr "更新成功。"
-#: htdocs/luci-static/resources/fchomo.js:1934
+#: htdocs/luci-static/resources/fchomo.js:2020
msgid "Successfully uploaded."
msgstr "已成功上傳。"
@@ -3543,7 +3552,7 @@ msgstr "TCP 併發"
msgid "TCP idle timeout"
msgstr "TCP 閒置逾時"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2152
+#: htdocs/luci-static/resources/view/fchomo/node.js:2116
msgid "TCP only"
msgstr "僅 TCP"
@@ -3571,8 +3580,8 @@ msgstr "TCP-Keep-Alive 間隔"
msgid "TCP/UDP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2183
-#: htdocs/luci-static/resources/view/fchomo/node.js:2562
+#: htdocs/luci-static/resources/view/fchomo/node.js:2147
+#: htdocs/luci-static/resources/view/fchomo/node.js:2526
msgid "TFO"
msgstr "TCP 快速開啟 (TFO)"
@@ -3585,20 +3594,22 @@ msgid "TLD DNS zone used by MagicDNS, default is %s."
msgstr "MagicDNS 使用的 TLD DNS 區域,預設為 %s。"
#: htdocs/luci-static/resources/fchomo/listeners.js:718
-#: htdocs/luci-static/resources/fchomo/listeners.js:1038
+#: htdocs/luci-static/resources/fchomo/listeners.js:1026
#: htdocs/luci-static/resources/view/fchomo/global.js:558
#: htdocs/luci-static/resources/view/fchomo/node.js:472
#: htdocs/luci-static/resources/view/fchomo/node.js:1308
-#: htdocs/luci-static/resources/view/fchomo/node.js:1458
+#: htdocs/luci-static/resources/view/fchomo/node.js:1429
msgid "TLS"
msgstr "TLS"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1079
-#: htdocs/luci-static/resources/view/fchomo/node.js:1489
+#: htdocs/luci-static/resources/fchomo.js:1462
+#: htdocs/luci-static/resources/fchomo/listeners.js:1067
+#: htdocs/luci-static/resources/view/fchomo/node.js:1460
msgid "TLS ALPN"
msgstr "TLS ALPN"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1483
+#: htdocs/luci-static/resources/fchomo.js:1457
+#: htdocs/luci-static/resources/view/fchomo/node.js:1454
msgid "TLS SNI"
msgstr ""
@@ -3630,29 +3641,31 @@ msgid ""
"Tell the client to use the BBR flow control algorithm instead of Hysteria CC."
msgstr "讓客戶端使用 BBR 流控演算法。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1793
+#: htdocs/luci-static/resources/view/fchomo/node.js:1757
+#: htdocs/luci-static/resources/view/fchomo/node.js:1766
+#: htdocs/luci-static/resources/view/fchomo/node.js:1770
+#: htdocs/luci-static/resources/view/fchomo/node.js:1783
+#: htdocs/luci-static/resources/view/fchomo/node.js:1790
+#: htdocs/luci-static/resources/view/fchomo/node.js:1798
#: htdocs/luci-static/resources/view/fchomo/node.js:1802
-#: htdocs/luci-static/resources/view/fchomo/node.js:1806
-#: htdocs/luci-static/resources/view/fchomo/node.js:1819
-#: htdocs/luci-static/resources/view/fchomo/node.js:1826
-#: htdocs/luci-static/resources/view/fchomo/node.js:1834
-#: htdocs/luci-static/resources/view/fchomo/node.js:1838
msgid "The %s address used by local machine in the %s network."
msgstr "本機 %s 位址,用於在 %s 網路中使用。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1158
-#: htdocs/luci-static/resources/view/fchomo/node.js:1578
+#: htdocs/luci-static/resources/fchomo.js:1495
+#: htdocs/luci-static/resources/fchomo/listeners.js:1146
+#: htdocs/luci-static/resources/view/fchomo/node.js:1542
msgid "The %s private key, in PEM format."
msgstr "%s私鑰,需要 PEM 格式。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1128
-#: htdocs/luci-static/resources/fchomo/listeners.js:1181
+#: htdocs/luci-static/resources/fchomo.js:1489
+#: htdocs/luci-static/resources/fchomo/listeners.js:1116
+#: htdocs/luci-static/resources/fchomo/listeners.js:1169
#: htdocs/luci-static/resources/view/fchomo/global.js:579
-#: htdocs/luci-static/resources/view/fchomo/node.js:1564
+#: htdocs/luci-static/resources/view/fchomo/node.js:1528
msgid "The %s public key, in PEM format."
msgstr "%s公鑰,需要 PEM 格式。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1598
+#: htdocs/luci-static/resources/view/fchomo/node.js:1562
msgid ""
"The ECH parameter of the HTTPS record for the domain. Leave empty to resolve "
"via DNS."
@@ -3700,19 +3713,24 @@ msgstr "匹配 %s 的將被視為已被投毒汙染。"
msgid "The proxy used to connect to the handshake target."
msgstr "用於連接握手目標的代理。"
+#: htdocs/luci-static/resources/fchomo/listeners.js:1010
+msgid "The proxy used to connect to the rendezvous server."
+msgstr "用於連接牽線伺服器的代理。"
+
#: htdocs/luci-static/resources/fchomo/listeners.js:880
#: htdocs/luci-static/resources/view/fchomo/node.js:1403
msgid "The server and client can set different padding parameters."
msgstr "伺服器和客戶端可以設定不同的填充參數。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1239
+#: htdocs/luci-static/resources/fchomo/listeners.js:1227
#: htdocs/luci-static/resources/view/fchomo/global.js:623
msgid "This ECH parameter needs to be added to the HTTPS record of the domain."
msgstr "此 ECH 參數需要加入到網域的 HTTPS 記錄中。"
+#: htdocs/luci-static/resources/fchomo.js:1483
#: htdocs/luci-static/resources/view/fchomo/client.js:1678
-#: htdocs/luci-static/resources/view/fchomo/node.js:1558
-#: htdocs/luci-static/resources/view/fchomo/node.js:2604
+#: htdocs/luci-static/resources/view/fchomo/node.js:1522
+#: htdocs/luci-static/resources/view/fchomo/node.js:2568
msgid ""
"This is DANGEROUS, your traffic is almost like "
"PLAIN TEXT! Use at your own risk!"
@@ -3756,18 +3774,18 @@ msgstr "Tproxy 連接埠"
msgid "Traffic pattern"
msgstr "流量模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2798
+#: htdocs/luci-static/resources/view/fchomo/node.js:2762
msgid "Transit proxy group"
msgstr "中轉代理組"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2809
+#: htdocs/luci-static/resources/view/fchomo/node.js:2773
msgid "Transit proxy node"
msgstr "中轉代理節點"
#: htdocs/luci-static/resources/fchomo/listeners.js:194
-#: htdocs/luci-static/resources/fchomo/listeners.js:1309
+#: htdocs/luci-static/resources/fchomo/listeners.js:1297
#: htdocs/luci-static/resources/view/fchomo/node.js:363
-#: htdocs/luci-static/resources/view/fchomo/node.js:1911
+#: htdocs/luci-static/resources/view/fchomo/node.js:1875
msgid "Transport"
msgstr "傳輸層"
@@ -3776,8 +3794,8 @@ msgstr "傳輸層"
msgid "Transport fields"
msgstr "傳輸層欄位"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1314
-#: htdocs/luci-static/resources/view/fchomo/node.js:1916
+#: htdocs/luci-static/resources/fchomo/listeners.js:1302
+#: htdocs/luci-static/resources/view/fchomo/node.js:1880
msgid "Transport type"
msgstr "傳輸層類型"
@@ -3830,8 +3848,8 @@ msgstr "關閉 TCP 中繼。"
#: htdocs/luci-static/resources/view/fchomo/client.js:871
#: htdocs/luci-static/resources/view/fchomo/client.js:1069
#: htdocs/luci-static/resources/view/fchomo/node.js:271
-#: htdocs/luci-static/resources/view/fchomo/node.js:2363
-#: htdocs/luci-static/resources/view/fchomo/node.js:2759
+#: htdocs/luci-static/resources/view/fchomo/node.js:2327
+#: htdocs/luci-static/resources/view/fchomo/node.js:2723
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:296
msgid "Type"
msgstr "類型"
@@ -3850,7 +3868,7 @@ msgstr "類型"
#: htdocs/luci-static/resources/fchomo/listeners.js:676
#: htdocs/luci-static/resources/view/fchomo/client.js:617
#: htdocs/luci-static/resources/view/fchomo/client.js:706
-#: htdocs/luci-static/resources/view/fchomo/node.js:2572
+#: htdocs/luci-static/resources/view/fchomo/node.js:2536
msgid "UDP"
msgstr "UDP"
@@ -3894,7 +3912,7 @@ msgstr "自動選擇"
msgid "UUID"
msgstr "UUID"
-#: htdocs/luci-static/resources/fchomo.js:1443
+#: htdocs/luci-static/resources/fchomo.js:1521
msgid "Unable to download unsupported type: %s"
msgstr "無法下載不支援的類型: %s"
@@ -3920,7 +3938,7 @@ msgid "Unknown error: %s"
msgstr "未知錯誤:%s"
#: htdocs/luci-static/resources/view/fchomo/node.js:1256
-#: htdocs/luci-static/resources/view/fchomo/node.js:2577
+#: htdocs/luci-static/resources/view/fchomo/node.js:2541
msgid "UoT"
msgstr "UDP over TCP (UoT)"
@@ -3928,24 +3946,24 @@ msgstr "UDP over TCP (UoT)"
msgid "Update failed."
msgstr "更新失敗。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2432
+#: htdocs/luci-static/resources/view/fchomo/node.js:2396
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:408
msgid "Update interval"
msgstr "更新間隔"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1411
-#: htdocs/luci-static/resources/view/fchomo/node.js:2170
+#: htdocs/luci-static/resources/fchomo/listeners.js:1399
+#: htdocs/luci-static/resources/view/fchomo/node.js:2134
msgid "Upload bandwidth"
msgstr "上傳頻寬"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1412
-#: htdocs/luci-static/resources/view/fchomo/node.js:2171
+#: htdocs/luci-static/resources/fchomo/listeners.js:1400
+#: htdocs/luci-static/resources/view/fchomo/node.js:2135
msgid "Upload bandwidth in Mbps."
msgstr "上傳頻寬(單位:Mbps)。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1149
-#: htdocs/luci-static/resources/fchomo/listeners.js:1189
-#: htdocs/luci-static/resources/view/fchomo/node.js:1569
+#: htdocs/luci-static/resources/fchomo/listeners.js:1137
+#: htdocs/luci-static/resources/fchomo/listeners.js:1177
+#: htdocs/luci-static/resources/view/fchomo/node.js:1533
msgid "Upload certificate"
msgstr "上傳憑證"
@@ -3953,25 +3971,25 @@ msgstr "上傳憑證"
msgid "Upload initial package"
msgstr "上傳初始資源包"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1164
-#: htdocs/luci-static/resources/view/fchomo/node.js:1583
+#: htdocs/luci-static/resources/fchomo/listeners.js:1152
+#: htdocs/luci-static/resources/view/fchomo/node.js:1547
msgid "Upload key"
msgstr "上傳金鑰"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1152
-#: htdocs/luci-static/resources/fchomo/listeners.js:1167
-#: htdocs/luci-static/resources/fchomo/listeners.js:1192
+#: htdocs/luci-static/resources/fchomo/listeners.js:1140
+#: htdocs/luci-static/resources/fchomo/listeners.js:1155
+#: htdocs/luci-static/resources/fchomo/listeners.js:1180
#: htdocs/luci-static/resources/view/fchomo/global.js:306
-#: htdocs/luci-static/resources/view/fchomo/node.js:1572
-#: htdocs/luci-static/resources/view/fchomo/node.js:1586
+#: htdocs/luci-static/resources/view/fchomo/node.js:1536
+#: htdocs/luci-static/resources/view/fchomo/node.js:1550
msgid "Upload..."
msgstr "上傳..."
-#: htdocs/luci-static/resources/view/fchomo/node.js:1849
+#: htdocs/luci-static/resources/view/fchomo/node.js:1813
msgid "Use DHCP"
msgstr "使用 DHCP"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1850
+#: htdocs/luci-static/resources/view/fchomo/node.js:1814
msgid "Use DHCP to obtain IP address."
msgstr "使用 DHCP 取得 IP 位址。"
@@ -4017,8 +4035,9 @@ msgstr "用於解析 DNS 伺服器的網域。必須是 IP。"
msgid "Used to resolve the domain of the Proxy node."
msgstr "用於解析代理節點的網域。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1550
-#: htdocs/luci-static/resources/view/fchomo/node.js:2596
+#: htdocs/luci-static/resources/fchomo.js:1475
+#: htdocs/luci-static/resources/view/fchomo/node.js:1514
+#: htdocs/luci-static/resources/view/fchomo/node.js:2560
msgid "Used to verify the hostname on the returned certificates."
msgstr "用於驗證傳回的憑證上的主機名稱。"
@@ -4053,11 +4072,11 @@ msgstr "UDP 直連失敗後使用中繼。"
msgid "Using this in conjunction with %s is recommended."
msgstr "建議與 %s 結合使用。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2027
+#: htdocs/luci-static/resources/view/fchomo/node.js:1991
msgid "V2ray HTTPUpgrade"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2032
+#: htdocs/luci-static/resources/view/fchomo/node.js:1996
msgid "V2ray HTTPUpgrade fast open"
msgstr ""
@@ -4071,9 +4090,9 @@ msgstr ""
msgid "VMess"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1793
-#: htdocs/luci-static/resources/view/fchomo/node.js:1819
-#: htdocs/luci-static/resources/view/fchomo/node.js:1826
+#: htdocs/luci-static/resources/view/fchomo/node.js:1757
+#: htdocs/luci-static/resources/view/fchomo/node.js:1783
+#: htdocs/luci-static/resources/view/fchomo/node.js:1790
msgid "VPN"
msgstr ""
@@ -4085,8 +4104,8 @@ msgstr "VPN 欄位"
msgid "Valid 16-digit Moon World ID and 10-digit Node ID of Moon Root server."
msgstr "有效的 16-位數 Moon World ID 和 10-位數 Moon Root 伺服器 Node ID。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2369
-#: htdocs/luci-static/resources/view/fchomo/node.js:2765
+#: htdocs/luci-static/resources/view/fchomo/node.js:2333
+#: htdocs/luci-static/resources/view/fchomo/node.js:2729
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:339
msgid "Value"
msgstr "可視化值"
@@ -4111,16 +4130,16 @@ msgid "Version hint"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1116
-#: htdocs/luci-static/resources/view/fchomo/node.js:1818
-#: htdocs/luci-static/resources/view/fchomo/node.js:1851
+#: htdocs/luci-static/resources/view/fchomo/node.js:1782
+#: htdocs/luci-static/resources/view/fchomo/node.js:1815
msgid "Virtual IPv4 address"
msgstr "虛擬 IPv4 位址"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1825
+#: htdocs/luci-static/resources/view/fchomo/node.js:1789
msgid "Virtual IPv6 address"
msgstr "虛擬 IPv6 位址"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1792
+#: htdocs/luci-static/resources/view/fchomo/node.js:1756
msgid "Virtual address"
msgstr "虛擬位址"
@@ -4138,15 +4157,15 @@ msgid "Warning"
msgstr "警告"
#: htdocs/luci-static/resources/fchomo/listeners.js:377
-#: htdocs/luci-static/resources/fchomo/listeners.js:1316
-#: htdocs/luci-static/resources/fchomo/listeners.js:1327
-#: htdocs/luci-static/resources/fchomo/listeners.js:1334
+#: htdocs/luci-static/resources/fchomo/listeners.js:1304
+#: htdocs/luci-static/resources/fchomo/listeners.js:1315
+#: htdocs/luci-static/resources/fchomo/listeners.js:1322
#: htdocs/luci-static/resources/view/fchomo/node.js:468
#: htdocs/luci-static/resources/view/fchomo/node.js:497
-#: htdocs/luci-static/resources/view/fchomo/node.js:1921
-#: htdocs/luci-static/resources/view/fchomo/node.js:1934
-#: htdocs/luci-static/resources/view/fchomo/node.js:1941
-#: htdocs/luci-static/resources/view/fchomo/node.js:1947
+#: htdocs/luci-static/resources/view/fchomo/node.js:1885
+#: htdocs/luci-static/resources/view/fchomo/node.js:1898
+#: htdocs/luci-static/resources/view/fchomo/node.js:1905
+#: htdocs/luci-static/resources/view/fchomo/node.js:1911
msgid "WebSocket"
msgstr ""
@@ -4182,33 +4201,33 @@ msgstr "WireGuard 預先共用金鑰。"
msgid "WireGuard requires base64-encoded private keys."
msgstr "WireGuard 要求 base64 編碼的私鑰。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1803
-#: htdocs/luci-static/resources/view/fchomo/node.js:1835
+#: htdocs/luci-static/resources/view/fchomo/node.js:1767
+#: htdocs/luci-static/resources/view/fchomo/node.js:1799
msgid "Wireguard"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1317
-#: htdocs/luci-static/resources/fchomo/listeners.js:1328
-#: htdocs/luci-static/resources/view/fchomo/node.js:1922
-#: htdocs/luci-static/resources/view/fchomo/node.js:1942
+#: htdocs/luci-static/resources/fchomo/listeners.js:1305
+#: htdocs/luci-static/resources/fchomo/listeners.js:1316
+#: htdocs/luci-static/resources/view/fchomo/node.js:1886
+#: htdocs/luci-static/resources/view/fchomo/node.js:1906
msgid "XHTTP"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1364
-#: htdocs/luci-static/resources/view/fchomo/node.js:2037
+#: htdocs/luci-static/resources/fchomo/listeners.js:1352
+#: htdocs/luci-static/resources/view/fchomo/node.js:2001
msgid "XHTTP mode"
msgstr "XHTTP 模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2068
+#: htdocs/luci-static/resources/view/fchomo/node.js:2032
msgid "XMUX"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2073
-#: htdocs/luci-static/resources/view/fchomo/node.js:2078
-#: htdocs/luci-static/resources/view/fchomo/node.js:2083
-#: htdocs/luci-static/resources/view/fchomo/node.js:2088
-#: htdocs/luci-static/resources/view/fchomo/node.js:2093
-#: htdocs/luci-static/resources/view/fchomo/node.js:2098
+#: htdocs/luci-static/resources/view/fchomo/node.js:2037
+#: htdocs/luci-static/resources/view/fchomo/node.js:2042
+#: htdocs/luci-static/resources/view/fchomo/node.js:2047
+#: htdocs/luci-static/resources/view/fchomo/node.js:2052
+#: htdocs/luci-static/resources/view/fchomo/node.js:2057
+#: htdocs/luci-static/resources/view/fchomo/node.js:2062
msgid "XMUX:"
msgstr ""
@@ -4224,7 +4243,7 @@ msgstr ""
msgid "Yaml text"
msgstr "Yaml 格式文本"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2607
+#: htdocs/luci-static/resources/view/fchomo/node.js:2571
msgid "Yes"
msgstr ""
@@ -4237,7 +4256,7 @@ msgstr "您可以將 %s 新增到 %s 中,以解析虛擬網路內的 A/PTR 記
msgid "YouTube"
msgstr "YouTube"
-#: htdocs/luci-static/resources/fchomo.js:1916
+#: htdocs/luci-static/resources/fchomo.js:2002
msgid "Your %s was successfully uploaded. Size: %sB."
msgstr "您的 %s 已成功上傳。大小:%sB。"
@@ -4273,11 +4292,11 @@ msgstr ""
msgid "aes-gcm-256"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2454
+#: htdocs/luci-static/resources/view/fchomo/node.js:2418
msgid "age private key"
msgstr "age 私鑰"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2515
+#: htdocs/luci-static/resources/view/fchomo/node.js:2479
msgid "age public key"
msgstr "age 公鑰"
@@ -4302,9 +4321,9 @@ msgstr "bbr"
msgid "bbr3"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1154
-#: htdocs/luci-static/resources/fchomo/listeners.js:1194
-#: htdocs/luci-static/resources/view/fchomo/node.js:1574
+#: htdocs/luci-static/resources/fchomo/listeners.js:1142
+#: htdocs/luci-static/resources/fchomo/listeners.js:1182
+#: htdocs/luci-static/resources/view/fchomo/node.js:1538
msgid "certificate"
msgstr "憑證"
@@ -4336,7 +4355,7 @@ msgstr "decryption"
msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)"
msgstr "dnsmasq 自行選擇上游服務器。 (可能影響 CDN 準確性)"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2589
+#: htdocs/luci-static/resources/view/fchomo/node.js:2553
msgid "down"
msgstr "Hysteria 下載速率"
@@ -4351,26 +4370,26 @@ msgstr "encryption"
msgid "false = bandwidth optimized downlink; true = pure Sudoku downlink."
msgstr "false = 頻寬最佳化下行 true = 純 Sudoku 下行。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1315
-#: htdocs/luci-static/resources/fchomo/listeners.js:1326
-#: htdocs/luci-static/resources/fchomo/listeners.js:1333
-#: htdocs/luci-static/resources/view/fchomo/node.js:1920
-#: htdocs/luci-static/resources/view/fchomo/node.js:1933
-#: htdocs/luci-static/resources/view/fchomo/node.js:1940
-#: htdocs/luci-static/resources/view/fchomo/node.js:1946
+#: htdocs/luci-static/resources/fchomo/listeners.js:1303
+#: htdocs/luci-static/resources/fchomo/listeners.js:1314
+#: htdocs/luci-static/resources/fchomo/listeners.js:1321
+#: htdocs/luci-static/resources/view/fchomo/node.js:1884
+#: htdocs/luci-static/resources/view/fchomo/node.js:1897
+#: htdocs/luci-static/resources/view/fchomo/node.js:1904
+#: htdocs/luci-static/resources/view/fchomo/node.js:1910
msgid "gRPC"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2003
+#: htdocs/luci-static/resources/view/fchomo/node.js:1967
msgid "gRPC User-Agent"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2008
+#: htdocs/luci-static/resources/view/fchomo/node.js:1972
msgid "gRPC ping interval"
msgstr "gRPC ping 間隔"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1358
-#: htdocs/luci-static/resources/view/fchomo/node.js:1999
+#: htdocs/luci-static/resources/fchomo/listeners.js:1346
+#: htdocs/luci-static/resources/view/fchomo/node.js:1963
msgid "gRPC service name"
msgstr "gRPC 服務名稱"
@@ -4383,7 +4402,7 @@ msgstr "gVisor"
msgid "h2"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2115
+#: htdocs/luci-static/resources/view/fchomo/node.js:2079
msgid "h2mux"
msgstr ""
@@ -4399,7 +4418,7 @@ msgstr ""
msgid "least one keypair required"
msgstr "至少需要一對密鑰"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2730
+#: htdocs/luci-static/resources/view/fchomo/node.js:2694
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:444
msgid "luci-app-tinyfilemanager is not installed, please install it first."
msgstr "luci-app-tinyfilemanager 未安裝,請先安裝它。"
@@ -4419,7 +4438,7 @@ msgstr "mihomo IP 協定棧(MIPS)"
#: htdocs/luci-static/resources/view/fchomo/client.js:1576
#: htdocs/luci-static/resources/view/fchomo/client.js:1810
#: htdocs/luci-static/resources/view/fchomo/client.js:1866
-#: htdocs/luci-static/resources/view/fchomo/node.js:2335
+#: htdocs/luci-static/resources/view/fchomo/node.js:2299
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:258
msgid "mihomo config"
msgstr "mihomo 配置"
@@ -4428,8 +4447,8 @@ msgstr "mihomo 配置"
msgid "mlkem768x25519plus"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2188
-#: htdocs/luci-static/resources/view/fchomo/node.js:2567
+#: htdocs/luci-static/resources/view/fchomo/node.js:2152
+#: htdocs/luci-static/resources/view/fchomo/node.js:2531
msgid "mpTCP"
msgstr "多路徑 TCP (mpTCP)"
@@ -4441,10 +4460,10 @@ msgstr "new_reno"
msgid "no-resolve"
msgstr "no-resolve"
-#: htdocs/luci-static/resources/fchomo.js:1639
-#: htdocs/luci-static/resources/fchomo.js:1746
-#: htdocs/luci-static/resources/fchomo.js:1781
-#: htdocs/luci-static/resources/fchomo.js:1809
+#: htdocs/luci-static/resources/fchomo.js:1717
+#: htdocs/luci-static/resources/fchomo.js:1832
+#: htdocs/luci-static/resources/fchomo.js:1867
+#: htdocs/luci-static/resources/fchomo.js:1895
msgid "non-empty value"
msgstr "非空值"
@@ -4498,11 +4517,11 @@ msgstr ""
msgid "openssl-chacha20"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2548
+#: htdocs/luci-static/resources/view/fchomo/node.js:2512
msgid "override.override-expr"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2540
+#: htdocs/luci-static/resources/view/fchomo/node.js:2504
msgid "override.proxy-name"
msgstr ""
@@ -4510,8 +4529,8 @@ msgstr ""
msgid "packet addr (v2ray-core v5+)"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1368
-#: htdocs/luci-static/resources/view/fchomo/node.js:2041
+#: htdocs/luci-static/resources/fchomo/listeners.js:1356
+#: htdocs/luci-static/resources/view/fchomo/node.js:2005
msgid "packet-up"
msgstr ""
@@ -4520,8 +4539,8 @@ msgstr ""
msgid "poll"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1169
-#: htdocs/luci-static/resources/view/fchomo/node.js:1588
+#: htdocs/luci-static/resources/fchomo/listeners.js:1157
+#: htdocs/luci-static/resources/view/fchomo/node.js:1552
msgid "private key"
msgstr "私鑰"
@@ -4542,7 +4561,7 @@ msgstr "需要使用 API 的前端適配。"
msgid "rule-set"
msgstr "規則集"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2113
+#: htdocs/luci-static/resources/view/fchomo/node.js:2077
msgid "smux"
msgstr ""
@@ -4555,17 +4574,17 @@ msgstr ""
msgid "src"
msgstr "src"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1366
-#: htdocs/luci-static/resources/view/fchomo/node.js:2039
+#: htdocs/luci-static/resources/fchomo/listeners.js:1354
+#: htdocs/luci-static/resources/view/fchomo/node.js:2003
msgid "stream-one"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1367
-#: htdocs/luci-static/resources/view/fchomo/node.js:2040
+#: htdocs/luci-static/resources/fchomo/listeners.js:1355
+#: htdocs/luci-static/resources/view/fchomo/node.js:2004
msgid "stream-up"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1383
+#: htdocs/luci-static/resources/fchomo/listeners.js:1371
msgid "stream-up server seconds"
msgstr ""
@@ -4597,11 +4616,11 @@ msgstr "獨立 UCI 識別"
msgid "unique identifier"
msgstr "獨立標識"
-#: htdocs/luci-static/resources/fchomo.js:1818
+#: htdocs/luci-static/resources/fchomo.js:1904
msgid "unique value"
msgstr "獨立值"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2583
+#: htdocs/luci-static/resources/view/fchomo/node.js:2547
msgid "up"
msgstr "Hysteria 上傳速率"
@@ -4639,42 +4658,42 @@ msgstr ""
msgid "v5"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1686
-#: htdocs/luci-static/resources/fchomo.js:1689
+#: htdocs/luci-static/resources/fchomo.js:1764
+#: htdocs/luci-static/resources/fchomo.js:1767
msgid "valid JSON format"
msgstr "有效的 JSON 格式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1542
+#: htdocs/luci-static/resources/fchomo.js:1823
msgid "valid SHA256 string with %d characters"
msgstr "包含 %d 個字元的有效 SHA256 字串"
-#: htdocs/luci-static/resources/fchomo.js:1711
-#: htdocs/luci-static/resources/fchomo.js:1714
+#: htdocs/luci-static/resources/fchomo.js:1789
+#: htdocs/luci-static/resources/fchomo.js:1792
msgid "valid URL"
msgstr "有效網址"
-#: htdocs/luci-static/resources/fchomo.js:1736
+#: htdocs/luci-static/resources/fchomo.js:1814
msgid "valid base64 key with %d characters"
msgstr "包含 %d 個字元的有效 base64 金鑰"
-#: htdocs/luci-static/resources/fchomo.js:1796
-#: htdocs/luci-static/resources/fchomo.js:1802
+#: htdocs/luci-static/resources/fchomo.js:1882
+#: htdocs/luci-static/resources/fchomo.js:1888
msgid "valid format: 2x, 2p, 4v"
msgstr "有效格式: 2x, 2p, 4v"
-#: htdocs/luci-static/resources/fchomo.js:1727
+#: htdocs/luci-static/resources/fchomo.js:1805
msgid "valid hex string with %d characters"
msgstr "包含 %d 个字符的有效 Hex 字串"
-#: htdocs/luci-static/resources/fchomo.js:1783
+#: htdocs/luci-static/resources/fchomo.js:1869
msgid "valid key length with %d characters"
msgstr "包含 %d 個字元的有效金鑰"
-#: htdocs/luci-static/resources/fchomo.js:1649
+#: htdocs/luci-static/resources/fchomo.js:1727
msgid "valid port value"
msgstr "有效連接埠值"
-#: htdocs/luci-static/resources/fchomo.js:1699
+#: htdocs/luci-static/resources/fchomo.js:1777
msgid "valid uuid"
msgstr "有效 uuid"
@@ -4698,7 +4717,7 @@ msgstr ""
msgid "yacd-meta"
msgstr "yacd-meta"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2114
+#: htdocs/luci-static/resources/view/fchomo/node.js:2078
msgid "yamux"
msgstr ""
@@ -4710,10 +4729,10 @@ msgstr ""
msgid "zero"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1466
+#: htdocs/luci-static/resources/fchomo.js:1544
msgid "🔗"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1445
+#: htdocs/luci-static/resources/fchomo.js:1523
msgid "🡇"
msgstr ""
diff --git a/luci-app-fchomo/root/etc/init.d/fchomo b/luci-app-fchomo/root/etc/init.d/fchomo
index de1617624..1a9c2bf16 100755
--- a/luci-app-fchomo/root/etc/init.d/fchomo
+++ b/luci-app-fchomo/root/etc/init.d/fchomo
@@ -169,7 +169,7 @@ start_service() {
# Set ENV variables for Client
export SAFE_PATHS="$RUN_DIR$(
yq 'with(.external-ui; select(. != null) | . = sub("(/?$)", "/placeholder"))
- | [.external-ui, .tls.certificate, .tls.private-key, .tls.client-auth-cert] | unique | map(select(. != null))
+ | [.external-ui, .tls.certificate, .tls.private-key, .tls.client-auth-cert, .realm-opts.certificate, .realm-opts.private-key] | unique | map(select(. != null))
| .[] |= sub("(/[^/]+$)", "") | unique
| .[] | sub("(^)", ":")' \
"$RUN_DIR/mihomo-c.yaml" | tr -d '\n'
@@ -391,7 +391,7 @@ start_service() {
else
# Set ENV variables for Server
export SAFE_PATHS="$RUN_DIR$(
- yq '.listeners | map([.certificate, .private-key, .client-auth-cert][]) | unique | map(select(. != null))
+ yq '.listeners | map([.certificate, .private-key, .client-auth-cert, .realm-opts.certificate, .realm-opts.private-key][]) | unique | map(select(. != null))
| .[] |= sub("(/[^/]+$)", "") | unique
| .[] | sub("(^)", ":")' \
"$RUN_DIR/mihomo-s.yaml" | tr -d '\n'
diff --git a/luci-app-fchomo/root/usr/share/fchomo/generate_client.uc b/luci-app-fchomo/root/usr/share/fchomo/generate_client.uc
index 107e9c181..aa1a0b943 100644
--- a/luci-app-fchomo/root/usr/share/fchomo/generate_client.uc
+++ b/luci-app-fchomo/root/usr/share/fchomo/generate_client.uc
@@ -364,6 +364,8 @@ uci.foreach(uciconf, uciinbd, (cfg) => {
listener["jls-config"].proxy = get_proxy(listener["jls-config"].proxy);
if (listener["jls-upstream"])
listener["jls-upstream"].proxy = get_proxy(listener["jls-upstream"].proxy);
+ if (listener["realm-opts"])
+ listener["realm-opts"].proxy = get_proxy(listener["realm-opts"].proxy);
push(config.listeners, listener);
});
@@ -607,13 +609,14 @@ uci.foreach(uciconf, ucinode, (cfg) => {
token: cfg.hysteria2_realm_token,
"realm-id": cfg.hysteria2_realm_id,
"stun-servers": cfg.hysteria2_realm_stun_servers,
- // @TLS of server-url
- //sni,
- //alpn,
- //"skip-cert-verify",
- //fingerprint,
- //certificate,
- //"private-key"
+ // TLS of server-url
+ sni: cfg.hysteria2_realm_sni,
+ alpn: cfg.hysteria2_realm_alpn,
+ fingerprint: cfg.hysteria2_realm_fingerprint,
+ "name-cert-verify": cfg.hysteria2_realm_name_cert_verify,
+ "skip-cert-verify": strToBool(cfg.hysteria2_realm_skip_cert_verify),
+ certificate: cfg.hysteria2_realm_cert_path, // mTLS
+ "private-key": cfg.hysteria2_realm_key_path // mTLS
} : null,
/* ShadowQUIC */
diff --git a/luci-app-fchomo/root/usr/share/ucode/fchomo.uc b/luci-app-fchomo/root/usr/share/ucode/fchomo.uc
index 2af466ae2..c2bc27d8c 100644
--- a/luci-app-fchomo/root/usr/share/ucode/fchomo.uc
+++ b/luci-app-fchomo/root/usr/share/ucode/fchomo.uc
@@ -323,13 +323,15 @@ export function parseListener(cfg) {
token: cfg.hysteria2_realm_token,
"realm-id": cfg.hysteria2_realm_id,
"stun-servers": cfg.hysteria2_realm_stun_servers,
- // @TLS of server-url
- //sni,
- //alpn,
- //"skip-cert-verify",
- //fingerprint,
- //certificate,
- //"private-key"
+ // TLS of server-url
+ sni: cfg.hysteria2_realm_sni,
+ alpn: cfg.hysteria2_realm_alpn,
+ fingerprint: cfg.hysteria2_realm_fingerprint,
+ "name-cert-verify": cfg.hysteria2_realm_name_cert_verify,
+ "skip-cert-verify": strToBool(cfg.hysteria2_realm_skip_cert_verify),
+ certificate: cfg.hysteria2_realm_cert_path, // mTLS
+ "private-key": cfg.hysteria2_realm_key_path, // mTLS
+ proxy: cfg.hysteria2_realm_proxy // raw data need post-processing
} : null,
/* Hysteria2 Realmserver */
diff --git a/luci-app-open-box/Makefile b/luci-app-open-box/Makefile
index 3d1fe22eb..e997fee4d 100644
--- a/luci-app-open-box/Makefile
+++ b/luci-app-open-box/Makefile
@@ -1,8 +1,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-open-box
-PKG_VERSION:=0.1.374
-PKG_RELEASE:=52
+PKG_VERSION:=0.1.376
+PKG_RELEASE:=53
PKG_MAINTAINER:=liandu2024
PKG_LICENSE:=GPL-3.0-or-later
diff --git a/luci-app-openvpn-plus/Makefile b/luci-app-openvpn-plus/Makefile
index 925b7a04d..8094f0fd1 100755
--- a/luci-app-openvpn-plus/Makefile
+++ b/luci-app-openvpn-plus/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-openvpn-plus
PKG_VERSION:=1.0.0
-PKG_RELEASE:=9
+PKG_RELEASE:=10
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=Manfred Jaider ' + _('Failed to get login URL. You may close this tab.') + '
'; - ui.addTimeLimitedNotification(null, [ E('p', _('Failed to get login URL: %s').format(res?.error || _('Invalid response from server.'))) ], 7000, 'error'); + notifyTimed(null, [ E('p', _('Failed to get login URL: %s').format(res?.error || _('Invalid response from server.'))) ], 7000, 'error'); } }).catch(function(err) { ui.hideModal(); - ui.addTimeLimitedNotification(null, [ E('p', _('Failed to get login URL: %s').format(err.message || _('Unknown error'))) ], 7000, 'error'); + notifyTimed(null, [ E('p', _('Failed to get login URL: %s').format(err.message || _('Unknown error'))) ], 7000, 'error'); }); }; @@ -814,10 +854,10 @@ return view.extend({ return callDoLogout().then(function(res) { unwrapRpc(res, _('Logout')); ui.hideModal(); - ui.addTimeLimitedNotification(null, [ E('p', _('Successfully logged out.')) ], 5000, 'info'); + notifyTimed(null, [ E('p', _('Successfully logged out.')) ], 5000, 'info'); }).catch(function(err) { ui.hideModal(); - ui.addTimeLimitedNotification(null, [ E('p', _('Logout failed: %s').format(err.message || _('Unknown error'))) ], 7000, 'error'); + notifyTimed(null, [ E('p', _('Logout failed: %s').format(err.message || _('Unknown error'))) ], 7000, 'error'); }); } }, _('Logout')) @@ -872,13 +912,16 @@ return view.extend({ // standard OpenWrt apply mechanism, which triggers /etc/init.d/tailscale-settings // and provides automatic rollback protection if the device becomes unreachable. handleSaveApply(ev, mode) { - // Read the submitted value before map.save() consumes the staged delta. - // uci.get() prefers the staged change over the saved value, and the - // staged delta is only populated once the form has been parsed, which - // map.save() guarantees here. - const wantEnabled = uci.get('tailscale', 'settings', 'service_enabled'); + // The submitted value only reaches the uci model while map.save() parses + // the form, so reading it before map.save() returns the previously saved + // value: switching the service off then passed '1' and never armed the + // stop request. Read it in the save callback, which runs right after the + // form was parsed and before the staged changes are sent to the device. + let wantEnabled; - return map.save().then(function () { + return map.save(function () { + wantEnabled = uci.get('tailscale', 'settings', 'service_enabled'); + }).then(function () { // Only records the disable request; the reload handler performs // the stop after the commit, so a LuCI rollback still finds a // running daemon. One concurrency slot on purpose: an overlapping @@ -886,7 +929,10 @@ return view.extend({ // Fail-open on purpose: an install whose rpcd ACL cache predates // this method would otherwise be unable to apply anything. The // worst case is that the stop is skipped for this apply. - return callSetServiceEnabled({ enabled: wantEnabled === '0' ? '0' : '1' }) + // The declaration maps positional arguments to its params, so pass + // the value itself: { enabled: ... } reached ubus as the value of + // enabled and was rejected as an invalid argument. + return callSetServiceEnabled(wantEnabled === '0' ? '0' : '1') .catch(function(err) { console.warn('set_service_enabled failed: %s', err); return null; diff --git a/luci-app-tailscale-community/po/es/community.po b/luci-app-tailscale-community/po/es/community.po index 2f6d509eb..2ce87e6dc 100644 --- a/luci-app-tailscale-community/po/es/community.po +++ b/luci-app-tailscale-community/po/es/community.po @@ -1,23 +1,23 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8\n" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:47 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 msgid "%s failed" msgstr "Error de %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:71 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:94 msgid "(Experimental) Reduce Memory Usage" msgstr "(Experimental) Reducir el uso de memoria" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:711 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:751 msgid "1. Enable \"Advertise Exit Node\"." msgstr "1. Active \"Anunciar como nodo de salida\"." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:693 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:733 msgid "1. Select \"Accept Routes\" (to access remote devices)." msgstr "1. Marque \"Aceptar rutas\" (para acceder a dispositivos remotos)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:712 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:752 msgid "" "2. Click \"Auto Configure Firewall\" (it forwards Tailscale traffic " "to WAN)." @@ -25,7 +25,7 @@ msgstr "" "2. Haga clic en \"Configurar el cortafuegos automáticamente\" " "(reenvía el tráfico de Tailscale hacia la WAN)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:694 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:734 msgid "" "2. In \"Advertise Routes\", select your local subnet (to allow remote " "devices to access this LAN)." @@ -33,13 +33,13 @@ msgstr "" "2. En \"Anunciar rutas\", seleccione su subred local (para que los " "dispositivos remotos puedan acceder a esta LAN)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:695 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:735 msgid "3. Click \"Auto Configure Firewall\" (to allow traffic forwarding)." msgstr "" "3. Haga clic en \"Configurar el cortafuegos automáticamente\" (para " "permitir el reenvío de tráfico)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:713 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:753 msgid "" "3. In the Tailscale admin console, edit this device under the route " "settings and approve it as an Exit Node." @@ -47,27 +47,27 @@ msgstr "" "3. En la consola de administración de Tailscale, edite este " "dispositivo en los ajustes de rutas y apruébelo como nodo de salida." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:718 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:758 msgid "4. On the client, set this device as its exit node." msgstr "4. En el cliente, configure este dispositivo como su nodo de salida." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:55 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:78 msgid "Accept Routes" msgstr "Aceptar rutas" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:725 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:765 msgid "Account Settings" msgstr "Ajustes de la cuenta" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:56 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:79 msgid "Advertise Exit Node" msgstr "Anunciar como nodo de salida" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:636 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 msgid "Advertise Routes" msgstr "Anunciar rutas" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:636 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 msgid "" "Advertise subnet routes behind this device. Select from the detected " "subnets below or enter custom routes (comma-separated)." @@ -76,15 +76,15 @@ msgstr "" "Seleccione una de las subredes detectadas a continuación o introduzca " "rutas personalizadas separadas por comas." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:57 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:80 msgid "Allow LAN Access" msgstr "Permitir acceso a la LAN" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:55 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:78 msgid "Allow accepting routes announced by other nodes." msgstr "Permitir aceptar las rutas anunciadas por otros nodos." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:61 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:84 msgid "Allow connecting to this device through the SSH function of Tailscale." msgstr "" "Permitir conectarse a este dispositivo mediante la función SSH de " @@ -94,40 +94,40 @@ msgstr "" msgid "Allow user access to tailscale" msgstr "Permitir el acceso de usuarios a Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:170 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:230 msgid "Another firewall reload is already running" msgstr "Ya se está recargando el cortafuegos" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:799 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:839 msgid "Are you sure you want to log out?" msgstr "¿Seguro que desea cerrar la sesión?" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:644 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:684 msgid "Auto Configure Firewall" msgstr "Configurar el cortafuegos automáticamente" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:806 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:846 msgid "Cancel" msgstr "Cancelar" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:750 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:790 msgid "Click to Log out account on this device." msgstr "Haga clic para cerrar la sesión de la cuenta en este dispositivo." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:729 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:769 msgid "Click to get a login URL for this device." msgstr "" "Haga clic para obtener una URL de inicio de sesión para este " "dispositivo." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:291 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:383 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:591 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:850 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:443 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:631 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:890 msgid "Collecting data ..." msgstr "Recopilando datos..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:680 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:720 msgid "" "Configuration committed, reloading network and firewall. This can " "take a moment." @@ -135,23 +135,23 @@ msgstr "" "Configuración guardada, recargando la red y el cortafuegos. Esto " "puede tardar un momento." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:673 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:713 msgid "Configuring firewall" msgstr "Configurando el cortafuegos" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:826 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:866 msgid "Confirm Logout" msgstr "Confirmar cierre de sesión" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:452 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:512 msgid "Connection Info" msgstr "Información de conexión" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "Controls how Tailscale DNS is handled." msgstr "Controla cómo se gestiona el DNS de Tailscale." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:762 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:802 msgid "" "Could not open a new tab. Please check if your browser or an " "extension blocked the pop-up." @@ -159,43 +159,43 @@ msgstr "" "No se pudo abrir una pestaña nueva. Compruebe si su navegador o " "alguna extensión bloqueó la ventana emergente." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:734 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:774 msgid "Custom Login Server" msgstr "Servidor de inicio de sesión personalizado" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:742 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:782 msgid "Custom Login Server Auth Key" msgstr "Clave de autenticación del servidor de inicio de sesión personalizado" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "DNS Mode" msgstr "Modo DNS" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:93 msgid "Daemon MTU" msgstr "MTU del demonio" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:865 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:905 msgid "Daemon Settings" msgstr "Ajustes del demonio" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:56 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:79 msgid "Declare this device as an Exit Node." msgstr "Declarar este dispositivo como nodo de salida." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:869 msgid "Devices List" msgstr "Lista de dispositivos" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:63 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:86 msgid "Disable Firewall Configuration" msgstr "Desactivar la configuración del cortafuegos" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:59 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:82 msgid "Disable SNAT" msgstr "Desactivar SNAT" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:59 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:82 msgid "" "Disable Source NAT (SNAT) for traffic to advertised routes. Most " "users should leave this unchecked." @@ -204,46 +204,46 @@ msgstr "" "tráfico hacia las rutas anunciadas. La mayoría de los usuarios deben " "dejar esta opción desmarcada." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:63 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:86 msgid "Disable Tailscale netfilter auto-configuration (--netfilter-mode=off)." msgstr "" "Desactivar la autoconfiguración de netfilter de Tailscale " "(--netfilter-mode=off)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "Disabled" msgstr "Desactivado" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "Disabled: system DNS only." msgstr "Desactivado: solo el DNS del sistema." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:751 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:791 msgid "Disconnect from Tailscale and expire current node key." msgstr "Desconectar de Tailscale e invalidar la clave actual del nodo." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:41 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 msgid "Empty reply from server" msgstr "Respuesta vacía del servidor" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:87 msgid "Enable Peer Relay" msgstr "Activar Peer Relay" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:61 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:84 msgid "Enable Tailscale SSH" msgstr "Activar Tailscale SSH" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:53 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:76 msgid "Enable Tailscale Service" msgstr "Activar el servicio Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:58 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:81 msgid "Enable Web Interface" msgstr "Activar la interfaz web" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:53 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:76 msgid "" "Enable or disable the Tailscale service. When disabled, the service " "will be stopped and the process will be killed." @@ -251,7 +251,7 @@ msgstr "" "Activa o desactiva el servicio Tailscale. Al desactivarlo, el " "servicio se detendrá y el proceso se finalizará." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:87 msgid "" "Enable this device as a Peer Relay server. Requires a public IP and " "an UDP port open on the router." @@ -259,11 +259,11 @@ msgstr "" "Activa este dispositivo como servidor Peer Relay. Requiere una IP " "pública y un puerto UDP abierto en el router." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "Enabled" msgstr "Activado" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:71 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:94 msgid "" "Enabling this option can reduce memory usage, but it may sacrifice " "some performance (set GOGC=10)." @@ -271,23 +271,23 @@ msgstr "" "Activar esta opción puede reducir el uso de memoria, pero puede " "mermar algo el rendimiento (establece GOGC=10)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:787 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:827 msgid "Error" msgstr "Error" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 msgid "Error caching DERP region map: %s" msgstr "Error al guardar en caché el mapa de regiones DERP: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:335 msgid "Error fetching DERP region map: %s" msgstr "Error al obtener el mapa de regiones DERP: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:245 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:305 msgid "Error reading cached DERP region map: %s" msgstr "Error al leer el mapa de regiones DERP en caché: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:645 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:685 msgid "" "Essential configuration for Subnet Routing (Site-to-Site) and Exit " "Node features." @@ -295,12 +295,12 @@ msgstr "" "Configuración esencial para las funciones de enrutamiento de subredes " "(sitio a sitio) y de nodo de salida." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:612 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:652 msgid "Exit Node" msgstr "Nodo de salida" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:58 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:81 msgid "" "Expose a web interface on port 5252 for managing this node over " "Tailscale." @@ -308,66 +308,66 @@ msgstr "" "Expone una interfaz web en el puerto 5252 para administrar este nodo " "a través de Tailscale." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:683 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:723 msgid "Failed to configure firewall: %s" msgstr "No se pudo configurar el cortafuegos: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:788 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:828 msgid "Failed to get login URL. You may close this tab." msgstr "" "No se pudo obtener la URL de inicio de sesión. Puede cerrar esta " "pestaña." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:793 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:833 msgid "Failed to get login URL: %s" msgstr "No se pudo obtener la URL de inicio de sesión: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:859 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:899 msgid "Failed to load logs: %s" msgstr "No se pudieron cargar los registros: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:487 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:547 msgid "Filter peers by name, IP, or OS..." msgstr "Filtrar pares por nombre, IP o sistema operativo..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:504 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:564 msgid "Filter:" msgstr "Filtro:" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:54 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:77 msgid "Firewall Mode" msgstr "Modo del cortafuegos" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:716 msgid "Firewall configuration already applied." msgstr "La configuración del cortafuegos ya está aplicada." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:159 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:219 msgid "Firewall configuration applied." msgstr "Configuración del cortafuegos aplicada." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:165 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:225 msgid "Firewall reload failed" msgstr "Error al recargar el cortafuegos" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:600 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:640 msgid "General Settings" msgstr "Ajustes generales" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:449 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:509 msgid "Hostname" msgstr "Nombre de host" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:706 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:746 msgid "How to enable Exit Node?" msgstr "¿Cómo activar el nodo de salida?" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:688 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:728 msgid "How to enable Site-to-Site?" msgstr "¿Cómo activar la conexión sitio a sitio?" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:730 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:770 msgid "" "If the timeout is displayed, you can refresh the page and click Login " "again." @@ -375,7 +375,7 @@ msgstr "" "Si aparece un tiempo de espera agotado, puede actualizar la página y " "volver a hacer clic en Iniciar sesión." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:744 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:784 msgid "" "If you are using custom login server but not providing an Auth Key, " "will redirect to the login page without pre-filling the key." @@ -384,15 +384,15 @@ msgstr "" "proporciona una clave de autenticación, se redirigirá a la página de " "inicio de sesión sin rellenar la clave previamente." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:215 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 msgid "Invalid Date" msgstr "Fecha no válida" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 msgid "Invalid response from server." msgstr "Respuesta no válida del servidor." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:646 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:686 msgid "" "It creates the tailscale interface, adds it to a firewall zone, and " "sets up forwarding between LAN and Tailscale, plus Tailscale to WAN." @@ -401,55 +401,55 @@ msgstr "" "configura el reenvío entre la LAN y Tailscale, además de Tailscale " "hacia la WAN." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:218 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:278 msgid "Just now" msgstr "Ahora mismo" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:330 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:390 msgid "LOGGED OUT" msgstr "SESIÓN CERRADA" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:455 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:515 msgid "Last Seen" msgstr "Última conexión" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:736 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:776 msgid "Leave blank for default Tailscale control plane." msgstr "" "Déjelo en blanco para usar el plano de control predeterminado de " "Tailscale." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:853 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:893 msgid "Loading logs" msgstr "Cargando registros" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:852 msgid "Logging out..." msgstr "Cerrando sesión..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:728 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:768 msgid "Login" msgstr "Iniciar sesión" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:749 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:815 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:823 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:855 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:863 msgid "Logout" msgstr "Cerrar sesión" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:820 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:860 msgid "Logout failed: %s" msgstr "Error al cerrar sesión: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:836 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:876 msgid "Logs" msgstr "Registros" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "MagicDNS: Tailscale overrides resolv.conf." msgstr "MagicDNS: Tailscale sobrescribe resolv.conf." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:648 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:688 msgid "" "Masquerading and MSS Clamping (MTU fix) are enabled to keep " "connections stable." @@ -457,62 +457,62 @@ msgstr "" "Se activan el enmascaramiento y el MSS Clamping (corrección de MTU) " "para mantener estables las conexiones." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:212 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 msgid "N/A" msgstr "N/D" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:341 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:401 msgid "NOT RUNNING" msgstr "NO EN EJECUCIÓN" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:439 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:499 msgid "No matching peer devices found." msgstr "No se encontraron dispositivos pares que coincidan." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:400 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:460 msgid "No peer devices found." msgstr "No se encontraron dispositivos pares." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:368 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:840 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:428 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:880 msgid "No tailscale-related logs found." msgstr "No se encontraron registros relacionados con Tailscale." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:613 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:653 msgid "None" msgstr "Ninguno" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:213 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:273 msgid "Now" msgstr "Ahora" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:451 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:511 msgid "OS" msgstr "SO" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 msgid "Offline" msgstr "Sin conexión" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 msgid "Online" msgstr "En línea" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "OpenWrt Forward" msgstr "Reenvío OpenWrt" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "OpenWrt Forward: MagicDNS via dnsmasq forwarding.(Only support ts.net)" msgstr "" "Reenvío de OpenWrt: MagicDNS mediante el reenvío de dnsmasq. (Solo " "admite ts.net)" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:39 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 msgid "Operation" msgstr "Operación" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:735 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:775 msgid "" "Optional: Specify a custom control server URL (e.g., a Headscale " "instance, %s)." @@ -520,7 +520,7 @@ msgstr "" "Opcional: especifique la URL de un servidor de control personalizado " "(por ejemplo, una instancia de Headscale, %s)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:743 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:783 msgid "" "Optional: Specify an authentication key for the custom control " "server. Leave blank if not required." @@ -528,50 +528,50 @@ msgstr "" "Opcional: especifique una clave de autenticación para el servidor de " "control personalizado. Déjelo en blanco si no es necesaria." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:604 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:644 msgid "Peer Relay Port" msgstr "Puerto de Peer Relay" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:392 msgid "Please use the login button in the settings below to authenticate." msgstr "" "Utilice el botón de inicio de sesión de los ajustes que aparecen a " "continuación para autenticarse." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:772 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:778 #: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:818 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:852 msgid "Please wait." msgstr "Espere, por favor." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:349 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:409 msgid "RUNNING" msgstr "EN EJECUCIÓN" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:453 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:513 msgid "RX" msgstr "RX" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:845 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:885 msgid "Refresh" msgstr "Actualizar" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:177 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:237 msgid "Reloading firewall..." msgstr "Recargando el cortafuegos..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:772 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:778 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:818 msgid "Requesting Login URL..." msgstr "Solicitando la URL de inicio de sesión..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:769 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:809 msgid "Requesting Tailscale login URL... Please wait." msgstr "" "Solicitando la URL de inicio de sesión de Tailscale... Espere, por " "favor." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:612 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:652 msgid "" "Select an exit node from the list. If enabled, Allow LAN Access is " "enabled implicitly." @@ -579,7 +579,7 @@ msgstr "" "Seleccione un nodo de salida de la lista. Si se activa, Permitir " "acceso a la LAN se activa de forma implícita." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:54 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:77 msgid "" "Select the firewall backend for Tailscale to use. Requires service " "restart to take effect." @@ -587,14 +587,14 @@ msgstr "" "Seleccione el backend de cortafuegos que usará Tailscale. Requiere " "reiniciar el servicio para aplicarse." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:320 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:328 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:340 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:349 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:380 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:388 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:400 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:409 msgid "Service Status" msgstr "Estado del servicio" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:93 msgid "" "Set a custom MTU for the Tailscale daemon. Leave blank to use the " "default value." @@ -602,60 +602,60 @@ msgstr "" "Establezca un MTU personalizado para el demonio de Tailscale. Déjelo " "en blanco para usar el valor predeterminado." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:60 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:83 msgid "Shields Up" msgstr "Bloquear conexiones entrantes" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:448 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:508 msgid "Status" msgstr "Estado" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:817 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:857 msgid "Successfully logged out." msgstr "Sesión cerrada correctamente." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:321 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:381 msgid "TAILSCALE NOT FOUND" msgstr "TAILSCALE NO ENCONTRADO" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "TUN Mode" msgstr "Modo TUN" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:454 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:514 msgid "TX" msgstr "TX" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:354 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:414 msgid "Tailnet Name" msgstr "Nombre de la tailnet" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:562 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:622 #: luci-app-tailscale-community/root/usr/share/luci/menu.d/luci-app-tailscale-community.json:1 msgid "Tailscale" msgstr "Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:297 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:357 msgid "Tailscale Health Check: %s" msgstr "Comprobación de estado de Tailscale: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:450 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:510 msgid "Tailscale IP" msgstr "IP de Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:352 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:412 msgid "Tailscale IPv4" msgstr "IPv4 de Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:353 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:413 msgid "Tailscale IPv6" msgstr "IPv6 de Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:768 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:808 msgid "Tailscale Login" msgstr "Inicio de sesión en Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:562 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:622 msgid "" "Tailscale is a mesh VPN solution that makes it easy to connect your " "devices securely. This configuration page allows you to manage " @@ -665,11 +665,11 @@ msgstr "" "segura de sus dispositivos. Esta página de configuración le permite " "gestionar los ajustes de Tailscale en su dispositivo OpenWrt." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:389 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:449 msgid "Tailscale status error" msgstr "Error de estado de Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:647 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:687 msgid "" "The Tailscale to WAN forwarding is what lets clients send their " "internet traffic through this device as an Exit Node." @@ -678,11 +678,11 @@ msgstr "" "clientes envíen su tráfico de Internet a través de este dispositivo " "como nodo de salida." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:770 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:810 msgid "This can take up to 30 seconds." msgstr "Esto puede tardar hasta 30 segundos." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:800 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:840 msgid "" "This will disconnect this device from your Tailnet and require you to " "re-authenticate." @@ -690,12 +690,12 @@ msgstr "" "Esto desconectará este dispositivo de su tailnet y requerirá que " "vuelva a autenticarse." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:143 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:194 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:203 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:254 msgid "Timed out waiting for the firewall reload" msgstr "Se agotó el tiempo de espera para la recarga del cortafuegos" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:605 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:645 msgid "" "UDP port for the Peer Relay service. Open this port on your router " "firewall/NAT." @@ -703,21 +703,21 @@ msgstr "" "Puerto UDP para el servicio Peer Relay. Abra este puerto en el " "cortafuegos/NAT del router." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:245 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:683 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:793 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:820 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:859 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:305 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:335 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:723 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:833 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:860 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:899 msgid "Unknown error" msgstr "Error desconocido" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:350 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:410 msgid "Version" msgstr "Versión" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:60 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:83 msgid "" "When enabled, blocks all inbound connections from the Tailscale " "network." @@ -725,11 +725,11 @@ msgstr "" "Cuando está activado, bloquea todas las conexiones entrantes de la " "red Tailscale." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:57 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:80 msgid "When using the exit node, access to the local LAN is allowed." msgstr "Al usar el nodo de salida, se permite el acceso a la LAN local." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:660 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:700 msgid "" "You have unapplied changes. Save & Apply them first so the firewall " "matches the form." @@ -737,7 +737,7 @@ msgstr "" "Tiene cambios sin aplicar. Guárdelos y aplíquelos primero para que el " "cortafuegos coincida con el formulario." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:696 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:736 msgid "" "[Important] Log in to the Tailscale admin console and manually enable " "\"Subnet Routes\" for this device." @@ -746,7 +746,7 @@ msgstr "" "Tailscale y habilite manualmente \"Subnet Routes\" para este " "dispositivo." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:719 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:759 msgid "" "[Important] Step 3 cannot be done here: it needs your Tailscale " "account." @@ -754,7 +754,7 @@ msgstr "" "[Importante] El paso 3 no se puede realizar aquí: requiere su cuenta " "de Tailscale." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:221 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:281 msgid "ago" msgstr "atrás" diff --git a/luci-app-tailscale-community/po/pl/community.po b/luci-app-tailscale-community/po/pl/community.po index e1da08c6f..2daff8e57 100644 --- a/luci-app-tailscale-community/po/pl/community.po +++ b/luci-app-tailscale-community/po/pl/community.po @@ -1,25 +1,25 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8\n" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:47 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 msgid "%s failed" msgstr "Niepowodzenie operacji: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:71 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:94 msgid "(Experimental) Reduce Memory Usage" msgstr "(Eksperymentalne) Zmniejsz użycie pamięci" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:711 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:751 msgid "1. Enable \"Advertise Exit Node\"." msgstr "1. Włącz \"Ogłaszaj węzeł wyjścia\"." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:693 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:733 msgid "1. Select \"Accept Routes\" (to access remote devices)." msgstr "" "1. Wybierz \"Akceptuj trasy\" (aby uzyskać dostęp do zdalnych " "urządzeń)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:712 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:752 msgid "" "2. Click \"Auto Configure Firewall\" (it forwards Tailscale traffic " "to WAN)." @@ -27,7 +27,7 @@ msgstr "" "2. Kliknij \"Automatycznie konfiguruj zaporę\" (przekazuje ruch " "Tailscale do sieci WAN)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:694 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:734 msgid "" "2. In \"Advertise Routes\", select your local subnet (to allow remote " "devices to access this LAN)." @@ -35,13 +35,13 @@ msgstr "" "2. W \"Ogłaszaj trasy\" wybierz swoją lokalną podsieć (aby umożliwić " "zdalnym urządzaniom dostęp do tej sieci LAN)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:695 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:735 msgid "3. Click \"Auto Configure Firewall\" (to allow traffic forwarding)." msgstr "" "3. Kliknij \"Automatycznie konfiguruj zaporę\" (aby zezwolić na " "przekazywanie ruchu)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:713 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:753 msgid "" "3. In the Tailscale admin console, edit this device under the route " "settings and approve it as an Exit Node." @@ -49,27 +49,27 @@ msgstr "" "3. W panelu administracyjnym Tailscale edytuj to urządzenie w " "ustawieniach tras i zatwierdź je jako węzeł wyjścia." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:718 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:758 msgid "4. On the client, set this device as its exit node." msgstr "4. W kliencie ustaw to urządzenie jako węzeł wyjścia." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:55 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:78 msgid "Accept Routes" msgstr "Akceptuj trasy" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:725 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:765 msgid "Account Settings" msgstr "Ustawienia konta" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:56 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:79 msgid "Advertise Exit Node" msgstr "Ogłaszaj węzeł wyjścia" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:636 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 msgid "Advertise Routes" msgstr "Ogłaszaj trasy" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:636 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 msgid "" "Advertise subnet routes behind this device. Select from the detected " "subnets below or enter custom routes (comma-separated)." @@ -78,15 +78,15 @@ msgstr "" "podsieci poniżej lub wprowadź niestandardowe trasy (oddzielone " "przecinkami)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:57 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:80 msgid "Allow LAN Access" msgstr "Zezwól na dostęp do LAN" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:55 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:78 msgid "Allow accepting routes announced by other nodes." msgstr "Zezwól na akceptowanie tras ogłaszanych przez inne węzły." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:61 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:84 msgid "Allow connecting to this device through the SSH function of Tailscale." msgstr "Zezwól na łączenie się z tym urządzeniem przez funkcję SSH Tailscale." @@ -94,38 +94,38 @@ msgstr "Zezwól na łączenie się z tym urządzeniem przez funkcję SSH Tailsca msgid "Allow user access to tailscale" msgstr "Zezwól użytkownikowi na dostęp do Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:170 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:230 msgid "Another firewall reload is already running" msgstr "Trwa już ponowne ładowanie zapory" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:799 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:839 msgid "Are you sure you want to log out?" msgstr "Czy na pewno chcesz się wylogować?" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:644 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:684 msgid "Auto Configure Firewall" msgstr "Automatycznie konfiguruj zaporę" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:806 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:846 msgid "Cancel" msgstr "Anuluj" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:750 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:790 msgid "Click to Log out account on this device." msgstr "Kliknij, aby wylogować konto z tego urządzenia." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:729 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:769 msgid "Click to get a login URL for this device." msgstr "Kliknij, aby uzyskać URL logowania dla tego urządzenia." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:291 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:383 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:591 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:850 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:443 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:631 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:890 msgid "Collecting data ..." msgstr "Zbieranie danych ..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:680 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:720 msgid "" "Configuration committed, reloading network and firewall. This can " "take a moment." @@ -133,23 +133,23 @@ msgstr "" "Konfiguracja została zatwierdzona, ponowne ładowanie sieci i zapory. " "Może to chwilę potrwać." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:673 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:713 msgid "Configuring firewall" msgstr "Konfigurowanie zapory" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:826 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:866 msgid "Confirm Logout" msgstr "Potwierdź wylogowanie" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:452 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:512 msgid "Connection Info" msgstr "Informacje o połączeniu" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "Controls how Tailscale DNS is handled." msgstr "Kontroluje sposób obsługi DNS Tailscale." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:762 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:802 msgid "" "Could not open a new tab. Please check if your browser or an " "extension blocked the pop-up." @@ -157,43 +157,43 @@ msgstr "" "Nie można otworzyć nowej karty. Sprawdź, czy przeglądarka lub " "rozszerzenie zablokowało wyskakujące okno." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:734 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:774 msgid "Custom Login Server" msgstr "Niestandardowy serwer logowania" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:742 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:782 msgid "Custom Login Server Auth Key" msgstr "Klucz autoryzacji niestandardowego serwera logowania" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "DNS Mode" msgstr "Tryb DNS" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:93 msgid "Daemon MTU" msgstr "MTU demona" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:865 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:905 msgid "Daemon Settings" msgstr "Ustawienia demona" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:56 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:79 msgid "Declare this device as an Exit Node." msgstr "Deklaruje to urządzenie jako węzeł wyjścia." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:869 msgid "Devices List" msgstr "Lista urządzeń" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:63 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:86 msgid "Disable Firewall Configuration" msgstr "Wyłącz konfigurację zapory" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:59 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:82 msgid "Disable SNAT" msgstr "Wyłącz SNAT" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:59 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:82 msgid "" "Disable Source NAT (SNAT) for traffic to advertised routes. Most " "users should leave this unchecked." @@ -201,46 +201,46 @@ msgstr "" "Wyłącz NAT źródłowy (SNAT) dla ruchu do ogłaszanych tras. Większość " "użytkowników powinna zostawić to pole niezaznaczone." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:63 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:86 msgid "Disable Tailscale netfilter auto-configuration (--netfilter-mode=off)." msgstr "" "Wyłącz automatyczną konfigurację netfilter Tailscale " "(--netfilter-mode=off)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "Disabled" msgstr "Wyłączone" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "Disabled: system DNS only." msgstr "Wyłączone: tylko DNS systemowy." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:751 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:791 msgid "Disconnect from Tailscale and expire current node key." msgstr "Rozłącz z Tailscale i wygaś bieżący klucz węzła." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:41 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 msgid "Empty reply from server" msgstr "Pusta odpowiedź z serwera" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:87 msgid "Enable Peer Relay" msgstr "Włącz przekazywanie między węzłami" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:61 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:84 msgid "Enable Tailscale SSH" msgstr "Włącz SSH Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:53 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:76 msgid "Enable Tailscale Service" msgstr "Włącz usługę Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:58 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:81 msgid "Enable Web Interface" msgstr "Włącz interfejs webowy" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:53 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:76 msgid "" "Enable or disable the Tailscale service. When disabled, the service " "will be stopped and the process will be killed." @@ -248,7 +248,7 @@ msgstr "" "Włącz lub wyłącz usługę Tailscale. Po wyłączeniu usługa zostanie " "zatrzymana, a proces zostanie zakończony." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:87 msgid "" "Enable this device as a Peer Relay server. Requires a public IP and " "an UDP port open on the router." @@ -256,11 +256,11 @@ msgstr "" "Włącz to urządzenie jako serwer przekazywania między węzłami. Wymaga " "publicznego IP i otwartego portu UDP na routerze." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "Enabled" msgstr "Włączone" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:71 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:94 msgid "" "Enabling this option can reduce memory usage, but it may sacrifice " "some performance (set GOGC=10)." @@ -268,23 +268,23 @@ msgstr "" "Włączenie tej opcji może zmniejszyć użycie pamięci, ale może to " "wpłynąć na wydajność (ustawia GOGC=10)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:787 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:827 msgid "Error" msgstr "Błąd" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 msgid "Error caching DERP region map: %s" msgstr "Błąd buforowania mapy regionu DERP: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:335 msgid "Error fetching DERP region map: %s" msgstr "Błąd pobierania mapy regionu DERP: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:245 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:305 msgid "Error reading cached DERP region map: %s" msgstr "Błąd odczytywania buforowanej mapy regionu DERP: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:645 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:685 msgid "" "Essential configuration for Subnet Routing (Site-to-Site) and Exit " "Node features." @@ -292,12 +292,12 @@ msgstr "" "Podstawowa konfiguracja dla funkcji routingu podsieci (Site-to-Site) " "i węzła wyjścia." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:612 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:652 msgid "Exit Node" msgstr "Węzeł wyjścia" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:58 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:81 msgid "" "Expose a web interface on port 5252 for managing this node over " "Tailscale." @@ -305,64 +305,64 @@ msgstr "" "Udostępnij interfejs webowy na porcie 5252 do zarządzania tym węzłem " "przez Tailscale." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:683 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:723 msgid "Failed to configure firewall: %s" msgstr "Nie udało się skonfigurować zapory: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:788 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:828 msgid "Failed to get login URL. You may close this tab." msgstr "Nie udało się uzyskać URL logowania. Możesz zamknąć tę kartę." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:793 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:833 msgid "Failed to get login URL: %s" msgstr "Nie udało się uzyskać URL logowania: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:859 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:899 msgid "Failed to load logs: %s" msgstr "Nie udało się załadować logów: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:487 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:547 msgid "Filter peers by name, IP, or OS..." msgstr "Filtruj węzły po nazwie, IP lub systemie operacyjnym..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:504 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:564 msgid "Filter:" msgstr "Filtruj:" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:54 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:77 msgid "Firewall Mode" msgstr "Tryb zapory" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:716 msgid "Firewall configuration already applied." msgstr "Konfiguracja zapory jest już zastosowana." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:159 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:219 msgid "Firewall configuration applied." msgstr "Zastosowano konfigurację zapory." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:165 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:225 msgid "Firewall reload failed" msgstr "Nie udało się ponownie załadować zapory" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:600 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:640 msgid "General Settings" msgstr "Ustawienia ogólne" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:449 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:509 msgid "Hostname" msgstr "Nazwa hosta" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:706 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:746 msgid "How to enable Exit Node?" msgstr "Jak włączyć węzeł wyjścia?" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:688 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:728 msgid "How to enable Site-to-Site?" msgstr "Jak włączyć Site-to-Site?" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:730 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:770 msgid "" "If the timeout is displayed, you can refresh the page and click Login " "again." @@ -370,7 +370,7 @@ msgstr "" "Jeśli wyświetlany jest komunikat o przekroczeniu limitu czasu, możesz " "odświeżyć stronę i kliknąć Zaloguj ponownie." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:744 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:784 msgid "" "If you are using custom login server but not providing an Auth Key, " "will redirect to the login page without pre-filling the key." @@ -379,15 +379,15 @@ msgstr "" "podajesz klucza autoryzacji, nastąpi przekierowanie do strony " "logowania bez wypełniania klucza." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:215 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 msgid "Invalid Date" msgstr "Nieprawidłowa data" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 msgid "Invalid response from server." msgstr "Nieprawidłowa odpowiedź z serwera." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:646 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:686 msgid "" "It creates the tailscale interface, adds it to a firewall zone, and " "sets up forwarding between LAN and Tailscale, plus Tailscale to WAN." @@ -396,53 +396,53 @@ msgstr "" "przekazywanie między sieciami LAN i Tailscale oraz z Tailscale do " "sieci WAN." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:218 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:278 msgid "Just now" msgstr "Przed chwilą" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:330 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:390 msgid "LOGGED OUT" msgstr "WYLOGOWANO" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:455 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:515 msgid "Last Seen" msgstr "Ostatnia aktywność" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:736 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:776 msgid "Leave blank for default Tailscale control plane." msgstr "Pozostaw puste dla domyślnego panelu kontrolnego Tailscale." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:853 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:893 msgid "Loading logs" msgstr "Ładowanie logów" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:852 msgid "Logging out..." msgstr "Wylogowywanie..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:728 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:768 msgid "Login" msgstr "Zaloguj" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:749 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:815 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:823 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:855 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:863 msgid "Logout" msgstr "Wyloguj" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:820 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:860 msgid "Logout failed: %s" msgstr "Wylogowanie nie powiodło się: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:836 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:876 msgid "Logs" msgstr "Logi" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "MagicDNS: Tailscale overrides resolv.conf." msgstr "MagicDNS: Tailscale nadpisuje resolv.conf." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:648 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:688 msgid "" "Masquerading and MSS Clamping (MTU fix) are enabled to keep " "connections stable." @@ -450,62 +450,62 @@ msgstr "" "Maskowanie i MSS Clamping (korekta MTU) są włączone, aby połączenia " "pozostały stabilne." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:212 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 msgid "N/A" msgstr "Niedostępne" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:341 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:401 msgid "NOT RUNNING" msgstr "NIE DZIAŁA" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:439 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:499 msgid "No matching peer devices found." msgstr "Nie znaleziono pasujących urządzeń partnerskich." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:400 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:460 msgid "No peer devices found." msgstr "Nie znaleziono urządzeń partnerskich." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:368 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:840 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:428 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:880 msgid "No tailscale-related logs found." msgstr "Nie znaleziono logów związanych z Tailscale." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:613 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:653 msgid "None" msgstr "Brak" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:213 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:273 msgid "Now" msgstr "Teraz" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:451 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:511 msgid "OS" msgstr "System operacyjny" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 msgid "Offline" msgstr "Offline" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 msgid "Online" msgstr "Online" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "OpenWrt Forward" msgstr "Przekazywanie OpenWrt" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "OpenWrt Forward: MagicDNS via dnsmasq forwarding.(Only support ts.net)" msgstr "" "Przekazywanie OpenWrt: MagicDNS przez przekazywanie dnsmasq. " "(Obsługuje tylko ts.net)" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:39 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 msgid "Operation" msgstr "Operacja" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:735 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:775 msgid "" "Optional: Specify a custom control server URL (e.g., a Headscale " "instance, %s)." @@ -513,7 +513,7 @@ msgstr "" "Opcjonalne: Podaj niestandardowy URL serwera kontrolnego (np. " "instancja Headscale, %s)." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:743 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:783 msgid "" "Optional: Specify an authentication key for the custom control " "server. Leave blank if not required." @@ -521,48 +521,48 @@ msgstr "" "Opcjonalne: Podaj klucz autoryzacji dla niestandardowego serwera " "kontrolnego. Pozostaw puste, jeśli nie jest wymagany." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:604 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:644 msgid "Peer Relay Port" msgstr "Port przekazywania między węzłami" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:392 msgid "Please use the login button in the settings below to authenticate." msgstr "" "Użyj przycisku logowania w ustawieniach poniżej, aby się " "uwierzytelnić." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:772 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:778 #: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:818 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:852 msgid "Please wait." msgstr "Proszę czekać." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:349 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:409 msgid "RUNNING" msgstr "DZIAŁA" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:453 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:513 msgid "RX" msgstr "Odbieranie" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:845 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:885 msgid "Refresh" msgstr "Odśwież" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:177 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:237 msgid "Reloading firewall..." msgstr "Ponowne ładowanie zapory..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:772 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:778 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:818 msgid "Requesting Login URL..." msgstr "Pobieranie URL logowania..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:769 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:809 msgid "Requesting Tailscale login URL... Please wait." msgstr "Pobieranie URL logowania Tailscale... Proszę czekać." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:612 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:652 msgid "" "Select an exit node from the list. If enabled, Allow LAN Access is " "enabled implicitly." @@ -570,7 +570,7 @@ msgstr "" "Wybierz węzeł wyjścia z listy. Jeśli włączony, dostęp do LAN jest " "automatycznie włączony." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:54 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:77 msgid "" "Select the firewall backend for Tailscale to use. Requires service " "restart to take effect." @@ -578,14 +578,14 @@ msgstr "" "Wybierz mechanizm zapory dla Tailscale. Wymaga restartu usługi, aby " "zmiany zaczęły obowiązywać." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:320 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:328 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:340 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:349 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:380 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:388 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:400 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:409 msgid "Service Status" msgstr "Status usługi" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:93 msgid "" "Set a custom MTU for the Tailscale daemon. Leave blank to use the " "default value." @@ -593,60 +593,60 @@ msgstr "" "Ustaw niestandardowe MTU dla demona Tailscale. Pozostaw puste, aby " "użyć wartości domyślnej." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:60 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:83 msgid "Shields Up" msgstr "Blokuj połączenia przychodzące" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:448 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:508 msgid "Status" msgstr "Status" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:817 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:857 msgid "Successfully logged out." msgstr "Pomyślnie wylogowano." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:321 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:381 msgid "TAILSCALE NOT FOUND" msgstr "NIE ZNALEZIONO TAILSCALE" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "TUN Mode" msgstr "Tryb TUN" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:454 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:514 msgid "TX" msgstr "Wysyłanie" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:354 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:414 msgid "Tailnet Name" msgstr "Nazwa Tailnet" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:562 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:622 #: luci-app-tailscale-community/root/usr/share/luci/menu.d/luci-app-tailscale-community.json:1 msgid "Tailscale" msgstr "Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:297 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:357 msgid "Tailscale Health Check: %s" msgstr "Kontrola stanu Tailscale: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:450 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:510 msgid "Tailscale IP" msgstr "IP Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:352 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:412 msgid "Tailscale IPv4" msgstr "IPv4 Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:353 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:413 msgid "Tailscale IPv6" msgstr "IPv6 Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:768 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:808 msgid "Tailscale Login" msgstr "Logowanie Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:562 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:622 msgid "" "Tailscale is a mesh VPN solution that makes it easy to connect your " "devices securely. This configuration page allows you to manage " @@ -656,11 +656,11 @@ msgstr "" "urządzeń. Ta strona konfiguracyjna pozwala zarządzać ustawieniami " "Tailscale na urządzeniu OpenWrt." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:389 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:449 msgid "Tailscale status error" msgstr "Błąd statusu Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:647 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:687 msgid "" "The Tailscale to WAN forwarding is what lets clients send their " "internet traffic through this device as an Exit Node." @@ -668,11 +668,11 @@ msgstr "" "Przekazywanie z Tailscale do sieci WAN pozwala klientom wysyłać ruch " "internetowy przez to urządzenie jako węzeł wyjścia." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:770 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:810 msgid "This can take up to 30 seconds." msgstr "Może to potrwać do 30 sekund." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:800 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:840 msgid "" "This will disconnect this device from your Tailnet and require you to " "re-authenticate." @@ -680,12 +680,12 @@ msgstr "" "Spowoduje to rozłączenie tego urządzenia z Twojego Tailnet i wymaga " "ponownego uwierzytelnienia." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:143 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:194 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:203 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:254 msgid "Timed out waiting for the firewall reload" msgstr "Upłynął limit czasu oczekiwania na ponowne załadowanie zapory" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:605 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:645 msgid "" "UDP port for the Peer Relay service. Open this port on your router " "firewall/NAT." @@ -693,21 +693,21 @@ msgstr "" "Port UDP dla usługi przekazywania między węzłami. Otwórz ten port w " "zaporze/NAT na routerze." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:245 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:683 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:793 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:820 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:859 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:305 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:335 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:723 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:833 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:860 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:899 msgid "Unknown error" msgstr "Nieznany błąd" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:350 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:410 msgid "Version" msgstr "Wersja" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:60 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:83 msgid "" "When enabled, blocks all inbound connections from the Tailscale " "network." @@ -715,13 +715,13 @@ msgstr "" "Po włączeniu blokuje wszystkie połączenia przychodzące z sieci " "Tailscale." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:57 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:80 msgid "When using the exit node, access to the local LAN is allowed." msgstr "" "Podczas korzystania z węzła wyjścia dozwolony jest dostęp do " "lokalnego LAN." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:660 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:700 msgid "" "You have unapplied changes. Save & Apply them first so the firewall " "matches the form." @@ -729,7 +729,7 @@ msgstr "" "Masz niezastosowane zmiany. Najpierw je zapisz i zastosuj, aby zapora " "była zgodna z formularzem." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:696 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:736 msgid "" "[Important] Log in to the Tailscale admin console and manually enable " "\"Subnet Routes\" for this device." @@ -737,7 +737,7 @@ msgstr "" "[Ważne] Zaloguj się do panelu administracyjnego Tailscale i ręcznie " "włącz \"Trasy podsieci\" dla tego urządzenia." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:719 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:759 msgid "" "[Important] Step 3 cannot be done here: it needs your Tailscale " "account." @@ -745,7 +745,7 @@ msgstr "" "[Ważne] Kroku 3 nie można wykonać tutaj: wymaga Twojego konta " "Tailscale." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:221 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:281 msgid "ago" msgstr "temu" diff --git a/luci-app-tailscale-community/po/templates/community.pot b/luci-app-tailscale-community/po/templates/community.pot index 1b0e1c61f..7419ec33b 100644 --- a/luci-app-tailscale-community/po/templates/community.pot +++ b/luci-app-tailscale-community/po/templates/community.pot @@ -1,79 +1,79 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:47 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 msgid "%s failed" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:71 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:94 msgid "(Experimental) Reduce Memory Usage" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:711 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:751 msgid "1. Enable \"Advertise Exit Node\"." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:693 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:733 msgid "1. Select \"Accept Routes\" (to access remote devices)." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:712 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:752 msgid "" "2. Click \"Auto Configure Firewall\" (it forwards Tailscale traffic " "to WAN)." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:694 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:734 msgid "" "2. In \"Advertise Routes\", select your local subnet (to allow remote " "devices to access this LAN)." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:695 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:735 msgid "3. Click \"Auto Configure Firewall\" (to allow traffic forwarding)." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:713 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:753 msgid "" "3. In the Tailscale admin console, edit this device under the route " "settings and approve it as an Exit Node." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:718 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:758 msgid "4. On the client, set this device as its exit node." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:55 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:78 msgid "Accept Routes" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:725 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:765 msgid "Account Settings" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:56 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:79 msgid "Advertise Exit Node" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:636 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 msgid "Advertise Routes" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:636 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 msgid "" "Advertise subnet routes behind this device. Select from the detected " "subnets below or enter custom routes (comma-separated)." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:57 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:80 msgid "Allow LAN Access" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:55 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:78 msgid "Allow accepting routes announced by other nodes." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:61 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:84 msgid "Allow connecting to this device through the SSH function of Tailscale." msgstr "" @@ -81,596 +81,596 @@ msgstr "" msgid "Allow user access to tailscale" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:170 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:230 msgid "Another firewall reload is already running" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:799 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:839 msgid "Are you sure you want to log out?" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:644 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:684 msgid "Auto Configure Firewall" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:806 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:846 msgid "Cancel" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:750 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:790 msgid "Click to Log out account on this device." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:729 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:769 msgid "Click to get a login URL for this device." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:291 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:383 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:591 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:850 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:443 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:631 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:890 msgid "Collecting data ..." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:680 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:720 msgid "" "Configuration committed, reloading network and firewall. This can " "take a moment." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:673 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:713 msgid "Configuring firewall" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:826 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:866 msgid "Confirm Logout" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:452 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:512 msgid "Connection Info" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "Controls how Tailscale DNS is handled." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:762 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:802 msgid "" "Could not open a new tab. Please check if your browser or an " "extension blocked the pop-up." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:734 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:774 msgid "Custom Login Server" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:742 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:782 msgid "Custom Login Server Auth Key" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "DNS Mode" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:93 msgid "Daemon MTU" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:865 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:905 msgid "Daemon Settings" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:56 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:79 msgid "Declare this device as an Exit Node." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:869 msgid "Devices List" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:63 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:86 msgid "Disable Firewall Configuration" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:59 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:82 msgid "Disable SNAT" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:59 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:82 msgid "" "Disable Source NAT (SNAT) for traffic to advertised routes. Most " "users should leave this unchecked." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:63 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:86 msgid "Disable Tailscale netfilter auto-configuration (--netfilter-mode=off)." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "Disabled" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "Disabled: system DNS only." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:751 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:791 msgid "Disconnect from Tailscale and expire current node key." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:41 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 msgid "Empty reply from server" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:87 msgid "Enable Peer Relay" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:61 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:84 msgid "Enable Tailscale SSH" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:53 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:76 msgid "Enable Tailscale Service" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:58 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:81 msgid "Enable Web Interface" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:53 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:76 msgid "" "Enable or disable the Tailscale service. When disabled, the service " "will be stopped and the process will be killed." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:87 msgid "" "Enable this device as a Peer Relay server. Requires a public IP and " "an UDP port open on the router." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "Enabled" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:71 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:94 msgid "" "Enabling this option can reduce memory usage, but it may sacrifice " "some performance (set GOGC=10)." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:787 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:827 msgid "Error" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 msgid "Error caching DERP region map: %s" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:335 msgid "Error fetching DERP region map: %s" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:245 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:305 msgid "Error reading cached DERP region map: %s" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:645 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:685 msgid "" "Essential configuration for Subnet Routing (Site-to-Site) and Exit " "Node features." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:612 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:652 msgid "Exit Node" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:58 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:81 msgid "" "Expose a web interface on port 5252 for managing this node over " "Tailscale." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:683 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:723 msgid "Failed to configure firewall: %s" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:788 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:828 msgid "Failed to get login URL. You may close this tab." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:793 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:833 msgid "Failed to get login URL: %s" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:859 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:899 msgid "Failed to load logs: %s" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:487 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:547 msgid "Filter peers by name, IP, or OS..." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:504 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:564 msgid "Filter:" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:54 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:77 msgid "Firewall Mode" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:716 msgid "Firewall configuration already applied." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:159 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:219 msgid "Firewall configuration applied." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:165 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:225 msgid "Firewall reload failed" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:600 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:640 msgid "General Settings" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:449 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:509 msgid "Hostname" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:706 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:746 msgid "How to enable Exit Node?" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:688 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:728 msgid "How to enable Site-to-Site?" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:730 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:770 msgid "" "If the timeout is displayed, you can refresh the page and click Login " "again." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:744 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:784 msgid "" "If you are using custom login server but not providing an Auth Key, " "will redirect to the login page without pre-filling the key." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:215 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 msgid "Invalid Date" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 msgid "Invalid response from server." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:646 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:686 msgid "" "It creates the tailscale interface, adds it to a firewall zone, and " "sets up forwarding between LAN and Tailscale, plus Tailscale to WAN." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:218 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:278 msgid "Just now" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:330 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:390 msgid "LOGGED OUT" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:455 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:515 msgid "Last Seen" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:736 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:776 msgid "Leave blank for default Tailscale control plane." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:853 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:893 msgid "Loading logs" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:852 msgid "Logging out..." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:728 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:768 msgid "Login" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:749 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:815 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:823 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:855 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:863 msgid "Logout" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:820 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:860 msgid "Logout failed: %s" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:836 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:876 msgid "Logs" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "MagicDNS: Tailscale overrides resolv.conf." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:648 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:688 msgid "" "Masquerading and MSS Clamping (MTU fix) are enabled to keep " "connections stable." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:212 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 msgid "N/A" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:341 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:401 msgid "NOT RUNNING" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:439 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:499 msgid "No matching peer devices found." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:400 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:460 msgid "No peer devices found." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:368 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:840 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:428 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:880 msgid "No tailscale-related logs found." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:613 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:653 msgid "None" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:213 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:273 msgid "Now" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:451 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:511 msgid "OS" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 msgid "Offline" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 msgid "Online" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "OpenWrt Forward" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "OpenWrt Forward: MagicDNS via dnsmasq forwarding.(Only support ts.net)" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:39 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 msgid "Operation" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:735 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:775 msgid "" "Optional: Specify a custom control server URL (e.g., a Headscale " "instance, %s)." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:743 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:783 msgid "" "Optional: Specify an authentication key for the custom control " "server. Leave blank if not required." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:604 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:644 msgid "Peer Relay Port" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:392 msgid "Please use the login button in the settings below to authenticate." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:772 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:778 #: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:818 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:852 msgid "Please wait." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:349 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:409 msgid "RUNNING" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:453 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:513 msgid "RX" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:845 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:885 msgid "Refresh" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:177 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:237 msgid "Reloading firewall..." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:772 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:778 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:818 msgid "Requesting Login URL..." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:769 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:809 msgid "Requesting Tailscale login URL... Please wait." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:612 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:652 msgid "" "Select an exit node from the list. If enabled, Allow LAN Access is " "enabled implicitly." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:54 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:77 msgid "" "Select the firewall backend for Tailscale to use. Requires service " "restart to take effect." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:320 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:328 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:340 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:349 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:380 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:388 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:400 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:409 msgid "Service Status" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:93 msgid "" "Set a custom MTU for the Tailscale daemon. Leave blank to use the " "default value." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:60 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:83 msgid "Shields Up" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:448 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:508 msgid "Status" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:817 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:857 msgid "Successfully logged out." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:321 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:381 msgid "TAILSCALE NOT FOUND" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "TUN Mode" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:454 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:514 msgid "TX" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:354 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:414 msgid "Tailnet Name" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:562 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:622 #: luci-app-tailscale-community/root/usr/share/luci/menu.d/luci-app-tailscale-community.json:1 msgid "Tailscale" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:297 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:357 msgid "Tailscale Health Check: %s" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:450 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:510 msgid "Tailscale IP" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:352 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:412 msgid "Tailscale IPv4" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:353 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:413 msgid "Tailscale IPv6" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:768 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:808 msgid "Tailscale Login" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:562 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:622 msgid "" "Tailscale is a mesh VPN solution that makes it easy to connect your " "devices securely. This configuration page allows you to manage " "Tailscale settings on your OpenWrt device." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:389 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:449 msgid "Tailscale status error" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:647 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:687 msgid "" "The Tailscale to WAN forwarding is what lets clients send their " "internet traffic through this device as an Exit Node." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:770 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:810 msgid "This can take up to 30 seconds." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:800 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:840 msgid "" "This will disconnect this device from your Tailnet and require you to " "re-authenticate." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:143 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:194 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:203 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:254 msgid "Timed out waiting for the firewall reload" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:605 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:645 msgid "" "UDP port for the Peer Relay service. Open this port on your router " "firewall/NAT." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:245 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:683 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:793 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:820 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:859 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:305 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:335 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:723 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:833 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:860 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:899 msgid "Unknown error" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:350 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:410 msgid "Version" msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:60 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:83 msgid "" "When enabled, blocks all inbound connections from the Tailscale " "network." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:57 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:80 msgid "When using the exit node, access to the local LAN is allowed." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:660 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:700 msgid "" "You have unapplied changes. Save & Apply them first so the firewall " "matches the form." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:696 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:736 msgid "" "[Important] Log in to the Tailscale admin console and manually enable " "\"Subnet Routes\" for this device." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:719 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:759 msgid "" "[Important] Step 3 cannot be done here: it needs your Tailscale " "account." msgstr "" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:221 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:281 msgid "ago" msgstr "" diff --git a/luci-app-tailscale-community/po/zh_Hans/community.po b/luci-app-tailscale-community/po/zh_Hans/community.po index c898ccfad..5bcd5c283 100644 --- a/luci-app-tailscale-community/po/zh_Hans/community.po +++ b/luci-app-tailscale-community/po/zh_Hans/community.po @@ -1,79 +1,79 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8\n" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:47 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 msgid "%s failed" msgstr "%s失败" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:71 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:94 msgid "(Experimental) Reduce Memory Usage" msgstr "(实验性) 减少内存使用" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:711 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:751 msgid "1. Enable \"Advertise Exit Node\"." msgstr "1. 勾选 \"通告出口节点\"。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:693 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:733 msgid "1. Select \"Accept Routes\" (to access remote devices)." msgstr "1. 勾选 \"接受路由\" (以访问远程设备)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:712 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:752 msgid "" "2. Click \"Auto Configure Firewall\" (it forwards Tailscale traffic " "to WAN)." msgstr "2. 点击 \"自动配置防火墙\" (它会将 Tailscale 流量转发到 WAN)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:694 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:734 msgid "" "2. In \"Advertise Routes\", select your local subnet (to allow remote " "devices to access this LAN)." msgstr "2. 在 \"通告路由\" 中选择本地子网 (让远程设备能访问本局域网)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:695 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:735 msgid "3. Click \"Auto Configure Firewall\" (to allow traffic forwarding)." msgstr "3. 点击 \"自动配置防火墙\" (打通防火墙转发)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:713 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:753 msgid "" "3. In the Tailscale admin console, edit this device under the route " "settings and approve it as an Exit Node." msgstr "3. 在 Tailscale 管理控制台的路由设置中编辑此设备,并批准其为出口节点。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:718 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:758 msgid "4. On the client, set this device as its exit node." msgstr "4. 在客户端上,将此设备设为出口节点。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:55 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:78 msgid "Accept Routes" msgstr "接受路由" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:725 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:765 msgid "Account Settings" msgstr "账户设置" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:56 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:79 msgid "Advertise Exit Node" msgstr "通告出口节点" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:636 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 msgid "Advertise Routes" msgstr "通告路由" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:636 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 msgid "" "Advertise subnet routes behind this device. Select from the detected " "subnets below or enter custom routes (comma-separated)." msgstr "通告此设备后的子网路由。从下面的子网中选择,或输入自定义路由 (逗号分隔)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:57 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:80 msgid "Allow LAN Access" msgstr "允许访问局域网" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:55 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:78 msgid "Allow accepting routes announced by other nodes." msgstr "允许接受由其他节点通告的路由。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:61 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:84 msgid "Allow connecting to this device through the SSH function of Tailscale." msgstr "允许通过 Tailscale 的 SSH 功能连接到此设备。" @@ -81,277 +81,277 @@ msgstr "允许通过 Tailscale 的 SSH 功能连接到此设备。" msgid "Allow user access to tailscale" msgstr "允许用户访问 Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:170 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:230 msgid "Another firewall reload is already running" msgstr "另一个防火墙重新加载任务正在进行中" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:799 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:839 msgid "Are you sure you want to log out?" msgstr "您确定要登出吗?" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:644 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:684 msgid "Auto Configure Firewall" msgstr "自动配置防火墙" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:806 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:846 msgid "Cancel" msgstr "取消" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:750 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:790 msgid "Click to Log out account on this device." msgstr "点击以登出此设备上的账户。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:729 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:769 msgid "Click to get a login URL for this device." msgstr "点击获取此设备的登录 URL。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:291 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:383 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:591 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:850 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:443 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:631 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:890 msgid "Collecting data ..." msgstr "正在收集数据..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:680 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:720 msgid "" "Configuration committed, reloading network and firewall. This can " "take a moment." msgstr "配置已提交,正在重新加载网络和防火墙。这可能需要一点时间。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:673 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:713 msgid "Configuring firewall" msgstr "正在配置防火墙" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:826 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:866 msgid "Confirm Logout" msgstr "确认登出" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:452 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:512 msgid "Connection Info" msgstr "连接信息" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "Controls how Tailscale DNS is handled." msgstr "控制 Tailscale DNS 的处理方式。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:762 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:802 msgid "" "Could not open a new tab. Please check if your browser or an " "extension blocked the pop-up." msgstr "无法打开新标签页。请检查您的浏览器或扩展程序是否阻止了弹出窗口。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:734 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:774 msgid "Custom Login Server" msgstr "自定义登录服务器" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:742 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:782 msgid "Custom Login Server Auth Key" msgstr "自定义登录服务器认证密钥" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "DNS Mode" msgstr "DNS 模式" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:93 msgid "Daemon MTU" msgstr "守护进程 MTU" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:865 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:905 msgid "Daemon Settings" msgstr "守护进程设置" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:56 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:79 msgid "Declare this device as an Exit Node." msgstr "将此设备声明为出口节点。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:869 msgid "Devices List" msgstr "设备列表" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:63 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:86 msgid "Disable Firewall Configuration" msgstr "禁用防火墙配置" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:59 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:82 msgid "Disable SNAT" msgstr "禁用 SNAT" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:59 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:82 msgid "" "Disable Source NAT (SNAT) for traffic to advertised routes. Most " "users should leave this unchecked." msgstr "为通告路由的流量禁用源地址转换 (SNAT)。大多数用户应保持此项不勾选。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:63 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:86 msgid "Disable Tailscale netfilter auto-configuration (--netfilter-mode=off)." msgstr "禁用 Tailscale netfilter 自动配置 (--netfilter-mode=off)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "Disabled" msgstr "已禁用" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "Disabled: system DNS only." msgstr "已禁用:仅使用系统 DNS。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:751 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:791 msgid "Disconnect from Tailscale and expire current node key." msgstr "从 Tailscale 断开连接并使当前节点密钥过期。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:41 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 msgid "Empty reply from server" msgstr "服务器返回空响应" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:87 msgid "Enable Peer Relay" msgstr "启用节点中继" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:61 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:84 msgid "Enable Tailscale SSH" msgstr "启用 Tailscale SSH" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:53 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:76 msgid "Enable Tailscale Service" msgstr "启用 Tailscale 服务" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:58 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:81 msgid "Enable Web Interface" msgstr "启用 Web 界面" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:53 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:76 msgid "" "Enable or disable the Tailscale service. When disabled, the service " "will be stopped and the process will be killed." msgstr "启用或禁用Tailscale服务。禁用后,服务将被停止,当前进程将被终止。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:87 msgid "" "Enable this device as a Peer Relay server. Requires a public IP and " "an UDP port open on the router." msgstr "将此设备设为节点中继服务器。需要此路由器具备公网 IP,并在路由器上开放一个 UDP 端口。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "Enabled" msgstr "已启用" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:71 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:94 msgid "" "Enabling this option can reduce memory usage, but it may sacrifice " "some performance (set GOGC=10)." msgstr "启用此选项可以减少内存使用,但可能会牺牲一些性能 (设置 GOGC=10)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:787 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:827 msgid "Error" msgstr "错误" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 msgid "Error caching DERP region map: %s" msgstr "缓存 DERP 区域地图时出错: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:335 msgid "Error fetching DERP region map: %s" msgstr "获取 DERP 区域地图时出错: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:245 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:305 msgid "Error reading cached DERP region map: %s" msgstr "读取缓存的 DERP 区域地图时出错: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:645 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:685 msgid "" "Essential configuration for Subnet Routing (Site-to-Site) and Exit " "Node features." msgstr "子网路由(局域网间互通)和出口节点的基本配置。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:612 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:652 msgid "Exit Node" msgstr "出口节点" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:58 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:81 msgid "" "Expose a web interface on port 5252 for managing this node over " "Tailscale." msgstr "在端口 5252 上暴露一个 Web 界面,用于通过 Tailscale 管理此节点。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:683 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:723 msgid "Failed to configure firewall: %s" msgstr "配置防火墙失败: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:788 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:828 msgid "Failed to get login URL. You may close this tab." msgstr "获取登录 URL 失败。您可以关闭此标签页。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:793 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:833 msgid "Failed to get login URL: %s" msgstr "获取登录 URL 失败: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:859 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:899 msgid "Failed to load logs: %s" msgstr "加载日志失败: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:487 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:547 msgid "Filter peers by name, IP, or OS..." msgstr "按名称、IP 或操作系统过滤..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:504 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:564 msgid "Filter:" msgstr "过滤:" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:54 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:77 msgid "Firewall Mode" msgstr "防火墙模式" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:716 msgid "Firewall configuration already applied." msgstr "防火墙配置已应用。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:159 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:219 msgid "Firewall configuration applied." msgstr "已应用防火墙配置" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:165 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:225 msgid "Firewall reload failed" msgstr "重新加载防火墙失败" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:600 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:640 msgid "General Settings" msgstr "常规设置" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:449 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:509 msgid "Hostname" msgstr "主机名" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:706 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:746 msgid "How to enable Exit Node?" msgstr "如何启用出口节点?" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:688 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:728 msgid "How to enable Site-to-Site?" msgstr "如何实现站点到站点(即多局域网互通)?" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:730 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:770 msgid "" "If the timeout is displayed, you can refresh the page and click Login " "again." msgstr "如果显示超时,您可以刷新页面并再次点击登录。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:744 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:784 msgid "" "If you are using custom login server but not providing an Auth Key, " "will redirect to the login page without pre-filling the key." msgstr "如果您使用自定义登录服务器但未提供认证密钥,将重定向到登录页面而不会预先填充密钥。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:215 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 msgid "Invalid Date" msgstr "无效日期" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 msgid "Invalid response from server." msgstr "服务器响应无效。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:646 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:686 msgid "" "It creates the tailscale interface, adds it to a firewall zone, and " "sets up forwarding between LAN and Tailscale, plus Tailscale to WAN." @@ -359,241 +359,241 @@ msgstr "" "它会创建 tailscale 接口,将其加入防火墙区域,并设置 LAN 与 Tailscale 之间的转发,以及 Tailscale 到 " "WAN 的转发。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:218 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:278 msgid "Just now" msgstr "刚才" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:330 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:390 msgid "LOGGED OUT" msgstr "已登出" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:455 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:515 msgid "Last Seen" msgstr "上次在线" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:736 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:776 msgid "Leave blank for default Tailscale control plane." msgstr "留空以使用默认的 Tailscale 控制平面。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:853 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:893 msgid "Loading logs" msgstr "正在加载日志" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:852 msgid "Logging out..." msgstr "正在登出..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:728 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:768 msgid "Login" msgstr "登录" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:749 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:815 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:823 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:855 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:863 msgid "Logout" msgstr "登出" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:820 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:860 msgid "Logout failed: %s" msgstr "登出失败: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:836 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:876 msgid "Logs" msgstr "日志" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "MagicDNS: Tailscale overrides resolv.conf." msgstr "MagicDNS:Tailscale 会覆写 resolv.conf。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:648 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:688 msgid "" "Masquerading and MSS Clamping (MTU fix) are enabled to keep " "connections stable." msgstr "会启用伪装和 MSS Clamping (MTU 修复),以保持连接稳定。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:212 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 msgid "N/A" msgstr "不可用" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:341 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:401 msgid "NOT RUNNING" msgstr "未运行" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:439 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:499 msgid "No matching peer devices found." msgstr "未找到匹配的节点设备。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:400 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:460 msgid "No peer devices found." msgstr "未找到节点设备。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:368 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:840 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:428 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:880 msgid "No tailscale-related logs found." msgstr "没有找到Tailscale相关日志" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:613 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:653 msgid "None" msgstr "无" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:213 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:273 msgid "Now" msgstr "现在" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:451 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:511 msgid "OS" msgstr "操作系统" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 msgid "Offline" msgstr "离线" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 msgid "Online" msgstr "在线" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "OpenWrt Forward" msgstr "OpenWrt 转发" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "OpenWrt Forward: MagicDNS via dnsmasq forwarding.(Only support ts.net)" msgstr "OpenWrt 转发:通过dnsmasq转发MagicDNS(仅支持 ts.net域名)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:39 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 msgid "Operation" msgstr "操作" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:735 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:775 msgid "" "Optional: Specify a custom control server URL (e.g., a Headscale " "instance, %s)." msgstr "可选:指定一个自定义控制服务器 URL (例如,一个 Headscale 实例, %s)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:743 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:783 msgid "" "Optional: Specify an authentication key for the custom control " "server. Leave blank if not required." msgstr "可选:为自定义控制服务器指定一个认证密钥。如果不需要,请留空。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:604 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:644 msgid "Peer Relay Port" msgstr "节点中继端口" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:392 msgid "Please use the login button in the settings below to authenticate." msgstr "请使用下方设置中的登录按钮进行认证。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:772 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:778 #: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:818 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:852 msgid "Please wait." msgstr "请稍候。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:349 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:409 msgid "RUNNING" msgstr "正在运行" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:453 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:513 msgid "RX" msgstr "接收" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:845 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:885 msgid "Refresh" msgstr "刷新" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:177 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:237 msgid "Reloading firewall..." msgstr "正在重新加载防火墙..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:772 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:778 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:818 msgid "Requesting Login URL..." msgstr "正在请求登录 URL..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:769 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:809 msgid "Requesting Tailscale login URL... Please wait." msgstr "正在请求 Tailscale 登录 URL... 请稍候。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:612 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:652 msgid "" "Select an exit node from the list. If enabled, Allow LAN Access is " "enabled implicitly." msgstr "从列表中选择出口节点。启用后会同时开启允许局域网访问。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:54 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:77 msgid "" "Select the firewall backend for Tailscale to use. Requires service " "restart to take effect." msgstr "选择 Tailscale 使用的防火墙后端。需要重启服务才能生效。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:320 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:328 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:340 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:349 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:380 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:388 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:400 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:409 msgid "Service Status" msgstr "服务状态" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:93 msgid "" "Set a custom MTU for the Tailscale daemon. Leave blank to use the " "default value." msgstr "为 Tailscale 守护进程设置自定义 MTU。留空则使用默认值。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:60 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:83 msgid "Shields Up" msgstr "屏蔽入站连接" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:448 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:508 msgid "Status" msgstr "状态" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:817 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:857 msgid "Successfully logged out." msgstr "登出成功。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:321 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:381 msgid "TAILSCALE NOT FOUND" msgstr "未找到 TAILSCALE 主程序" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "TUN Mode" msgstr "TUN 模式" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:454 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:514 msgid "TX" msgstr "发送" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:354 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:414 msgid "Tailnet Name" msgstr "Tailnet 名称" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:562 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:622 #: luci-app-tailscale-community/root/usr/share/luci/menu.d/luci-app-tailscale-community.json:1 msgid "Tailscale" msgstr "Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:297 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:357 msgid "Tailscale Health Check: %s" msgstr "Tailscale 健康检查: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:450 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:510 msgid "Tailscale IP" msgstr "Tailscale IP" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:352 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:412 msgid "Tailscale IPv4" msgstr "Tailscale IPv4" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:353 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:413 msgid "Tailscale IPv6" msgstr "Tailscale IPv6" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:768 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:808 msgid "Tailscale Login" msgstr "Tailscale 登录" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:562 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:622 msgid "" "Tailscale is a mesh VPN solution that makes it easy to connect your " "devices securely. This configuration page allows you to manage " @@ -602,80 +602,80 @@ msgstr "" "Tailscale 是一个网状 VPN 解决方案,可以轻松地安全连接您的设备。此配置页面允许您在 OpenWrt 设备上管理 " "Tailscale 设置。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:389 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:449 msgid "Tailscale status error" msgstr "Tailscale 状态异常" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:647 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:687 msgid "" "The Tailscale to WAN forwarding is what lets clients send their " "internet traffic through this device as an Exit Node." msgstr "正是 Tailscale 到 WAN 的转发,让客户端可以把上网流量经由此设备作为出口节点发出。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:770 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:810 msgid "This can take up to 30 seconds." msgstr "此过程最多可能需要 30 秒。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:800 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:840 msgid "" "This will disconnect this device from your Tailnet and require you to " "re-authenticate." msgstr "这将使此设备从您的 Tailnet 断开连接,并需要您重新进行身份验证。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:143 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:194 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:203 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:254 msgid "Timed out waiting for the firewall reload" msgstr "等待防火墙重新加载超时" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:605 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:645 msgid "" "UDP port for the Peer Relay service. Open this port on your router " "firewall/NAT." msgstr "节点中继服务的 UDP 端口。需要在路由器的防火墙/NAT 上开放该端口。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:245 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:683 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:793 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:820 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:859 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:305 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:335 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:723 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:833 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:860 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:899 msgid "Unknown error" msgstr "未知错误" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:350 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:410 msgid "Version" msgstr "版本" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:60 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:83 msgid "" "When enabled, blocks all inbound connections from the Tailscale " "network." msgstr "启用后,将阻止来自 Tailscale 网络的所有入站连接。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:57 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:80 msgid "When using the exit node, access to the local LAN is allowed." msgstr "使用出口节点时,允许访问本地局域网。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:660 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:700 msgid "" "You have unapplied changes. Save & Apply them first so the firewall " "matches the form." msgstr "您有未应用的更改。请先保存并应用,让防火墙配置与表单保持一致。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:696 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:736 msgid "" "[Important] Log in to the Tailscale admin console and manually enable " "\"Subnet Routes\" for this device." msgstr "【重要】登录 Tailscale 管理控制台,手动为此设备启用“子网路由”。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:719 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:759 msgid "" "[Important] Step 3 cannot be done here: it needs your Tailscale " "account." msgstr "【重要】第 3 步无法在此完成:需要您的 Tailscale 账户。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:221 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:281 msgid "ago" msgstr "前" diff --git a/luci-app-tailscale-community/po/zh_Hant/community.po b/luci-app-tailscale-community/po/zh_Hant/community.po index ea928e440..74d0d001d 100644 --- a/luci-app-tailscale-community/po/zh_Hant/community.po +++ b/luci-app-tailscale-community/po/zh_Hant/community.po @@ -1,79 +1,79 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8\n" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:47 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 msgid "%s failed" msgstr "%s 失敗" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:71 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:94 msgid "(Experimental) Reduce Memory Usage" msgstr "(實驗性) 減少記憶體使用" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:711 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:751 msgid "1. Enable \"Advertise Exit Node\"." msgstr "1. 啟用「宣告出口節點」。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:693 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:733 msgid "1. Select \"Accept Routes\" (to access remote devices)." msgstr "1. 勾選「接受路由」(以存取遠端設備)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:712 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:752 msgid "" "2. Click \"Auto Configure Firewall\" (it forwards Tailscale traffic " "to WAN)." msgstr "2. 點選「自動設定防火牆」(將 Tailscale 流量轉送到 WAN)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:694 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:734 msgid "" "2. In \"Advertise Routes\", select your local subnet (to allow remote " "devices to access this LAN)." msgstr "2. 在「宣告路由」選擇本裝置的區域網段 (讓遠端能存取這個區網)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:695 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:735 msgid "3. Click \"Auto Configure Firewall\" (to allow traffic forwarding)." msgstr "3. 點選「自動設定防火牆」(允許流量轉送)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:713 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:753 msgid "" "3. In the Tailscale admin console, edit this device under the route " "settings and approve it as an Exit Node." msgstr "3. 在 Tailscale 管理控制台的路由設定中編輯此裝置,並核准為出口節點。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:718 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:758 msgid "4. On the client, set this device as its exit node." msgstr "4. 在用戶端上,將此裝置設為出口節點。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:55 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:78 msgid "Accept Routes" msgstr "接受路由" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:725 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:765 msgid "Account Settings" msgstr "帳號設定" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:56 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:79 msgid "Advertise Exit Node" msgstr "宣告出口節點" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:636 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 msgid "Advertise Routes" msgstr "宣告路由" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:636 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 msgid "" "Advertise subnet routes behind this device. Select from the detected " "subnets below or enter custom routes (comma-separated)." msgstr "宣告此裝置後方的子網路路由。從下方偵測到的子網路中選擇,或輸入自訂路由 (以逗號分隔)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:57 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:80 msgid "Allow LAN Access" msgstr "允許 LAN 存取" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:55 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:78 msgid "Allow accepting routes announced by other nodes." msgstr "允許接受由其他節點宣告的路由。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:61 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:84 msgid "Allow connecting to this device through the SSH function of Tailscale." msgstr "允許透過 Tailscale 的 SSH 功能連線到此裝置。" @@ -81,277 +81,277 @@ msgstr "允許透過 Tailscale 的 SSH 功能連線到此裝置。" msgid "Allow user access to tailscale" msgstr "允許使用者存取 Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:170 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:230 msgid "Another firewall reload is already running" msgstr "另一個防火牆重新載入作業正在執行中" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:799 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:839 msgid "Are you sure you want to log out?" msgstr "您確定要登出嗎?" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:644 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:684 msgid "Auto Configure Firewall" msgstr "自動設定防火牆" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:806 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:846 msgid "Cancel" msgstr "取消" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:750 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:790 msgid "Click to Log out account on this device." msgstr "點選以登出此裝置上的帳號。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:729 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:769 msgid "Click to get a login URL for this device." msgstr "點選獲取此裝置的登入 URL。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:291 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:383 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:591 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:850 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:443 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:631 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:890 msgid "Collecting data ..." msgstr "正在收集資料..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:680 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:720 msgid "" "Configuration committed, reloading network and firewall. This can " "take a moment." msgstr "設定已提交,正在重新載入網路與防火牆。這可能需要一點時間。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:673 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:713 msgid "Configuring firewall" msgstr "正在設定防火牆" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:826 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:866 msgid "Confirm Logout" msgstr "確認登出" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:452 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:512 msgid "Connection Info" msgstr "連線資訊" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "Controls how Tailscale DNS is handled." msgstr "控制 Tailscale DNS 的處理方式。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:762 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:802 msgid "" "Could not open a new tab. Please check if your browser or an " "extension blocked the pop-up." msgstr "無法開啟新分頁。請檢查您的瀏覽器或擴充套件程式是否阻止了彈出式視窗。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:734 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:774 msgid "Custom Login Server" msgstr "自訂登入伺服器" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:742 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:782 msgid "Custom Login Server Auth Key" msgstr "自訂登入伺服器認證金鑰" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "DNS Mode" msgstr "DNS 模式" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:93 msgid "Daemon MTU" msgstr "常駐程式 MTU" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:865 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:905 msgid "Daemon Settings" msgstr "常駐程式設定" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:56 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:79 msgid "Declare this device as an Exit Node." msgstr "將此裝置宣告為出口節點。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:869 msgid "Devices List" msgstr "裝置清單" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:63 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:86 msgid "Disable Firewall Configuration" msgstr "停用防火牆設定" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:59 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:82 msgid "Disable SNAT" msgstr "停用 SNAT" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:59 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:82 msgid "" "Disable Source NAT (SNAT) for traffic to advertised routes. Most " "users should leave this unchecked." msgstr "為宣告路由的流量停用來源位址轉換 (SNAT)。大多數使用者不應勾選此項。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:63 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:86 msgid "Disable Tailscale netfilter auto-configuration (--netfilter-mode=off)." msgstr "停用 Tailscale netfilter 自動設定 (--netfilter-mode=off)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "Disabled" msgstr "已停用" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "Disabled: system DNS only." msgstr "已停用: 僅使用系統 DNS。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:751 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:791 msgid "Disconnect from Tailscale and expire current node key." msgstr "中斷 Tailscale 連線並使目前節點金鑰過期。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:41 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 msgid "Empty reply from server" msgstr "伺服器回應為空" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:87 msgid "Enable Peer Relay" msgstr "啟用對等中繼" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:61 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:84 msgid "Enable Tailscale SSH" msgstr "啟用 Tailscale SSH" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:53 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:76 msgid "Enable Tailscale Service" msgstr "啟用 Tailscale 服務" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:58 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:81 msgid "Enable Web Interface" msgstr "啟用 Web 介面" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:53 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:76 msgid "" "Enable or disable the Tailscale service. When disabled, the service " "will be stopped and the process will be killed." msgstr "啟用或停用 Tailscale 服務。停用後,該服務將停止,處理程序將被終止。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:64 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:87 msgid "" "Enable this device as a Peer Relay server. Requires a public IP and " "an UDP port open on the router." msgstr "將此設備做為對等中繼伺服器。需要公開 IP 位址,且路由器上需要開啟一個 UDP 連接埠。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "Enabled" msgstr "已啟用" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:71 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:94 msgid "" "Enabling this option can reduce memory usage, but it may sacrifice " "some performance (set GOGC=10)." msgstr "啟用此選項可以減少記憶體使用,但可能會犧牲一些效能 (設定 GOGC=10)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:787 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:827 msgid "Error" msgstr "錯誤" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 msgid "Error caching DERP region map: %s" msgstr "快取 DERP 區域對照表時出錯: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:335 msgid "Error fetching DERP region map: %s" msgstr "獲取 DERP 區域對照表時出錯: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:245 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:305 msgid "Error reading cached DERP region map: %s" msgstr "讀取快取的 DERP 區域對照表時出錯: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:645 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:685 msgid "" "Essential configuration for Subnet Routing (Site-to-Site) and Exit " "Node features." msgstr "子網路由(站對站)和出口節點功能的基本設定" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:612 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:652 msgid "Exit Node" msgstr "出口節點" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:58 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:81 msgid "" "Expose a web interface on port 5252 for managing this node over " "Tailscale." msgstr "在埠 5252 上暴露一個 Web 介面,用於透過 Tailscale 管理此節點。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:683 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:723 msgid "Failed to configure firewall: %s" msgstr "設定防火牆失敗: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:788 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:828 msgid "Failed to get login URL. You may close this tab." msgstr "獲取登入 URL 失敗。您可以關閉此分頁。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:793 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:833 msgid "Failed to get login URL: %s" msgstr "獲取登入 URL 失敗: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:859 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:899 msgid "Failed to load logs: %s" msgstr "載入日誌失敗: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:487 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:547 msgid "Filter peers by name, IP, or OS..." msgstr "依名稱、IP 或作業系統篩選..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:504 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:564 msgid "Filter:" msgstr "篩選:" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:54 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:77 msgid "Firewall Mode" msgstr "防火牆模式" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:676 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:716 msgid "Firewall configuration already applied." msgstr "防火牆設定已套用。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:159 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:219 msgid "Firewall configuration applied." msgstr "已套用防火牆設定" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:165 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:225 msgid "Firewall reload failed" msgstr "防火牆重新載入失敗" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:600 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:640 msgid "General Settings" msgstr "一般設定" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:449 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:509 msgid "Hostname" msgstr "主機名" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:706 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:746 msgid "How to enable Exit Node?" msgstr "如何啟用出口節點?" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:688 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:728 msgid "How to enable Site-to-Site?" msgstr "如何啟用站對站通訊?" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:730 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:770 msgid "" "If the timeout is displayed, you can refresh the page and click Login " "again." msgstr "如果顯示逾時,您可以重新整理頁面並再次點選登入。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:744 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:784 msgid "" "If you are using custom login server but not providing an Auth Key, " "will redirect to the login page without pre-filling the key." msgstr "如果您使用自訂登入伺服器但未提供認證金鑰,將重新導向至登入頁面,且不會預先填入金鑰。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:215 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 msgid "Invalid Date" msgstr "無效日期" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:829 msgid "Invalid response from server." msgstr "伺服器回應無效。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:646 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:686 msgid "" "It creates the tailscale interface, adds it to a firewall zone, and " "sets up forwarding between LAN and Tailscale, plus Tailscale to WAN." @@ -359,241 +359,241 @@ msgstr "" "它會建立 tailscale 介面、加入防火牆區域,並設定 LAN 與 Tailscale 之間的轉送,以及 Tailscale 到 " "WAN 的轉送。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:218 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:278 msgid "Just now" msgstr "剛才" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:330 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:390 msgid "LOGGED OUT" msgstr "已登出" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:455 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:515 msgid "Last Seen" msgstr "上次連線" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:736 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:776 msgid "Leave blank for default Tailscale control plane." msgstr "留白則使用預設的 Tailscale 控制台。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:853 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:893 msgid "Loading logs" msgstr "正在載入日誌" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:852 msgid "Logging out..." msgstr "正在登出..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:728 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:768 msgid "Login" msgstr "登入" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:749 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:815 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:823 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:789 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:855 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:863 msgid "Logout" msgstr "登出" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:820 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:860 msgid "Logout failed: %s" msgstr "登出失敗: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:836 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:876 msgid "Logs" msgstr "日誌" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "MagicDNS: Tailscale overrides resolv.conf." msgstr "MagicDNS:Tailscale 將接管 resolv.conf。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:648 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:688 msgid "" "Masquerading and MSS Clamping (MTU fix) are enabled to keep " "connections stable." msgstr "同時啟用偽裝與 MSS Clamping (MTU 修復),以維持連線穩定。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:212 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 msgid "N/A" msgstr "N/A" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:341 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:401 msgid "NOT RUNNING" msgstr "未執行" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:439 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:499 msgid "No matching peer devices found." msgstr "找不到符合的對等裝置。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:400 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:460 msgid "No peer devices found." msgstr "未找到對等裝置。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:368 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:840 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:428 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:880 msgid "No tailscale-related logs found." msgstr "未找到與 tailscale 相關的日誌。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:613 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:653 msgid "None" msgstr "無" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:213 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:273 msgid "Now" msgstr "現在" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:451 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:511 msgid "OS" msgstr "作業系統" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 msgid "Offline" msgstr "離線" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:424 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:484 msgid "Online" msgstr "上線" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "OpenWrt Forward" msgstr "OpenWrt 轉送" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:85 msgid "OpenWrt Forward: MagicDNS via dnsmasq forwarding.(Only support ts.net)" msgstr "OpenWrt 轉送:僅經由 dnsmasq 轉送至 MagicDNS。(僅支援tailxxxxxx.ts.net)" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:39 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:62 msgid "Operation" msgstr "操作" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:735 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:775 msgid "" "Optional: Specify a custom control server URL (e.g., a Headscale " "instance, %s)." msgstr "可選:指定自訂控制伺服器 URL(例如,Headscale 實例,「%s」)。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:743 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:783 msgid "" "Optional: Specify an authentication key for the custom control " "server. Leave blank if not required." msgstr "可選:為自訂控制伺服器指定一個認證金鑰。如果不需要,請留白。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:604 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:644 msgid "Peer Relay Port" msgstr "對等中繼連接埠" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:392 msgid "Please use the login button in the settings below to authenticate." msgstr "請使用下方設定中的登入按鈕進行認證。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:772 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:778 #: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:818 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:852 msgid "Please wait." msgstr "請稍候。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:349 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:409 msgid "RUNNING" msgstr "正在執行" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:453 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:513 msgid "RX" msgstr "接收" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:845 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:885 msgid "Refresh" msgstr "重新整理" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:177 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:237 msgid "Reloading firewall..." msgstr "正在重新載入防火牆..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:772 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:778 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:812 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:818 msgid "Requesting Login URL..." msgstr "正在請求登入 URL..." -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:769 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:809 msgid "Requesting Tailscale login URL... Please wait." msgstr "正在請求 Tailscale 登入 URL... 請稍候。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:612 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:652 msgid "" "Select an exit node from the list. If enabled, Allow LAN Access is " "enabled implicitly." msgstr "從清單中選擇一個出口節點。啟用後會一併啟用「允許區網存取」。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:54 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:77 msgid "" "Select the firewall backend for Tailscale to use. Requires service " "restart to take effect." msgstr "選擇 Tailscale 使用的防火牆後端。需要重新啟動服務才能生效。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:320 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:328 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:340 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:349 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:380 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:388 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:400 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:409 msgid "Service Status" msgstr "服務狀態" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:70 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:93 msgid "" "Set a custom MTU for the Tailscale daemon. Leave blank to use the " "default value." msgstr "為 Tailscale 常駐程式設定自訂 MTU。留白則使用預設值。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:60 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:83 msgid "Shields Up" msgstr "封鎖入站連線" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:448 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:508 msgid "Status" msgstr "狀態" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:817 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:857 msgid "Successfully logged out." msgstr "登出成功。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:321 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:381 msgid "TAILSCALE NOT FOUND" msgstr "找不到 TAILSCALE" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:351 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:411 msgid "TUN Mode" msgstr "TUN 模式" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:454 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:514 msgid "TX" msgstr "傳送" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:354 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:414 msgid "Tailnet Name" msgstr "Tailnet 名稱" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:562 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:622 #: luci-app-tailscale-community/root/usr/share/luci/menu.d/luci-app-tailscale-community.json:1 msgid "Tailscale" msgstr "Tailscale" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:297 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:357 msgid "Tailscale Health Check: %s" msgstr "Tailscale 健康檢查: %s" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:450 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:510 msgid "Tailscale IP" msgstr "Tailscale IP" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:352 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:412 msgid "Tailscale IPv4" msgstr "Tailscale IPv4" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:353 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:413 msgid "Tailscale IPv6" msgstr "Tailscale IPv6" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:768 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:808 msgid "Tailscale Login" msgstr "Tailscale 登入" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:562 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:622 msgid "" "Tailscale is a mesh VPN solution that makes it easy to connect your " "devices securely. This configuration page allows you to manage " @@ -602,80 +602,80 @@ msgstr "" "Tailscale 是一個網狀 VPN 解決方案,可以輕鬆地安全連線您的裝置。此設定頁面允許您在 OpenWrt 裝置上管理 " "Tailscale 設定。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:389 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:449 msgid "Tailscale status error" msgstr "Tailscale 狀態錯誤" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:647 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:687 msgid "" "The Tailscale to WAN forwarding is what lets clients send their " "internet traffic through this device as an Exit Node." msgstr "Tailscale 到 WAN 的轉送,讓用戶端能透過此裝置以出口節點傳送網際網路流量。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:770 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:810 msgid "This can take up to 30 seconds." msgstr "此過程最多可能需要 30 秒。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:800 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:840 msgid "" "This will disconnect this device from your Tailnet and require you to " "re-authenticate." msgstr "這將使此裝置從您的 Tailnet 中斷連線,並需要您重新進行身份驗證。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:143 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:194 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:203 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:254 msgid "Timed out waiting for the firewall reload" msgstr "等待防火牆重新載入逾時" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:605 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:645 msgid "" "UDP port for the Peer Relay service. Open this port on your router " "firewall/NAT." msgstr "用於對等中繼服務的 UDP 連接埠。請在路由器的防火牆/NAT 上開放此連接埠。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:245 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:272 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:275 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:683 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:793 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:820 -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:859 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:305 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:332 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:335 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:723 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:833 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:860 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:899 msgid "Unknown error" msgstr "未知錯誤" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:350 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:410 msgid "Version" msgstr "版本" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:60 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:83 msgid "" "When enabled, blocks all inbound connections from the Tailscale " "network." msgstr "啟用後,將阻止來自 Tailscale 網路的所有入站連線。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:57 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:80 msgid "When using the exit node, access to the local LAN is allowed." msgstr "使用出口節點時,允許存取區域網路。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:660 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:700 msgid "" "You have unapplied changes. Save & Apply them first so the firewall " "matches the form." msgstr "您有尚未套用的變更。請先儲存並套用,防火牆才會與表單內容一致。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:696 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:736 msgid "" "[Important] Log in to the Tailscale admin console and manually enable " "\"Subnet Routes\" for this device." msgstr "【重要】 登入 Tailscale 管理控制台,在裝置設定中手動授權子網路由。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:719 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:759 msgid "" "[Important] Step 3 cannot be done here: it needs your Tailscale " "account." msgstr "[重要] 步驟 3 無法在此完成:需要您的 Tailscale 帳號。" -#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:221 +#: luci-app-tailscale-community/htdocs/luci-static/resources/view/tailscale.js:281 msgid "ago" msgstr "前" diff --git a/luci-app-tailscale-community/root/etc/init.d/tailscale-settings b/luci-app-tailscale-community/root/etc/init.d/tailscale-settings index 85a92a136..fac287e7e 100755 --- a/luci-app-tailscale-community/root/etc/init.d/tailscale-settings +++ b/luci-app-tailscale-community/root/etc/init.d/tailscale-settings @@ -254,10 +254,18 @@ apply_settings() { && set -- "$@" --webclient=true \ || set -- "$@" --webclient=false - # --snat-subnet-routes (inverse of nosnat) - [ "$nosnat" = "1" ] \ - && set -- "$@" --snat-subnet-routes=false \ - || set -- "$@" --snat-subnet-routes=true + # Everything below is handed to 'tailscale set' in one call, and 'set' + # aborts on an unknown flag. Gate the newer options on the first release + # that accepts them, so an older CLI still applies the rest. + local ts_ver + ts_ver=$("$ts_bin" version 2>/dev/null | head -n1) + + # --snat-subnet-routes (requires tailscale >= 1.66.1) + if [ -n "$ts_ver" ] && version_gte "$ts_ver" "1.66.1"; then + [ "$nosnat" = "1" ] \ + && set -- "$@" --snat-subnet-routes=false \ + || set -- "$@" --snat-subnet-routes=true + fi # --advertise-routes (comma-separated, empty clears routes) set -- "$@" "--advertise-routes=$routes" @@ -268,13 +276,11 @@ apply_settings() { # when an exit node is configured, always allow LAN access [ -n "$exit_node" ] && set -- "$@" --exit-node-allow-lan-access=true - # --hostname (only set if non-empty) - [ -n "$hostname" ] && set -- "$@" "--hostname=$hostname" + # --hostname (empty resets it to the OS hostname) + set -- "$@" "--hostname=$hostname" - # --relay-server-port (requires tailscale >= 1.90.5) - local ts_ver - ts_ver=$("$ts_bin" version 2>/dev/null | head -n1) - if [ -n "$ts_ver" ] && version_gte "$ts_ver" "1.90.5"; then + # --relay-server-port (requires tailscale >= 1.84.0) + if [ -n "$ts_ver" ] && version_gte "$ts_ver" "1.84.0"; then if [ "$enable_relay" = "1" ]; then set -- "$@" "--relay-server-port=${relay_server_port:-40000}" else @@ -282,9 +288,16 @@ apply_settings() { fi fi - # --netfilter-mode (only when disable_fw_config is enabled and tailscale init doesn't already handle it) - if [ "$disable_fw_config" = "1" ]; then - set -- "$@" --netfilter-mode=off + # --netfilter-mode (off when disable_fw_config is enabled, back to on + # otherwise; requires tailscale >= 1.66.1) + if [ -n "$ts_ver" ] && version_gte "$ts_ver" "1.66.1"; then + if [ "$disable_fw_config" = "1" ]; then + set -- "$@" --netfilter-mode=off + else + set -- "$@" --netfilter-mode=on + fi + elif [ "$disable_fw_config" = "1" ]; then + logger -t "$NAME" "tailscale ${ts_ver:-before 1.66.1} has no --netfilter-mode in 'set', ignoring disable_fw_config" fi logger -t "$NAME" "Applying settings" @@ -319,8 +332,16 @@ sync_service_enabled() { # the baseline instead of treating it as a transition: starting # a daemon here would run start_service, which arms another UCI # rollback window right after the one this apply is inside. - echo "$service_enabled" > "$ENABLED_FILE" - prev="$service_enabled" + # + # An armed disable request is the exception: the user just asked + # for the stop, so the baseline has to be "was running", not "was + # stopped", or the request would be dropped without stopping. + if [ -f "$DISABLE_REQUEST_FILE" ]; then + prev=1 + else + echo "$service_enabled" > "$ENABLED_FILE" + prev="$service_enabled" + fi ;; esac diff --git a/luci-app-tailscale-community/root/usr/libexec/tailscale-setup-firewall b/luci-app-tailscale-community/root/usr/libexec/tailscale-setup-firewall index cebe835e3..841b778f6 100755 --- a/luci-app-tailscale-community/root/usr/libexec/tailscale-setup-firewall +++ b/luci-app-tailscale-community/root/usr/libexec/tailscale-setup-firewall @@ -36,25 +36,60 @@ write_state() { # Only one worker at a time: a second click while a reload is running would # queue another network reload on top of an unfinished one. mkdir is atomic and # is the only portable primitive available here; a test-then-write pair lets -# two workers through at the same moment. Stale locks are recognised by age so -# a recycled pid or a killed worker cannot block forever. +# two workers through at the same moment. Stale locks are recognised by age and +# by a dead pid so a killed worker cannot block forever, but a lock that is +# merely young is never taken over. LOCK_DIR="$LOCK_FILE.d" lock_age() { local ts now ts=$(cat "$LOCK_DIR/ts" 2>/dev/null) - case "$ts" in ''|*[!0-9]*) echo 999999; return ;; esac + # A missing or unreadable timestamp means mkdir just won the race and the + # holder has not written pid/ts yet. Reporting that window as ancient let a + # late worker rip the lock away mid start up, so two reloads ran at once: + # the very thing this lock exists to prevent. It is a fresh lock instead. + # + # The directory mtime covers the other side of the same window: a worker + # killed between mkdir and the ts write would otherwise leave an ageless + # lock that nobody ever takes over. + case "$ts" in + ''|*[!0-9]*) + ts=$(date -r "$LOCK_DIR" +%s 2>/dev/null) + case "$ts" in ''|*[!0-9]*) echo 0; return ;; esac + ;; + esac now=$(date +%s) echo $((now - ts)) } +# kill -0 is the portable liveness probe available in busybox ash. No readable +# pid means the holder never got to write one, which is what a lock left behind +# by a crash looks like, so it counts as gone. +lock_holder_alive() { + local pid + pid=$(cat "$LOCK_DIR/pid" 2>/dev/null) + case "$pid" in ''|*[!0-9]*) return 1 ;; esac + kill -0 "$pid" 2>/dev/null +} + +# Returns 0 when this process owns a freshly created lock directory. Deletes are +# not in place: rm -rf then mkdir leaves a window where two workers both think +# they won. Renaming the old directory is a single step that only one worker can +# win; the loser reports busy. mkdir can still lose to a third worker. +take_over_stale_lock() { + local aside + [ "$(lock_age)" -gt 300 ] || return 1 + lock_holder_alive && return 1 + aside="$LOCK_DIR.stale.$$" + mv "$LOCK_DIR" "$aside" 2>/dev/null || return 1 + rm -rf "$aside" + mkdir "$LOCK_DIR" 2>/dev/null +} + if ! mkdir "$LOCK_DIR" 2>/dev/null; then - if [ "$(lock_age)" -gt 300 ]; then - # the holder is gone; take the lock over - rm -rf "$LOCK_DIR" - mkdir "$LOCK_DIR" 2>/dev/null || exit 0 - else - # someone else is already reloading: say so instead of leaving the - # status file at "queued" and letting the UI time out + if ! take_over_stale_lock; then + # someone else is already reloading, or another worker won the takeover: + # say so instead of leaving the status file at "queued" and letting the + # UI time out write_state busy locked "Another firewall reload is already running" exit 0 fi diff --git a/luci-app-tailscale-community/root/usr/share/rpcd/ucode/tailscale.uc b/luci-app-tailscale-community/root/usr/share/rpcd/ucode/tailscale.uc index 78c63b9c8..b8ef77bf4 100755 --- a/luci-app-tailscale-community/root/usr/share/rpcd/ucode/tailscale.uc +++ b/luci-app-tailscale-community/root/usr/share/rpcd/ucode/tailscale.uc @@ -2,7 +2,7 @@ 'use strict'; -import { access, popen, readfile, writefile, unlink } from 'fs'; +import { access, popen, readfile, writefile, rename, unlink } from 'fs'; import { cursor } from 'uci'; const uci = cursor(); @@ -361,13 +361,22 @@ methods.setup_firewall = { // gets a chance to overwrite it. Without both, a poll arriving // while the worker is still starting would read the previous // run's "done" and report success for work that has not run. - run_id = time(); - let st = writefile('/var/run/tailscale-fwsetup.status.tmp', - 'queued\nstart\n\n' + run_id + '\n'); - if (st == null || rename('/var/run/tailscale-fwsetup.status.tmp', '/var/run/tailscale-fwsetup.status') == null) { + // clock() returns [seconds, nanoseconds], not milliseconds, so + // fold it explicitly. Two clicks within the same second still + // get distinct ids; the temp file name carries the id as well, + // so concurrent writers cannot clobber each other's queued + // state through a shared fixed path. + let now = clock(); + run_id = now[0] * 1000 + int(now[1] / 1000000); + let tmp = '/var/run/tailscale-fwsetup.status.tmp.' + run_id; + let st = writefile(tmp, 'queued\nstart\n\n' + run_id + '\n'); + if (st == null || rename(tmp, '/var/run/tailscale-fwsetup.status') == null) { // Without a writable status file the poll can never see a // result, so say so instead of letting the UI wait it out. - return { error: 'Cannot write the firewall status file in /var/run. Configuration was not changed.' }; + // Drop the temp file we may have created, so a failed run + // leaves no stray state behind for the next poll. + unlink(tmp); + return { error: 'Cannot write the firewall status file in /var/run. The configuration was committed but not applied.' }; } // The background shell exits immediately, so its status only @@ -467,7 +476,12 @@ methods.get_logs = { args: { lines: 200 }, call: function(request) { let lines = int(request?.args?.lines) || 200; - let cmd = 'logread -l ' + lines + ' 2>/dev/null | grep -i -E "tailscale" || true'; + if (lines < 1) lines = 200; + if (lines > 1000) lines = 1000; + // Filter first, then take the tail: logread -l would only hand the last + // N lines of every daemon to grep, so a busy box hides the tailscale + // records entirely and the log page claims there is nothing to show. + let cmd = 'logread 2>/dev/null | grep -i -E "tailscale" | tail -n ' + lines; let result = exec(cmd); if (result.code == 0) { return { success: true, logs: result.stdout }; diff --git a/maxminddb-dump-country/Makefile b/maxminddb-dump-country/Makefile index 42ab2b217..7b33602cf 100644 --- a/maxminddb-dump-country/Makefile +++ b/maxminddb-dump-country/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=maxminddb-dump-country PKG_VERSION:=2 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_MAINTAINER:=Konstantine Shevlakov