luci-app-mihomo: sync upstream

last commit: 34b0ae3fd0
This commit is contained in:
gitea-action 2024-12-17 15:30:26 +08:00
parent 823e4f2691
commit a7a7bae80a
11 changed files with 1096 additions and 1001 deletions

View File

@ -1,6 +1,6 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_VERSION:=1.13.3 PKG_VERSION:=1.14.0
LUCI_TITLE:=LuCI Support for mihomo LUCI_TITLE:=LuCI Support for mihomo
LUCI_DEPENDS:=+luci-base +mihomo LUCI_DEPENDS:=+luci-base +mihomo

View File

@ -0,0 +1,148 @@
'use strict';
'require form';
'require view';
'require uci';
'require poll';
'require tools.mihomo as mihomo';
function renderStatus(running) {
return updateStatus(E('input', { id: 'core_status', style: 'border: unset; font-style: italic; font-weight: bold;', readonly: '' }), running);
}
function updateStatus(element, running) {
if (element) {
element.style.color = running ? 'green' : 'red';
element.value = running ? _('Running') : _('Not Running');
}
return element;
}
return view.extend({
load: function () {
return Promise.all([
uci.load('mihomo'),
mihomo.appVersion(),
mihomo.coreVersion(),
mihomo.status(),
mihomo.listProfiles()
]);
},
render: function (data) {
const subscriptions = uci.sections('mihomo', 'subscription');
const appVersion = data[1];
const coreVersion = data[2];
const running = data[3];
const profiles = data[4];
let m, s, o;
m = new form.Map('mihomo', _('MihomoTProxy'), `${_('Transparent Proxy with Mihomo on OpenWrt.')} <a href="https://github.com/morytyann/OpenWrt-mihomo/wiki" target="_blank">${_('How To Use')}</a>`);
s = m.section(form.NamedSection, 'status', 'status', _('Status'));
o = s.option(form.Value, '_app_version', _('App Version'));
o.readonly = true;
o.load = function () {
return appVersion.trim();
};
o.write = function () { };
o = s.option(form.Value, '_core_version', _('Core Version'));
o.readonly = true;
o.load = function () {
return coreVersion.trim();
};
o.write = function () { };
o = s.option(form.DummyValue, '_core_status', _('Core Status'));
o.cfgvalue = function () {
return renderStatus(running);
};
poll.add(function () {
return L.resolveDefault(mihomo.status()).then(function (running) {
updateStatus(document.getElementById('core_status'), running);
});
});
o = s.option(form.Button, 'reload', '-');
o.inputstyle = 'action';
o.inputtitle = _('Reload Service');
o.onclick = function () {
return mihomo.reload();
};
o = s.option(form.Button, 'restart', '-');
o.inputstyle = 'negative';
o.inputtitle = _('Restart Service');
o.onclick = function () {
return mihomo.restart();
};
o = s.option(form.Button, 'update_dashboard', '-');
o.inputstyle = 'positive';
o.inputtitle = _('Update Dashboard');
o.onclick = function () {
return mihomo.callMihomoAPI('POST', '/upgrade/ui');
};
o = s.option(form.Button, 'open_dashboard', '-');
o.inputtitle = _('Open Dashboard');
o.onclick = function () {
return mihomo.openDashboard();
};
s = m.section(form.NamedSection, 'config', 'config', _('App Config'));
o = s.option(form.Flag, 'enabled', _('Enable'));
o.rmempty = false;
o = s.option(form.ListValue, 'profile', _('Choose Profile'));
o.optional = true;
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.Value, 'start_delay', _('Start Delay'));
o.datatype = 'uinteger';
o.placeholder = '0';
o = s.option(form.Flag, 'scheduled_restart', _('Scheduled Restart'));
o.rmempty = false;
o = s.option(form.Value, 'cron_expression', _('Cron Expression'));
o.retain = true;
o.rmempty = false;
o.depends('scheduled_restart', '1');
o = s.option(form.Flag, 'test_profile', _('Test Profile'));
o.rmempty = false;
o = s.option(form.Flag, 'fast_reload', _('Fast Reload'));
o.rmempty = false;
s = m.section(form.NamedSection, 'config', 'config', _('Core Environment Variable Config'));
o = s.option(form.Flag, 'disable_safe_path_check', _('Disable Safe Path Check'));
o.ucisection = 'env';
o.rmempty = false;
o = s.option(form.Flag, 'disable_loopback_detector', _('Disable Loopback Detector'));
o.ucisection = 'env';
o.rmempty = false;
o = s.option(form.Flag, 'disable_quic_go_gso', _('Disable GSO of quic-go'));
o.ucisection = 'env';
o.rmempty = false;
o = s.option(form.Flag, 'disable_quic_go_ecn', _('Disable ECN of quic-go'));
o.ucisection = 'env';
o.rmempty = false;
return m.render();
}
});

View File

