update 2025-01-01 16:24:55

This commit is contained in:
kenzok8 2025-01-01 16:24:56 +08:00
parent d9d7c79a1e
commit e03e8f5b78
11 changed files with 471 additions and 181 deletions

View File

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

View File

@ -34,12 +34,12 @@ return view.extend({
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.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.value('strict', _('Auto'));
o.value('always', _('Enable')); o.value('always', _('Enable'));
o.value('off', _('Disable')); o.value('off', _('Disable'));
@ -50,6 +50,12 @@ return view.extend({
o = s.taboption('general', form.Flag, 'ipv6', '*' + ' ' + _('IPv6')); o = s.taboption('general', form.Flag, 'ipv6', '*' + ' ' + _('IPv6'));
o.rmempty = false; o.rmempty = false;
o = s.taboption('general', form.Flag, 'unify_delay', _('Unify Delay'));
o.rmempty = false;
o = s.taboption('general', form.Flag, 'tcp_concurrent', _('TCP Concurrent'));
o.rmempty = false;
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.placeholder = '600';
@ -207,7 +213,7 @@ return view.extend({
o = s.taboption('dns', form.Flag, 'hosts', _('Overwrite Hosts')); o = s.taboption('dns', form.Flag, 'hosts', _('Overwrite Hosts'));
o.rmempty = false; o.rmempty = false;
o = s.taboption('dns', form.SectionValue, '_hosts', form.TableSection, 'host', _('Edit Hosts')); o = s.taboption('dns', form.SectionValue, '_hosts', form.TableSection, 'hosts', _('Edit Hosts'));
o.retain = true; o.retain = true;
o.depends('hosts', '1'); o.depends('hosts', '1');
@ -226,7 +232,7 @@ return view.extend({
o = s.taboption('dns', form.Flag, 'dns_nameserver', _('Overwrite Nameserver')); o = s.taboption('dns', form.Flag, 'dns_nameserver', _('Overwrite Nameserver'));
o.rmempty = false; o.rmempty = false;
o = s.taboption('dns', form.SectionValue, '_dns_nameserver', form.TableSection, 'nameserver', _('Edit Nameservers')); o = s.taboption('dns', form.SectionValue, '_dns_nameservers', form.TableSection, 'nameserver', _('Edit Nameservers'));
o.retain = true; o.retain = true;
o.depends('dns_nameserver', '1'); o.depends('dns_nameserver', '1');
@ -265,6 +271,55 @@ return view.extend({
so = o.subsection.option(form.DynamicList, 'nameserver', _('Nameserver')); so = o.subsection.option(form.DynamicList, 'nameserver', _('Nameserver'));
s.tab('sniffer', _('Sniffer Config'));
o = s.taboption('sniffer', form.Flag, 'sniffer', _('Enable'));
o.rmempty = false;
o = s.taboption('sniffer', form.Flag, 'sniffer_sniff_dns_mapping', _('Sniff Redir-Host'));
o.rmempty = false;
o = s.taboption('sniffer', form.Flag, 'sniffer_sniff_pure_ip', _('Sniff Pure IP'));
o.rmempty = false;
o = s.taboption('sniffer', form.Flag, 'sniffer_overwrite_destination', _('Overwrite Destination'));
o.rmempty = false;
o = s.taboption('sniffer', form.Flag, 'sniffer_force_domain_name', _('Overwrite Force Sniff Domain Name'));
o.rmempty = false;
o = s.taboption('sniffer', form.DynamicList, 'sniffer_force_domain_names', _('Force Sniff Domain Name'));
o.depends('sniffer_force_domain_name', '1');
o = s.taboption('sniffer', form.Flag, 'sniffer_ignore_domain_name', _('Overwrite Ignore Sniff Domain Name'));
o.rmempty = false;
o = s.taboption('sniffer', form.DynamicList, 'sniffer_ignore_domain_names', _('Ignore Sniff Domain Name'));
o.depends('sniffer_ignore_domain_name', '1');
o = s.taboption('sniffer', form.Flag, 'sniffer_sniff', _('Overwrite Sniff By Protocol'));
o.rmempty = false;
o = s.taboption('sniffer', form.SectionValue, '_sniffer_sniffs', form.TableSection, 'sniff', _('Sniff By Protocol'));
o.subsection.anonymous = true;
o.subsection.addremove = false;
o.depends('sniffer_sniff', '1');
so = o.subsection.option(form.Flag, 'enabled', _('Enable'));
so.rmempty = false;
so = o.subsection.option(form.ListValue, 'protocol', _('Protocol'));
so.value('HTTP');
so.value('TLS');
so.value('QUIC');
so.readonly = true;
so = o.subsection.option(form.DynamicList, 'port', _('Port'));
so.datatype = 'portrange';
so = o.subsection.option(form.Flag, 'overwrite_destination', _('Overwrite Destination'));
so.rmempty = false;
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'));

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-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:72 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:78
msgid "API Port" msgid "API Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:76 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:82
msgid "API Secret" msgid "API Secret"
msgstr "" msgstr ""
@ -22,11 +22,11 @@ msgstr ""
msgid "All Port" msgid "All Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:85 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:91
msgid "Allow Lan" msgid "Allow Lan"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:184 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:190
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:65 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:65
msgid "Allow Mode" msgid "Allow Mode"
msgstr "" msgstr ""
@ -48,7 +48,7 @@ msgstr ""
msgid "Auto" msgid "Auto"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:183 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:189
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:66 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:66
msgid "Block Mode" msgid "Block Mode"
msgstr "" msgstr ""
@ -107,15 +107,15 @@ msgstr ""
msgid "Cron Expression" msgid "Cron Expression"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:155 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:161
msgid "DNS Config" msgid "DNS Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:161 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:167
msgid "DNS Mode" msgid "DNS Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:157 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:163
msgid "DNS Port" msgid "DNS Port"
msgstr "" msgstr ""
@ -127,7 +127,7 @@ msgstr ""
msgid "Destination UDP Port to Proxy" msgid "Destination UDP Port to Proxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:131 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:137
msgid "Device" msgid "Device"
msgstr "" msgstr ""
@ -155,31 +155,31 @@ msgstr ""
msgid "Disable Safe Path Check" msgid "Disable Safe Path Check"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:195 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:201
msgid "DoH Prefer HTTP/3" msgid "DoH Prefer HTTP/3"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:221 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:227
msgid "Domain Name" msgid "Domain Name"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:111 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:117
msgid "Edit Authentications" msgid "Edit Authentications"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:177 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:183
msgid "Edit Fake-IP Filters" msgid "Edit Fake-IP Filters"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:210 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:216
msgid "Edit Hosts" msgid "Edit Hosts"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:252 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:258
msgid "Edit Nameserver Policies" msgid "Edit Nameserver Policies"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:229 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:235
msgid "Edit Nameservers" msgid "Edit Nameservers"
msgstr "" msgstr ""
@ -195,16 +195,18 @@ msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:96 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:96
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:23 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:23
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:44 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:44
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:119 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:125
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:218 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:224
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:237 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:243
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:260 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:266
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:301 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:276
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:308
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:356
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:31 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:31
msgid "Enable" msgid "Enable"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:152 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:158
msgid "Endpoint Independent NAT" msgid "Endpoint Independent NAT"
msgstr "" msgstr ""
@ -212,19 +214,19 @@ msgstr ""
msgid "Expire At" msgid "Expire At"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:61 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:67
msgid "External Control Config" msgid "External Control Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:187 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:193
msgid "Fake-IP Cache" msgid "Fake-IP Cache"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:181 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:187
msgid "Fake-IP Filter Mode" msgid "Fake-IP Filter Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:166 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:172
msgid "Fake-IP Range" msgid "Fake-IP Range"
msgstr "" msgstr ""
@ -249,11 +251,15 @@ msgstr ""
msgid "File:" msgid "File:"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:143 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:291
msgid "Force Sniff Domain Name"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:149
msgid "GSO" msgid "GSO"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:146 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:152
msgid "GSO Max Size" msgid "GSO Max Size"
msgstr "" msgstr ""
@ -261,39 +267,39 @@ msgstr ""
msgid "General Config" msgid "General Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:274 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:329
msgid "GeoData Loader" msgid "GeoData Loader"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:270 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:325
msgid "GeoIP Format" msgid "GeoIP Format"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:287 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:342
msgid "GeoIP(ASN) Url" msgid "GeoIP(ASN) Url"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:284 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:339
msgid "GeoIP(DAT) Url" msgid "GeoIP(DAT) Url"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:281 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:336
msgid "GeoIP(MMDB) Url" msgid "GeoIP(MMDB) Url"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:278 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:333
msgid "GeoSite Url" msgid "GeoSite Url"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:290 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:345
msgid "GeoX Auto Update" msgid "GeoX Auto Update"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:268 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:323
msgid "GeoX Config" msgid "GeoX Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:293 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:348
msgid "GeoX Update Interval" msgid "GeoX Update Interval"
msgstr "" msgstr ""
@ -305,7 +311,7 @@ msgstr ""
msgid "Grant access to mihomo procedures" msgid "Grant access to mihomo procedures"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:88 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:94
msgid "HTTP Port" msgid "HTTP Port"
msgstr "" msgstr ""
@ -313,7 +319,7 @@ msgstr ""
msgid "How To Use" msgid "How To Use"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:224 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:230
msgid "IP" msgid "IP"
msgstr "" msgstr ""
@ -326,7 +332,7 @@ msgid "IPv4 Proxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:50 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:50
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:198 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:204
msgid "IPv6" msgid "IPv6"
msgstr "" msgstr ""
@ -338,7 +344,11 @@ msgstr ""
msgid "IPv6 Proxy" msgid "IPv6 Proxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:83 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:297
msgid "Ignore Sniff Domain Name"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:89
msgid "Inbound Config" msgid "Inbound Config"
msgstr "" msgstr ""
@ -363,7 +373,7 @@ msgstr ""
msgid "Log Level" msgid "Log Level"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:139 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:145
msgid "MTU" msgid "MTU"
msgstr "" msgstr ""
@ -371,11 +381,11 @@ msgstr ""
msgid "Match Process" msgid "Match Process"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:263 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:269
msgid "Matcher" msgid "Matcher"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:276 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:331
msgid "Memory Conservative Loader" msgid "Memory Conservative Loader"
msgstr "" msgstr ""
@ -384,7 +394,7 @@ msgstr ""
msgid "MihomoTProxy" msgid "MihomoTProxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:96 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:102
msgid "Mixed Port" msgid "Mixed Port"
msgstr "" msgstr ""
@ -393,7 +403,7 @@ msgstr ""
msgid "Mixin Config" msgid "Mixin Config"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:299 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:354
msgid "Mixin File Content" msgid "Mixin File Content"
msgstr "" msgstr ""
@ -406,8 +416,8 @@ msgstr ""
msgid "Mode" msgid "Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:247 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:253
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:266 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:272
msgid "Nameserver" msgid "Nameserver"
msgstr "" msgstr ""
@ -423,34 +433,55 @@ msgstr ""
msgid "Outbound Interface" msgid "Outbound Interface"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:108 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:114
msgid "Overwrite Authentication" msgid "Overwrite Authentication"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:172 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:285
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:320
msgid "Overwrite Destination"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:178
msgid "Overwrite Fake-IP Filter" msgid "Overwrite Fake-IP Filter"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:207 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:288
msgid "Overwrite Force Sniff Domain Name"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:213
msgid "Overwrite Hosts" msgid "Overwrite Hosts"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:226 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:294
msgid "Overwrite Ignore Sniff Domain Name"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:232
msgid "Overwrite Nameserver" msgid "Overwrite Nameserver"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:249 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:255
msgid "Overwrite Nameserver Policy" msgid "Overwrite Nameserver Policy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:125 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:300
msgid "Overwrite Sniff By Protocol"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:131
msgid "Password" msgid "Password"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:301 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:356
msgid "Please go to the editor tab to edit the file for mixin" msgid "Please go to the editor tab to edit the file for mixin"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:317
msgid "Port"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:78 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:78
msgid "Prefer" msgid "Prefer"
msgstr "" msgstr ""
@ -464,6 +495,10 @@ msgstr ""
msgid "Profile for Startup" msgid "Profile for Startup"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:311
msgid "Protocol"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:27 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:27
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:37 #: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:37
msgid "Proxy Config" msgid "Proxy Config"
@ -473,7 +508,7 @@ msgstr ""
msgid "Redirect Mode" msgid "Redirect Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:100 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:106
msgid "Redirect Port" msgid "Redirect Port"
msgstr "" msgstr ""
@ -485,7 +520,7 @@ msgstr ""
msgid "Remote" msgid "Remote"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:192 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:198
msgid "Respect Rules" msgid "Respect Rules"
msgstr "" msgstr ""
@ -505,11 +540,11 @@ msgstr ""
msgid "Running" msgid "Running"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:92 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:98
msgid "SOCKS Port" msgid "SOCKS Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:80 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:86
msgid "Save Proxy Selection" msgid "Save Proxy Selection"
msgstr "" msgstr ""
@ -527,11 +562,27 @@ msgstr ""
msgid "Service is not running." msgid "Service is not running."
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:134 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:303
msgid "Sniff By Protocol"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:282
msgid "Sniff Pure IP"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:279
msgid "Sniff Redir-Host"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:274
msgid "Sniffer Config"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:140
msgid "Stack" msgid "Stack"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:275 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:330
msgid "Standard Loader" msgid "Standard Loader"
msgstr "" msgstr ""
@ -560,11 +611,15 @@ msgstr ""
msgid "Subscription:" msgid "Subscription:"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:53 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:56
msgid "TCP Concurrent"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:59
msgid "TCP Keep Alive Idle" msgid "TCP Keep Alive Idle"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:57 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:63
msgid "TCP Keep Alive Interval" msgid "TCP Keep Alive Interval"
msgstr "" msgstr ""
@ -577,11 +632,11 @@ msgstr ""
msgid "TPROXY Mode" msgid "TPROXY Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:104 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:110
msgid "TPROXY Port" msgid "TPROXY Port"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:129 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:135
msgid "TUN Config" msgid "TUN Config"
msgstr "" msgstr ""
@ -606,7 +661,7 @@ msgstr ""
msgid "Transparent Proxy with Mihomo on OpenWrt." msgid "Transparent Proxy with Mihomo on OpenWrt."
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:240 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:246
msgid "Type" msgid "Type"
msgstr "" msgstr ""
@ -614,14 +669,18 @@ msgstr ""
msgid "UDP Proxy Mode" msgid "UDP Proxy Mode"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:63 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:69
msgid "UI Name" msgid "UI Name"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:65 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:71
msgid "UI Url" msgid "UI Url"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:53
msgid "Unify Delay"
msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:80 #: applications/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:80
#: applications/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:84 #: applications/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:84
msgid "Unknown" msgid "Unknown"
@ -643,11 +702,11 @@ msgstr ""
msgid "Upload Profile" msgid "Upload Profile"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:204 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:210
msgid "Use Hosts" msgid "Use Hosts"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:201 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:207
msgid "Use System Hosts" msgid "Use System Hosts"
msgstr "" msgstr ""
@ -659,6 +718,6 @@ msgstr ""
msgid "User Agent" msgid "User Agent"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:122 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:128
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-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:72 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:78
msgid "API Port" msgid "API Port"
msgstr "API 端口" msgstr "API 端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:76 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:82
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-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:85 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:91
msgid "Allow Lan" msgid "Allow Lan"
msgstr "允许局域网访问" msgstr "允许局域网访问"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:184 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:190
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:65 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:65
msgid "Allow Mode" msgid "Allow Mode"
msgstr "白名单模式" msgstr "白名单模式"
@ -55,7 +55,7 @@ msgstr "插件版本"
msgid "Auto" msgid "Auto"
msgstr "自动" msgstr "自动"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:183 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:189
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:66 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:66
msgid "Block Mode" msgid "Block Mode"
msgstr "黑名单模式" msgstr "黑名单模式"
@ -114,15 +114,15 @@ msgstr "核心版本"
msgid "Cron Expression" msgid "Cron Expression"
msgstr "Cron 表达式" msgstr "Cron 表达式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:155 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:161
msgid "DNS Config" msgid "DNS Config"
msgstr "DNS 配置" msgstr "DNS 配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:161 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:167
msgid "DNS Mode" msgid "DNS Mode"
msgstr "DNS 模式" msgstr "DNS 模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:157 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:163
msgid "DNS Port" msgid "DNS Port"
msgstr "DNS 端口" msgstr "DNS 端口"
@ -134,7 +134,7 @@ msgstr "要代理的 TCP 目标端口"
msgid "Destination UDP Port to Proxy" msgid "Destination UDP Port to Proxy"
msgstr "要代理的 UDP 目标端口" msgstr "要代理的 UDP 目标端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:131 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:137
msgid "Device" msgid "Device"
msgstr "设备名称" msgstr "设备名称"
@ -162,31 +162,31 @@ msgstr "禁用回环检测"
msgid "Disable Safe Path Check" msgid "Disable Safe Path Check"
msgstr "禁用安全路径检查" msgstr "禁用安全路径检查"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:195 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:201
msgid "DoH Prefer HTTP/3" msgid "DoH Prefer HTTP/3"
msgstr "DoH 优先 HTTP/3" msgstr "DoH 优先 HTTP/3"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:221 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:227
msgid "Domain Name" msgid "Domain Name"
msgstr "域名" msgstr "域名"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:111 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:117
msgid "Edit Authentications" msgid "Edit Authentications"
msgstr "编辑身份验证" msgstr "编辑身份验证"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:177 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:183
msgid "Edit Fake-IP Filters" msgid "Edit Fake-IP Filters"
msgstr "编辑 Fake-IP 过滤列表" msgstr "编辑 Fake-IP 过滤列表"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:210 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:216
msgid "Edit Hosts" msgid "Edit Hosts"
msgstr "编辑 Hosts" msgstr "编辑 Hosts"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:252 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:258
msgid "Edit Nameserver Policies" msgid "Edit Nameserver Policies"
msgstr "编辑 DNS 服务器查询策略" msgstr "编辑 DNS 服务器查询策略"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:229 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:235
msgid "Edit Nameservers" msgid "Edit Nameservers"
msgstr "编辑 DNS 服务器" msgstr "编辑 DNS 服务器"
@ -202,16 +202,18 @@ msgstr "编辑器"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:96 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/app.js:96
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:23 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:23
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:44 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:44
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:119 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:125
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:218 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:224
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:237 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:243
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:260 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:266
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:301 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:276
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:308
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:356
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:31 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:31
msgid "Enable" msgid "Enable"
msgstr "启用" msgstr "启用"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:152 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:158
msgid "Endpoint Independent NAT" msgid "Endpoint Independent NAT"
msgstr "独立于端点的 NAT" msgstr "独立于端点的 NAT"
@ -219,19 +221,19 @@ msgstr "独立于端点的 NAT"
msgid "Expire At" msgid "Expire At"
msgstr "到期时间" msgstr "到期时间"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:61 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:67
msgid "External Control Config" msgid "External Control Config"
msgstr "外部控制配置" msgstr "外部控制配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:187 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:193
msgid "Fake-IP Cache" msgid "Fake-IP Cache"
msgstr "Fake-IP 缓存" msgstr "Fake-IP 缓存"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:181 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:187
msgid "Fake-IP Filter Mode" msgid "Fake-IP Filter Mode"
msgstr "Fake-IP 过滤模式" msgstr "Fake-IP 过滤模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:166 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:172
msgid "Fake-IP Range" msgid "Fake-IP Range"
msgstr "Fake-IP 范围" msgstr "Fake-IP 范围"
@ -256,11 +258,15 @@ msgstr "IPv6 保留地址"
msgid "File:" msgid "File:"
msgstr "文件:" msgstr "文件:"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:143 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:291
msgid "Force Sniff Domain Name"
msgstr "强制嗅探的域名"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:149
msgid "GSO" msgid "GSO"
msgstr "通用分段卸载" msgstr "通用分段卸载"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:146 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:152
msgid "GSO Max Size" msgid "GSO Max Size"
msgstr "分段最大长度" msgstr "分段最大长度"
@ -268,39 +274,39 @@ msgstr "分段最大长度"
msgid "General Config" msgid "General Config"
msgstr "全局配置" msgstr "全局配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:274 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:329
msgid "GeoData Loader" msgid "GeoData Loader"
msgstr "GeoData 加载器" msgstr "GeoData 加载器"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:270 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:325
msgid "GeoIP Format" msgid "GeoIP Format"
msgstr "GeoIP 格式" msgstr "GeoIP 格式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:287 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:342
msgid "GeoIP(ASN) Url" msgid "GeoIP(ASN) Url"
msgstr "GeoIP(ASN) 下载地址" msgstr "GeoIP(ASN) 下载地址"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:284 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:339
msgid "GeoIP(DAT) Url" msgid "GeoIP(DAT) Url"
msgstr "GeoIP(DAT) 下载地址" msgstr "GeoIP(DAT) 下载地址"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:281 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:336
msgid "GeoIP(MMDB) Url" msgid "GeoIP(MMDB) Url"
msgstr "GeoIP(MMDB) 下载地址" msgstr "GeoIP(MMDB) 下载地址"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:278 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:333
msgid "GeoSite Url" msgid "GeoSite Url"
msgstr "GeoSite 下载地址" msgstr "GeoSite 下载地址"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:290 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:345
msgid "GeoX Auto Update" msgid "GeoX Auto Update"
msgstr "定时更新GeoX文件" msgstr "定时更新GeoX文件"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:268 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:323
msgid "GeoX Config" msgid "GeoX Config"
msgstr "GeoX 配置" msgstr "GeoX 配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:293 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:348
msgid "GeoX Update Interval" msgid "GeoX Update Interval"
msgstr "GeoX 文件更新间隔" msgstr "GeoX 文件更新间隔"
@ -312,7 +318,7 @@ msgstr "全局模式"
msgid "Grant access to mihomo procedures" msgid "Grant access to mihomo procedures"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:88 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:94
msgid "HTTP Port" msgid "HTTP Port"
msgstr "HTTP 端口" msgstr "HTTP 端口"
@ -320,7 +326,7 @@ msgstr "HTTP 端口"
msgid "How To Use" msgid "How To Use"
msgstr "使用说明" msgstr "使用说明"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:224 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:230
msgid "IP" msgid "IP"
msgstr "" msgstr ""
@ -333,7 +339,7 @@ msgid "IPv4 Proxy"
msgstr "IPv4 代理" msgstr "IPv4 代理"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:50 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:50
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:198 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:204
msgid "IPv6" msgid "IPv6"
msgstr "" msgstr ""
@ -345,7 +351,11 @@ msgstr "IPv6 DNS 劫持"
msgid "IPv6 Proxy" msgid "IPv6 Proxy"
msgstr "IPv6 代理" msgstr "IPv6 代理"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:83 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:297
msgid "Ignore Sniff Domain Name"
msgstr "忽略嗅探的域名"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:89
msgid "Inbound Config" msgid "Inbound Config"
msgstr "入站配置" msgstr "入站配置"
@ -370,7 +380,7 @@ msgstr "日志"
msgid "Log Level" msgid "Log Level"
msgstr "日志级别" msgstr "日志级别"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:139 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:145
msgid "MTU" msgid "MTU"
msgstr "最大传输单元" msgstr "最大传输单元"
@ -378,11 +388,11 @@ msgstr "最大传输单元"
msgid "Match Process" msgid "Match Process"
msgstr "匹配进程" msgstr "匹配进程"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:263 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:269
msgid "Matcher" msgid "Matcher"
msgstr "匹配" msgstr "匹配"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:276 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:331
msgid "Memory Conservative Loader" msgid "Memory Conservative Loader"
msgstr "为内存受限设备优化的加载器" msgstr "为内存受限设备优化的加载器"
@ -391,7 +401,7 @@ msgstr "为内存受限设备优化的加载器"
msgid "MihomoTProxy" msgid "MihomoTProxy"
msgstr "" msgstr ""
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:96 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:102
msgid "Mixed Port" msgid "Mixed Port"
msgstr "混合端口" msgstr "混合端口"
@ -400,7 +410,7 @@ msgstr "混合端口"
msgid "Mixin Config" msgid "Mixin Config"
msgstr "混入配置" msgstr "混入配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:299 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:354
msgid "Mixin File Content" msgid "Mixin File Content"
msgstr "混入文件内容" msgstr "混入文件内容"
@ -413,8 +423,8 @@ msgstr "混入选项"
msgid "Mode" msgid "Mode"
msgstr "模式" msgstr "模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:247 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:253
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:266 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:272
msgid "Nameserver" msgid "Nameserver"
msgstr "DNS 服务器" msgstr "DNS 服务器"
@ -430,34 +440,55 @@ msgstr "打开面板"
msgid "Outbound Interface" msgid "Outbound Interface"
msgstr "出站接口" msgstr "出站接口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:108 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:114
msgid "Overwrite Authentication" msgid "Overwrite Authentication"
msgstr "覆盖身份验证" msgstr "覆盖身份验证"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:172 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:285
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:320
msgid "Overwrite Destination"
msgstr "将嗅探结果作为连接目标"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:178
msgid "Overwrite Fake-IP Filter" msgid "Overwrite Fake-IP Filter"
msgstr "覆盖 Fake-IP 过滤列表" msgstr "覆盖 Fake-IP 过滤列表"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:207 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:288
msgid "Overwrite Force Sniff Domain Name"
msgstr "覆盖强制嗅探的域名"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:213
msgid "Overwrite Hosts" msgid "Overwrite Hosts"
msgstr "覆盖 Hosts" msgstr "覆盖 Hosts"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:226 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:294
msgid "Overwrite Ignore Sniff Domain Name"
msgstr "覆盖忽略嗅探的域名"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:232
msgid "Overwrite Nameserver" msgid "Overwrite Nameserver"
msgstr "覆盖 DNS 服务器" msgstr "覆盖 DNS 服务器"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:249 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:255
msgid "Overwrite Nameserver Policy" msgid "Overwrite Nameserver Policy"
msgstr "覆盖 DNS 服务器查询策略" msgstr "覆盖 DNS 服务器查询策略"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:125 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:300
msgid "Overwrite Sniff By Protocol"
msgstr "覆盖按协议嗅探"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:131
msgid "Password" msgid "Password"
msgstr "密码" msgstr "密码"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:301 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:356
msgid "Please go to the editor tab to edit the file for mixin" msgid "Please go to the editor tab to edit the file for mixin"
msgstr "请前往编辑器标签编辑用于混入的文件" msgstr "请前往编辑器标签编辑用于混入的文件"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:317
msgid "Port"
msgstr "端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:78 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/profile.js:78
msgid "Prefer" msgid "Prefer"
msgstr "优先" msgstr "优先"
@ -471,6 +502,10 @@ msgstr "配置文件"
msgid "Profile for Startup" msgid "Profile for Startup"
msgstr "用于启动的配置文件" msgstr "用于启动的配置文件"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:311
msgid "Protocol"
msgstr "协议"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:27 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/proxy.js:27
#: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:37 #: applications/luci-app-mihomo/root/usr/share/luci/menu.d/luci-app-mihomo.json:37
msgid "Proxy Config" msgid "Proxy Config"
@ -480,7 +515,7 @@ msgstr "代理配置"
msgid "Redirect Mode" msgid "Redirect Mode"
msgstr "Redirect 模式" msgstr "Redirect 模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:100 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:106
msgid "Redirect Port" msgid "Redirect Port"
msgstr "Redirect 端口" msgstr "Redirect 端口"
@ -492,7 +527,7 @@ msgstr "重载服务"
msgid "Remote" msgid "Remote"
msgstr "远程" msgstr "远程"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:192 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:198
msgid "Respect Rules" msgid "Respect Rules"
msgstr "遵循分流规则" msgstr "遵循分流规则"
@ -512,11 +547,11 @@ msgstr "规则模式"
msgid "Running" msgid "Running"
msgstr "运行中" msgstr "运行中"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:92 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:98
msgid "SOCKS Port" msgid "SOCKS Port"
msgstr "SOCKS 端口" msgstr "SOCKS 端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:80 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:86
msgid "Save Proxy Selection" msgid "Save Proxy Selection"
msgstr "保存节点/策略组选择" msgstr "保存节点/策略组选择"
@ -534,11 +569,27 @@ msgstr "滚动到底部"
msgid "Service is not running." msgid "Service is not running."
msgstr "服务未在运行。" msgstr "服务未在运行。"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:134 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:303
msgid "Sniff By Protocol"
msgstr "按协议嗅探"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:282
msgid "Sniff Pure IP"
msgstr "嗅探纯 IP 连接"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:279
msgid "Sniff Redir-Host"
msgstr "嗅探 Redir-Host 流量"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:274
msgid "Sniffer Config"
msgstr "嗅探器配置"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:140
msgid "Stack" msgid "Stack"
msgstr "栈" msgstr "栈"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:275 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:330
msgid "Standard Loader" msgid "Standard Loader"
msgstr "标准加载器" msgstr "标准加载器"
@ -567,11 +618,15 @@ msgstr "订阅链接"
msgid "Subscription:" msgid "Subscription:"
msgstr "订阅:" msgstr "订阅:"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:53 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:56
msgid "TCP Concurrent"
msgstr "TCP 并发"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:59
msgid "TCP Keep Alive Idle" msgid "TCP Keep Alive Idle"
msgstr "TCP Keep Alive 空闲" msgstr "TCP Keep Alive 空闲"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:57 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:63
msgid "TCP Keep Alive Interval" msgid "TCP Keep Alive Interval"
msgstr "TCP Keep Alive 间隔" msgstr "TCP Keep Alive 间隔"
@ -584,11 +639,11 @@ msgstr "TCP 代理模式"
msgid "TPROXY Mode" msgid "TPROXY Mode"
msgstr "TPROXY 模式" msgstr "TPROXY 模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:104 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:110
msgid "TPROXY Port" msgid "TPROXY Port"
msgstr "TPROXY 端口" msgstr "TPROXY 端口"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:129 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:135
msgid "TUN Config" msgid "TUN Config"
msgstr "TUN 配置" msgstr "TUN 配置"
@ -613,7 +668,7 @@ msgstr "透明代理"
msgid "Transparent Proxy with Mihomo on OpenWrt." msgid "Transparent Proxy with Mihomo on OpenWrt."
msgstr "在 OpenWrt 上使用 Mihomo 进行透明代理。" msgstr "在 OpenWrt 上使用 Mihomo 进行透明代理。"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:240 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:246
msgid "Type" msgid "Type"
msgstr "类型" msgstr "类型"
@ -621,14 +676,18 @@ msgstr "类型"
msgid "UDP Proxy Mode" msgid "UDP Proxy Mode"
msgstr "UDP 代理模式" msgstr "UDP 代理模式"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:63 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:69
msgid "UI Name" msgid "UI Name"
msgstr "UI 名称" msgstr "UI 名称"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:65 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:71
msgid "UI Url" msgid "UI Url"
msgstr "UI 下载地址" msgstr "UI 下载地址"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:53
msgid "Unify Delay"
msgstr "统一延迟"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:80 #: applications/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:80
#: applications/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:84 #: applications/luci-app-mihomo/htdocs/luci-static/resources/tools/mihomo.js:84
msgid "Unknown" msgid "Unknown"
@ -650,11 +709,11 @@ msgstr "更新面板"
msgid "Upload Profile" msgid "Upload Profile"
msgstr "上传配置文件" msgstr "上传配置文件"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:204 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:210
msgid "Use Hosts" msgid "Use Hosts"
msgstr "使用 Hosts" msgstr "使用 Hosts"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:201 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:207
msgid "Use System Hosts" msgid "Use System Hosts"
msgstr "使用系统的 Hosts" msgstr "使用系统的 Hosts"
@ -666,6 +725,6 @@ msgstr "已使用"
msgid "User Agent" msgid "User Agent"
msgstr "用户代理UA" msgstr "用户代理UA"
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:122 #: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:128
msgid "Username" msgid "Username"
msgstr "用户名" msgstr "用户名"

View File

@ -10,8 +10,8 @@ THEME_TITLE:=Kucat Theme
PKG_NAME:=luci-theme-$(THEME_NAME) PKG_NAME:=luci-theme-$(THEME_NAME)
LUCI_TITLE:=Kucat Theme by sirpdboy LUCI_TITLE:=Kucat Theme by sirpdboy
LUCI_DEPENDS:= LUCI_DEPENDS:=
PKG_VERSION:=2.4.8 PKG_VERSION:=2.4.9
PKG_RELEASE:=202401222 PKG_RELEASE:=20250101
define Package/luci-theme-$(THEME_NAME)/postinst define Package/luci-theme-$(THEME_NAME)/postinst
#!/bin/sh #!/bin/sh

View File

@ -211,7 +211,6 @@ body {
-moz-background-size: cover; -moz-background-size: cover;
-o-background-size: cover; -o-background-size: cover;
background-size: cover; background-size: cover;
background: fixed;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
body div { body div {

View File

@ -138,7 +138,7 @@
showword = sys.exec("/usr/libexec/kucat/kucat_word") showword = sys.exec("/usr/libexec/kucat/kucat_word")
end end
if bkuse == '1' then if bkuse == '1' then
bk_use='background-image:url('..bg_lock..')' bk_use="background-image:url("..bg_lock..")"
loginbk_use = "background-image:url(" .. bg_url .. ")" loginbk_use = "background-image:url(" .. bg_url .. ")"
end end
-%> -%>

View File

@ -1,13 +1,13 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=mihomo PKG_NAME:=mihomo
PKG_RELEASE:=2 PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git
PKG_SOURCE_DATE:=2024-12-28 PKG_SOURCE_DATE:=2024-12-31
PKG_SOURCE_VERSION:=a9ce5da09d38f6057bd248cd146cbd8c05dc9fd6 PKG_SOURCE_VERSION:=1c5f4a3ab12ae748cf85b1f14e1841f3b570e9c3
PKG_MIRROR_HASH:=b893642d6bb24d64d6c36c722d44f821340027c5aa0a56e2f62d3c70bf2ea059 PKG_MIRROR_HASH:=f0ab4e3d6379da2dbfb1f2d67dde142dcc5d7a8e3c5e93e8fd9e885abe072e48
PKG_LICENSE:=MIT PKG_LICENSE:=MIT
PKG_MAINTAINER:=Joseph Mory <morytyann@gmail.com> PKG_MAINTAINER:=Joseph Mory <morytyann@gmail.com>
@ -16,7 +16,7 @@ PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
PKG_BUILD_FLAGS:=no-mips16 PKG_BUILD_FLAGS:=no-mips16
PKG_BUILD_VERSION:=alpha-a9ce5da PKG_BUILD_VERSION:=alpha-1c5f4a3
PKG_BUILD_TIME:=$(shell date -u -Iseconds) PKG_BUILD_TIME:=$(shell date -u -Iseconds)
GO_PKG:=github.com/metacubex/mihomo GO_PKG:=github.com/metacubex/mihomo

View File

@ -54,6 +54,8 @@ config mixin 'mixin'
option 'match_process' 'off' option 'match_process' 'off'
option 'outbound_interface' '' option 'outbound_interface' ''
option 'ipv6' '0' option 'ipv6' '0'
option 'unify_delay' '1'
option 'tcp_concurrent' '1'
option 'tcp_keep_alive_idle' '600' option 'tcp_keep_alive_idle' '600'
option 'tcp_keep_alive_interval' '15' option 'tcp_keep_alive_interval' '15'
option 'ui_name' '' option 'ui_name' ''
@ -89,6 +91,15 @@ config mixin 'mixin'
option 'hosts' '0' option 'hosts' '0'
option 'dns_nameserver' '0' option 'dns_nameserver' '0'
option 'dns_nameserver_policy' '0' option 'dns_nameserver_policy' '0'
option 'sniffer' '0'
option 'sniffer_sniff_dns_mapping' '1'
option 'sniffer_sniff_pure_ip' '1'
option 'sniffer_overwrite_destination' '0'
option 'sniffer_force_domain_name' '0'
option 'sniffer_force_domain_names' ''
option 'sniffer_ignore_domain_name' '0'
option 'sniffer_ignore_domain_names' ''
option 'sniffer_sniff' '0'
option 'geoip_format' 'dat' option 'geoip_format' 'dat'
option 'geodata_loader' 'memconservative' option 'geodata_loader' 'memconservative'
option 'geosite_url' 'https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat' option 'geosite_url' 'https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat'
@ -110,7 +121,7 @@ config authentication
option 'username' 'mihomo' option 'username' 'mihomo'
option 'password' '' option 'password' ''
config host config hosts
option 'enabled' '0' option 'enabled' '0'
option 'domain_name' 'localhost' option 'domain_name' 'localhost'
list 'ip' '127.0.0.1' list 'ip' '127.0.0.1'
@ -158,6 +169,27 @@ config nameserver_policy
list 'nameserver' 'https://dns.cloudflare.com/dns-query' list 'nameserver' 'https://dns.cloudflare.com/dns-query'
list 'nameserver' 'https://dns.google/dns-query' list 'nameserver' 'https://dns.google/dns-query'
config sniff
option 'enabled' '1'
option 'protocol' 'HTTP'
list 'port' '80'
list 'port' '8080'
option 'overwrite_destination' '1'
config sniff
option 'enabled' '1'
option 'protocol' 'TLS'
list 'port' '443'
list 'port' '8443'
option 'overwrite_destination' '1'
config sniff
option 'enabled' '1'
option 'protocol' 'QUIC'
list 'port' '443'
list 'port' '8443'
option 'overwrite_destination' '1'
config editor 'editor' config editor 'editor'
config log 'log' config log 'log'

View File

@ -59,11 +59,13 @@ start_service() {
config_get udp_transparent_proxy_mode "proxy" "udp_transparent_proxy_mode" "tproxy" config_get udp_transparent_proxy_mode "proxy" "udp_transparent_proxy_mode" "tproxy"
## mixin config ## mixin config
### general ### general
local mode match_process outbound_interface ipv6 tcp_keep_alive_idle tcp_keep_alive_interval log_level local mode match_process outbound_interface ipv6 unify_delay tcp_concurrent tcp_keep_alive_idle tcp_keep_alive_interval log_level
config_get mode "mixin" "mode" "rule" config_get mode "mixin" "mode" "rule"
config_get match_process "mixin" "match_process" "off" config_get match_process "mixin" "match_process" "off"
config_get outbound_interface "mixin" "outbound_interface" config_get outbound_interface "mixin" "outbound_interface"
config_get_bool ipv6 "mixin" "ipv6" 0 config_get_bool ipv6 "mixin" "ipv6" 0
config_get_bool unify_delay "mixin" "unify_delay" 0
config_get_bool tcp_concurrent "mixin" "tcp_concurrent" 0
config_get tcp_keep_alive_idle "mixin" "tcp_keep_alive_idle" 600 config_get tcp_keep_alive_idle "mixin" "tcp_keep_alive_idle" 600
config_get tcp_keep_alive_interval "mixin" "tcp_keep_alive_interval" 15 config_get tcp_keep_alive_interval "mixin" "tcp_keep_alive_interval" 15
config_get log_level "mixin" "log_level" "info" config_get log_level "mixin" "log_level" "info"
@ -107,6 +109,15 @@ start_service() {
config_get_bool hosts "mixin" "hosts" 0 config_get_bool hosts "mixin" "hosts" 0
config_get_bool dns_nameserver "mixin" "dns_nameserver" 0 config_get_bool dns_nameserver "mixin" "dns_nameserver" 0
config_get_bool dns_nameserver_policy "mixin" "dns_nameserver_policy" 0 config_get_bool dns_nameserver_policy "mixin" "dns_nameserver_policy" 0
### sniffer
local sniffer sniffer_sniff_dns_mapping sniffer_sniff_pure_ip sniffer_overwrite_destination sniffer_force_domain_name sniffer_ignore_domain_name sniffer_sniff
config_get_bool sniffer "mixin" sniffer 0
config_get_bool sniffer_sniff_dns_mapping "mixin" sniffer_sniff_dns_mapping 0
config_get_bool sniffer_sniff_pure_ip "mixin" sniffer_sniff_pure_ip 0
config_get_bool sniffer_overwrite_destination "mixin" sniffer_overwrite_destination 0
config_get_bool sniffer_force_domain_name "mixin" sniffer_force_domain_name 0
config_get_bool sniffer_ignore_domain_name "mixin" sniffer_ignore_domain_name 0
config_get_bool sniffer_sniff "mixin" sniffer_sniff 0
### geox ### geox
local geoip_format geodata_loader geosite_url geoip_mmdb_url geoip_dat_url geoip_asn_url geox_auto_update geox_update_interval local geoip_format geodata_loader geosite_url geoip_mmdb_url geoip_dat_url geoip_asn_url geox_auto_update geox_update_interval
config_get geoip_format "mixin" "geoip_format" "mmdb" config_get geoip_format "mixin" "geoip_format" "mmdb"
@ -172,13 +183,13 @@ start_service() {
log "Mixin" "Disabled." log "Mixin" "Disabled."
log "Mixin" "Mixin neccesary config." log "Mixin" "Mixin neccesary config."
# do mixin # do mixin
log_level="$log_level" ipv6="$ipv6" \ log_level="$log_level" mode="$mode" match_process="$match_process" ipv6="$ipv6" \
ui_path="ui" ui_name="$ui_name" ui_url="$ui_url" api_listen="0.0.0.0:$api_port" api_secret="$api_secret" \ ui_path="ui" ui_name="$ui_name" ui_url="$ui_url" api_listen="0.0.0.0:$api_port" api_secret="$api_secret" \
allow_lan="$allow_lan" http_port="$http_port" socks_port="$socks_port" mixed_port="$mixed_port" redir_port="$redir_port" tproxy_port="$tproxy_port" \ allow_lan="$allow_lan" http_port="$http_port" socks_port="$socks_port" mixed_port="$mixed_port" redir_port="$redir_port" tproxy_port="$tproxy_port" \
tun_enable="$tun_enable" tun_stack="$tun_stack" tun_device="$tun_device" tun_mtu="$tun_mtu" tun_gso="$tun_gso" tun_gso_max_size="$tun_gso_max_size" tun_endpoint_independent_nat="$tun_endpoint_independent_nat" \ tun_enable="$tun_enable" tun_stack="$tun_stack" tun_device="$tun_device" tun_mtu="$tun_mtu" tun_gso="$tun_gso" tun_gso_max_size="$tun_gso_max_size" tun_endpoint_independent_nat="$tun_endpoint_independent_nat" \
dns_enable="true" dns_listen="0.0.0.0:$dns_port" dns_mode="$dns_mode" fake_ip_range="$fake_ip_range" \ dns_enable="true" dns_listen="0.0.0.0:$dns_port" dns_mode="$dns_mode" fake_ip_range="$fake_ip_range" \
yq -M -i ' yq -M -i '
.log-level = strenv(log_level) | .ipv6 = env(ipv6) == 1 | .log-level = strenv(log_level) | .mode = strenv(mode) | .find-process-mode = strenv(match_process) | .ipv6 = env(ipv6) == 1 |
.external-ui = strenv(ui_path) | .external-ui-name = strenv(ui_name) | .external-ui-url = strenv(ui_url) | .external-controller = strenv(api_listen) | .secret = strenv(api_secret) | .external-ui = strenv(ui_path) | .external-ui-name = strenv(ui_name) | .external-ui-url = strenv(ui_url) | .external-controller = strenv(api_listen) | .secret = strenv(api_secret) |
.allow-lan = env(allow_lan) == 1 | .port = env(http_port) | .socks-port = env(socks_port) | .mixed-port = env(mixed_port) | .redir-port = env(redir_port) | .tproxy-port = env(tproxy_port) | .allow-lan = env(allow_lan) == 1 | .port = env(http_port) | .socks-port = env(socks_port) | .mixed-port = env(mixed_port) | .redir-port = env(redir_port) | .tproxy-port = env(tproxy_port) |
.tun.enable = env(tun_enable) == 1 | .tun.stack = strenv(tun_stack) | .tun.device = strenv(tun_device) | .tun.mtu = env(tun_mtu) | .tun.gso = env(tun_gso) == 1 | .tun.gso-max-size = env(tun_gso_max_size) | .tun.endpoint-independent-nat = env(tun_endpoint_independent_nat) == 1 | .tun.enable = env(tun_enable) == 1 | .tun.stack = strenv(tun_stack) | .tun.device = strenv(tun_device) | .tun.mtu = env(tun_mtu) | .tun.gso = env(tun_gso) == 1 | .tun.gso-max-size = env(tun_gso_max_size) | .tun.endpoint-independent-nat = env(tun_endpoint_independent_nat) == 1 |
@ -188,21 +199,23 @@ start_service() {
log "Mixin" "Enabled." log "Mixin" "Enabled."
log "Mixin" "Mixin all config." log "Mixin" "Mixin all config."
# do mixin # do mixin
log_level="$log_level" mode="$mode" match_process="$match_process" tcp_keep_alive_idle="$tcp_keep_alive_idle" tcp_keep_alive_interval="$tcp_keep_alive_interval" ipv6="$ipv6" \ log_level="$log_level" mode="$mode" match_process="$match_process" ipv6="$ipv6" unify_delay="$unify_delay" tcp_concurrent="$tcp_concurrent" tcp_keep_alive_idle="$tcp_keep_alive_idle" tcp_keep_alive_interval="$tcp_keep_alive_interval" \
ui_path="ui" ui_name="$ui_name" ui_url="$ui_url" api_listen="0.0.0.0:$api_port" api_secret="$api_secret" selection_cache="$selection_cache" \ ui_path="ui" ui_name="$ui_name" ui_url="$ui_url" api_listen="0.0.0.0:$api_port" api_secret="$api_secret" selection_cache="$selection_cache" \
allow_lan="$allow_lan" http_port="$http_port" socks_port="$socks_port" mixed_port="$mixed_port" redir_port="$redir_port" tproxy_port="$tproxy_port" \ allow_lan="$allow_lan" http_port="$http_port" socks_port="$socks_port" mixed_port="$mixed_port" redir_port="$redir_port" tproxy_port="$tproxy_port" \
tun_enable="$tun_enable" tun_stack="$tun_stack" tun_device="$tun_device" tun_mtu="$tun_mtu" tun_gso="$tun_gso" tun_gso_max_size="$tun_gso_max_size" tun_endpoint_independent_nat="$tun_endpoint_independent_nat" \ tun_enable="$tun_enable" tun_stack="$tun_stack" tun_device="$tun_device" tun_mtu="$tun_mtu" tun_gso="$tun_gso" tun_gso_max_size="$tun_gso_max_size" tun_endpoint_independent_nat="$tun_endpoint_independent_nat" \
dns_enable="true" dns_listen="0.0.0.0:$dns_port" dns_mode="$dns_mode" fake_ip_range="$fake_ip_range" fake_ip_cache="$fake_ip_cache" \ dns_enable="true" dns_listen="0.0.0.0:$dns_port" dns_mode="$dns_mode" fake_ip_range="$fake_ip_range" fake_ip_cache="$fake_ip_cache" \
dns_respect_rules="$dns_respect_rules" dns_doh_prefer_http3="$dns_doh_prefer_http3" dns_ipv6="$dns_ipv6" dns_system_hosts="$dns_system_hosts" dns_hosts="$dns_hosts" \ dns_respect_rules="$dns_respect_rules" dns_doh_prefer_http3="$dns_doh_prefer_http3" dns_ipv6="$dns_ipv6" dns_system_hosts="$dns_system_hosts" dns_hosts="$dns_hosts" \
sniffer="$sniffer" sniffer_sniff_dns_mapping="$sniffer_sniff_dns_mapping" sniffer_sniff_pure_ip="$sniffer_sniff_pure_ip" sniffer_overwrite_destination="$sniffer_overwrite_destination" \
geoip_format="$geoip_format" geodata_loader="$geodata_loader" geosite_url="$geosite_url" geoip_mmdb_url="$geoip_mmdb_url" geoip_dat_url="$geoip_dat_url" geoip_asn_url="$geoip_asn_url" \ geoip_format="$geoip_format" geodata_loader="$geodata_loader" geosite_url="$geosite_url" geoip_mmdb_url="$geoip_mmdb_url" geoip_dat_url="$geoip_dat_url" geoip_asn_url="$geoip_asn_url" \
geox_auto_update="$geox_auto_update" geox_update_interval="$geox_update_interval" \ geox_auto_update="$geox_auto_update" geox_update_interval="$geox_update_interval" \
yq -M -i ' yq -M -i '
.log-level = strenv(log_level) | .mode = strenv(mode) | .find-process-mode = strenv(match_process) | .keep-alive-idle = env(tcp_keep_alive_idle) | .keep-alive-interval = env(tcp_keep_alive_interval) | .ipv6 = env(ipv6) == 1 | .log-level = strenv(log_level) | .mode = strenv(mode) | .find-process-mode = strenv(match_process) | .ipv6 = env(ipv6) == 1 | .unified-delay = env(unify_delay) == 1 | .tcp-concurrent = env(tcp_concurrent) == 1 | .keep-alive-idle = env(tcp_keep_alive_idle) | .keep-alive-interval = env(tcp_keep_alive_interval) |
.external-ui = strenv(ui_path) | .external-ui-name = strenv(ui_name) | .external-ui-url = strenv(ui_url) | .external-controller = strenv(api_listen) | .secret = strenv(api_secret) | .profile.store-selected = env(selection_cache) == 1 | .external-ui = strenv(ui_path) | .external-ui-name = strenv(ui_name) | .external-ui-url = strenv(ui_url) | .external-controller = strenv(api_listen) | .secret = strenv(api_secret) | .profile.store-selected = env(selection_cache) == 1 |
.allow-lan = env(allow_lan) == 1 | .port = env(http_port) | .socks-port = env(socks_port) | .mixed-port = env(mixed_port) | .redir-port = env(redir_port) | .tproxy-port = env(tproxy_port) | .allow-lan = env(allow_lan) == 1 | .port = env(http_port) | .socks-port = env(socks_port) | .mixed-port = env(mixed_port) | .redir-port = env(redir_port) | .tproxy-port = env(tproxy_port) |
.tun.enable = env(tun_enable) == 1 | .tun.stack = strenv(tun_stack) | .tun.device = strenv(tun_device) | .tun.mtu = env(tun_mtu) | .tun.gso = env(tun_gso) == 1 | .tun.gso-max-size = env(tun_gso_max_size) | .tun.endpoint-independent-nat = env(tun_endpoint_independent_nat) == 1 | .tun.enable = env(tun_enable) == 1 | .tun.stack = strenv(tun_stack) | .tun.device = strenv(tun_device) | .tun.mtu = env(tun_mtu) | .tun.gso = env(tun_gso) == 1 | .tun.gso-max-size = env(tun_gso_max_size) | .tun.endpoint-independent-nat = env(tun_endpoint_independent_nat) == 1 |
.dns.enable = env(dns_enable) | .dns.listen = strenv(dns_listen) | .dns.enhanced-mode = strenv(dns_mode) | .dns.fake-ip-range = strenv(fake_ip_range) | .profile.store-fake-ip = env(fake_ip_cache) == 1 | .dns.enable = env(dns_enable) | .dns.listen = strenv(dns_listen) | .dns.enhanced-mode = strenv(dns_mode) | .dns.fake-ip-range = strenv(fake_ip_range) | .profile.store-fake-ip = env(fake_ip_cache) == 1 |
.dns.respect-rules = env(dns_respect_rules) == 1 | .dns.prefer-h3 = env(dns_doh_prefer_http3) == 1 | .dns.ipv6 = env(dns_ipv6) == 1 | .dns.use-system-hosts = env(dns_system_hosts) == 1 | .dns.use-hosts = env(dns_hosts) == 1 | .dns.respect-rules = env(dns_respect_rules) == 1 | .dns.prefer-h3 = env(dns_doh_prefer_http3) == 1 | .dns.ipv6 = env(dns_ipv6) == 1 | .dns.use-system-hosts = env(dns_system_hosts) == 1 | .dns.use-hosts = env(dns_hosts) == 1 |
.sniffer.enable = env(sniffer) == 1 | .sniffer.force-dns-mapping = env(sniffer_sniff_dns_mapping) == 1 | .sniffer.parse-pure-ip = env(sniffer_sniff_pure_ip) == 1 | .sniffer.override-destination = env(sniffer_overwrite_destination) == 1 |
.geodata-mode = strenv(geoip_format) == "dat" | .geodata-loader = strenv(geodata_loader) | .geox-url.geosite = strenv(geosite_url) | .geox-url.mmdb = strenv(geoip_mmdb_url) | .geox-url.geoip = strenv(geoip_dat_url) | .geox-url.asn = strenv(geoip_asn_url) | .geodata-mode = strenv(geoip_format) == "dat" | .geodata-loader = strenv(geodata_loader) | .geox-url.geosite = strenv(geosite_url) | .geox-url.mmdb = strenv(geoip_mmdb_url) | .geox-url.geoip = strenv(geoip_dat_url) | .geox-url.asn = strenv(geoip_asn_url) |
.geo-auto-update = env(geox_auto_update) == 1 | .geo-update-interval = env(geox_update_interval) .geo-auto-update = env(geox_auto_update) == 1 | .geo-update-interval = env(geox_update_interval)
' "$RUN_PROFILE_PATH" ' "$RUN_PROFILE_PATH"
@ -224,6 +237,18 @@ start_service() {
yq -M -i 'del(.dns.nameserver-policy)' "$RUN_PROFILE_PATH" yq -M -i 'del(.dns.nameserver-policy)' "$RUN_PROFILE_PATH"
config_foreach mixin_nameserver_policies "nameserver_policy" config_foreach mixin_nameserver_policies "nameserver_policy"
fi fi
if [ "$sniffer_force_domain_name" == 1 ]; then
yq -M -i 'del(.sniffer.force-domain)' "$RUN_PROFILE_PATH"
config_list_foreach "mixin" "sniffer_force_domain_names" mixin_sniffer_domain_names "force-domain"
fi
if [ "$sniffer_ignore_domain_name" == 1 ]; then
yq -M -i 'del(.sniffer.skip-domain)' "$RUN_PROFILE_PATH"
config_list_foreach "mixin" "sniffer_ignore_domain_names" mixin_sniffer_domain_names "skip-domain"
fi
if [ "$sniffer_sniff" == 1 ]; then
yq -M -i 'del(.sniffer.sniff)' "$RUN_PROFILE_PATH"
config_foreach mixin_sniffs "sniff"
fi
fi fi
yq -M -i 'del (.bind-address)' "$RUN_PROFILE_PATH" yq -M -i 'del (.bind-address)' "$RUN_PROFILE_PATH"
if [ -n "$outbound_interface" ]; then if [ -n "$outbound_interface" ]; then
@ -639,6 +664,27 @@ mixin_nameserver_policy() {
nameserver="$1" matcher="$2" yq -M -i '.dns.nameserver-policy.[strenv(matcher)] += [strenv(nameserver)]' "$RUN_PROFILE_PATH" nameserver="$1" matcher="$2" yq -M -i '.dns.nameserver-policy.[strenv(matcher)] += [strenv(nameserver)]' "$RUN_PROFILE_PATH"
} }
mixin_sniffer_domain_names() {
domain_name="$1" type="$2" yq -M -i '.sniffer.[env(type)] += [env(domain_name)]' "$RUN_PROFILE_PATH"
}
mixin_sniffs() {
local section="$1"
local enabled protocol overwrite_destination
config_get_bool enabled "$section" "enabled" 0
config_get protocol "$section" "protocol"
config_get_bool overwrite_destination "$section" "overwrite_destination" 0
if [ "$enabled" == 0 ]; then
return
fi
protocol="$protocol" overwrite_destination="$overwrite_destination" yq -M -i '.sniffer.sniff.[env(protocol)].override-destination = env(overwrite_destination) == 1' "$RUN_PROFILE_PATH"
config_list_foreach "$section" "port" mixin_sniff "$protocol"
}
mixin_sniff() {
port="$1" protocol="$2" yq -M -i '.sniffer.sniff.[env(protocol)].ports += [env(port)]' "$RUN_PROFILE_PATH"
}
add_bypass_user() { add_bypass_user() {
local user; user="$1" local user; user="$1"
if [ "$user" != "root" ] && (cut -d ':' -f 1 < /etc/passwd | grep -q "$user"); then if [ "$user" != "root" ] && (cut -d ':' -f 1 < /etc/passwd | grep -q "$user"); then

View File

@ -21,38 +21,78 @@ acl_tcp_dport=$(uci -q get mihomo.proxy.acl_tcp_dport); [ -n "$acl_tcp_dport" ]
acl_udp_dport=$(uci -q get mihomo.proxy.acl_udp_dport); [ -n "$acl_udp_dport" ] && uci rename mihomo.proxy.acl_udp_dport=proxy_udp_dport acl_udp_dport=$(uci -q get mihomo.proxy.acl_udp_dport); [ -n "$acl_udp_dport" ] && uci rename mihomo.proxy.acl_udp_dport=proxy_udp_dport
bypass_user=$(uci -q get mihomo.proxy.bypass_user); [ -z "$bypass_user" ] && { bypass_user=$(uci -q get mihomo.proxy.bypass_user); [ -z "$bypass_user" ] && {
uci add_list mihomo.proxy.bypass_user=aria2 uci add_list mihomo.proxy.bypass_user=aria2
uci add_list mihomo.proxy.bypass_user=dnsmasq uci add_list mihomo.proxy.bypass_user=dnsmasq
uci add_list mihomo.proxy.bypass_user=ftp uci add_list mihomo.proxy.bypass_user=ftp
uci add_list mihomo.proxy.bypass_user=logd uci add_list mihomo.proxy.bypass_user=logd
uci add_list mihomo.proxy.bypass_user=nobody uci add_list mihomo.proxy.bypass_user=nobody
uci add_list mihomo.proxy.bypass_user=ntp uci add_list mihomo.proxy.bypass_user=ntp
uci add_list mihomo.proxy.bypass_user=ubus uci add_list mihomo.proxy.bypass_user=ubus
} }
bypass_group=$(uci -q get mihomo.proxy.bypass_group); [ -z "$bypass_group" ] && { bypass_group=$(uci -q get mihomo.proxy.bypass_group); [ -z "$bypass_group" ] && {
uci add_list mihomo.proxy.bypass_group=aria2 uci add_list mihomo.proxy.bypass_group=aria2
uci add_list mihomo.proxy.bypass_group=dnsmasq uci add_list mihomo.proxy.bypass_group=dnsmasq
uci add_list mihomo.proxy.bypass_group=ftp uci add_list mihomo.proxy.bypass_group=ftp
uci add_list mihomo.proxy.bypass_group=logd uci add_list mihomo.proxy.bypass_group=logd
uci add_list mihomo.proxy.bypass_group=nogroup uci add_list mihomo.proxy.bypass_group=nogroup
uci add_list mihomo.proxy.bypass_group=ntp uci add_list mihomo.proxy.bypass_group=ntp
uci add_list mihomo.proxy.bypass_group=ubus uci add_list mihomo.proxy.bypass_group=ubus
} }
# since v1.12.0 # since v1.12.0
env=$(uci -q get mihomo.env); [ -z "$env" ] && { env=$(uci -q get mihomo.env); [ -z "$env" ] && {
uci set mihomo.env=env uci set mihomo.env=env
uci set mihomo.env.disable_safe_path_check=0 uci set mihomo.env.disable_safe_path_check=0
uci set mihomo.env.disable_loopback_detector=0 uci set mihomo.env.disable_loopback_detector=0
uci set mihomo.env.disable_quic_go_gso=0 uci set mihomo.env.disable_quic_go_gso=0
uci set mihomo.env.disable_quic_go_ecn=0 uci set mihomo.env.disable_quic_go_ecn=0
} }
# since v1.15.0 # since v1.15.0
tun_device=$(uci -q get mihomo.mixin.tun_device); [ -z "$tun_device" ] && uci set mihomo.mixin.tun_device=mihomo tun_device=$(uci -q get mihomo.mixin.tun_device); [ -z "$tun_device" ] && uci set mihomo.mixin.tun_device=mihomo
# since v1.16.0
unify_delay=$(uci -q get mihomo.mixin.unify_delay); [ -z "$unify_delay" ] && uci set mihomo.mixin.unify_delay=1
tcp_concurrent=$(uci -q get mihomo.mixin.tcp_concurrent); [ -z "$tcp_concurrent" ] && uci set mihomo.mixin.tcp_concurrent=1
sniffer=$(uci -q get mihomo.mixin.sniffer); [ -z "$sniffer" ] && {
uci set mihomo.mixin.sniffer=0
uci set mihomo.mixin.sniffer_sniff_dns_mapping=1
uci set mihomo.mixin.sniffer_sniff_pure_ip=1
uci set mihomo.mixin.sniffer_overwrite_destination=0
uci set mihomo.mixin.sniffer_force_domain_name=0
uci set mihomo.mixin.sniffer_ignore_domain_name=0
uci set mihomo.mixin.sniffer_sniff=0
uci add mihomo sniff
uci set mihomo.@sniff[-1].enabled=1
uci set mihomo.@sniff[-1].protocol=HTTP
uci add_list mihomo.@sniff[-1].port=80
uci add_list mihomo.@sniff[-1].port=8080
uci set mihomo.@sniff[-1].overwrite_destination=1
uci add mihomo sniff
uci set mihomo.@sniff[-1].enabled=1
uci set mihomo.@sniff[-1].protocol=TLS
uci add_list mihomo.@sniff[-1].port=443
uci add_list mihomo.@sniff[-1].port=8443
uci set mihomo.@sniff[-1].overwrite_destination=1
uci add mihomo sniff
uci set mihomo.@sniff[-1].enabled=1
uci set mihomo.@sniff[-1].protocol=QUIC
uci add_list mihomo.@sniff[-1].port=443
uci add_list mihomo.@sniff[-1].port=8443
uci set mihomo.@sniff[-1].overwrite_destination=1
}
uci show mihomo | grep -E 'mihomo.@host\[[[:digit:]]+\]=host' | sed 's/mihomo.@host\[\([[:digit:]]\+\)\]=host/set mihomo.@host[\1]=hosts/' | uci batch
# commit # commit
uci commit mihomo uci commit mihomo