diff --git a/luci-app-mihomo/Makefile b/luci-app-mihomo/Makefile index a7d67d0d0..8cfc8f9f6 100644 --- a/luci-app-mihomo/Makefile +++ b/luci-app-mihomo/Makefile @@ -1,6 +1,6 @@ include $(TOPDIR)/rules.mk -PKG_VERSION:=1.9.3 +PKG_VERSION:=1.10.0 LUCI_TITLE:=LuCI Support for mihomo LUCI_DEPENDS:=+luci-base +mihomo diff --git a/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js b/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js index 3433ae97c..25bdd96cd 100644 --- a/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js +++ b/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js @@ -6,6 +6,7 @@ const homeDir = '/etc/mihomo'; const profilesDir = `${homeDir}/profiles`; +const subscriptionsDir = `${homeDir}/subscriptions`; const mixinFilePath = `${homeDir}/mixin.yaml`; const runDir = `${homeDir}/run`; const runProfilePath = `${runDir}/config.yaml`; @@ -19,6 +20,7 @@ const reservedIP6NFT = `${nftDir}/reserved_ip6.nft`; return baseclass.extend({ homeDir: homeDir, profilesDir: profilesDir, + subscriptionsDir: subscriptionsDir, mixinFilePath: mixinFilePath, runDir: runDir, appLogPath: appLogPath, @@ -54,6 +56,10 @@ return baseclass.extend({ return L.resolveDefault(fs.list(this.profilesDir), []); }, + updateSubscription: function (section_id) { + return fs.exec_direct('/usr/libexec/mihomo-call', ['subscription', 'update', section_id]); + }, + status: async function () { try { return (await this.callServiceList('mihomo'))['mihomo']['instances']['mihomo']['running']; @@ -71,11 +77,11 @@ return baseclass.extend({ }, appVersion: function () { - return L.resolveDefault(fs.exec_direct('/usr/libexec/mihomo-call', ['version', 'app']), 'Unknown'); + return L.resolveDefault(fs.exec_direct('/usr/libexec/mihomo-call', ['version', 'app']), _('Unknown')); }, coreVersion: function () { - return L.resolveDefault(fs.exec_direct('/usr/libexec/mihomo-call', ['version', 'core']), 'Unknown'); + return L.resolveDefault(fs.exec_direct('/usr/libexec/mihomo-call', ['version', 'core']), _('Unknown')); }, callMihomoAPI: async function (method, path, body) { diff --git a/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js b/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js index 0fce5aad2..1be312040 100644 --- a/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js +++ b/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js @@ -48,20 +48,20 @@ return view.extend({ o = s.option(form.Value, '_app_version', _('App Version')); o.readonly = true; - o.load = function (section_id) { + o.load = function () { return appVersion.trim(); }; o.write = function () { }; o = s.option(form.Value, '_core_version', _('Core Version')); o.readonly = true; - o.load = function (section_id) { + o.load = function () { return coreVersion.trim(); }; o.write = function () { }; o = s.option(form.DummyValue, '_core_status', _('Core Status')); - o.cfgvalue = function (section_id) { + o.cfgvalue = function () { return renderStatus(running); }; poll.add(function () { @@ -119,11 +119,11 @@ return view.extend({ for (const profile of profiles) { o.value('file:' + profile.name, _('File:') + profile.name); - } + }; for (const subscription of subscriptions) { o.value('subscription:' + subscription['.name'], _('Subscription:') + subscription.name); - } + }; o = s.option(form.FileUpload, 'upload_profile', _('Upload Profile')); o.root_directory = mihomo.profilesDir; @@ -253,8 +253,20 @@ return view.extend({ o.value('clash.meta'); o.value('clash'); + o = s.option(form.ListValue, 'prefer', _('Prefer')); + o.default = 'remote'; + o.value('remote', _('Remote')); + o.value('local', _('Local')); + + o = s.option(form.Button, 'update_subscription'); + o.inputstyle = 'positive'; + o.inputtitle = _('Update'); + o.onclick = function (_, section_id) { + return mihomo.updateSubscription(section_id); + }; + s = m.section(form.NamedSection, 'mixin', 'mixin', _('Mixin Config')); - + s.tab('general', _('General Config')); o = s.taboption('general', form.ListValue, 'log_level', '*' + ' ' + _('Log Level')); @@ -295,9 +307,9 @@ return view.extend({ o = s.taboption('external_control', form.Value, 'ui_url', '*' + ' ' + _('UI Url')); o.rmempty = false; - o.value('https://mirror.ghproxy.com/https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip', 'MetaCubeXD') - o.value('https://mirror.ghproxy.com/https://github.com/MetaCubeX/Yacd-meta/archive/refs/heads/gh-pages.zip', 'YACD') - o.value('https://mirror.ghproxy.com/https://github.com/MetaCubeX/Razord-meta/archive/refs/heads/gh-pages.zip', 'Razord') + o.value('https://mirror.ghproxy.com/https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip', 'MetaCubeXD'); + o.value('https://mirror.ghproxy.com/https://github.com/MetaCubeX/Yacd-meta/archive/refs/heads/gh-pages.zip', 'YACD'); + o.value('https://mirror.ghproxy.com/https://github.com/MetaCubeX/Razord-meta/archive/refs/heads/gh-pages.zip', 'Razord'); o = s.taboption('external_control', form.Value, 'api_port', '*' + ' ' + _('API Port')); o.datatype = 'port'; @@ -403,7 +415,7 @@ return view.extend({ o.retain = true; o.depends({ 'dns_mode': 'fake-ip', 'fake_ip_filter': '1' }); - o = s.taboption('dns', form.ListValue, 'fake_ip_filter_mode', _('Fake-IP Filter Mode')) + o = s.taboption('dns', form.ListValue, 'fake_ip_filter_mode', _('Fake-IP Filter Mode')); o.retain = true; o.value('blacklist', _('Block Mode')); o.value('whitelist', _('Allow Mode')); diff --git a/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js b/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js index f5ac8c47b..a40325fde 100644 --- a/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js +++ b/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js @@ -13,10 +13,11 @@ return view.extend({ ]); }, render: function (data) { + const subscriptions = uci.sections('mihomo', 'subscription'); const profiles = data[1]; let m, s, o; - + m = new form.Map('mihomo'); s = m.section(form.NamedSection, 'editor', 'editor'); @@ -27,6 +28,11 @@ return view.extend({ for (const profile of profiles) { o.value(mihomo.profilesDir + '/' + profile.name, _('File:') + profile.name); } + + for (const subscription of subscriptions) { + o.value(mihomo.subscriptionsDir + '/' + subscription['.name'] + '.yaml', _('Subscription:') + subscription.name); + } + o.value(mihomo.mixinFilePath, _('File for Mixin')); o.value(mihomo.runProfilePath, _('Profile for Startup')); o.value(mihomo.reservedIPNFT, _('File for Reserved IP')); @@ -43,6 +49,7 @@ return view.extend({ o = s.option(form.TextValue, '_profile_content',); o.rows = 25; + o.wrap = false; o.write = function (section_id, formvalue) { const path = m.lookupOption('mihomo.editor._profile')[0].formvalue('editor'); return fs.write(path, formvalue); @@ -55,7 +62,7 @@ return view.extend({ return m.render(); }, handleSaveApply: function (ev, mode) { - return this.handleSave(ev).finally(function() { + return this.handleSave(ev).finally(function () { return mode === '0' ? mihomo.reload() : mihomo.restart(); }); }, diff --git a/luci-app-mihomo/po/templates/mihomo.pot b/luci-app-mihomo/po/templates/mihomo.pot index c4eb1d5b7..8259d8dd7 100644 --- a/luci-app-mihomo/po/templates/mihomo.pot +++ b/luci-app-mihomo/po/templates/mihomo.pot @@ -1,11 +1,11 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:302 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:314 msgid "API Port" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:306 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:318 msgid "API Secret" msgstr "" @@ -22,12 +22,12 @@ msgstr "" msgid "All Port" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:314 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:326 msgid "Allow Lan" msgstr "" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:178 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:409 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:421 msgid "Allow Mode" msgstr "" @@ -39,7 +39,7 @@ msgstr "" msgid "App Version" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:273 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:285 msgid "Auto" msgstr "" @@ -48,7 +48,7 @@ msgid "Basic Config" msgstr "" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:179 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:408 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:420 msgid "Block Mode" msgstr "" @@ -61,7 +61,7 @@ msgid "Bypass China Mainland IP" msgstr "" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:117 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:24 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:25 msgid "Choose Profile" msgstr "" @@ -95,15 +95,15 @@ msgstr "" msgid "Cron Expression" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:380 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:392 msgid "DNS Config" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:386 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:398 msgid "DNS Mode" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:382 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:394 msgid "DNS Port" msgstr "" @@ -115,39 +115,39 @@ msgstr "" msgid "Destination UDP Port to Proxy" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:270 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:282 msgid "Direct Mode" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:275 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:287 msgid "Disable" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:420 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:432 msgid "DoH Prefer HTTP/3" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:446 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:458 msgid "Domain Name" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:340 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:352 msgid "Edit Authentications" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:402 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:414 msgid "Edit Fake-IP Filters" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:435 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:447 msgid "Edit Hosts" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:477 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:489 msgid "Edit Nameserver Policies" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:454 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:466 msgid "Edit Nameservers" msgstr "" @@ -157,32 +157,32 @@ msgstr "" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:102 #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:144 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:274 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:348 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:443 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:462 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:485 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:526 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:286 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:360 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:455 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:474 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:497 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:538 msgid "Enable" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:377 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:389 msgid "Endpoint Independent NAT" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:291 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:303 msgid "External Control Config" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:412 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:424 msgid "Fake-IP Cache" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:406 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:418 msgid "Fake-IP Filter Mode" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:391 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:403 msgid "Fake-IP Range" msgstr "" @@ -190,72 +190,72 @@ msgstr "" msgid "Fast Reload" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:30 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:36 msgid "File for Mixin" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:32 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:38 msgid "File for Reserved IP" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:33 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:39 msgid "File for Reserved IP6" msgstr "" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:121 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:28 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:29 msgid "File:" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:368 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:380 msgid "GSO" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:371 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:383 msgid "GSO Max Size" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:258 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:270 msgid "General Config" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:499 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:511 msgid "GeoData Loader" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:495 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:507 msgid "GeoIP Format" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:512 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:524 msgid "GeoIP(ASN) Url" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:509 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:521 msgid "GeoIP(DAT) Url" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:506 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:518 msgid "GeoIP(MMDB) Url" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:503 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:515 msgid "GeoSite Url" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:515 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:527 msgid "GeoX Auto Update" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:493 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:505 msgid "GeoX Config" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:518 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:530 msgid "GeoX Update Interval" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:268 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:280 msgid "Global Mode" msgstr "" @@ -263,7 +263,7 @@ msgstr "" msgid "Grant access to mihomo procedures" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:317 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:329 msgid "HTTP Port" msgstr "" @@ -271,7 +271,7 @@ msgstr "" msgid "How To Use" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:449 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:461 msgid "IP" msgstr "" @@ -283,8 +283,8 @@ msgstr "" msgid "IPv4 Proxy" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:280 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:423 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:292 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:435 msgid "IPv6" msgstr "" @@ -296,7 +296,7 @@ msgstr "" msgid "IPv6 Proxy" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:312 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:324 msgid "Inbound Config" msgstr "" @@ -304,27 +304,31 @@ msgstr "" msgid "Lan Proxy" msgstr "" +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:259 +msgid "Local" +msgstr "" + #: mihomo/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:30 msgid "Log" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:260 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:272 msgid "Log Level" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:364 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:376 msgid "MTU" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:272 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:284 msgid "Match Process" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:488 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:500 msgid "Matcher" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:501 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:513 msgid "Memory Conservative Loader" msgstr "" @@ -333,7 +337,7 @@ msgstr "" msgid "MihomoTProxy" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:325 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:337 msgid "Mixed Port" msgstr "" @@ -341,21 +345,21 @@ msgstr "" msgid "Mixin" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:256 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:268 msgid "Mixin Config" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:524 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:536 msgid "Mixin File Content" msgstr "" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:176 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:267 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:279 msgid "Mode" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:472 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:491 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:484 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:503 msgid "Nameserver" msgstr "" @@ -367,39 +371,43 @@ msgstr "" msgid "Open Dashboard" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:277 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:289 msgid "Outbound Interface" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:337 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:349 msgid "Overwrite Authentication" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:397 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:409 msgid "Overwrite Fake-IP Filter" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:432 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:444 msgid "Overwrite Hosts" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:451 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:463 msgid "Overwrite Nameserver" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:474 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:486 msgid "Overwrite Nameserver Policy" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:354 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:366 msgid "Password" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:526 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:538 msgid "Please go to the editor tab to edit the file for mixin" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:31 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:256 +msgid "Prefer" +msgstr "" + +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:37 msgid "Profile for Startup" msgstr "" @@ -411,7 +419,7 @@ msgstr "" msgid "Redirect Mode" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:329 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:341 msgid "Redirect Port" msgstr "" @@ -419,7 +427,11 @@ msgstr "" msgid "Reload Service" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:417 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:258 +msgid "Remote" +msgstr "" + +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:429 msgid "Respect Rules" msgstr "" @@ -431,7 +443,7 @@ msgstr "" msgid "Router Proxy" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:269 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:281 msgid "Rule Mode" msgstr "" @@ -439,11 +451,11 @@ msgstr "" msgid "Running" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:321 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:333 msgid "SOCKS Port" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:309 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:321 msgid "Save Proxy Selection" msgstr "" @@ -456,16 +468,16 @@ msgstr "" msgid "Scroll To Bottom" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:93 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:111 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:99 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:117 msgid "Service is not running." msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:359 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:371 msgid "Stack" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:500 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:512 msgid "Standard Loader" msgstr "" @@ -490,14 +502,15 @@ msgid "Subscription Url" msgstr "" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:125 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:33 msgid "Subscription:" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:283 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:295 msgid "TCP Keep Alive Idle" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:287 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:299 msgid "TCP Keep Alive Interval" msgstr "" @@ -510,11 +523,11 @@ msgstr "" msgid "TPROXY Mode" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:333 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:345 msgid "TPROXY Port" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:357 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:369 msgid "TUN Config" msgstr "" @@ -535,7 +548,7 @@ msgstr "" msgid "Transparent Proxy with Mihomo on OpenWrt." msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:465 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:477 msgid "Type" msgstr "" @@ -543,14 +556,23 @@ msgstr "" msgid "UDP Proxy Mode" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:293 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:305 msgid "UI Name" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:296 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:308 msgid "UI Url" msgstr "" +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:80 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:84 +msgid "Unknown" +msgstr "" + +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:263 +msgid "Update" +msgstr "" + #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:89 msgid "Update Dashboard" msgstr "" @@ -559,11 +581,11 @@ msgstr "" msgid "Upload Profile" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:429 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:441 msgid "Use Hosts" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:426 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:438 msgid "Use System Hosts" msgstr "" @@ -571,6 +593,6 @@ msgstr "" msgid "User Agent" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:351 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:363 msgid "Username" msgstr "" diff --git a/luci-app-mihomo/po/zh_Hans/mihomo.po b/luci-app-mihomo/po/zh_Hans/mihomo.po index 9a597d7d1..adec4bc8d 100644 --- a/luci-app-mihomo/po/zh_Hans/mihomo.po +++ b/luci-app-mihomo/po/zh_Hans/mihomo.po @@ -8,11 +8,11 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:302 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:314 msgid "API Port" msgstr "API 端口" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:306 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:318 msgid "API Secret" msgstr "API 密钥" @@ -29,12 +29,12 @@ msgstr "全部模式" msgid "All Port" msgstr "全部端口" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:314 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:326 msgid "Allow Lan" msgstr "允许局域网访问" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:178 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:409 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:421 msgid "Allow Mode" msgstr "白名单模式" @@ -46,7 +46,7 @@ msgstr "插件日志" msgid "App Version" msgstr "插件版本" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:273 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:285 msgid "Auto" msgstr "自动" @@ -55,7 +55,7 @@ msgid "Basic Config" msgstr "基础配置" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:179 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:408 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:420 msgid "Block Mode" msgstr "黑名单模式" @@ -68,7 +68,7 @@ msgid "Bypass China Mainland IP" msgstr "绕过中国大陆 IP" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:117 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:24 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:25 msgid "Choose Profile" msgstr "选择配置文件" @@ -102,15 +102,15 @@ msgstr "核心版本" msgid "Cron Expression" msgstr "Cron 表达式" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:380 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:392 msgid "DNS Config" msgstr "DNS 配置" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:386 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:398 msgid "DNS Mode" msgstr "DNS 模式" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:382 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:394 msgid "DNS Port" msgstr "DNS 端口" @@ -122,39 +122,39 @@ msgstr "要代理的 TCP 目标端口" msgid "Destination UDP Port to Proxy" msgstr "要代理的 UDP 目标端口" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:270 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:282 msgid "Direct Mode" msgstr "直连模式" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:275 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:287 msgid "Disable" msgstr "禁用" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:420 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:432 msgid "DoH Prefer HTTP/3" msgstr "DoH 优先 HTTP/3" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:446 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:458 msgid "Domain Name" msgstr "域名" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:340 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:352 msgid "Edit Authentications" msgstr "编辑身份验证" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:402 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:414 msgid "Edit Fake-IP Filters" msgstr "编辑 Fake-IP 过滤列表" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:435 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:447 msgid "Edit Hosts" msgstr "编辑 Hosts" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:477 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:489 msgid "Edit Nameserver Policies" msgstr "编辑 DNS 服务器查询策略" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:454 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:466 msgid "Edit Nameservers" msgstr "编辑 DNS 服务器" @@ -164,32 +164,32 @@ msgstr "编辑器" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:102 #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:144 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:274 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:348 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:443 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:462 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:485 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:526 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:286 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:360 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:455 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:474 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:497 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:538 msgid "Enable" msgstr "启用" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:377 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:389 msgid "Endpoint Independent NAT" msgstr "独立于端点的 NAT" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:291 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:303 msgid "External Control Config" msgstr "外部控制配置" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:412 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:424 msgid "Fake-IP Cache" msgstr "Fake-IP 缓存" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:406 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:418 msgid "Fake-IP Filter Mode" msgstr "Fake-IP 过滤模式" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:391 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:403 msgid "Fake-IP Range" msgstr "Fake-IP 范围" @@ -197,72 +197,72 @@ msgstr "Fake-IP 范围" msgid "Fast Reload" msgstr "快速重载" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:30 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:36 msgid "File for Mixin" msgstr "用于混入的文件" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:32 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:38 msgid "File for Reserved IP" msgstr "IPv4 保留地址" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:33 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:39 msgid "File for Reserved IP6" msgstr "IPv6 保留地址" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:121 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:28 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:29 msgid "File:" msgstr "文件:" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:368 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:380 msgid "GSO" msgstr "通用分段卸载" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:371 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:383 msgid "GSO Max Size" msgstr "分段最大长度" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:258 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:270 msgid "General Config" msgstr "全局配置" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:499 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:511 msgid "GeoData Loader" msgstr "GeoData 加载器" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:495 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:507 msgid "GeoIP Format" msgstr "GeoIP 格式" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:512 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:524 msgid "GeoIP(ASN) Url" msgstr "GeoIP(ASN) 下载地址" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:509 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:521 msgid "GeoIP(DAT) Url" msgstr "GeoIP(DAT) 下载地址" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:506 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:518 msgid "GeoIP(MMDB) Url" msgstr "GeoIP(MMDB) 下载地址" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:503 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:515 msgid "GeoSite Url" msgstr "GeoSite 下载地址" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:515 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:527 msgid "GeoX Auto Update" msgstr "定时更新GeoX文件" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:493 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:505 msgid "GeoX Config" msgstr "GeoX 配置" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:518 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:530 msgid "GeoX Update Interval" msgstr "GeoX 文件更新间隔" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:268 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:280 msgid "Global Mode" msgstr "全局模式" @@ -270,7 +270,7 @@ msgstr "全局模式" msgid "Grant access to mihomo procedures" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:317 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:329 msgid "HTTP Port" msgstr "HTTP 端口" @@ -278,7 +278,7 @@ msgstr "HTTP 端口" msgid "How To Use" msgstr "使用说明" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:449 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:461 msgid "IP" msgstr "" @@ -290,8 +290,8 @@ msgstr "IPv4 DNS 劫持" msgid "IPv4 Proxy" msgstr "IPv4 代理" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:280 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:423 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:292 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:435 msgid "IPv6" msgstr "" @@ -303,7 +303,7 @@ msgstr "IPv6 DNS 劫持" msgid "IPv6 Proxy" msgstr "IPv6 代理" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:312 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:324 msgid "Inbound Config" msgstr "入站配置" @@ -311,27 +311,31 @@ msgstr "入站配置" msgid "Lan Proxy" msgstr "局域网代理" +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:259 +msgid "Local" +msgstr "本地" + #: mihomo/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:30 msgid "Log" msgstr "日志" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:260 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:272 msgid "Log Level" msgstr "日志级别" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:364 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:376 msgid "MTU" msgstr "最大传输单元" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:272 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:284 msgid "Match Process" msgstr "匹配进程" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:488 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:500 msgid "Matcher" msgstr "匹配" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:501 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:513 msgid "Memory Conservative Loader" msgstr "为内存受限设备优化的加载器" @@ -340,7 +344,7 @@ msgstr "为内存受限设备优化的加载器" msgid "MihomoTProxy" msgstr "" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:325 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:337 msgid "Mixed Port" msgstr "混合端口" @@ -348,21 +352,21 @@ msgstr "混合端口" msgid "Mixin" msgstr "混入" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:256 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:268 msgid "Mixin Config" msgstr "混入配置" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:524 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:536 msgid "Mixin File Content" msgstr "混入文件内容" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:176 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:267 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:279 msgid "Mode" msgstr "模式" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:472 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:491 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:484 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:503 msgid "Nameserver" msgstr "DNS 服务器" @@ -374,39 +378,43 @@ msgstr "未在运行" msgid "Open Dashboard" msgstr "打开面板" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:277 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:289 msgid "Outbound Interface" msgstr "出站接口" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:337 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:349 msgid "Overwrite Authentication" msgstr "覆盖身份验证" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:397 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:409 msgid "Overwrite Fake-IP Filter" msgstr "覆盖 Fake-IP 过滤列表" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:432 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:444 msgid "Overwrite Hosts" msgstr "覆盖 Hosts" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:451 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:463 msgid "Overwrite Nameserver" msgstr "覆盖 DNS 服务器" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:474 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:486 msgid "Overwrite Nameserver Policy" msgstr "覆盖 DNS 服务器查询策略" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:354 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:366 msgid "Password" msgstr "密码" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:526 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:538 msgid "Please go to the editor tab to edit the file for mixin" msgstr "请前往编辑器标签编辑用于混入的文件" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:31 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:256 +msgid "Prefer" +msgstr "优先" + +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:37 msgid "Profile for Startup" msgstr "用于启动的配置文件" @@ -418,7 +426,7 @@ msgstr "代理配置" msgid "Redirect Mode" msgstr "Redirect 模式" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:329 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:341 msgid "Redirect Port" msgstr "Redirect 端口" @@ -426,7 +434,11 @@ msgstr "Redirect 端口" msgid "Reload Service" msgstr "重载服务" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:417 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:258 +msgid "Remote" +msgstr "远程" + +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:429 msgid "Respect Rules" msgstr "遵循分流规则" @@ -438,7 +450,7 @@ msgstr "重启服务" msgid "Router Proxy" msgstr "路由器代理" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:269 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:281 msgid "Rule Mode" msgstr "规则模式" @@ -446,11 +458,11 @@ msgstr "规则模式" msgid "Running" msgstr "运行中" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:321 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:333 msgid "SOCKS Port" msgstr "SOCKS 端口" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:309 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:321 msgid "Save Proxy Selection" msgstr "保存节点/策略组选择" @@ -463,16 +475,16 @@ msgstr "定时重启" msgid "Scroll To Bottom" msgstr "滚动到底部" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:93 -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:111 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:99 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:117 msgid "Service is not running." msgstr "服务未在运行。" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:359 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:371 msgid "Stack" msgstr "栈" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:500 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:512 msgid "Standard Loader" msgstr "标准加载器" @@ -497,14 +509,15 @@ msgid "Subscription Url" msgstr "订阅链接" #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:125 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:33 msgid "Subscription:" msgstr "订阅:" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:283 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:295 msgid "TCP Keep Alive Idle" msgstr "TCP Keep Alive 空闲" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:287 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:299 msgid "TCP Keep Alive Interval" msgstr "TCP Keep Alive 间隔" @@ -517,11 +530,11 @@ msgstr "TCP 代理模式" msgid "TPROXY Mode" msgstr "TPROXY 模式" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:333 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:345 msgid "TPROXY Port" msgstr "TPROXY 端口" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:357 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:369 msgid "TUN Config" msgstr "TUN 配置" @@ -542,7 +555,7 @@ msgstr "透明代理" msgid "Transparent Proxy with Mihomo on OpenWrt." msgstr "在 OpenWrt 上使用 Mihomo 进行透明代理。" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:465 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:477 msgid "Type" msgstr "类型" @@ -550,14 +563,23 @@ msgstr "类型" msgid "UDP Proxy Mode" msgstr "UDP 代理模式" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:293 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:305 msgid "UI Name" msgstr "UI 名称" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:296 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:308 msgid "UI Url" msgstr "UI 下载地址" +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:80 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:84 +msgid "Unknown" +msgstr "未知" + +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:263 +msgid "Update" +msgstr "更新" + #: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:89 msgid "Update Dashboard" msgstr "更新面板" @@ -566,11 +588,11 @@ msgstr "更新面板" msgid "Upload Profile" msgstr "上传配置文件" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:429 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:441 msgid "Use Hosts" msgstr "使用 Hosts" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:426 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:438 msgid "Use System Hosts" msgstr "使用系统的 Hosts" @@ -578,6 +600,6 @@ msgstr "使用系统的 Hosts" msgid "User Agent" msgstr "用户代理(UA)" -#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:351 +#: mihomo/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:363 msgid "Username" msgstr "用户名" diff --git a/luci-app-mihomo/root/usr/libexec/mihomo-call b/luci-app-mihomo/root/usr/libexec/mihomo-call index e5bd65a75..4c7618392 100755 --- a/luci-app-mihomo/root/usr/libexec/mihomo-call +++ b/luci-app-mihomo/root/usr/libexec/mihomo-call @@ -16,6 +16,13 @@ case "$action" in ;; esac ;; + subscription) + case "$1" in + update) + /etc/init.d/mihomo update_subscription "$2" + ;; + esac + ;; load) case "$1" in profile) diff --git a/luci-app-mihomo/root/usr/share/rpcd/acl.d/luci-app-mihomo.json b/luci-app-mihomo/root/usr/share/rpcd/acl.d/luci-app-mihomo.json index 9a5931460..a2cd6f397 100644 --- a/luci-app-mihomo/root/usr/share/rpcd/acl.d/luci-app-mihomo.json +++ b/luci-app-mihomo/root/usr/share/rpcd/acl.d/luci-app-mihomo.json @@ -9,6 +9,8 @@ "file": { "/etc/mihomo/profiles/*.yaml": ["read"], "/etc/mihomo/profiles/*.yml": ["read"], + "/etc/mihomo/subscriptions/*.yaml": ["read"], + "/etc/mihomo/subscriptions/*.yml": ["read"], "/etc/mihomo/mixin.yaml": ["read"], "/etc/mihomo/run/config.yaml": ["read"], "/etc/mihomo/nftables/reserved_ip.nft": ["read"], @@ -22,6 +24,8 @@ "file": { "/etc/mihomo/profiles/*.yaml": ["write"], "/etc/mihomo/profiles/*.yml": ["write"], + "/etc/mihomo/subscriptions/*.yaml": ["write"], + "/etc/mihomo/subscriptions/*.yml": ["write"], "/etc/mihomo/mixin.yaml": ["write"], "/etc/mihomo/run/config.yaml": ["write"], "/etc/mihomo/nftables/reserved_ip.nft": ["write"],