@ -1,617 +0,0 @@
'use strict';
'require form';
'require view';
'require uci';
'require fs';
'require network';
'require rpc';
'require poll';
'require tools.widgets as widgets';
'require tools.mihomo as mihomo';
function renderStatus(running) {
return updateStatus(E('input', { id: 'core_status', style: 'border: unset; font-style: italic; font-weight: bold;', readonly: '' }), running);
}
function updateStatus(element, running) {
if (element) {
element.style.color = running ? 'green' : 'red';
element.value = running ? _('Running') : _('Not Running');
}
return element;
}
return view.extend({
load: function () {
return Promise.all([
uci.load('mihomo'),
mihomo.listProfiles(),
mihomo.appVersion(),
mihomo.coreVersion(),
mihomo.status(),
mihomo.getUsers(),
mihomo.getGroups(),
network.getHostHints(),
]);
},
render: function (data) {
const subscriptions = uci.sections('mihomo', 'subscription');
const profiles = data[1];
const appVersion = data[2];
const coreVersion = data[3];
const running = data[4];
const users = data[5];
const groups = data[6];
const hosts = data[7].hosts;
let m, s, o, so;
m = new form.Map('mihomo', _('MihomoTProxy'), `${_('Transparent Proxy with Mihomo on OpenWrt.')} <a href="https://github.com/morytyann/OpenWrt-mihomo/wiki" target="_blank">${_('How To Use')}</a>`);
s = m.section(form.NamedSection, 'status', 'status', _('Status'));
o = s.option(form.Value, '_app_version', _('App Version'));
o.readonly = true;
o.load = function () {
return appVersion.trim();
};
o.write = function () { };
o = s.option(form.Value, '_core_version', _('Core Version'));
o.readonly = true;
o.load = function () {
return coreVersion.trim();
};
o.write = function () { };
o = s.option(form.DummyValue, '_core_status', _('Core Status'));
o.cfgvalue = function () {
return renderStatus(running);
};
poll.add(function () {
return L.resolveDefault(mihomo.status()).then(function (running) {
updateStatus(document.getElementById('core_status'), running);
});
});
o = s.option(form.Button, 'reload', '-');
o.inputstyle = 'action';
o.inputtitle = _('Reload Service');
o.onclick = function () {
return mihomo.reload();
};
o = s.option(form.Button, 'restart', '-');
o.inputstyle = 'negative';
o.inputtitle = _('Restart Service');
o.onclick = function () {
return mihomo.restart();
};
o = s.option(form.Button, 'update_dashboard', '-');
o.inputstyle = 'positive';
o.inputtitle = _('Update Dashboard');
o.onclick = function () {
return mihomo.callMihomoAPI('POST', '/upgrade/ui');
};
o = s.option(form.Button, 'open_dashboard', '-');
o.inputtitle = _('Open Dashboard');
o.onclick = function () {
return mihomo.openDashboard();
};
s = m.section(form.NamedSection, 'config', 'config', _('Basic Config'));
s.tab('app', _('App Config'));
o = s.taboption('app', form.Flag, 'enabled', _('Enable'));
o.rmempty = false;
o = s.taboption('app', form.ListValue, 'profile', _('Choose Profile'));
o.optional = true;
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.taboption('app', form.FileUpload, 'upload_profile', _('Upload Profile'));
o.root_directory = mihomo.profilesDir;
o = s.taboption('app', form.Flag, 'mixin', _('Mixin'));
o.rmempty = false;
s.tab('startup', _('Startup Config'));
o = s.taboption('startup', form.Value, 'start_delay', _('Start Delay'));
o.datatype = 'uinteger';
o.placeholder = '0';
o = s.taboption('startup', form.Flag, 'scheduled_restart', _('Scheduled Restart'));
o.rmempty = false;
o = s.taboption('startup', form.Value, 'cron_expression', _('Cron Expression'));
o.retain = true;
o.rmempty = false;
o.depends('scheduled_restart', '1');
o = s.taboption('startup', form.Flag, 'test_profile', _('Test Profile'));
o.rmempty = false;
o = s.taboption('startup', form.Flag, 'fast_reload', _('Fast Reload'));
o.rmempty = false;
s.tab('core_env', _('Core Environment Variable Config'));
o = s.taboption('core_env', form.Flag, 'disable_safe_path_check', _('Disable Safe Path Check'));
o.ucisection = 'env';
o.rmempty = false;
o = s.taboption('core_env', form.Flag, 'disable_loopback_detector', _('Disable Loopback Detector'));
o.ucisection = 'env';
o.rmempty = false;
o = s.taboption('core_env', form.Flag, 'disable_quic_go_gso', _('Disable GSO of quic-go'));
o.ucisection = 'env';
o.rmempty = false;
o = s.taboption('core_env', form.Flag, 'disable_quic_go_ecn', _('Disable ECN of quic-go'));
o.ucisection = 'env';
o.rmempty = false;
s = m.section(form.NamedSection, 'proxy', 'proxy', _('Proxy Config'));
s.tab('transparent_proxy', _('Transparent Proxy'));
o = s.taboption('transparent_proxy', form.Flag, 'transparent_proxy', _('Enable'));
o.rmempty = false;
o = s.taboption('transparent_proxy', form.ListValue, 'tcp_transparent_proxy_mode', _('TCP Proxy Mode'));
o.value('redirect', _('Redirect Mode'));
o.value('tproxy', _('TPROXY Mode'));
o.value('tun', _('TUN Mode'));
o = s.taboption('transparent_proxy', form.ListValue, 'udp_transparent_proxy_mode', _('UDP Proxy Mode'));
o.value('tproxy', _('TPROXY Mode'));
o.value('tun', _('TUN Mode'));
o = s.taboption('transparent_proxy', form.Flag, 'ipv4_dns_hijack', _('IPv4 DNS Hijack'));
o.rmempty = false;
o = s.taboption('transparent_proxy', form.Flag, 'ipv6_dns_hijack', _('IPv6 DNS Hijack'));
o.rmempty = false;
o = s.taboption('transparent_proxy', form.Flag, 'ipv4_proxy', _('IPv4 Proxy'));
o.rmempty = false;
o = s.taboption('transparent_proxy', form.Flag, 'ipv6_proxy', _('IPv6 Proxy'));
o.rmempty = false;
o = s.taboption('transparent_proxy', form.Flag, 'router_proxy', _('Router Proxy'));
o.rmempty = false;
o = s.taboption('transparent_proxy', form.Flag, 'lan_proxy', _('Lan Proxy'));
o.rmempty = false;
s.tab('access_control', _('Access Control'));
o = s.taboption('access_control', form.ListValue, 'access_control_mode', _('Mode'));
o.value('all', _('All Mode'));
o.value('allow', _('Allow Mode'));
o.value('block', _('Block Mode'));
o = s.taboption('access_control', form.DynamicList, 'acl_ip', 'IP');
o.datatype = 'ipmask4';
o.retain = true;
o.depends('access_control_mode', 'allow');
o.depends('access_control_mode', 'block');
for (const mac in hosts) {
const host = hosts[mac];
for (const ip of host.ipaddrs) {
const hint = host.name || mac;
o.value(ip, hint ? '%s (%s)'.format(ip, hint) : ip);
};
};
o = s.taboption('access_control', form.DynamicList, 'acl_ip6', 'IP6');
o.datatype = 'ipmask6';
o.retain = true;
o.depends('access_control_mode', 'allow');
o.depends('access_control_mode', 'block');
for (const mac in hosts) {
const host = hosts[mac];
for (const ip of host.ip6addrs) {
const hint = host.name || mac;
o.value(ip, hint ? '%s (%s)'.format(ip, hint) : ip);
};
};
o = s.taboption('access_control', form.DynamicList, 'acl_mac', 'MAC');
o.datatype = 'macaddr';
o.retain = true;
o.depends('access_control_mode', 'allow');
o.depends('access_control_mode', 'block');
for (const mac in hosts) {
const host = hosts[mac];
const hint = host.name || host.ipaddrs[0];
o.value(mac, hint ? '%s (%s)'.format(mac, hint) : mac);
};
o = s.taboption('access_control', widgets.NetworkSelect, 'acl_interface', _('Interface'));
o.multiple = true;
o.optional = true;
o.retain = true;
o.depends('access_control_mode', 'allow');
o.depends('access_control_mode', 'block');
s.tab('bypass', _('Bypass'));
o = s.taboption('bypass', form.MultiValue, 'bypass_user', _('Bypass User'));
o.create = true;
for (const user of users) {
o.value(user);
};
o = s.taboption('bypass', form.MultiValue, 'bypass_group', _('Bypass Group'));
o.create = true;
for (const group of groups) {
o.value(group);
};
o = s.taboption('bypass', form.Flag, 'bypass_china_mainland_ip', _('Bypass China Mainland IP'));
o.rmempty = false;
o = s.taboption('bypass', form.Value, 'proxy_tcp_dport', _('Destination TCP Port to Proxy'));
o.rmempty = false;
o.value('0-65535', _('All Port'));
o.value('21 22 80 110 143 194 443 465 853 993 995 8080 8443', _('Commonly Used Port'));
o = s.taboption('bypass', form.Value, 'proxy_udp_dport', _('Destination UDP Port to Proxy'));
o.rmempty = false;
o.value('0-65535', _('All Port'));
o.value('123 443 8443', _('Commonly Used Port'));
s = m.section(form.GridSection, 'subscription', _('Subscription Config'));
s.addremove = true;
s.anonymous = true;
s.sortable = true;
s.modaltitle = _('Edit Subscription');
o = s.option(form.Value, 'name', _('Subscription Name'));
o.rmempty = false;
o = s.option(form.Value, 'used', _('Used'));
o.modalonly = false;
o.optional = true;
o.readonly = true;
o = s.option(form.Value, 'total', _('Total'));
o.modalonly = false;
o.optional = true;
o.readonly = true;
o = s.option(form.Value, 'expire', _('Expire At'));
o.modalonly = false;
o.optional = true;
o.readonly = true;
o = s.option(form.Value, 'update', _('Update At'));
o.modalonly = false;
o.optional = true;
o.readonly = true;
o = s.option(form.Button, 'update_subscription');
o.editable = true;
o.inputstyle = 'positive';
o.inputtitle = _('Update');
o.modalonly = false;
o.onclick = function (_, section_id) {
return mihomo.updateSubscription(section_id);
};
o = s.option(form.Value, 'url', _('Subscription Url'));
o.modalonly = true;
o.rmempty = false;
o = s.option(form.Value, 'user_agent', _('User Agent'));
o.default = 'clash';
o.modalonly = true;
o.rmempty = false;
o.value('mihomo');
o.value('clash.meta');
o.value('clash');
o = s.option(form.ListValue, 'prefer', _('Prefer'));
o.default = 'remote';
o.modalonly = true;
o.value('remote', _('Remote'));
o.value('local', _('Local'));
s = m.section(form.NamedSection, 'mixin', 'mixin', _('Mixin Config'));
s.tab('general', _('General Config'));
o = s.taboption('general', form.ListValue, 'log_level', '*' + ' ' + _('Log Level'));
o.value('silent');
o.value('error');
o.value('warning');
o.value('info');
o.value('debug');
o = s.taboption('general', form.ListValue, 'mode', _('Mode'));
o.value('global', _('Global Mode'));
o.value('rule', _('Rule Mode'));
o.value('direct', _('Direct Mode'));
o = s.taboption('general', form.ListValue, 'match_process', _('Match Process'));
o.value('strict', _('Auto'));
o.value('always', _('Enable'));
o.value('off', _('Disable'));
o = s.taboption('general', widgets.NetworkSelect, 'outbound_interface', '*' + ' ' + _('Outbound Interface'));
o.optional = true;
o = s.taboption('general', form.Flag, 'ipv6', '*' + ' ' + _('IPv6'));
o.rmempty = false;
o = s.taboption('general', form.Value, 'tcp_keep_alive_idle', _('TCP Keep Alive Idle'));
o.datatype = 'uinteger';
o.placeholder = '600';
o = s.taboption('general', form.Value, 'tcp_keep_alive_interval', _('TCP Keep Alive Interval'));
o.datatype = 'uinteger';
o.placeholder = '15';
s.tab('external_control', _('External Control Config'));
o = s.taboption('external_control', form.Value, 'ui_name', '*' + ' ' + _('UI Name'));
o.rmempty = false;
o = s.taboption('external_control', form.Value, 'ui_url', '*' + ' ' + _('UI Url'));
o.rmempty = false;
o.value('https://ghp.ci/https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip', 'MetaCubeXD');
o.value('https://ghp.ci/https://github.com/MetaCubeX/Yacd-meta/archive/refs/heads/gh-pages.zip', 'YACD');
o.value('https://ghp.ci/https://github.com/MetaCubeX/Razord-meta/archive/refs/heads/gh-pages.zip', 'Razord');
o.value('https://ghp.ci/https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip', 'Zashboard');
o = s.taboption('external_control', form.Value, 'api_port', '*' + ' ' + _('API Port'));
o.datatype = 'port';
o.placeholder = '9090';
o = s.taboption('external_control', form.Value, 'api_secret', '*' + ' ' + _('API Secret'));
o.password = true;
o.rmempty = false;
o = s.taboption('external_control', form.Flag, 'selection_cache', _('Save Proxy Selection'));
o.rmempty = false;
s.tab('inbound', _('Inbound Config'));
o = s.taboption('inbound', form.Flag, 'allow_lan', '*' + ' ' + _('Allow Lan'));
o.rmempty = false;
o = s.taboption('inbound', form.Value, 'http_port', '*' + ' ' + _('HTTP Port'));
o.datatype = 'port';
o.placeholder = '8080';
o = s.taboption('inbound', form.Value, 'socks_port', '*' + ' ' + _('SOCKS Port'));
o.datatype = 'port';
o.placeholder = '1080';
o = s.taboption('inbound', form.Value, 'mixed_port', '*' + ' ' + _('Mixed Port'));
o.datatype = 'port';
o.placeholder = '7890';
o = s.taboption('inbound', form.Value, 'redir_port', '*' + ' ' + _('Redirect Port'));
o.datatype = 'port';
o.placeholder = '7891';
o = s.taboption('inbound', form.Value, 'tproxy_port', '*' + ' ' + _('TPROXY Port'));
o.datatype = 'port';
o.placeholder = '7892';
o = s.taboption('inbound', form.Flag, 'authentication', '*' + ' ' + _('Overwrite Authentication'));
o.rmempty = false;
o = s.taboption('inbound', form.SectionValue, '_authentications', form.TableSection, 'authentication', _('Edit Authentications'));
o.retain = true;
o.depends('authentication', '1');
o.subsection.addremove = true;
o.subsection.anonymous = true;
o.subsection.sortable = true;
so = o.subsection.option(form.Flag, 'enabled', _('Enable'));
so.rmempty = false;
so = o.subsection.option(form.Value, 'username', _('Username'));
so.rmempty = false;
so = o.subsection.option(form.Value, 'password', _('Password'));
so.password = true;
so.rmempty = false;
s.tab('tun', _('TUN Config'));
o = s.taboption('tun', form.ListValue, 'tun_stack', '*' + ' ' + _('Stack'));
o.value('system', 'System');
o.value('gvisor', 'gVisor');
o.value('mixed', 'Mixed');
o = s.taboption('tun', form.Value, 'tun_mtu', '*' + ' ' + _('MTU'));
o.datatype = 'uinteger';
o.placeholder = '9000';
o = s.taboption('tun', form.Flag, 'tun_gso', '*' + ' ' + _('GSO'));
o.rmempty = false;
o = s.taboption('tun', form.Value, 'tun_gso_max_size', '*' + ' ' + _('GSO Max Size'));
o.datatype = 'uinteger';
o.placeholder = '65536';
o.retain = true;
o.depends('tun_gso', '1');
o = s.taboption('tun', form.Flag, 'tun_endpoint_independent_nat', '*' + ' ' + _('Endpoint Independent NAT'));
o.rmempty = false;
s.tab('dns', _('DNS Config'));
o = s.taboption('dns', form.Value, 'dns_port', '*' + ' ' + _('DNS Port'));
o.datatype = 'port';
o.placeholder = '1053';
o = s.taboption('dns', form.ListValue, 'dns_mode', '*' + ' ' + _('DNS Mode'));
o.value('normal', 'Normal');
o.value('fake-ip', 'Fake-IP');
o.value('redir-host', 'Redir-Host');
o = s.taboption('dns', form.Value, 'fake_ip_range', '*' + ' ' + _('Fake-IP Range'));
o.datatype = 'cidr4';
o.placeholder = '198.18.0.1/16';
o.retain = true;
o.depends('dns_mode', 'fake-ip');
o = s.taboption('dns', form.Flag, 'fake_ip_filter', _('Overwrite Fake-IP Filter'));
o.retain = true;
o.rmempty = false;
o.depends('dns_mode', 'fake-ip');
o = s.taboption('dns', form.DynamicList, 'fake_ip_filters', _('Edit Fake-IP Filters'));
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.retain = true;
o.value('blacklist', _('Block Mode'));
o.value('whitelist', _('Allow Mode'));
o.depends({ 'dns_mode': 'fake-ip', 'fake_ip_filter': '1' });
o = s.taboption('dns', form.Flag, 'fake_ip_cache', _('Fake-IP Cache'));
o.retain = true;
o.rmempty = false;
o.depends('dns_mode', 'fake-ip');
o = s.taboption('dns', form.Flag, 'dns_respect_rules', _('Respect Rules'));
o.rmempty = false;
o = s.taboption('dns', form.Flag, 'dns_doh_prefer_http3', _('DoH Prefer HTTP/3'));
o.rmempty = false;
o = s.taboption('dns', form.Flag, 'dns_ipv6', _('IPv6'));
o.rmempty = false;
o = s.taboption('dns', form.Flag, 'dns_system_hosts', _('Use System Hosts'));
o.rmempty = false;
o = s.taboption('dns', form.Flag, 'dns_hosts', _('Use Hosts'));
o.rmempty = false;
o = s.taboption('dns', form.Flag, 'hosts', _('Overwrite Hosts'));
o.rmempty = false;
o = s.taboption('dns', form.SectionValue, '_hosts', form.TableSection, 'host', _('Edit Hosts'));
o.retain = true;
o.depends('hosts', '1');
o.subsection.addremove = true;
o.subsection.anonymous = true;
o.subsection.sortable = true;
so = o.subsection.option(form.Flag, 'enabled', _('Enable'));
so.rmempty = false;
so = o.subsection.option(form.Value, 'domain_name', _('Domain Name'));
so.rmempty = false;
so = o.subsection.option(form.DynamicList, 'ip', _('IP'));
o = s.taboption('dns', form.Flag, 'dns_nameserver', _('Overwrite Nameserver'));
o.rmempty = false;
o = s.taboption('dns', form.SectionValue, '_dns_nameserver', form.TableSection, 'nameserver', _('Edit Nameservers'));
o.retain = true;
o.depends('dns_nameserver', '1');
o.subsection.addremove = true;
o.subsection.anonymous = true;
o.subsection.sortable = true;
so = o.subsection.option(form.Flag, 'enabled', _('Enable'));
so.rmempty = false;
so = o.subsection.option(form.ListValue, 'type', _('Type'));
so.value('default-nameserver');
so.value('proxy-server-nameserver');
so.value('direct-nameserver');
so.value('nameserver');
so.value('fallback');
so = o.subsection.option(form.DynamicList, 'nameserver', _('Nameserver'));
o = s.taboption('dns', form.Flag, 'dns_nameserver_policy', _('Overwrite Nameserver Policy'));
o.rmempty = false;
o = s.taboption('dns', form.SectionValue, '_dns_nameserver_policies', form.TableSection, 'nameserver_policy', _('Edit Nameserver Policies'));
o.retain = true;
o.depends('dns_nameserver_policy', '1');
o.subsection.addremove = true;
o.subsection.anonymous = true;
o.subsection.sortable = true;
so = o.subsection.option(form.Flag, 'enabled', _('Enable'));
so.rmempty = false;
so = o.subsection.option(form.Value, 'matcher', _('Matcher'));
so.rmempty = false;
so = o.subsection.option(form.DynamicList, 'nameserver', _('Nameserver'));
s.tab('geox', _('GeoX Config'));
o = s.taboption('geox', form.ListValue, 'geoip_format', _('GeoIP Format'));
o.value('dat', 'DAT');
o.value('mmdb', 'MMDB');
o = s.taboption('geox', form.ListValue, 'geodata_loader', _('GeoData Loader'));
o.value('standard', _('Standard Loader'));
o.value('memconservative', _('Memory Conservative Loader'));
o = s.taboption('geox', form.Value, 'geosite_url', _('GeoSite Url'));
o.rmempty = false;
o = s.taboption('geox', form.Value, 'geoip_mmdb_url', _('GeoIP(MMDB) Url'));
o.rmempty = false;
o = s.taboption('geox', form.Value, 'geoip_dat_url', _('GeoIP(DAT) Url'));
o.rmempty = false;
o = s.taboption('geox', form.Value, 'geoip_asn_url', _('GeoIP(ASN) Url'));
o.rmempty = false;
o = s.taboption('geox', form.Flag, 'geox_auto_update', _('GeoX Auto Update'));
o.rmempty = false;
o = s.taboption('geox', form.Value, 'geox_update_interval', _('GeoX Update Interval'));
o.datatype = 'uinteger';
o.placeholder = '24';
o.retain = true;
o.depends('geox_auto_update', '1');
s.tab('mixin_file_content', _('Mixin File Content'));
o = s.taboption('mixin_file_content', form.Flag, 'mixin_file_content', '*' + ' ' + _('Enable'), _('Please go to the editor tab to edit the file for mixin'));
o.rmempty = false;
return m.render();
}
});

