luci-app-nikki: sync upstream

last commit: 1bb4fcdd4b
This commit is contained in:
gitea-action 2025-03-03 22:30:24 +08:00
parent 1da39105c3
commit c725691965
6 changed files with 496 additions and 413 deletions

View File

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

View File

@ -25,6 +25,12 @@ const callNikkiVersion = rpc.declare({
expect: { '': {} } expect: { '': {} }
}); });
const callNikkiProfile = rpc.declare({
object: 'luci.nikki',
method: 'profile',
expect: { '': {} }
});
const callNikkiUpdateSubscription = rpc.declare({ const callNikkiUpdateSubscription = rpc.declare({
object: 'luci.nikki', object: 'luci.nikki',
method: 'update_subscription', method: 'update_subscription',
@ -84,13 +90,18 @@ return baseclass.extend({
return callNikkiVersion(); return callNikkiVersion();
}, },
profile: function () {
return callNikkiProfile();
},
updateSubscription: function (section_id) { updateSubscription: function (section_id) {
return callNikkiUpdateSubscription(section_id); return callNikkiUpdateSubscription(section_id);
}, },
api: async function (method, path, query, body) { api: async function (method, path, query, body) {
const apiPort = uci.get('nikki', 'mixin', 'api_port'); const apiListen = uci.get('nikki', 'mixin', 'api_listen');
const apiSecret = uci.get('nikki', 'mixin', 'api_secret'); const apiSecret = uci.get('nikki', 'mixin', 'api_secret') ?? '';
const apiPort = apiListen.substring(apiListen.lastIndexOf(':') + 1);
const url = `http://${window.location.hostname}:${apiPort}${path}`; const url = `http://${window.location.hostname}:${apiPort}${path}`;
return request.request(url, { return request.request(url, {
method: method, method: method,
@ -100,10 +111,11 @@ return baseclass.extend({
}) })
}, },
openDashboard: function () { openDashboard: async function () {
const uiName = uci.get('nikki', 'mixin', 'ui_name'); const uiName = uci.get('nikki', 'mixin', 'ui_name');
const apiPort = uci.get('nikki', 'mixin', 'api_port'); const apiListen = uci.get('nikki', 'mixin', 'api_listen');
const apiSecret = encodeURIComponent(uci.get('nikki', 'mixin', 'api_secret')); const apiSecret = encodeURIComponent(uci.get('nikki', 'mixin', 'api_secret') ?? '');
const apiPort = apiListen.substring(apiListen.lastIndexOf(':') + 1);
const params = { const params = {
host: window.location.hostname, host: window.location.hostname,
hostname: window.location.hostname, hostname: window.location.hostname,

View File

@ -18,103 +18,104 @@ return view.extend({
m = new form.Map('nikki'); m = new form.Map('nikki');
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 = m.section(form.NamedSection, 'mixin', 'mixin', _('Mixin Option'));
s.tab('general', _('General Config')); s.tab('general', _('General Config'));
o = s.taboption('general', form.ListValue, 'log_level', '*' + ' ' + _('Log Level')); o = s.taboption('general', form.ListValue, 'log_level', _('Log Level'));
o.optional = true;
o.value('silent'); o.value('silent');
o.value('error'); o.value('error');
o.value('warning'); o.value('warning');
o.value('info'); o.value('info');
o.value('debug'); o.value('debug');
o = s.taboption('general', form.ListValue, 'mode', '*' + ' ' + _('Mode')); o = s.taboption('general', form.ListValue, 'mode', _('Mode'));
o.optional = true;
o.value('global', _('Global Mode')); o.value('global', _('Global Mode'));
o.value('rule', _('Rule Mode')); o.value('rule', _('Rule Mode'));
o.value('direct', _('Direct Mode')); o.value('direct', _('Direct Mode'));
o = s.taboption('general', form.ListValue, 'match_process', '*' + ' ' + _('Match Process')); o = s.taboption('general', form.ListValue, 'match_process', _('Match Process'));
o.value('strict', _('Auto')); o.optional = true;
o.value('always', _('Enable')); o.value('off');
o.value('off', _('Disable')); o.value('strict');
o.value('always');
o = s.taboption('general', widgets.NetworkSelect, 'outbound_interface', '*' + ' ' + _('Outbound Interface')); o = s.taboption('general', widgets.NetworkSelect, 'outbound_interface', _('Outbound Interface'));
o.optional = true; o.optional = true;
o = s.taboption('general', form.Flag, 'ipv6', '*' + ' ' + _('IPv6')); o = s.taboption('general', form.ListValue, 'ipv6', _('IPv6'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('general', form.Flag, 'unify_delay', _('Unify Delay')); o = s.taboption('general', form.ListValue, 'unify_delay', _('Unify Delay'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('general', form.Flag, 'tcp_concurrent', _('TCP Concurrent')); o = s.taboption('general', form.ListValue, 'tcp_concurrent', _('TCP Concurrent'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('general', form.Value, 'tcp_keep_alive_idle', _('TCP Keep Alive Idle')); o = s.taboption('general', form.Value, 'tcp_keep_alive_idle', _('TCP Keep Alive Idle'));
o.datatype = 'uinteger'; o.datatype = 'uinteger';
o.placeholder = '600';
o = s.taboption('general', form.Value, 'tcp_keep_alive_interval', _('TCP Keep Alive Interval')); o = s.taboption('general', form.Value, 'tcp_keep_alive_interval', _('TCP Keep Alive Interval'));
o.datatype = 'uinteger'; o.datatype = 'uinteger';
o.placeholder = '15';
s.tab('external_control', _('External Control Config')); s.tab('external_control', _('External Control Config'));
o = s.taboption('external_control', form.Value, 'ui_path', '*' + ' ' + _('UI Path')); o = s.taboption('external_control', form.Value, 'ui_path', '*' + ' ' + _('UI Path'));
o.rmempty = false; o.rmempty = false;
o = s.taboption('external_control', form.Value, 'ui_name', '*' + ' ' + _('UI Name')); o = s.taboption('external_control', form.Value, 'ui_name', _('UI Name'));
o = s.taboption('external_control', form.Value, 'ui_url', '*' + ' ' + _('UI Url')); 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/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/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/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.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 = s.taboption('external_control', form.Value, 'api_listen', '*' + ' ' + _('API Listen'));
o.datatype = 'port'; o.datatype = 'ipaddrport(1)';
o.placeholder = '9090'; o.rmempty = false;
o = s.taboption('external_control', form.Value, 'api_secret', '*' + ' ' + _('API Secret')); o = s.taboption('external_control', form.Value, 'api_secret', _('API Secret'));
o.password = true; o.password = true;
o.rmempty = false;
o = s.taboption('external_control', form.Flag, 'selection_cache', '*' + ' ' + _('Save Proxy Selection')); o = s.taboption('external_control', form.ListValue, 'selection_cache', _('Save Proxy Selection'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
s.tab('inbound', _('Inbound Config')); s.tab('inbound', _('Inbound Config'));
o = s.taboption('inbound', form.Flag, 'allow_lan', '*' + ' ' + _('Allow Lan')); o = s.taboption('inbound', form.ListValue, 'allow_lan', _('Allow Lan'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('inbound', form.Value, 'http_port', '*' + ' ' + _('HTTP Port')); o = s.taboption('inbound', form.Value, 'http_port', _('HTTP Port'));
o.datatype = 'port'; o.datatype = 'port';
o.placeholder = '8080';
o = s.taboption('inbound', form.Value, 'socks_port', '*' + ' ' + _('SOCKS Port')); o = s.taboption('inbound', form.Value, 'socks_port', _('SOCKS Port'));
o.datatype = 'port'; o.datatype = 'port';
o.placeholder = '1080';
o = s.taboption('inbound', form.Value, 'mixed_port', '*' + ' ' + _('Mixed Port')); o = s.taboption('inbound', form.Value, 'mixed_port', _('Mixed Port'));
o.datatype = 'port'; o.datatype = 'port';
o.placeholder = '7890';
o = s.taboption('inbound', form.Value, 'redir_port', '*' + ' ' + _('Redirect Port')); o = s.taboption('inbound', form.Value, 'redir_port', '*' + ' ' + _('Redirect Port'));
o.datatype = 'port'; o.datatype = 'port';
o.placeholder = '7891'; o.rmempty = false;
o = s.taboption('inbound', form.Value, 'tproxy_port', '*' + ' ' + _('TPROXY Port')); o = s.taboption('inbound', form.Value, 'tproxy_port', '*' + ' ' + _('TPROXY Port'));
o.datatype = 'port'; o.datatype = 'port';
o.placeholder = '7892'; o.rmempty = false;
o = s.taboption('inbound', form.Flag, 'authentication', '*' + ' ' + _('Overwrite Authentication')); o = s.taboption('inbound', form.Flag, 'authentication', _('Overwrite Authentication'));
o.rmempty = false; o.rmempty = false;
o = s.taboption('inbound', form.SectionValue, '_authentications', form.TableSection, 'authentication', _('Edit Authentications')); o = s.taboption('inbound', form.SectionValue, '_authentications', form.TableSection, 'authentication', _('Edit Authentications'));
@ -137,90 +138,97 @@ return view.extend({
s.tab('tun', _('TUN Config')); s.tab('tun', _('TUN Config'));
o = s.taboption('tun', form.Value, 'tun_device', '*' + ' ' + _('Device')); o = s.taboption('tun', form.Value, 'tun_device', '*' + ' ' + _('Device Name'));
o.rmempty = false; o.rmempty = false;
o = s.taboption('tun', form.ListValue, 'tun_stack', '*' + ' ' + _('Stack')); o = s.taboption('tun', form.ListValue, 'tun_stack', _('Stack'));
o.optional = true;
o.value('system', 'System'); o.value('system', 'System');
o.value('gvisor', 'gVisor'); o.value('gvisor', 'gVisor');
o.value('mixed', 'Mixed'); o.value('mixed', 'Mixed');
o = s.taboption('tun', form.Value, 'tun_mtu', '*' + ' ' + _('MTU')); o = s.taboption('tun', form.Value, 'tun_mtu', _('MTU'));
o.datatype = 'uinteger'; o.datatype = 'uinteger';
o.placeholder = '9000';
o = s.taboption('tun', form.Flag, 'tun_gso', '*' + ' ' + _('GSO')); o = s.taboption('tun', form.ListValue, 'tun_gso', _('GSO'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('tun', form.Value, 'tun_gso_max_size', '*' + ' ' + _('GSO Max Size')); o = s.taboption('tun', form.Value, 'tun_gso_max_size', _('GSO Max Size'));
o.datatype = 'uinteger'; o.datatype = 'uinteger';
o.placeholder = '65536';
o = s.taboption('tun', form.ListValue, 'tun_endpoint_independent_nat', _('Endpoint Independent NAT'));
o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('tun', form.Flag, 'tun_dns_hijack', _('Overwrite DNS Hijack'));
o.rmempty = false;
o = s.taboption('tun', form.DynamicList, 'tun_dns_hijacks', _('Edit DNS Hijacks'));
o.retain = true; o.retain = true;
o.depends('tun_gso', '1');
o = s.taboption('tun', form.Flag, 'tun_endpoint_independent_nat', '*' + ' ' + _('Endpoint Independent NAT'));
o.rmempty = false;
o = s.taboption('tun', form.Flag, 'tun_dns_hijack', '*' + ' ' + _('Overwrite DNS Hijack'));
o.rmempty = false;
o = s.taboption('tun', form.DynamicList, 'tun_dns_hijacks', '*' + ' ' + _('Edit DNS Hijacks'));
o.retain = true;
o.rmempty = false;
o.depends('tun_dns_hijack', '1'); o.depends('tun_dns_hijack', '1');
o.value('tcp://any:53'); o.value('tcp://any:53');
o.value('udp://any:53'); o.value('udp://any:53');
s.tab('dns', _('DNS Config')); s.tab('dns', _('DNS Config'));
o = s.taboption('dns', form.Value, 'dns_port', '*' + ' ' + _('DNS Port')); o = s.taboption('dns', form.Value, 'dns_listen', '*' + ' ' + _('DNS Listen'));
o.datatype = 'port'; o.datatype = 'ipaddrport(1)';
o.placeholder = '1053';
o = s.taboption('dns', form.Flag, 'dns_ipv6', '*' + ' ' + _('IPv6'));
o.rmempty = false; o.rmempty = false;
o = s.taboption('dns', form.ListValue, 'dns_ipv6', _('IPv6'));
o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('dns', form.ListValue, 'dns_mode', '*' + ' ' + _('DNS Mode')); o = s.taboption('dns', form.ListValue, 'dns_mode', '*' + ' ' + _('DNS Mode'));
o.value('fake-ip', 'Fake-IP');
o.value('redir-host', 'Redir-Host'); o.value('redir-host', 'Redir-Host');
o.value('fake-ip', 'Fake-IP');
o = s.taboption('dns', form.Value, 'fake_ip_range', '*' + ' ' + _('Fake-IP Range')); o = s.taboption('dns', form.Value, 'fake_ip_range', '*' + ' ' + _('Fake-IP Range'));
o.datatype = 'cidr4'; o.datatype = 'cidr4';
o.placeholder = '198.18.0.1/16';
o.retain = true; o.retain = true;
o.rmempty = false;
o.depends('dns_mode', 'fake-ip'); o.depends('dns_mode', 'fake-ip');
o = s.taboption('dns', form.Flag, 'fake_ip_filter', _('Overwrite Fake-IP Filter')); o = s.taboption('dns', form.Flag, 'fake_ip_filter', _('Overwrite Fake-IP Filter'));
o.retain = true;
o.rmempty = false; o.rmempty = false;
o.depends('dns_mode', 'fake-ip');
o = s.taboption('dns', form.DynamicList, 'fake_ip_filters', _('Edit Fake-IP Filters')); o = s.taboption('dns', form.DynamicList, 'fake_ip_filters', _('Edit Fake-IP Filters'));
o.retain = true; o.retain = true;
o.depends({ 'dns_mode': 'fake-ip', 'fake_ip_filter': '1' }); o.depends('fake_ip_filter', '1');
o = s.taboption('dns', form.ListValue, 'fake_ip_filter_mode', _('Fake-IP Filter Mode')); o = s.taboption('dns', form.ListValue, 'fake_ip_filter_mode', _('Fake-IP Filter Mode'));
o.retain = true; o.optional = true;
o.value('blacklist', _('Block Mode')); o.value('blacklist', _('Block Mode'));
o.value('whitelist', _('Allow 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 = s.taboption('dns', form.ListValue, 'fake_ip_cache', _('Fake-IP Cache'));
o.retain = true; o.optional = true;
o.rmempty = false; o.value('0', _('Disable'));
o.depends('dns_mode', 'fake-ip'); o.value('1', _('Enable'));
o = s.taboption('dns', form.Flag, 'dns_respect_rules', _('Respect Rules')); o = s.taboption('dns', form.ListValue, 'dns_respect_rules', _('Respect Rules'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('dns', form.Flag, 'dns_doh_prefer_http3', _('DoH Prefer HTTP/3')); o = s.taboption('dns', form.ListValue, 'dns_doh_prefer_http3', _('DoH Prefer HTTP/3'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('dns', form.Flag, 'dns_system_hosts', _('Use System Hosts')); o = s.taboption('dns', form.ListValue, 'dns_system_hosts', _('Use System Hosts'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('dns', form.Flag, 'dns_hosts', _('Use Hosts')); o = s.taboption('dns', form.ListValue, 'dns_hosts', _('Use Hosts'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('dns', form.Flag, 'hosts', _('Overwrite Hosts')); o = s.taboption('dns', form.Flag, 'hosts', _('Overwrite Hosts'));
o.rmempty = false; o.rmempty = false;
@ -285,17 +293,20 @@ return view.extend({
s.tab('sniffer', _('Sniffer Config')); s.tab('sniffer', _('Sniffer Config'));
o = s.taboption('sniffer', form.Flag, 'sniffer', _('Enable')); o = s.taboption('sniffer', form.ListValue, 'sniffer', _('Enable'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('sniffer', form.Flag, 'sniffer_sniff_dns_mapping', _('Sniff Redir-Host')); o = s.taboption('sniffer', form.ListValue, 'sniffer_sniff_dns_mapping', _('Sniff Redir-Host'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('sniffer', form.Flag, 'sniffer_sniff_pure_ip', _('Sniff Pure IP')); o = s.taboption('sniffer', form.ListValue, 'sniffer_sniff_pure_ip', _('Sniff Pure IP'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o = s.taboption('sniffer', form.Flag, 'sniffer_overwrite_destination', _('Overwrite Destination')); o.value('1', _('Enable'));
o.rmempty = false;
o = s.taboption('sniffer', form.Flag, 'sniffer_force_domain_name', _('Overwrite Force Sniff Domain Name')); o = s.taboption('sniffer', form.Flag, 'sniffer_force_domain_name', _('Overwrite Force Sniff Domain Name'));
o.rmempty = false; o.rmempty = false;
@ -336,7 +347,7 @@ return view.extend({
s.tab('rule', _('Rule Config')); s.tab('rule', _('Rule Config'));
o = s.taboption('rule', form.Flag, 'rule_provider', '*' + ' ' + _('Append Rule Provider')); o = s.taboption('rule', form.Flag, 'rule_provider', _('Append Rule Provider'));
o.rmempty = false; o.rmempty = false;
o = s.taboption('rule', form.SectionValue, '_rule_providers', form.GridSection, 'rule_provider', _('Edit Rule Providers')); o = s.taboption('rule', form.SectionValue, '_rule_providers', form.GridSection, 'rule_provider', _('Edit Rule Providers'));
@ -405,7 +416,7 @@ return view.extend({
so.modalonly = true; so.modalonly = true;
so.depends('type', 'http'); so.depends('type', 'http');
o = s.taboption('rule', form.Flag, 'rule', '*' + ' ' + _('Append Rule')); o = s.taboption('rule', form.Flag, 'rule', _('Append Rule'));
o.rmempty = false; o.rmempty = false;
o = s.taboption('rule', form.SectionValue, '_rules', form.TableSection, 'rule', _('Edit Rules')); o = s.taboption('rule', form.SectionValue, '_rules', form.TableSection, 'rule', _('Edit Rules'));
@ -421,8 +432,7 @@ return view.extend({
so.rmempty = false; so.rmempty = false;
so = o.subsection.option(form.Value, 'type', _('Type')); so = o.subsection.option(form.Value, 'type', _('Type'));
so.optional = true; so.rmempty = false;
so.rmempty = true;
so.value('RULE-SET', _('Rule Set')); so.value('RULE-SET', _('Rule Set'));
so.value('DOMAIN', _('Domain Name')); so.value('DOMAIN', _('Domain Name'));
so.value('DOMAIN-SUFFIX', _('Domain Name Suffix')); so.value('DOMAIN-SUFFIX', _('Domain Name Suffix'));
@ -453,37 +463,34 @@ return view.extend({
s.tab('geox', _('GeoX Config')); s.tab('geox', _('GeoX Config'));
o = s.taboption('geox', form.ListValue, 'geoip_format', _('GeoIP Format')); o = s.taboption('geox', form.ListValue, 'geoip_format', _('GeoIP Format'));
o.optional = true;
o.value('dat', 'DAT'); o.value('dat', 'DAT');
o.value('mmdb', 'MMDB'); o.value('mmdb', 'MMDB');
o = s.taboption('geox', form.ListValue, 'geodata_loader', _('GeoData Loader')); o = s.taboption('geox', form.ListValue, 'geodata_loader', _('GeoData Loader'));
o.optional = true;
o.value('standard', _('Standard Loader')); o.value('standard', _('Standard Loader'));
o.value('memconservative', _('Memory Conservative Loader')); o.value('memconservative', _('Memory Conservative Loader'));
o = s.taboption('geox', form.Value, 'geosite_url', _('GeoSite Url')); 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 = 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 = 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 = 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 = s.taboption('geox', form.ListValue, 'geox_auto_update', _('GeoX Auto Update'));
o.rmempty = false; o.optional = true;
o.value('0', _('Disable'));
o.value('1', _('Enable'));
o = s.taboption('geox', form.Value, 'geox_update_interval', _('GeoX Update Interval')); o = s.taboption('geox', form.Value, 'geox_update_interval', _('GeoX Update Interval'));
o.datatype = 'uinteger'; o.datatype = 'uinteger';
o.placeholder = '24';
o.retain = true;
o.depends('geox_auto_update', '1');
s.tab('mixin_file_content', _('Mixin File Content')); 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 = 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; o.rmempty = false;
return m.render(); return m.render();

View File

@ -1,11 +1,11 @@
msgid "" msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8" msgstr "Content-Type: text/plain; charset=UTF-8"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:81 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:82
msgid "API Port" msgid "API Listen"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:85 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:86
msgid "API Secret" msgid "API Secret"
msgstr "" msgstr ""
@ -22,11 +22,11 @@ msgstr ""
msgid "All Port" msgid "All Port"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:94 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:96
msgid "Allow Lan" msgid "Allow Lan"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:203 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:206
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:68 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:68
msgid "Allow Mode" msgid "Allow Mode"
msgstr "" msgstr ""
@ -44,23 +44,19 @@ msgstr ""
msgid "App Version" msgid "App Version"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:409 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:419
msgid "Append Rule" msgid "Append Rule"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:340 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:350
msgid "Append Rule Provider" msgid "Append Rule Provider"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:43 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:406
msgid "Auto"
msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:396
msgid "Behavior" msgid "Behavior"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:202 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:205
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:69 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:69
msgid "Block Mode" msgid "Block Mode"
msgstr "" msgstr ""
@ -123,31 +119,31 @@ msgstr ""
msgid "Cron Expression" msgid "Cron Expression"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:174 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:175
msgid "DNS Config" msgid "DNS Config"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:180 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:177
msgid "DNS Mode" msgid "DNS Listen"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:176 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:186
msgid "DNS Port" msgid "DNS Mode"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:93 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:93
msgid "Debug Log" msgid "Debug Log"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:432 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:441
msgid "Destination IP" msgid "Destination IP"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:436 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:445
msgid "Destination IP Geo" msgid "Destination IP Geo"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:433 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:442
msgid "Destination Port" msgid "Destination Port"
msgstr "" msgstr ""
@ -159,15 +155,31 @@ msgstr ""
msgid "Destination UDP Port to Proxy" msgid "Destination UDP Port to Proxy"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:140 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:141
msgid "Device" msgid "Device Name"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:40 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:37
msgid "Direct Mode" msgid "Direct Mode"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:45 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:50
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:55
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:60
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:91
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:98
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:155
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:163
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:183
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:210
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:215
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:220
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:225
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:230
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:298
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:303
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:308
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:485
msgid "Disable" msgid "Disable"
msgstr "" msgstr ""
@ -187,60 +199,60 @@ msgstr ""
msgid "Disable Safe Path Check" msgid "Disable Safe Path Check"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:214 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:218
msgid "DoH Prefer HTTP/3" msgid "DoH Prefer HTTP/3"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:240 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:247
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:428 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:437
msgid "Domain Name" msgid "Domain Name"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:435 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:444
msgid "Domain Name Geo" msgid "Domain Name Geo"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:430 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:439
msgid "Domain Name Keyword" msgid "Domain Name Keyword"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:431 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:440
msgid "Domain Name Regex" msgid "Domain Name Regex"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:429 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:438
msgid "Domain Name Suffix" msgid "Domain Name Suffix"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:120 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:121
msgid "Edit Authentications" msgid "Edit Authentications"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:164 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:169
msgid "Edit DNS Hijacks" msgid "Edit DNS Hijacks"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:196 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:199
msgid "Edit Fake-IP Filters" msgid "Edit Fake-IP Filters"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:229 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:236
msgid "Edit Hosts" msgid "Edit Hosts"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:271 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:278
msgid "Edit Nameserver Policies" msgid "Edit Nameserver Policies"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:248 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:255
msgid "Edit Nameservers" msgid "Edit Nameservers"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:343 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:353
msgid "Edit Rule Providers" msgid "Edit Rule Providers"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:412 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:422
msgid "Edit Rules" msgid "Edit Rules"
msgstr "" msgstr ""
@ -254,22 +266,37 @@ msgid "Editor"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:95 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:95
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:23 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:51
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:44 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:56
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:128 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:61
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:237 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:92
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:256 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:99
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:279 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:129
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:289 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:156
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:323 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:164
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:351 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:184
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:420 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:211
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:487 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:216
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:221
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:226
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:231
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:244
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:263
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:286
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:296
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:299
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:304
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:309
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:333
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:361
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:430
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:486
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:493
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:31 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:31
msgid "Enable" msgid "Enable"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:171 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:161
msgid "Endpoint Independent NAT" msgid "Endpoint Independent NAT"
msgstr "" msgstr ""
@ -277,23 +304,23 @@ msgstr ""
msgid "Expire At" msgid "Expire At"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:67 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:69
msgid "External Control Config" msgid "External Control Config"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:208
msgid "Fake-IP Cache"
msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:203
msgid "Fake-IP Filter Mode"
msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:55 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:55
msgid "Fake-IP Ping Hijack" msgid "Fake-IP Ping Hijack"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:206 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:190
msgid "Fake-IP Cache"
msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:200
msgid "Fake-IP Filter Mode"
msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:185
msgid "Fake-IP Range" msgid "Fake-IP Range"
msgstr "" msgstr ""
@ -301,15 +328,15 @@ msgstr ""
msgid "Fast Reload" msgid "Fast Reload"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:390 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:400
msgid "File Format" msgid "File Format"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:384 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:394
msgid "File Path" msgid "File Path"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:378 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:388
msgid "File Size Limit" msgid "File Size Limit"
msgstr "" msgstr ""
@ -330,19 +357,19 @@ msgstr ""
msgid "File:" msgid "File:"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:304 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:314
msgid "Force Sniff Domain Name" msgid "Force Sniff Domain Name"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:152 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:153
msgid "GSO" msgid "GSO"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:155 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:158
msgid "GSO Max Size" msgid "GSO Max Size"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:28 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:23
msgid "General Config" msgid "General Config"
msgstr "" msgstr ""
@ -350,43 +377,43 @@ msgstr ""
msgid "Generate & Download" msgid "Generate & Download"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:460 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:470
msgid "GeoData Loader" msgid "GeoData Loader"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:456 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:465
msgid "GeoIP Format" msgid "GeoIP Format"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:473 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:481
msgid "GeoIP(ASN) Url" msgid "GeoIP(ASN) Url"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:470 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:479
msgid "GeoIP(DAT) Url" msgid "GeoIP(DAT) Url"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:467 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:477
msgid "GeoIP(MMDB) Url" msgid "GeoIP(MMDB) Url"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:464 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:475
msgid "GeoSite Url" msgid "GeoSite Url"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:476 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:483
msgid "GeoX Auto Update" msgid "GeoX Auto Update"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:454 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:463
msgid "GeoX Config" msgid "GeoX Config"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:479 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:488
msgid "GeoX Update Interval" msgid "GeoX Update Interval"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:38 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:35
msgid "Global Mode" msgid "Global Mode"
msgstr "" msgstr ""
@ -394,7 +421,7 @@ msgstr ""
msgid "Grant access to nikki procedures" msgid "Grant access to nikki procedures"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:97 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:101
msgid "HTTP Port" msgid "HTTP Port"
msgstr "" msgstr ""
@ -402,7 +429,7 @@ msgstr ""
msgid "How To Use" msgid "How To Use"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:243 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:250
msgid "IP" msgid "IP"
msgstr "" msgstr ""
@ -414,8 +441,8 @@ msgstr ""
msgid "IPv4 Proxy" msgid "IPv4 Proxy"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:50 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:48
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:217 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:181
msgid "IPv6" msgid "IPv6"
msgstr "" msgstr ""
@ -427,11 +454,11 @@ msgstr ""
msgid "IPv6 Proxy" msgid "IPv6 Proxy"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:310 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:320
msgid "Ignore Sniff Domain Name" msgid "Ignore Sniff Domain Name"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:92 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:94
msgid "Inbound Config" msgid "Inbound Config"
msgstr "" msgstr ""
@ -452,55 +479,54 @@ msgstr ""
msgid "Log" msgid "Log"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:30 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:25
msgid "Log Level" msgid "Log Level"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:148 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:150
msgid "MTU" msgid "MTU"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:42 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:39
msgid "Match Process" msgid "Match Process"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:282 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:289
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:438 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:447
msgid "Matcher" msgid "Matcher"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:462 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:473
msgid "Memory Conservative Loader" msgid "Memory Conservative Loader"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:105 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:107
msgid "Mixed Port" msgid "Mixed Port"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:21
#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:29 #: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:29
msgid "Mixin Config" msgid "Mixin Config"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:485 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:491
msgid "Mixin File Content" msgid "Mixin File Content"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:26 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:21
msgid "Mixin Option" msgid "Mixin Option"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:37 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:33
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:66 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:66
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:357 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:367
msgid "Name" msgid "Name"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:266 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:273
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:285 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:292
msgid "Nameserver" msgid "Nameserver"
msgstr "" msgstr ""
@ -509,12 +535,12 @@ msgstr ""
msgid "Nikki" msgid "Nikki"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:448 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:457
msgid "No Resolve" msgid "No Resolve"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:371 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:381
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:441 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:450
msgid "Node" msgid "Node"
msgstr "" msgstr ""
@ -526,60 +552,59 @@ msgstr ""
msgid "Open Dashboard" msgid "Open Dashboard"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:47 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:45
msgid "Outbound Interface" msgid "Outbound Interface"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:117 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:118
msgid "Overwrite Authentication" msgid "Overwrite Authentication"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:161 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:166
msgid "Overwrite DNS Hijack" msgid "Overwrite DNS Hijack"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:298 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:345
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:335
msgid "Overwrite Destination" msgid "Overwrite Destination"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:191 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:196
msgid "Overwrite Fake-IP Filter" msgid "Overwrite Fake-IP Filter"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:301 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:311
msgid "Overwrite Force Sniff Domain Name" msgid "Overwrite Force Sniff Domain Name"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:226 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:233
msgid "Overwrite Hosts" msgid "Overwrite Hosts"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:307 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:317
msgid "Overwrite Ignore Sniff Domain Name" msgid "Overwrite Ignore Sniff Domain Name"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:245 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:252
msgid "Overwrite Nameserver" msgid "Overwrite Nameserver"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:268 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:275
msgid "Overwrite Nameserver Policy" msgid "Overwrite Nameserver Policy"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:313 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:323
msgid "Overwrite Sniff By Protocol" msgid "Overwrite Sniff By Protocol"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:134 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:135
msgid "Password" msgid "Password"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:487 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:493
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-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:332 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:342
msgid "Port" msgid "Port"
msgstr "" msgstr ""
@ -587,7 +612,7 @@ msgstr ""
msgid "Prefer" msgid "Prefer"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:434 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:443
msgid "Process Name" msgid "Process Name"
msgstr "" msgstr ""
@ -600,7 +625,7 @@ msgstr ""
msgid "Profile for Startup" msgid "Profile for Startup"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:326 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:336
msgid "Protocol" msgid "Protocol"
msgstr "" msgstr ""
@ -617,7 +642,7 @@ msgstr ""
msgid "Redirect Mode" msgid "Redirect Mode"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:109 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:110
msgid "Redirect Port" msgid "Redirect Port"
msgstr "" msgstr ""
@ -629,7 +654,7 @@ msgstr ""
msgid "Remote" msgid "Remote"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:211 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:213
msgid "Respect Rules" msgid "Respect Rules"
msgstr "" msgstr ""
@ -641,11 +666,11 @@ msgstr ""
msgid "Router Proxy" msgid "Router Proxy"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:338 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:348
msgid "Rule Config" msgid "Rule Config"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:39 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:36
msgid "Rule Mode" msgid "Rule Mode"
msgstr "" msgstr ""
@ -653,7 +678,7 @@ msgstr ""
msgid "Rule Provider:" msgid "Rule Provider:"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:427 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:436
msgid "Rule Set" msgid "Rule Set"
msgstr "" msgstr ""
@ -661,7 +686,7 @@ msgstr ""
msgid "Running" msgid "Running"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:101 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:104
msgid "SOCKS Port" msgid "SOCKS Port"
msgstr "" msgstr ""
@ -678,27 +703,27 @@ msgstr ""
msgid "Scroll To Bottom" msgid "Scroll To Bottom"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:316 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:326
msgid "Sniff By Protocol" msgid "Sniff By Protocol"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:295 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:306
msgid "Sniff Pure IP" msgid "Sniff Pure IP"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:292 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:301
msgid "Sniff Redir-Host" msgid "Sniff Redir-Host"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:287 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:294
msgid "Sniffer Config" msgid "Sniffer Config"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:143 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:144
msgid "Stack" msgid "Stack"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:461 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:472
msgid "Standard Loader" msgid "Standard Loader"
msgstr "" msgstr ""
@ -727,15 +752,15 @@ msgstr ""
msgid "Subscription:" msgid "Subscription:"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:56 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:58
msgid "TCP Concurrent" msgid "TCP Concurrent"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:59 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:63
msgid "TCP Keep Alive Idle" msgid "TCP Keep Alive Idle"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:63 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:66
msgid "TCP Keep Alive Interval" msgid "TCP Keep Alive Interval"
msgstr "" msgstr ""
@ -748,11 +773,11 @@ msgstr ""
msgid "TPROXY Mode" msgid "TPROXY Mode"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:113 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:114
msgid "TPROXY Port" msgid "TPROXY Port"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:138 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:139
msgid "TUN Config" msgid "TUN Config"
msgstr "" msgstr ""
@ -777,9 +802,9 @@ msgstr ""
msgid "Transparent Proxy with Mihomo on OpenWrt." msgid "Transparent Proxy with Mihomo on OpenWrt."
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:259 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:266
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:360 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:370
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:424 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:434
msgid "Type" msgid "Type"
msgstr "" msgstr ""
@ -787,15 +812,15 @@ msgstr ""
msgid "UDP Proxy Mode" msgid "UDP Proxy Mode"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:72 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:74
msgid "UI Name" msgid "UI Name"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:69 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:71
msgid "UI Path" msgid "UI Path"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:74 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:76
msgid "UI Url" msgid "UI Url"
msgstr "" msgstr ""
@ -815,7 +840,7 @@ msgstr ""
msgid "Update Dashboard" msgid "Update Dashboard"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:403 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:413
msgid "Update Interval" msgid "Update Interval"
msgstr "" msgstr ""
@ -823,15 +848,15 @@ msgstr ""
msgid "Upload Profile" msgid "Upload Profile"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:366 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:376
msgid "Url" msgid "Url"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:223 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:228
msgid "Use Hosts" msgid "Use Hosts"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:220 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:223
msgid "Use System Hosts" msgid "Use System Hosts"
msgstr "" msgstr ""
@ -843,6 +868,6 @@ msgstr ""
msgid "User Agent" msgid "User Agent"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:131 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:132
msgid "Username" msgid "Username"
msgstr "" msgstr ""

View File

@ -8,11 +8,11 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:81 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:82
msgid "API Port" msgid "API Listen"
msgstr "API 端口" msgstr "API 监听"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:85 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:86
msgid "API Secret" msgid "API Secret"
msgstr "API 密钥" msgstr "API 密钥"
@ -29,11 +29,11 @@ msgstr "全部模式"
msgid "All Port" msgid "All Port"
msgstr "全部端口" msgstr "全部端口"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:94 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:96
msgid "Allow Lan" msgid "Allow Lan"
msgstr "允许局域网访问" msgstr "允许局域网访问"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:203 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:206
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:68 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:68
msgid "Allow Mode" msgid "Allow Mode"
msgstr "白名单模式" msgstr "白名单模式"
@ -51,23 +51,19 @@ msgstr "插件日志"
msgid "App Version" msgid "App Version"
msgstr "插件版本" msgstr "插件版本"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:409 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:419
msgid "Append Rule" msgid "Append Rule"
msgstr "追加规则" msgstr "追加规则"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:340 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:350
msgid "Append Rule Provider" msgid "Append Rule Provider"
msgstr "追加规则提供者" msgstr "追加规则提供者"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:43 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:406
msgid "Auto"
msgstr "自动"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:396
msgid "Behavior" msgid "Behavior"
msgstr "行为" msgstr "行为"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:202 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:205
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:69 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:69
msgid "Block Mode" msgid "Block Mode"
msgstr "黑名单模式" msgstr "黑名单模式"
@ -130,31 +126,31 @@ msgstr "核心版本"
msgid "Cron Expression" msgid "Cron Expression"
msgstr "Cron 表达式" msgstr "Cron 表达式"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:174 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:175
msgid "DNS Config" msgid "DNS Config"
msgstr "DNS 配置" msgstr "DNS 配置"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:180 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:177
msgid "DNS Listen"
msgstr "DNS 监听"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:186
msgid "DNS Mode" msgid "DNS Mode"
msgstr "DNS 模式" msgstr "DNS 模式"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:176
msgid "DNS Port"
msgstr "DNS 端口"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:93 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:93
msgid "Debug Log" msgid "Debug Log"
msgstr "调试日志" msgstr "调试日志"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:432 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:441
msgid "Destination IP" msgid "Destination IP"
msgstr "目标 IP" msgstr "目标 IP"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:436 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:445
msgid "Destination IP Geo" msgid "Destination IP Geo"
msgstr "目标 IPGeo" msgstr "目标 IPGeo"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:433 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:442
msgid "Destination Port" msgid "Destination Port"
msgstr "目标端口" msgstr "目标端口"
@ -166,15 +162,31 @@ msgstr "要代理的 TCP 目标端口"
msgid "Destination UDP Port to Proxy" msgid "Destination UDP Port to Proxy"
msgstr "要代理的 UDP 目标端口" msgstr "要代理的 UDP 目标端口"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:140 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:141
msgid "Device" msgid "Device Name"
msgstr "设备名称" msgstr "设备名称"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:40 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:37
msgid "Direct Mode" msgid "Direct Mode"
msgstr "直连模式" msgstr "直连模式"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:45 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:50
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:55
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:60
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:91
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:98
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:155
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:163
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:183
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:210
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:215
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:220
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:225
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:230
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:298
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:303
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:308
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:485
msgid "Disable" msgid "Disable"
msgstr "禁用" msgstr "禁用"
@ -194,60 +206,60 @@ msgstr "禁用回环检测"
msgid "Disable Safe Path Check" msgid "Disable Safe Path Check"
msgstr "禁用安全路径检查" msgstr "禁用安全路径检查"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:214 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:218
msgid "DoH Prefer HTTP/3" msgid "DoH Prefer HTTP/3"
msgstr "DoH 优先 HTTP/3" msgstr "DoH 优先 HTTP/3"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:240 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:247
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:428 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:437
msgid "Domain Name" msgid "Domain Name"
msgstr "域名" msgstr "域名"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:435 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:444
msgid "Domain Name Geo" msgid "Domain Name Geo"
msgstr "域名Geo" msgstr "域名Geo"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:430 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:439
msgid "Domain Name Keyword" msgid "Domain Name Keyword"
msgstr "域名(关键字)" msgstr "域名(关键字)"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:431 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:440
msgid "Domain Name Regex" msgid "Domain Name Regex"
msgstr "域名(正则表达式)" msgstr "域名(正则表达式)"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:429 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:438
msgid "Domain Name Suffix" msgid "Domain Name Suffix"
msgstr "域名(后缀)" msgstr "域名(后缀)"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:120 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:121
msgid "Edit Authentications" msgid "Edit Authentications"
msgstr "编辑身份验证" msgstr "编辑身份验证"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:164 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:169
msgid "Edit DNS Hijacks" msgid "Edit DNS Hijacks"
msgstr "编辑 DNS 劫持" msgstr "编辑 DNS 劫持"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:196 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:199
msgid "Edit Fake-IP Filters" msgid "Edit Fake-IP Filters"
msgstr "编辑 Fake-IP 过滤列表" msgstr "编辑 Fake-IP 过滤列表"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:229 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:236
msgid "Edit Hosts" msgid "Edit Hosts"
msgstr "编辑 Hosts" msgstr "编辑 Hosts"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:271 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:278
msgid "Edit Nameserver Policies" msgid "Edit Nameserver Policies"
msgstr "编辑 DNS 服务器查询策略" msgstr "编辑 DNS 服务器查询策略"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:248 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:255
msgid "Edit Nameservers" msgid "Edit Nameservers"
msgstr "编辑 DNS 服务器" msgstr "编辑 DNS 服务器"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:343 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:353
msgid "Edit Rule Providers" msgid "Edit Rule Providers"
msgstr "编辑规则提供者" msgstr "编辑规则提供者"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:412 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:422
msgid "Edit Rules" msgid "Edit Rules"
msgstr "编辑规则" msgstr "编辑规则"
@ -261,22 +273,37 @@ msgid "Editor"
msgstr "编辑器" msgstr "编辑器"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:95 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:95
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:23 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:51
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:44 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:56
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:128 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:61
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:237 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:92
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:256 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:99
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:279 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:129
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:289 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:156
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:323 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:164
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:351 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:184
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:420 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:211
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:487 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:216
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:221
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:226
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:231
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:244
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:263
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:286
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:296
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:299
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:304
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:309
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:333
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:361
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:430
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:486
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:493
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:31 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:31
msgid "Enable" msgid "Enable"
msgstr "启用" msgstr "启用"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:171 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:161
msgid "Endpoint Independent NAT" msgid "Endpoint Independent NAT"
msgstr "独立于端点的 NAT" msgstr "独立于端点的 NAT"
@ -284,23 +311,23 @@ msgstr "独立于端点的 NAT"
msgid "Expire At" msgid "Expire At"
msgstr "到期时间" msgstr "到期时间"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:67 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:69
msgid "External Control Config" msgid "External Control Config"
msgstr "外部控制配置" msgstr "外部控制配置"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:208
msgid "Fake-IP Cache"
msgstr "Fake-IP 缓存"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:203
msgid "Fake-IP Filter Mode"
msgstr "Fake-IP 过滤模式"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:55 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:55
msgid "Fake-IP Ping Hijack" msgid "Fake-IP Ping Hijack"
msgstr "Fake-IP Ping 劫持" msgstr "Fake-IP Ping 劫持"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:206 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:190
msgid "Fake-IP Cache"
msgstr "Fake-IP 缓存"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:200
msgid "Fake-IP Filter Mode"
msgstr "Fake-IP 过滤模式"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:185
msgid "Fake-IP Range" msgid "Fake-IP Range"
msgstr "Fake-IP 范围" msgstr "Fake-IP 范围"
@ -308,15 +335,15 @@ msgstr "Fake-IP 范围"
msgid "Fast Reload" msgid "Fast Reload"
msgstr "快速重载" msgstr "快速重载"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:390 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:400
msgid "File Format" msgid "File Format"
msgstr "文件格式" msgstr "文件格式"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:384 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:394
msgid "File Path" msgid "File Path"
msgstr "文件路径" msgstr "文件路径"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:378 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:388
msgid "File Size Limit" msgid "File Size Limit"
msgstr "文件大小限制" msgstr "文件大小限制"
@ -337,19 +364,19 @@ msgstr "IPv6 保留地址"
msgid "File:" msgid "File:"
msgstr "文件:" msgstr "文件:"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:304 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:314
msgid "Force Sniff Domain Name" msgid "Force Sniff Domain Name"
msgstr "强制嗅探的域名" msgstr "强制嗅探的域名"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:152 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:153
msgid "GSO" msgid "GSO"
msgstr "通用分段卸载" msgstr "通用分段卸载"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:155 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:158
msgid "GSO Max Size" msgid "GSO Max Size"
msgstr "分段最大长度" msgstr "分段最大长度"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:28 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:23
msgid "General Config" msgid "General Config"
msgstr "全局配置" msgstr "全局配置"
@ -357,43 +384,43 @@ msgstr "全局配置"
msgid "Generate & Download" msgid "Generate & Download"
msgstr "生成并下载" msgstr "生成并下载"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:460 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:470
msgid "GeoData Loader" msgid "GeoData Loader"
msgstr "GeoData 加载器" msgstr "GeoData 加载器"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:456 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:465
msgid "GeoIP Format" msgid "GeoIP Format"
msgstr "GeoIP 格式" msgstr "GeoIP 格式"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:473 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:481
msgid "GeoIP(ASN) Url" msgid "GeoIP(ASN) Url"
msgstr "GeoIP(ASN) 下载地址" msgstr "GeoIP(ASN) 下载地址"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:470 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:479
msgid "GeoIP(DAT) Url" msgid "GeoIP(DAT) Url"
msgstr "GeoIP(DAT) 下载地址" msgstr "GeoIP(DAT) 下载地址"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:467 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:477
msgid "GeoIP(MMDB) Url" msgid "GeoIP(MMDB) Url"
msgstr "GeoIP(MMDB) 下载地址" msgstr "GeoIP(MMDB) 下载地址"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:464 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:475
msgid "GeoSite Url" msgid "GeoSite Url"
msgstr "GeoSite 下载地址" msgstr "GeoSite 下载地址"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:476 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:483
msgid "GeoX Auto Update" msgid "GeoX Auto Update"
msgstr "定时更新GeoX文件" msgstr "定时更新GeoX文件"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:454 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:463
msgid "GeoX Config" msgid "GeoX Config"
msgstr "GeoX 配置" msgstr "GeoX 配置"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:479 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:488
msgid "GeoX Update Interval" msgid "GeoX Update Interval"
msgstr "GeoX 文件更新间隔" msgstr "GeoX 文件更新间隔"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:38 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:35
msgid "Global Mode" msgid "Global Mode"
msgstr "全局模式" msgstr "全局模式"
@ -401,7 +428,7 @@ msgstr "全局模式"
msgid "Grant access to nikki procedures" msgid "Grant access to nikki procedures"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:97 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:101
msgid "HTTP Port" msgid "HTTP Port"
msgstr "HTTP 端口" msgstr "HTTP 端口"
@ -409,7 +436,7 @@ msgstr "HTTP 端口"
msgid "How To Use" msgid "How To Use"
msgstr "使用说明" msgstr "使用说明"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:243 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:250
msgid "IP" msgid "IP"
msgstr "" msgstr ""
@ -421,8 +448,8 @@ msgstr "IPv4 DNS 劫持"
msgid "IPv4 Proxy" msgid "IPv4 Proxy"
msgstr "IPv4 代理" msgstr "IPv4 代理"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:50 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:48
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:217 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:181
msgid "IPv6" msgid "IPv6"
msgstr "" msgstr ""
@ -434,11 +461,11 @@ msgstr "IPv6 DNS 劫持"
msgid "IPv6 Proxy" msgid "IPv6 Proxy"
msgstr "IPv6 代理" msgstr "IPv6 代理"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:310 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:320
msgid "Ignore Sniff Domain Name" msgid "Ignore Sniff Domain Name"
msgstr "忽略嗅探的域名" msgstr "忽略嗅探的域名"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:92 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:94
msgid "Inbound Config" msgid "Inbound Config"
msgstr "入站配置" msgstr "入站配置"
@ -459,55 +486,54 @@ msgstr "本地"
msgid "Log" msgid "Log"
msgstr "日志" msgstr "日志"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:30 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:25
msgid "Log Level" msgid "Log Level"
msgstr "日志级别" msgstr "日志级别"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:148 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:150
msgid "MTU" msgid "MTU"
msgstr "最大传输单元" msgstr "最大传输单元"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:42 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:39
msgid "Match Process" msgid "Match Process"
msgstr "匹配进程" msgstr "匹配进程"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:282 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:289
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:438 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:447
msgid "Matcher" msgid "Matcher"
msgstr "匹配" msgstr "匹配"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:462 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:473
msgid "Memory Conservative Loader" msgid "Memory Conservative Loader"
msgstr "为内存受限设备优化的加载器" msgstr "为内存受限设备优化的加载器"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:105 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:107
msgid "Mixed Port" msgid "Mixed Port"
msgstr "混合端口" msgstr "混合端口"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:21
#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:29 #: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:29
msgid "Mixin Config" msgid "Mixin Config"
msgstr "混入配置" msgstr "混入配置"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:485 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:491
msgid "Mixin File Content" msgid "Mixin File Content"
msgstr "混入文件内容" msgstr "混入文件内容"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:26 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:21
msgid "Mixin Option" msgid "Mixin Option"
msgstr "混入选项" msgstr "混入选项"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:37 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:33
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:66 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:66
msgid "Mode" msgid "Mode"
msgstr "模式" msgstr "模式"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:357 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:367
msgid "Name" msgid "Name"
msgstr "名称" msgstr "名称"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:266 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:273
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:285 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:292
msgid "Nameserver" msgid "Nameserver"
msgstr "DNS 服务器" msgstr "DNS 服务器"
@ -516,12 +542,12 @@ msgstr "DNS 服务器"
msgid "Nikki" msgid "Nikki"
msgstr "" msgstr ""
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:448 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:457
msgid "No Resolve" msgid "No Resolve"
msgstr "不解析" msgstr "不解析"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:371 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:381
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:441 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:450
msgid "Node" msgid "Node"
msgstr "节点" msgstr "节点"
@ -533,60 +559,59 @@ msgstr "未在运行"
msgid "Open Dashboard" msgid "Open Dashboard"
msgstr "打开面板" msgstr "打开面板"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:47 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:45
msgid "Outbound Interface" msgid "Outbound Interface"
msgstr "出站接口" msgstr "出站接口"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:117 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:118
msgid "Overwrite Authentication" msgid "Overwrite Authentication"
msgstr "覆盖身份验证" msgstr "覆盖身份验证"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:161 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:166
msgid "Overwrite DNS Hijack" msgid "Overwrite DNS Hijack"
msgstr "覆盖 DNS 劫持" msgstr "覆盖 DNS 劫持"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:298 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:345
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:335
msgid "Overwrite Destination" msgid "Overwrite Destination"
msgstr "将嗅探结果作为连接目标" msgstr "将嗅探结果作为连接目标"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:191 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:196
msgid "Overwrite Fake-IP Filter" msgid "Overwrite Fake-IP Filter"
msgstr "覆盖 Fake-IP 过滤列表" msgstr "覆盖 Fake-IP 过滤列表"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:301 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:311
msgid "Overwrite Force Sniff Domain Name" msgid "Overwrite Force Sniff Domain Name"
msgstr "覆盖强制嗅探的域名" msgstr "覆盖强制嗅探的域名"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:226 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:233
msgid "Overwrite Hosts" msgid "Overwrite Hosts"
msgstr "覆盖 Hosts" msgstr "覆盖 Hosts"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:307 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:317
msgid "Overwrite Ignore Sniff Domain Name" msgid "Overwrite Ignore Sniff Domain Name"
msgstr "覆盖忽略嗅探的域名" msgstr "覆盖忽略嗅探的域名"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:245 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:252
msgid "Overwrite Nameserver" msgid "Overwrite Nameserver"
msgstr "覆盖 DNS 服务器" msgstr "覆盖 DNS 服务器"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:268 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:275
msgid "Overwrite Nameserver Policy" msgid "Overwrite Nameserver Policy"
msgstr "覆盖 DNS 服务器查询策略" msgstr "覆盖 DNS 服务器查询策略"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:313 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:323
msgid "Overwrite Sniff By Protocol" msgid "Overwrite Sniff By Protocol"
msgstr "覆盖按协议嗅探" msgstr "覆盖按协议嗅探"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:134 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:135
msgid "Password" msgid "Password"
msgstr "密码" msgstr "密码"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:487 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:493
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-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:332 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:342
msgid "Port" msgid "Port"
msgstr "端口" msgstr "端口"
@ -594,7 +619,7 @@ msgstr "端口"
msgid "Prefer" msgid "Prefer"
msgstr "优先" msgstr "优先"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:434 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:443
msgid "Process Name" msgid "Process Name"
msgstr "进程名" msgstr "进程名"
@ -607,7 +632,7 @@ msgstr "配置文件"
msgid "Profile for Startup" msgid "Profile for Startup"
msgstr "用于启动的配置文件" msgstr "用于启动的配置文件"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:326 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:336
msgid "Protocol" msgid "Protocol"
msgstr "协议" msgstr "协议"
@ -624,7 +649,7 @@ msgstr "代理提供者:"
msgid "Redirect Mode" msgid "Redirect Mode"
msgstr "Redirect 模式" msgstr "Redirect 模式"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:109 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:110
msgid "Redirect Port" msgid "Redirect Port"
msgstr "Redirect 端口" msgstr "Redirect 端口"
@ -636,7 +661,7 @@ msgstr "重载服务"
msgid "Remote" msgid "Remote"
msgstr "远程" msgstr "远程"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:211 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:213
msgid "Respect Rules" msgid "Respect Rules"
msgstr "遵循分流规则" msgstr "遵循分流规则"
@ -648,11 +673,11 @@ msgstr "重启服务"
msgid "Router Proxy" msgid "Router Proxy"
msgstr "路由器代理" msgstr "路由器代理"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:338 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:348
msgid "Rule Config" msgid "Rule Config"
msgstr "规则配置" msgstr "规则配置"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:39 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:36
msgid "Rule Mode" msgid "Rule Mode"
msgstr "规则模式" msgstr "规则模式"
@ -660,7 +685,7 @@ msgstr "规则模式"
msgid "Rule Provider:" msgid "Rule Provider:"
msgstr "规则提供者:" msgstr "规则提供者:"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:427 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:436
msgid "Rule Set" msgid "Rule Set"
msgstr "规则集" msgstr "规则集"
@ -668,7 +693,7 @@ msgstr "规则集"
msgid "Running" msgid "Running"
msgstr "运行中" msgstr "运行中"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:101 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:104
msgid "SOCKS Port" msgid "SOCKS Port"
msgstr "SOCKS 端口" msgstr "SOCKS 端口"
@ -685,27 +710,27 @@ msgstr "定时重启"
msgid "Scroll To Bottom" msgid "Scroll To Bottom"
msgstr "滚动到底部" msgstr "滚动到底部"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:316 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:326
msgid "Sniff By Protocol" msgid "Sniff By Protocol"
msgstr "按协议嗅探" msgstr "按协议嗅探"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:295 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:306
msgid "Sniff Pure IP" msgid "Sniff Pure IP"
msgstr "嗅探纯 IP 连接" msgstr "嗅探纯 IP 连接"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:292 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:301
msgid "Sniff Redir-Host" msgid "Sniff Redir-Host"
msgstr "嗅探 Redir-Host 流量" msgstr "嗅探 Redir-Host 流量"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:287 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:294
msgid "Sniffer Config" msgid "Sniffer Config"
msgstr "嗅探器配置" msgstr "嗅探器配置"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:143 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:144
msgid "Stack" msgid "Stack"
msgstr "栈" msgstr "栈"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:461 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:472
msgid "Standard Loader" msgid "Standard Loader"
msgstr "标准加载器" msgstr "标准加载器"
@ -734,15 +759,15 @@ msgstr "订阅链接"
msgid "Subscription:" msgid "Subscription:"
msgstr "订阅:" msgstr "订阅:"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:56 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:58
msgid "TCP Concurrent" msgid "TCP Concurrent"
msgstr "TCP 并发" msgstr "TCP 并发"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:59 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:63
msgid "TCP Keep Alive Idle" msgid "TCP Keep Alive Idle"
msgstr "TCP Keep Alive 空闲" msgstr "TCP Keep Alive 空闲"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:63 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:66
msgid "TCP Keep Alive Interval" msgid "TCP Keep Alive Interval"
msgstr "TCP Keep Alive 间隔" msgstr "TCP Keep Alive 间隔"
@ -755,11 +780,11 @@ msgstr "TCP 代理模式"
msgid "TPROXY Mode" msgid "TPROXY Mode"
msgstr "TPROXY 模式" msgstr "TPROXY 模式"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:113 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:114
msgid "TPROXY Port" msgid "TPROXY Port"
msgstr "TPROXY 端口" msgstr "TPROXY 端口"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:138 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:139
msgid "TUN Config" msgid "TUN Config"
msgstr "TUN 配置" msgstr "TUN 配置"
@ -784,9 +809,9 @@ msgstr "透明代理"
msgid "Transparent Proxy with Mihomo on OpenWrt." msgid "Transparent Proxy with Mihomo on OpenWrt."
msgstr "在 OpenWrt 上使用 Mihomo 进行透明代理。" msgstr "在 OpenWrt 上使用 Mihomo 进行透明代理。"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:259 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:266
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:360 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:370
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:424 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:434
msgid "Type" msgid "Type"
msgstr "类型" msgstr "类型"
@ -794,15 +819,15 @@ msgstr "类型"
msgid "UDP Proxy Mode" msgid "UDP Proxy Mode"
msgstr "UDP 代理模式" msgstr "UDP 代理模式"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:72 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:74
msgid "UI Name" msgid "UI Name"
msgstr "UI 名称" msgstr "UI 名称"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:69 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:71
msgid "UI Path" msgid "UI Path"
msgstr "UI 路径" msgstr "UI 路径"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:74 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:76
msgid "UI Url" msgid "UI Url"
msgstr "UI 下载地址" msgstr "UI 下载地址"
@ -822,7 +847,7 @@ msgstr "更新时间"
msgid "Update Dashboard" msgid "Update Dashboard"
msgstr "更新面板" msgstr "更新面板"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:403 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:413
msgid "Update Interval" msgid "Update Interval"
msgstr "更新间隔" msgstr "更新间隔"
@ -830,15 +855,15 @@ msgstr "更新间隔"
msgid "Upload Profile" msgid "Upload Profile"
msgstr "上传配置文件" msgstr "上传配置文件"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:366 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:376
msgid "Url" msgid "Url"
msgstr "下载地址" msgstr "下载地址"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:223 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:228
msgid "Use Hosts" msgid "Use Hosts"
msgstr "使用 Hosts" msgstr "使用 Hosts"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:220 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:223
msgid "Use System Hosts" msgid "Use System Hosts"
msgstr "使用系统的 Hosts" msgstr "使用系统的 Hosts"
@ -850,6 +875,6 @@ msgstr "已使用"
msgid "User Agent" msgid "User Agent"
msgstr "用户代理UA" msgstr "用户代理UA"
#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:131 #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:132
msgid "Username" msgid "Username"
msgstr "用户名" msgstr "用户名"

View File

@ -2,7 +2,7 @@
'use strict'; 'use strict';
import { popen } from 'fs'; import { access, popen } from 'fs';
const methods = { const methods = {
version: { version: {
@ -28,15 +28,29 @@ const methods = {
core = trim(process.read('all')); core = trim(process.read('all'));
process.close(); process.close();
} }
return { success: true, app: app, core: core }; return { app: app, core: core };
}
},
profile: {
call: function() {
let profile = {};
const filepath = '/etc/nikki/run/config.yaml';
if (access(filepath, 'r')) {
const process = popen(`yq -p yaml -o json < ${filepath}`);
if (process != null) {
profile = json(process.read('all'));
process.close();
}
}
return profile;
} }
}, },
update_subscription: { update_subscription: {
args: { section_id: 'section_id' }, args: { section_id: 'section_id' },
call: function(req) { call: function(req) {
let success = false; let success = false;
if (req.args?.section_id) { const section_id = req.args?.section_id;
const section_id = req.args?.section_id; if (section_id) {
success = system(['service', 'nikki', 'update_subscription', section_id]) == 0; success = system(['service', 'nikki', 'update_subscription', section_id]) == 0;
} }
return { success: success }; return { success: success };