View File

@ -9,7 +9,7 @@ return view.extend({
load: function () { load: function () {
return Promise.all([ return Promise.all([
uci.load('mihomo'), uci.load('mihomo'),
mihomo.listProfiles(), mihomo.listProfiles()
]); ]);
}, },
render: function (data) { render: function (data) {
@ -20,9 +20,9 @@ return view.extend({
m = new form.Map('mihomo'); m = new form.Map('mihomo');
s = m.section(form.NamedSection, 'editor', 'editor'); s = m.section(form.NamedSection, 'editor', 'editor', _('Editor'));
o = s.option(form.ListValue, '_profile', _('Choose Profile')); o = s.option(form.ListValue, '_file', _('Choose File'));
o.optional = true; o.optional = true;
for (const profile of profiles) { for (const profile of profiles) {
@ -43,19 +43,19 @@ return view.extend({
}; };
o.onchange = function (event, section_id, value) { o.onchange = function (event, section_id, value) {
return L.resolveDefault(fs.read_direct(value), '').then(function (content) { return L.resolveDefault(fs.read_direct(value), '').then(function (content) {
m.lookupOption('mihomo.editor._profile_content')[0].getUIElement('editor').setValue(content); m.lookupOption('mihomo.editor._file_content')[0].getUIElement('editor').setValue(content);
}); });
}; };
o = s.option(form.TextValue, '_profile_content',); o = s.option(form.TextValue, '_file_content',);
o.rows = 25; o.rows = 25;
o.wrap = false; o.wrap = false;
o.write = function (section_id, formvalue) { o.write = function (section_id, formvalue) {
const path = m.lookupOption('mihomo.editor._profile')[0].formvalue('editor'); const path = m.lookupOption('mihomo.editor._file')[0].formvalue('editor');
return fs.write(path, formvalue); return fs.write(path, formvalue);
}; };
o.remove = function (section_id) { o.remove = function (section_id) {
const path = m.lookupOption('mihomo.editor._profile')[0].formvalue('editor'); const path = m.lookupOption('mihomo.editor._file')[0].formvalue('editor');
return fs.write(path); return fs.write(path);
}; };

View File

@ -2,9 +2,8 @@
'require form'; 'require form';
'require view'; 'require view';
'require uci'; 'require uci';
'require fs';
'require poll'; 'require poll';
'require tools.mihomo as mihomo' 'require tools.mihomo as mihomo';
return view.extend({ return view.extend({
load: function () { load: function () {
@ -22,7 +21,7 @@ return view.extend({
m = new form.Map('mihomo'); m = new form.Map('mihomo');
s = m.section(form.NamedSection, 'log', 'log'); s = m.section(form.NamedSection, 'log', 'log', _('Log'));
s.tab('app_log', _('App Log')); s.tab('app_log', _('App Log'));

View File

@ -0,0 +1,303 @@
'use strict';
'require form';
'require view';
'require uci';
'require fs';
'require poll';
'require tools.widgets as widgets';
'require tools.mihomo as mihomo';
return view.extend({
load: function () {
return Promise.all([
uci.load('mihomo')
]);
},
render: function (data) {
let m, s, o, so;
m = new form.Map('mihomo');
s = m.section(form.NamedSection, 'config', 'config', _('Mixin Config'));
o = s.option(form.Flag, 'mixin', _('Enable'));
o.rmempty = false;
s = m.section(form.NamedSection, 'mixin', 'mixin', _('Mixin Option'));
s.tab('general', _('General Config'));
o = s.taboption('general', form.ListValue, 'log_level', '*' + ' ' + _('Log Level'));
o.value('silent');
o.value('error');
o.value('warning');
o.value('info');
o.value('debug');
o = s.taboption('general', form.ListValue, 'mode', _('Mode'));
o.value('global', _('Global Mode'));
o.value('rule', _('Rule Mode'));
o.value('direct', _('Direct Mode'));
o = s.taboption('general', form.ListValue, 'match_process', _('Match Process'));
o.value('strict', _('Auto'));
o.value('always', _('Enable'));
o.value('off', _('Disable'));
o = s.taboption('general', widgets.NetworkSelect, 'outbound_interface', '*' + ' ' + _('Outbound Interface'));
o.optional = true;
o = s.taboption('general', form.Flag, 'ipv6', '*' + ' ' + _('IPv6'));
o.rmempty = false;
o = s.taboption('general', form.Value, 'tcp_keep_alive_idle', _('TCP Keep Alive Idle'));
o.datatype = 'uinteger';
o.placeholder = '600';
o = s.taboption('general', form.Value, 'tcp_keep_alive_interval', _('TCP Keep Alive Interval'));
o.datatype = 'uinteger';
o.placeholder = '15';
s.tab('external_control', _('External Control Config'));
o = s.taboption('external_control', form.Value, 'ui_name', '*' + ' ' + _('UI Name'));
o = s.taboption('external_control', form.Value, 'ui_url', '*' + ' ' + _('UI Url'));
o.rmempty = false;
o.value('https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip', 'Zashboard');
o.value('https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip', 'MetaCubeXD');
o.value('https://github.com/MetaCubeX/Yacd-meta/archive/refs/heads/gh-pages.zip', 'YACD');
o.value('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';
o.placeholder = '9090';
o = s.taboption('external_control', form.Value, 'api_secret', '*' + ' ' + _('API Secret'));
o.password = true;
o.rmempty = false;
o = s.taboption('external_control', form.Flag, 'selection_cache', _('Save Proxy Selection'));
o.rmempty = false;
s.tab('inbound', _('Inbound Config'));
o = s.taboption('inbound', form.Flag, 'allow_lan', '*' + ' ' + _('Allow Lan'));
o.rmempty = false;
o = s.taboption('inbound', form.Value, 'http_port', '*' + ' ' + _('HTTP Port'));
o.datatype = 'port';
o.placeholder = '8080';
o = s.taboption('inbound', form.Value, 'socks_port', '*' + ' ' + _('SOCKS Port'));
o.datatype = 'port';
o.placeholder = '1080';
o = s.taboption('inbound', form.Value, 'mixed_port', '*' + ' ' + _('Mixed Port'));
o.datatype = 'port';
o.placeholder = '7890';
o = s.taboption('inbound', form.Value, 'redir_port', '*' + ' ' + _('Redirect Port'));
o.datatype = 'port';
o.placeholder = '7891';
o = s.taboption('inbound', form.Value, 'tproxy_port', '*' + ' ' + _('TPROXY Port'));
o.datatype = 'port';
o.placeholder = '7892';
o = s.taboption('inbound', form.Flag, 'authentication', '*' + ' ' + _('Overwrite Authentication'));
o.rmempty = false;
o = s.taboption('inbound', form.SectionValue, '_authentications', form.TableSection, 'authentication', _('Edit Authentications'));
o.retain = true;
o.depends('authentication', '1');
o.subsection.addremove = true;
o.subsection.anonymous = true;
o.subsection.sortable = true;
so = o.subsection.option(form.Flag, 'enabled', _('Enable'));
so.rmempty = false;
so = o.subsection.option(form.Value, 'username', _('Username'));
so.rmempty = false;
so = o.subsection.option(form.Value, 'password', _('Password'));
so.password = true;
so.rmempty = false;
s.tab('tun', _('TUN Config'));
o = s.taboption('tun', form.ListValue, 'tun_stack', '*' + ' ' + _('Stack'));
o.value('system', 'System');
o.value('gvisor', 'gVisor');
o.value('mixed', 'Mixed');
o = s.taboption('tun', form.Value, 'tun_mtu', '*' + ' ' + _('MTU'));
o.datatype = 'uinteger';
o.placeholder = '9000';
o = s.taboption('tun', form.Flag, 'tun_gso', '*' + ' ' + _('GSO'));
o.rmempty = false;
o = s.taboption('tun', form.Value, 'tun_gso_max_size', '*' + ' ' + _('GSO Max Size'));
o.datatype = 'uinteger';
o.placeholder = '65536';
o.retain = true;
o.depends('tun_gso', '1');
o = s.taboption('tun', form.Flag, 'tun_endpoint_independent_nat', '*' + ' ' + _('Endpoint Independent NAT'));
o.rmempty = false;
s.tab('dns', _('DNS Config'));
o = s.taboption('dns', form.Value, 'dns_port', '*' + ' ' + _('DNS Port'));
o.datatype = 'port';
o.placeholder = '1053';
o = s.taboption('dns', form.ListValue, 'dns_mode', '*' + ' ' + _('DNS Mode'));
o.value('normal', 'Normal');
o.value('fake-ip', 'Fake-IP');
o.value('redir-host', 'Redir-Host');
o = s.taboption('dns', form.Value, 'fake_ip_range', '*' + ' ' + _('Fake-IP Range'));
o.datatype = 'cidr4';
o.placeholder = '198.18.0.1/16';
o.retain = true;
o.depends('dns_mode', 'fake-ip');
o = s.taboption('dns', form.Flag, 'fake_ip_filter', _('Overwrite Fake-IP Filter'));
o.retain = true;
o.rmempty = false;
o.depends('dns_mode', 'fake-ip');
o = s.taboption('dns', form.DynamicList, 'fake_ip_filters', _('Edit Fake-IP Filters'));
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.retain = true;
o.value('blacklist', _('Block Mode'));
o.value('whitelist', _('Allow Mode'));
o.depends({ 'dns_mode': 'fake-ip', 'fake_ip_filter': '1' });
o = s.taboption('dns', form.Flag, 'fake_ip_cache', _('Fake-IP Cache'));
o.retain = true;
o.rmempty = false;
o.depends('dns_mode', 'fake-ip');
o = s.taboption('dns', form.Flag, 'dns_respect_rules', _('Respect Rules'));
o.rmempty = false;
o = s.taboption('dns', form.Flag, 'dns_doh_prefer_http3', _('DoH Prefer HTTP/3'));
o.rmempty = false;
o = s.taboption('dns', form.Flag, 'dns_ipv6', _('IPv6'));
o.rmempty = false;
o = s.taboption('dns', form.Flag, 'dns_system_hosts', _('Use System Hosts'));
o.rmempty = false;
o = s.taboption('dns', form.Flag, 'dns_hosts', _('Use Hosts'));
o.rmempty = false;
o = s.taboption('dns', form.Flag, 'hosts', _('Overwrite Hosts'));
o.rmempty = false;
o = s.taboption('dns', form.SectionValue, '_hosts', form.TableSection, 'host', _('Edit Hosts'));
o.retain = true;
o.depends('hosts', '1');
o.subsection.addremove = true;
o.subsection.anonymous = true;
o.subsection.sortable = true;
so = o.subsection.option(form.Flag, 'enabled', _('Enable'));
so.rmempty = false;
so = o.subsection.option(form.Value, 'domain_name', _('Domain Name'));
so.rmempty = false;
so = o.subsection.option(form.DynamicList, 'ip', _('IP'));
o = s.taboption('dns', form.Flag, 'dns_nameserver', _('Overwrite Nameserver'));
o.rmempty = false;
o = s.taboption('dns', form.SectionValue, '_dns_nameserver', form.TableSection, 'nameserver', _('Edit Nameservers'));
o.retain = true;
o.depends('dns_nameserver', '1');
o.subsection.addremove = true;
o.subsection.anonymous = true;
o.subsection.sortable = true;
so = o.subsection.option(form.Flag, 'enabled', _('Enable'));
so.rmempty = false;
so = o.subsection.option(form.ListValue, 'type', _('Type'));
so.value('default-nameserver');
so.value('proxy-server-nameserver');
so.value('direct-nameserver');
so.value('nameserver');
so.value('fallback');
so = o.subsection.option(form.DynamicList, 'nameserver', _('Nameserver'));
o = s.taboption('dns', form.Flag, 'dns_nameserver_policy', _('Overwrite Nameserver Policy'));
o.rmempty = false;
o = s.taboption('dns', form.SectionValue, '_dns_nameserver_policies', form.TableSection, 'nameserver_policy', _('Edit Nameserver Policies'));
o.retain = true;
o.depends('dns_nameserver_policy', '1');
o.subsection.addremove = true;
o.subsection.anonymous = true;
o.subsection.sortable = true;
so = o.subsection.option(form.Flag, 'enabled', _('Enable'));
so.rmempty = false;
so = o.subsection.option(form.Value, 'matcher', _('Matcher'));
so.rmempty = false;
so = o.subsection.option(form.DynamicList, 'nameserver', _('Nameserver'));
s.tab('geox', _('GeoX Config'));
o = s.taboption('geox', form.ListValue, 'geoip_format', _('GeoIP Format'));
o.value('dat', 'DAT');
o.value('mmdb', 'MMDB');
o = s.taboption('geox', form.ListValue, 'geodata_loader', _('GeoData Loader'));
o.value('standard', _('Standard Loader'));
o.value('memconservative', _('Memory Conservative Loader'));
o = s.taboption('geox', form.Value, 'geosite_url', _('GeoSite Url'));
o.rmempty = false;
o = s.taboption('geox', form.Value, 'geoip_mmdb_url', _('GeoIP(MMDB) Url'));
o.rmempty = false;
o = s.taboption('geox', form.Value, 'geoip_dat_url', _('GeoIP(DAT) Url'));
o.rmempty = false;
o = s.taboption('geox', form.Value, 'geoip_asn_url', _('GeoIP(ASN) Url'));
o.rmempty = false;
o = s.taboption('geox', form.Flag, 'geox_auto_update', _('GeoX Auto Update'));
o.rmempty = false;
o = s.taboption('geox', form.Value, 'geox_update_interval', _('GeoX Update Interval'));
o.datatype = 'uinteger';
o.placeholder = '24';
o.retain = true;
o.depends('geox_auto_update', '1');
s.tab('mixin_file_content', _('Mixin File Content'));
o = s.taboption('mixin_file_content', form.Flag, 'mixin_file_content', '*' + ' ' + _('Enable'), _('Please go to the editor tab to edit the file for mixin'));
o.rmempty = false;
return m.render();
}
});

View File

@ -0,0 +1,86 @@
'use strict';
'require form';
'require view';
'require uci';
'require tools.mihomo as mihomo';
return view.extend({
load: function () {
return Promise.all([
uci.load('mihomo')
]);
},
render: function (data) {
let m, s, o, so;
m = new form.Map('mihomo');
s = m.section(form.NamedSection, 'config', 'config', _('Profile'));
o = s.option(form.FileUpload, '_upload_profile', _('Upload Profile'));
o.browser = true;
o.enable_download = true;
o.root_directory = mihomo.profilesDir;
o.write = function (section_id, formvalue) {
return true;
};
s = m.section(form.GridSection, 'subscription', _('Subscription'));
s.addremove = true;
s.anonymous = true;
s.sortable = true;
s.modaltitle = _('Edit Subscription');
o = s.option(form.Value, 'name', _('Subscription Name'));
o.rmempty = false;
o = s.option(form.Value, 'used', _('Used'));
o.modalonly = false;
o.optional = true;
o.readonly = true;
o = s.option(form.Value, 'total', _('Total'));
o.modalonly = false;
o.optional = true;
o.readonly = true;
o = s.option(form.Value, 'expire', _('Expire At'));
o.modalonly = false;
o.optional = true;
o.readonly = true;
o = s.option(form.Value, 'update', _('Update At'));
o.modalonly = false;
o.optional = true;
o.readonly = true;
o = s.option(form.Button, 'update_subscription');
o.editable = true;
o.inputstyle = 'positive';
o.inputtitle = _('Update');
o.modalonly = false;
o.onclick = function (_, section_id) {
return mihomo.updateSubscription(section_id);
};
o = s.option(form.Value, 'url', _('Subscription Url'));
o.modalonly = true;
o.rmempty = false;
o = s.option(form.Value, 'user_agent', _('User Agent'));
o.default = 'clash';
o.modalonly = true;
o.rmempty = false;
o.value('mihomo');
o.value('clash.meta');
o.value('clash');
o = s.option(form.ListValue, 'prefer', _('Prefer'));
o.default = 'remote';
o.modalonly = true;
o.value('remote', _('Remote'));
o.value('local', _('Local'));
return m.render();
}
});

View File

@ -0,0 +1,145 @@
'use strict';
'require form';
'require view';
'require uci';
'require network';
'require tools.widgets as widgets';
'require tools.mihomo as mihomo';
return view.extend({
load: function () {
return Promise.all([
uci.load('mihomo'),
network.getHostHints(),
mihomo.getUsers(),
mihomo.getGroups()
]);
},
render: function (data) {
const hosts = data[1].hosts;
const users = data[2];
const groups = data[3];
let m, s, o;
m = new form.Map('mihomo');
s = m.section(form.NamedSection, 'proxy', 'proxy', _('Proxy Config'));
s.tab('transparent_proxy', _('Transparent Proxy'));
o = s.taboption('transparent_proxy', form.Flag, 'transparent_proxy', _('Enable'));
o.rmempty = false;
o = s.taboption('transparent_proxy', form.ListValue, 'tcp_transparent_proxy_mode', _('TCP Proxy Mode'));
o.value('redirect', _('Redirect Mode'));
o.value('tproxy', _('TPROXY Mode'));
o.value('tun', _('TUN Mode'));
o = s.taboption('transparent_proxy', form.ListValue, 'udp_transparent_proxy_mode', _('UDP Proxy Mode'));
o.value('tproxy', _('TPROXY Mode'));
o.value('tun', _('TUN Mode'));
o = s.taboption('transparent_proxy', form.Flag, 'ipv4_dns_hijack', _('IPv4 DNS Hijack'));
o.rmempty = false;
o = s.taboption('transparent_proxy', form.Flag, 'ipv6_dns_hijack', _('IPv6 DNS Hijack'));
o.rmempty = false;
o = s.taboption('transparent_proxy', form.Flag, 'ipv4_proxy', _('IPv4 Proxy'));
o.rmempty = false;
o = s.taboption('transparent_proxy', form.Flag, 'ipv6_proxy', _('IPv6 Proxy'));
o.rmempty = false;
o = s.taboption('transparent_proxy', form.Flag, 'router_proxy', _('Router Proxy'));
o.rmempty = false;
o = s.taboption('transparent_proxy', form.Flag, 'lan_proxy', _('Lan Proxy'));
o.rmempty = false;
s.tab('access_control', _('Access Control'));
o = s.taboption('access_control', form.ListValue, 'access_control_mode', _('Mode'));
o.value('all', _('All Mode'));
o.value('allow', _('Allow Mode'));
o.value('block', _('Block Mode'));
o = s.taboption('access_control', form.DynamicList, 'acl_ip', 'IP');
o.datatype = 'ipmask4';
o.retain = true;
o.depends('access_control_mode', 'allow');
o.depends('access_control_mode', 'block');
for (const mac in hosts) {
const host = hosts[mac];
for (const ip of host.ipaddrs) {
const hint = host.name || mac;
o.value(ip, hint ? '%s (%s)'.format(ip, hint) : ip);
};
};
o = s.taboption('access_control', form.DynamicList, 'acl_ip6', 'IP6');
o.datatype = 'ipmask6';
o.retain = true;
o.depends('access_control_mode', 'allow');
o.depends('access_control_mode', 'block');
for (const mac in hosts) {
const host = hosts[mac];
for (const ip of host.ip6addrs) {
const hint = host.name || mac;
o.value(ip, hint ? '%s (%s)'.format(ip, hint) : ip);
};
};
o = s.taboption('access_control', form.DynamicList, 'acl_mac', 'MAC');
o.datatype = 'macaddr';
o.retain = true;
o.depends('access_control_mode', 'allow');
o.depends('access_control_mode', 'block');
for (const mac in hosts) {
const host = hosts[mac];
const hint = host.name || host.ipaddrs[0];
o.value(mac, hint ? '%s (%s)'.format(mac, hint) : mac);
};
o = s.taboption('access_control', widgets.NetworkSelect, 'acl_interface', _('Interface'));
o.multiple = true;
o.optional = true;
o.retain = true;
o.depends('access_control_mode', 'allow');
o.depends('access_control_mode', 'block');
s.tab('bypass', _('Bypass'));
o = s.taboption('bypass', form.MultiValue, 'bypass_user', _('Bypass User'));
o.create = true;
for (const user of users) {
o.value(user);
};
o = s.taboption('bypass', form.MultiValue, 'bypass_group', _('Bypass Group'));
o.create = true;
for (const group of groups) {
o.value(group);
};
o = s.taboption('bypass', form.Flag, 'bypass_china_mainland_ip', _('Bypass China Mainland IP'));
o.rmempty = false;
o = s.taboption('bypass', form.Value, 'proxy_tcp_dport', _('Destination TCP Port to Proxy'));
o.rmempty = false;
o.value('0-65535', _('All Port'));
o.value('21 22 80 110 143 194 443 465 853 993 995 8080 8443', _('Commonly Used Port'));
o = s.taboption('bypass', form.Value, 'proxy_udp_dport', _('Destination UDP Port to Proxy'));
o.rmempty = false;
o.value('0-65535', _('All Port'));
o.value('123 443 8443', _('Commonly Used Port'));
return m.render();
}
});

View File

@ -1,232 +1,230 @@
msgid "" msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8" msgstr "Content-Type: text/plain; charset=UTF-8"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:386 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:72
msgid "API Port" msgid "API Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:390 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:76
msgid "API Secret" msgid "API Secret"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:200 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:61
msgid "Access Control" msgid "Access Control"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:203 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:64
msgid "All Mode" msgid "All Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:275 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:136
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:280 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:141
msgid "All Port" msgid "All Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:399 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:85
msgid "Allow Lan" msgid "Allow Lan"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:204 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:181
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:495 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:65
msgid "Allow Mode" msgid "Allow Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:106 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:94
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:13
msgid "App Config" msgid "App Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:27 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:38
msgid "App Log" msgid "App Log"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:53 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:43
msgid "App Version" msgid "App Version"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:356 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:43
msgid "Auto" msgid "Auto"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:104 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:180
msgid "Basic Config" #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:66
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:205
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:494
msgid "Block Mode" msgid "Block Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:254 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:115
msgid "Bypass" msgid "Bypass"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:270 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:131
msgid "Bypass China Mainland IP" msgid "Bypass China Mainland IP"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:263 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:124
msgid "Bypass Group" msgid "Bypass Group"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:256 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:117
msgid "Bypass User" msgid "Bypass User"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:111
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:25 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:25
msgid "Choose File"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:99
msgid "Choose Profile" msgid "Choose Profile"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:31 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:42
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:64 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:75
msgid "Clear Log" msgid "Clear Log"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:276 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:137
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:281 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:142
msgid "Commonly Used Port" msgid "Commonly Used Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:14 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:128
msgid "Config"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:148
msgid "Core Environment Variable Config" msgid "Core Environment Variable Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:60 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:71
msgid "Core Log" msgid "Core Log"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:67 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:57
msgid "Core Status" msgid "Core Status"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:60 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:50
msgid "Core Version" msgid "Core Version"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:137 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:117
msgid "Cron Expression" msgid "Cron Expression"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:466 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:152
msgid "DNS Config" msgid "DNS Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:472 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:158
msgid "DNS Mode" msgid "DNS Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:468 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:154
msgid "DNS Port" msgid "DNS Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:273 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:134
msgid "Destination TCP Port to Proxy" msgid "Destination TCP Port to Proxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:278 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:139
msgid "Destination UDP Port to Proxy" msgid "Destination UDP Port to Proxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:353 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:40
msgid "Direct Mode" msgid "Direct Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:358 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:45
msgid "Disable" msgid "Disable"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:162 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:142
msgid "Disable ECN of quic-go" msgid "Disable ECN of quic-go"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:158 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:138
msgid "Disable GSO of quic-go" msgid "Disable GSO of quic-go"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:154 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:134
msgid "Disable Loopback Detector" msgid "Disable Loopback Detector"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:150 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:130
msgid "Disable Safe Path Check" msgid "Disable Safe Path Check"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:506 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:192
msgid "DoH Prefer HTTP/3" msgid "DoH Prefer HTTP/3"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:532 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:218
msgid "Domain Name" msgid "Domain Name"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:425 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:111
msgid "Edit Authentications" msgid "Edit Authentications"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:488 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:174
msgid "Edit Fake-IP Filters" msgid "Edit Fake-IP Filters"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:521 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:207
msgid "Edit Hosts" msgid "Edit Hosts"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:563 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:249
msgid "Edit Nameserver Policies" msgid "Edit Nameserver Policies"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:540 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:226
msgid "Edit Nameservers" msgid "Edit Nameservers"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:287 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:32
msgid "Edit Subscription" msgid "Edit Subscription"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:22 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:23
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:45
msgid "Editor" msgid "Editor"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:108 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:96
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:170 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:23
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:357 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:44
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:433 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:119
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:529 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:215
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:548 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:234
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:571 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:257
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:612 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:298
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:31
msgid "Enable" msgid "Enable"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:463 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:149
msgid "Endpoint Independent NAT" msgid "Endpoint Independent NAT"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:302 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:47
msgid "Expire At" msgid "Expire At"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:374 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:61
msgid "External Control Config" msgid "External Control Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:498 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:184
msgid "Fake-IP Cache" msgid "Fake-IP Cache"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:492 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:178
msgid "Fake-IP Filter Mode" msgid "Fake-IP Filter Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:477 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:163
msgid "Fake-IP Range" msgid "Fake-IP Range"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:145 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:125
msgid "Fast Reload" msgid "Fast Reload"
msgstr "" msgstr ""
@ -242,60 +240,60 @@ msgstr ""
msgid "File for Reserved IP6" msgid "File for Reserved IP6"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:115 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:103
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:29 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:29
msgid "File:" msgid "File:"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:454 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:140
msgid "GSO" msgid "GSO"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:457 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:143
msgid "GSO Max Size" msgid "GSO Max Size"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:341 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:28
msgid "General Config" msgid "General Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:585 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:271
msgid "GeoData Loader" msgid "GeoData Loader"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:581 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:267
msgid "GeoIP Format" msgid "GeoIP Format"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:598 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:284
msgid "GeoIP(ASN) Url" msgid "GeoIP(ASN) Url"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:595 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:281
msgid "GeoIP(DAT) Url" msgid "GeoIP(DAT) Url"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:592 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:278
msgid "GeoIP(MMDB) Url" msgid "GeoIP(MMDB) Url"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:589 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:275
msgid "GeoSite Url" msgid "GeoSite Url"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:601 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:287
msgid "GeoX Auto Update" msgid "GeoX Auto Update"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:579 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:265
msgid "GeoX Config" msgid "GeoX Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:604 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:290
msgid "GeoX Update Interval" msgid "GeoX Update Interval"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:351 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:38
msgid "Global Mode" msgid "Global Mode"
msgstr "" msgstr ""
@ -303,212 +301,222 @@ msgstr ""
msgid "Grant access to mihomo procedures" msgid "Grant access to mihomo procedures"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:402 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:88
msgid "HTTP Port" msgid "HTTP Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:49 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:39
msgid "How To Use" msgid "How To Use"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:535 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:221
msgid "IP" msgid "IP"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:182 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:43
msgid "IPv4 DNS Hijack" msgid "IPv4 DNS Hijack"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:188 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:49
msgid "IPv4 Proxy" msgid "IPv4 Proxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:363 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:50
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:509 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:195
msgid "IPv6" msgid "IPv6"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:185 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:46
msgid "IPv6 DNS Hijack" msgid "IPv6 DNS Hijack"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:191 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:52
msgid "IPv6 Proxy" msgid "IPv6 Proxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:397 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:83
msgid "Inbound Config" msgid "Inbound Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:247 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:108
msgid "Interface" msgid "Interface"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:197 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:58
msgid "Lan Proxy" msgid "Lan Proxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:337 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:82
msgid "Local" msgid "Local"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:30 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:36
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:53
msgid "Log" msgid "Log"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:343 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:30
msgid "Log Level" msgid "Log Level"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:450 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:136
msgid "MTU" msgid "MTU"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:355 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:42
msgid "Match Process" msgid "Match Process"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:574 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:260
msgid "Matcher" msgid "Matcher"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:587 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:273
msgid "Memory Conservative Loader" msgid "Memory Conservative Loader"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:49 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:39
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:3 #: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:3
msgid "MihomoTProxy" msgid "MihomoTProxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:410 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:96
msgid "Mixed Port" msgid "Mixed Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:125 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:21
msgid "Mixin" #: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:29
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:339
msgid "Mixin Config" msgid "Mixin Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:610 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:296
msgid "Mixin File Content" msgid "Mixin File Content"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:202 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:26
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:350 msgid "Mixin Option"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:37
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:63
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:558 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:244
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:577 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:263
msgid "Nameserver" msgid "Nameserver"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:19 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:15
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:15
msgid "Not Running" msgid "Not Running"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:99 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:89
msgid "Open Dashboard" msgid "Open Dashboard"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:360 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:47
msgid "Outbound Interface" msgid "Outbound Interface"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:422 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:108
msgid "Overwrite Authentication" msgid "Overwrite Authentication"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:483 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:169
msgid "Overwrite Fake-IP Filter" msgid "Overwrite Fake-IP Filter"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:518 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:204
msgid "Overwrite Hosts" msgid "Overwrite Hosts"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:537 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:223
msgid "Overwrite Nameserver" msgid "Overwrite Nameserver"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:560 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:246
msgid "Overwrite Nameserver Policy" msgid "Overwrite Nameserver Policy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:439 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:125
msgid "Password" msgid "Password"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:612 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:298
msgid "Please go to the editor tab to edit the file for mixin" msgid "Please go to the editor tab to edit the file for mixin"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:333 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:78
msgid "Prefer" msgid "Prefer"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:18
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:21
msgid "Profile"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:37 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:37
msgid "Profile for Startup" msgid "Profile for Startup"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:166 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:27
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:37
msgid "Proxy Config" msgid "Proxy Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:174 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:35
msgid "Redirect Mode" msgid "Redirect Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:414 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:100
msgid "Redirect Port" msgid "Redirect Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:79 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:69
msgid "Reload Service" msgid "Reload Service"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:336 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:81
msgid "Remote" msgid "Remote"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:503 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:189
msgid "Respect Rules" msgid "Respect Rules"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:86 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:76
msgid "Restart Service" msgid "Restart Service"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:194 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:55
msgid "Router Proxy" msgid "Router Proxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:352 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:39
msgid "Rule Mode" msgid "Rule Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:19 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:15
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:15
msgid "Running" msgid "Running"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:406 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:92
msgid "SOCKS Port" msgid "SOCKS Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:394 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:80
msgid "Save Proxy Selection" msgid "Save Proxy Selection"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:134 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:114
msgid "Scheduled Restart" msgid "Scheduled Restart"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:54 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:65
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:87 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:98
msgid "Scroll To Bottom" msgid "Scroll To Bottom"
msgstr "" msgstr ""
@ -517,102 +525,98 @@ msgstr ""
msgid "Service is not running." msgid "Service is not running."
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:445 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:131
msgid "Stack" msgid "Stack"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:586 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:272
msgid "Standard Loader" msgid "Standard Loader"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:130 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:110
msgid "Start Delay" msgid "Start Delay"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:128 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:41
msgid "Startup Config"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:51
msgid "Status" msgid "Status"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:283 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:28
msgid "Subscription Config" msgid "Subscription"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:289 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:34
msgid "Subscription Name" msgid "Subscription Name"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:321 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:66
msgid "Subscription Url" msgid "Subscription Url"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:119 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:107
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:33 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:33
msgid "Subscription:" msgid "Subscription:"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:366 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:53
msgid "TCP Keep Alive Idle" msgid "TCP Keep Alive Idle"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:370 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:57
msgid "TCP Keep Alive Interval" msgid "TCP Keep Alive Interval"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:173 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:34
msgid "TCP Proxy Mode" msgid "TCP Proxy Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:175 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:36
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:179 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:40
msgid "TPROXY Mode" msgid "TPROXY Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:418 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:104
msgid "TPROXY Port" msgid "TPROXY Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:443 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:129
msgid "TUN Config" msgid "TUN Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:176 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:37
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:180 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:41
msgid "TUN Mode" msgid "TUN Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:142 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:122
msgid "Test Profile" msgid "Test Profile"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:297 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:42
msgid "Total" msgid "Total"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:168 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:29
msgid "Transparent Proxy" msgid "Transparent Proxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:49 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:39
msgid "Transparent Proxy with Mihomo on OpenWrt." msgid "Transparent Proxy with Mihomo on OpenWrt."
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:551 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:237
msgid "Type" msgid "Type"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:178 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:39
msgid "UDP Proxy Mode" msgid "UDP Proxy Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:376 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:63
msgid "UI Name" msgid "UI Name"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:379 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:65
msgid "UI Url" msgid "UI Url"
msgstr "" msgstr ""
@ -621,38 +625,38 @@ msgstr ""
msgid "Unknown" msgid "Unknown"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:315 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:60
msgid "Update" msgid "Update"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:307 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:52
msgid "Update At" msgid "Update At"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:93 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:83
msgid "Update Dashboard" msgid "Update Dashboard"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:122 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:20
msgid "Upload Profile" msgid "Upload Profile"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:515 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:201
msgid "Use Hosts" msgid "Use Hosts"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:512 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:198
msgid "Use System Hosts" msgid "Use System Hosts"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:292 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:37
msgid "Used" msgid "Used"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:325 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:70
msgid "User Agent" msgid "User Agent"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:436 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:122
msgid "Username" msgid "Username"
msgstr "" msgstr ""

View File

@ -8,232 +8,230 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:386 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:72
msgid "API Port" msgid "API Port"
msgstr "API 端口" msgstr "API 端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:390 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:76
msgid "API Secret" msgid "API Secret"
msgstr "API 密钥" msgstr "API 密钥"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:200 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:61
msgid "Access Control" msgid "Access Control"
msgstr "访问控制" msgstr "访问控制"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:203 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:64
msgid "All Mode" msgid "All Mode"
msgstr "全部模式" msgstr "全部模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:275 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:136
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:280 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:141
msgid "All Port" msgid "All Port"
msgstr "全部端口" msgstr "全部端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:399 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:85
msgid "Allow Lan" msgid "Allow Lan"
msgstr "允许局域网访问" msgstr "允许局域网访问"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:204 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:181
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:495 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:65
msgid "Allow Mode" msgid "Allow Mode"
msgstr "白名单模式" msgstr "白名单模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:106 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:94
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:13
msgid "App Config" msgid "App Config"
msgstr "插件配置" msgstr "插件配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:27 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:38
msgid "App Log" msgid "App Log"
msgstr "插件日志" msgstr "插件日志"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:53 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:43
msgid "App Version" msgid "App Version"
msgstr "插件版本" msgstr "插件版本"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:356 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:43
msgid "Auto" msgid "Auto"
msgstr "自动" msgstr "自动"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:104 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:180
msgid "Basic Config" #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:66
msgstr "基础配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:205
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:494
msgid "Block Mode" msgid "Block Mode"
msgstr "黑名单模式" msgstr "黑名单模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:254 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:115
msgid "Bypass" msgid "Bypass"
msgstr "绕过" msgstr "绕过"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:270 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:131
msgid "Bypass China Mainland IP" msgid "Bypass China Mainland IP"
msgstr "绕过中国大陆 IP" msgstr "绕过中国大陆 IP"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:263 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:124
msgid "Bypass Group" msgid "Bypass Group"
msgstr "绕过用户组" msgstr "绕过用户组"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:256 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:117
msgid "Bypass User" msgid "Bypass User"
msgstr "绕过用户" msgstr "绕过用户"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:111
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:25 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:25
msgid "Choose File"
msgstr "选择文件"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:99
msgid "Choose Profile" msgid "Choose Profile"
msgstr "选择配置文件" msgstr "选择配置文件"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:31 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:42
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:64 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:75
msgid "Clear Log" msgid "Clear Log"
msgstr "清空日志" msgstr "清空日志"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:276 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:137
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:281 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:142
msgid "Commonly Used Port" msgid "Commonly Used Port"
msgstr "常用端口" msgstr "常用端口"
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:14 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:128
msgid "Config"
msgstr "配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:148
msgid "Core Environment Variable Config" msgid "Core Environment Variable Config"
msgstr "核心环境变量配置" msgstr "核心环境变量配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:60 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:71
msgid "Core Log" msgid "Core Log"
msgstr "核心日志" msgstr "核心日志"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:67 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:57
msgid "Core Status" msgid "Core Status"
msgstr "核心状态" msgstr "核心状态"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:60 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:50
msgid "Core Version" msgid "Core Version"
msgstr "核心版本" msgstr "核心版本"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:137 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:117
msgid "Cron Expression" msgid "Cron Expression"
msgstr "Cron 表达式" msgstr "Cron 表达式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:466 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:152
msgid "DNS Config" msgid "DNS Config"
msgstr "DNS 配置" msgstr "DNS 配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:472 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:158
msgid "DNS Mode" msgid "DNS Mode"
msgstr "DNS 模式" msgstr "DNS 模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:468 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:154
msgid "DNS Port" msgid "DNS Port"
msgstr "DNS 端口" msgstr "DNS 端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:273 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:134
msgid "Destination TCP Port to Proxy" msgid "Destination TCP Port to Proxy"
msgstr "要代理的 TCP 目标端口" msgstr "要代理的 TCP 目标端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:278 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:139
msgid "Destination UDP Port to Proxy" msgid "Destination UDP Port to Proxy"
msgstr "要代理的 UDP 目标端口" msgstr "要代理的 UDP 目标端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:353 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:40
msgid "Direct Mode" msgid "Direct Mode"
msgstr "直连模式" msgstr "直连模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:358 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:45
msgid "Disable" msgid "Disable"
msgstr "禁用" msgstr "禁用"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:162 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:142
msgid "Disable ECN of quic-go" msgid "Disable ECN of quic-go"
msgstr "禁用 quic-go 的显式拥塞通" msgstr "禁用 quic-go 的显式拥塞通"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:158 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:138
msgid "Disable GSO of quic-go" msgid "Disable GSO of quic-go"
msgstr "禁用 quic-go 的通用分段卸载" msgstr "禁用 quic-go 的通用分段卸载"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:154 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:134
msgid "Disable Loopback Detector" msgid "Disable Loopback Detector"
msgstr "禁用回环检测" msgstr "禁用回环检测"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:150 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:130
msgid "Disable Safe Path Check" msgid "Disable Safe Path Check"
msgstr "禁用安全路径检查" msgstr "禁用安全路径检查"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:506 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:192
msgid "DoH Prefer HTTP/3" msgid "DoH Prefer HTTP/3"
msgstr "DoH 优先 HTTP/3" msgstr "DoH 优先 HTTP/3"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:532 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:218
msgid "Domain Name" msgid "Domain Name"
msgstr "域名" msgstr "域名"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:425 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:111
msgid "Edit Authentications" msgid "Edit Authentications"
msgstr "编辑身份验证" msgstr "编辑身份验证"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:488 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:174
msgid "Edit Fake-IP Filters" msgid "Edit Fake-IP Filters"
msgstr "编辑 Fake-IP 过滤列表" msgstr "编辑 Fake-IP 过滤列表"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:521 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:207
msgid "Edit Hosts" msgid "Edit Hosts"
msgstr "编辑 Hosts" msgstr "编辑 Hosts"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:563 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:249
msgid "Edit Nameserver Policies" msgid "Edit Nameserver Policies"
msgstr "编辑 DNS 服务器查询策略" msgstr "编辑 DNS 服务器查询策略"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:540 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:226
msgid "Edit Nameservers" msgid "Edit Nameservers"
msgstr "编辑 DNS 服务器" msgstr "编辑 DNS 服务器"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:287 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:32
msgid "Edit Subscription" msgid "Edit Subscription"
msgstr "编辑订阅" msgstr "编辑订阅"
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:22 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:23
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:45
msgid "Editor" msgid "Editor"
msgstr "编辑器" msgstr "编辑器"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:108 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:96
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:170 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:23
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:357 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:44
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:433 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:119
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:529 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:215
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:548 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:234
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:571 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:257
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:612 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:298
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:31
msgid "Enable" msgid "Enable"
msgstr "启用" msgstr "启用"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:463 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:149
msgid "Endpoint Independent NAT" msgid "Endpoint Independent NAT"
msgstr "独立于端点的 NAT" msgstr "独立于端点的 NAT"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:302 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:47
msgid "Expire At" msgid "Expire At"
msgstr "到期时间" msgstr "到期时间"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:374 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:61
msgid "External Control Config" msgid "External Control Config"
msgstr "外部控制配置" msgstr "外部控制配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:498 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:184
msgid "Fake-IP Cache" msgid "Fake-IP Cache"
msgstr "Fake-IP 缓存" msgstr "Fake-IP 缓存"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:492 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:178
msgid "Fake-IP Filter Mode" msgid "Fake-IP Filter Mode"
msgstr "Fake-IP 过滤模式" msgstr "Fake-IP 过滤模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:477 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:163
msgid "Fake-IP Range" msgid "Fake-IP Range"
msgstr "Fake-IP 范围" msgstr "Fake-IP 范围"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:145 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:125
msgid "Fast Reload" msgid "Fast Reload"
msgstr "快速重载" msgstr "快速重载"
@ -249,60 +247,60 @@ msgstr "IPv4 保留地址"
msgid "File for Reserved IP6" msgid "File for Reserved IP6"
msgstr "IPv6 保留地址" msgstr "IPv6 保留地址"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:115 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:103
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:29 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:29
msgid "File:" msgid "File:"
msgstr "文件:" msgstr "文件:"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:454 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:140
msgid "GSO" msgid "GSO"
msgstr "通用分段卸载" msgstr "通用分段卸载"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:457 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:143
msgid "GSO Max Size" msgid "GSO Max Size"
msgstr "分段最大长度" msgstr "分段最大长度"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:341 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:28
msgid "General Config" msgid "General Config"
msgstr "全局配置" msgstr "全局配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:585 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:271
msgid "GeoData Loader" msgid "GeoData Loader"
msgstr "GeoData 加载器" msgstr "GeoData 加载器"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:581 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:267
msgid "GeoIP Format" msgid "GeoIP Format"
msgstr "GeoIP 格式" msgstr "GeoIP 格式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:598 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:284
msgid "GeoIP(ASN) Url" msgid "GeoIP(ASN) Url"
msgstr "GeoIP(ASN) 下载地址" msgstr "GeoIP(ASN) 下载地址"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:595 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:281
msgid "GeoIP(DAT) Url" msgid "GeoIP(DAT) Url"
msgstr "GeoIP(DAT) 下载地址" msgstr "GeoIP(DAT) 下载地址"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:592 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:278
msgid "GeoIP(MMDB) Url" msgid "GeoIP(MMDB) Url"
msgstr "GeoIP(MMDB) 下载地址" msgstr "GeoIP(MMDB) 下载地址"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:589 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:275
msgid "GeoSite Url" msgid "GeoSite Url"
msgstr "GeoSite 下载地址" msgstr "GeoSite 下载地址"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:601 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:287
msgid "GeoX Auto Update" msgid "GeoX Auto Update"
msgstr "定时更新GeoX文件" msgstr "定时更新GeoX文件"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:579 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:265
msgid "GeoX Config" msgid "GeoX Config"
msgstr "GeoX 配置" msgstr "GeoX 配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:604 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:290
msgid "GeoX Update Interval" msgid "GeoX Update Interval"
msgstr "GeoX 文件更新间隔" msgstr "GeoX 文件更新间隔"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:351 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:38
msgid "Global Mode" msgid "Global Mode"
msgstr "全局模式" msgstr "全局模式"
@ -310,212 +308,222 @@ msgstr "全局模式"
msgid "Grant access to mihomo procedures" msgid "Grant access to mihomo procedures"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:402 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:88
msgid "HTTP Port" msgid "HTTP Port"
msgstr "HTTP 端口" msgstr "HTTP 端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:49 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:39
msgid "How To Use" msgid "How To Use"
msgstr "使用说明" msgstr "使用说明"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:535 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:221
msgid "IP" msgid "IP"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:182 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:43
msgid "IPv4 DNS Hijack" msgid "IPv4 DNS Hijack"
msgstr "IPv4 DNS 劫持" msgstr "IPv4 DNS 劫持"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:188 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:49
msgid "IPv4 Proxy" msgid "IPv4 Proxy"
msgstr "IPv4 代理" msgstr "IPv4 代理"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:363 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:50
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:509 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:195
msgid "IPv6" msgid "IPv6"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:185 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:46
msgid "IPv6 DNS Hijack" msgid "IPv6 DNS Hijack"
msgstr "IPv6 DNS 劫持" msgstr "IPv6 DNS 劫持"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:191 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:52
msgid "IPv6 Proxy" msgid "IPv6 Proxy"
msgstr "IPv6 代理" msgstr "IPv6 代理"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:397 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:83
msgid "Inbound Config" msgid "Inbound Config"
msgstr "入站配置" msgstr "入站配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:247 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:108
msgid "Interface" msgid "Interface"
msgstr "接口" msgstr "接口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:197 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:58
msgid "Lan Proxy" msgid "Lan Proxy"
msgstr "局域网代理" msgstr "局域网代理"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:337 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:82
msgid "Local" msgid "Local"
msgstr "本地" msgstr "本地"
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:30 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:36
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:53
msgid "Log" msgid "Log"
msgstr "日志" msgstr "日志"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:343 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:30
msgid "Log Level" msgid "Log Level"
msgstr "日志级别" msgstr "日志级别"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:450 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:136
msgid "MTU" msgid "MTU"
msgstr "最大传输单元" msgstr "最大传输单元"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:355 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:42
msgid "Match Process" msgid "Match Process"
msgstr "匹配进程" msgstr "匹配进程"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:574 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:260
msgid "Matcher" msgid "Matcher"
msgstr "匹配" msgstr "匹配"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:587 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:273
msgid "Memory Conservative Loader" msgid "Memory Conservative Loader"
msgstr "为内存受限设备优化的加载器" msgstr "为内存受限设备优化的加载器"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:49 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:39
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:3 #: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:3
msgid "MihomoTProxy" msgid "MihomoTProxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:410 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:96
msgid "Mixed Port" msgid "Mixed Port"
msgstr "混合端口" msgstr "混合端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:125 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:21
msgid "Mixin" #: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:29
msgstr "混入"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:339
msgid "Mixin Config" msgid "Mixin Config"
msgstr "混入配置" msgstr "混入配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:610 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:296
msgid "Mixin File Content" msgid "Mixin File Content"
msgstr "混入文件内容" msgstr "混入文件内容"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:202 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:26
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:350 msgid "Mixin Option"
msgstr "混入选项"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:37
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:63
msgid "Mode" msgid "Mode"
msgstr "模式" msgstr "模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:558 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:244
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:577 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:263
msgid "Nameserver" msgid "Nameserver"
msgstr "DNS 服务器" msgstr "DNS 服务器"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:19 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:15
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:15
msgid "Not Running" msgid "Not Running"
msgstr "未在运行" msgstr "未在运行"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:99 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:89
msgid "Open Dashboard" msgid "Open Dashboard"
msgstr "打开面板" msgstr "打开面板"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:360 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:47
msgid "Outbound Interface" msgid "Outbound Interface"
msgstr "出站接口" msgstr "出站接口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:422 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:108
msgid "Overwrite Authentication" msgid "Overwrite Authentication"
msgstr "覆盖身份验证" msgstr "覆盖身份验证"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:483 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:169
msgid "Overwrite Fake-IP Filter" msgid "Overwrite Fake-IP Filter"
msgstr "覆盖 Fake-IP 过滤列表" msgstr "覆盖 Fake-IP 过滤列表"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:518 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:204
msgid "Overwrite Hosts" msgid "Overwrite Hosts"
msgstr "覆盖 Hosts" msgstr "覆盖 Hosts"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:537 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:223
msgid "Overwrite Nameserver" msgid "Overwrite Nameserver"
msgstr "覆盖 DNS 服务器" msgstr "覆盖 DNS 服务器"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:560 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:246
msgid "Overwrite Nameserver Policy" msgid "Overwrite Nameserver Policy"
msgstr "覆盖 DNS 服务器查询策略" msgstr "覆盖 DNS 服务器查询策略"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:439 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:125
msgid "Password" msgid "Password"
msgstr "密码" msgstr "密码"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:612 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:298
msgid "Please go to the editor tab to edit the file for mixin" msgid "Please go to the editor tab to edit the file for mixin"
msgstr "请前往编辑器标签编辑用于混入的文件" msgstr "请前往编辑器标签编辑用于混入的文件"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:333 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:78
msgid "Prefer" msgid "Prefer"
msgstr "优先" msgstr "优先"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:18
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:21
msgid "Profile"
msgstr "配置文件"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:37 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:37
msgid "Profile for Startup" msgid "Profile for Startup"
msgstr "用于启动的配置文件" msgstr "用于启动的配置文件"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:166 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:27
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:37
msgid "Proxy Config" msgid "Proxy Config"
msgstr "代理配置" msgstr "代理配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:174 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:35
msgid "Redirect Mode" msgid "Redirect Mode"
msgstr "Redirect 模式" msgstr "Redirect 模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:414 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:100
msgid "Redirect Port" msgid "Redirect Port"
msgstr "Redirect 端口" msgstr "Redirect 端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:79 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:69
msgid "Reload Service" msgid "Reload Service"
msgstr "重载服务" msgstr "重载服务"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:336 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:81
msgid "Remote" msgid "Remote"
msgstr "远程" msgstr "远程"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:503 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:189
msgid "Respect Rules" msgid "Respect Rules"
msgstr "遵循分流规则" msgstr "遵循分流规则"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:86 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:76
msgid "Restart Service" msgid "Restart Service"
msgstr "重启服务" msgstr "重启服务"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:194 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:55
msgid "Router Proxy" msgid "Router Proxy"
msgstr "路由器代理" msgstr "路由器代理"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:352 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:39
msgid "Rule Mode" msgid "Rule Mode"
msgstr "规则模式" msgstr "规则模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:19 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:15
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:15
msgid "Running" msgid "Running"
msgstr "运行中" msgstr "运行中"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:406 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:92
msgid "SOCKS Port" msgid "SOCKS Port"
msgstr "SOCKS 端口" msgstr "SOCKS 端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:394 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:80
msgid "Save Proxy Selection" msgid "Save Proxy Selection"
msgstr "保存节点/策略组选择" msgstr "保存节点/策略组选择"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:134 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:114
msgid "Scheduled Restart" msgid "Scheduled Restart"
msgstr "定时重启" msgstr "定时重启"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:54 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:65
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:87 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/log.js:98
msgid "Scroll To Bottom" msgid "Scroll To Bottom"
msgstr "滚动到底部" msgstr "滚动到底部"
@ -524,102 +532,98 @@ msgstr "滚动到底部"
msgid "Service is not running." msgid "Service is not running."
msgstr "服务未在运行。" msgstr "服务未在运行。"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:445 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:131
msgid "Stack" msgid "Stack"
msgstr "栈" msgstr "栈"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:586 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:272
msgid "Standard Loader" msgid "Standard Loader"
msgstr "标准加载器" msgstr "标准加载器"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:130 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:110
msgid "Start Delay" msgid "Start Delay"
msgstr "启动延迟" msgstr "启动延迟"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:128 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:41
msgid "Startup Config"
msgstr "启动配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:51
msgid "Status" msgid "Status"
msgstr "状态" msgstr "状态"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:283 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:28
msgid "Subscription Config" msgid "Subscription"
msgstr "订阅配置" msgstr "订阅"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:289 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:34
msgid "Subscription Name" msgid "Subscription Name"
msgstr "订阅名称" msgstr "订阅名称"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:321 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:66
msgid "Subscription Url" msgid "Subscription Url"
msgstr "订阅链接" msgstr "订阅链接"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:119 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:107
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:33 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/editor.js:33
msgid "Subscription:" msgid "Subscription:"
msgstr "订阅:" msgstr "订阅:"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:366 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:53
msgid "TCP Keep Alive Idle" msgid "TCP Keep Alive Idle"
msgstr "TCP Keep Alive 空闲" msgstr "TCP Keep Alive 空闲"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:370 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:57
msgid "TCP Keep Alive Interval" msgid "TCP Keep Alive Interval"
msgstr "TCP Keep Alive 间隔" msgstr "TCP Keep Alive 间隔"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:173 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:34
msgid "TCP Proxy Mode" msgid "TCP Proxy Mode"
msgstr "TCP 代理模式" msgstr "TCP 代理模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:175 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:36
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:179 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:40
msgid "TPROXY Mode" msgid "TPROXY Mode"
msgstr "TPROXY 模式" msgstr "TPROXY 模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:418 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:104
msgid "TPROXY Port" msgid "TPROXY Port"
msgstr "TPROXY 端口" msgstr "TPROXY 端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:443 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:129
msgid "TUN Config" msgid "TUN Config"
msgstr "TUN 配置" msgstr "TUN 配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:176 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:37
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:180 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:41
msgid "TUN Mode" msgid "TUN Mode"
msgstr "TUN 模式" msgstr "TUN 模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:142 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:122
msgid "Test Profile" msgid "Test Profile"
msgstr "检查配置文件" msgstr "检查配置文件"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:297 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:42
msgid "Total" msgid "Total"
msgstr "总量" msgstr "总量"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:168 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:29
msgid "Transparent Proxy" msgid "Transparent Proxy"
msgstr "透明代理" msgstr "透明代理"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:49 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:39
msgid "Transparent Proxy with Mihomo on OpenWrt." msgid "Transparent Proxy with Mihomo on OpenWrt."
msgstr "在 OpenWrt 上使用 Mihomo 进行透明代理。" msgstr "在 OpenWrt 上使用 Mihomo 进行透明代理。"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:551 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:237
msgid "Type" msgid "Type"
msgstr "类型" msgstr "类型"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:178 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:39
msgid "UDP Proxy Mode" msgid "UDP Proxy Mode"
msgstr "UDP 代理模式" msgstr "UDP 代理模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:376 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:63
msgid "UI Name" msgid "UI Name"
msgstr "UI 名称" msgstr "UI 名称"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:379 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:65
msgid "UI Url" msgid "UI Url"
msgstr "UI 下载地址" msgstr "UI 下载地址"
@ -628,38 +632,38 @@ msgstr "UI 下载地址"
msgid "Unknown" msgid "Unknown"
msgstr "未知" msgstr "未知"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:315 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:60
msgid "Update" msgid "Update"
msgstr "更新" msgstr "更新"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:307 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:52
msgid "Update At" msgid "Update At"
msgstr "更新时间" msgstr "更新时间"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:93 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:83
msgid "Update Dashboard" msgid "Update Dashboard"
msgstr "更新面板" msgstr "更新面板"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:122 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:20
msgid "Upload Profile" msgid "Upload Profile"
msgstr "上传配置文件" msgstr "上传配置文件"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:515 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:201
msgid "Use Hosts" msgid "Use Hosts"
msgstr "使用 Hosts" msgstr "使用 Hosts"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:512 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:198
msgid "Use System Hosts" msgid "Use System Hosts"
msgstr "使用系统的 Hosts" msgstr "使用系统的 Hosts"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:292 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:37
msgid "Used" msgid "Used"
msgstr "已使用" msgstr "已使用"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:325 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:70
msgid "User Agent" msgid "User Agent"
msgstr "用户代理UA" msgstr "用户代理UA"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/config.js:436 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:122
msgid "Username" msgid "Username"
msgstr "用户名" msgstr "用户名"

View File

@ -2,8 +2,7 @@
"admin/services/mihomo": { "admin/services/mihomo": {
"title": "MihomoTProxy", "title": "MihomoTProxy",
"action": { "action": {
"type": "alias", "type": "firstchild"
"path": "admin/services/mihomo/config"
}, },
"depends": { "depends": {
"acl": [ "luci-app-mihomo" ], "acl": [ "luci-app-mihomo" ],
@ -11,16 +10,40 @@
} }
}, },
"admin/services/mihomo/config": { "admin/services/mihomo/config": {
"title": "Config", "title": "App Config",
"order": 10, "order": 10,
"action": { "action": {
"type": "view", "type": "view",
"path": "mihomo/config" "path": "mihomo/app"
}
},
"admin/services/mihomo/profile": {
"title": "Profile",
"order": 20,
"action": {
"type": "view",
"path": "mihomo/profile"
}
},
"admin/services/mihomo/mixin": {
"title": "Mixin Config",
"order": 30,
"action": {
"type": "view",
"path": "mihomo/mixin"
}
},
"admin/services/mihomo/proxy": {
"title": "Proxy Config",
"order": 40,
"action": {
"type": "view",
"path": "mihomo/proxy"
} }
}, },
"admin/services/mihomo/editor": { "admin/services/mihomo/editor": {
"title": "Editor", "title": "Editor",
"order": 20, "order": 50,
"action": { "action": {
"type": "view", "type": "view",
"path": "mihomo/editor" "path": "mihomo/editor"
@ -28,7 +51,7 @@
}, },
"admin/services/mihomo/log": { "admin/services/mihomo/log": {
"title": "Log", "title": "Log",
"order": 30, "order": 60,
"action": { "action": {
"type": "view", "type": "view",
"path": "mihomo/log" "path": "mihomo/log"