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
PKG_VERSION:=1.15.0
PKG_VERSION:=1.16.0
LUCI_TITLE:=LuCI Support for mihomo
LUCI_DEPENDS:=+luci-base +mihomo

View File

@ -34,12 +34,12 @@ return view.extend({
o.value('info');
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('rule', _('Rule 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('always', _('Enable'));
o.value('off', _('Disable'));
@ -50,6 +50,12 @@ return view.extend({
o = s.taboption('general', form.Flag, 'ipv6', '*' + ' ' + _('IPv6'));
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.datatype = 'uinteger';
o.placeholder = '600';
@ -207,7 +213,7 @@ return view.extend({
o = s.taboption('dns', form.Flag, 'hosts', _('Overwrite Hosts'));
o.rmempty = false;
o = s.taboption('dns', form.SectionValue, '_hosts', form.TableSection, 'host', _('Edit Hosts'));
o = s.taboption('dns', form.SectionValue, '_hosts', form.TableSection, 'hosts', _('Edit Hosts'));
o.retain = true;
o.depends('hosts', '1');
@ -226,7 +232,7 @@ return view.extend({
o = s.taboption('dns', form.Flag, 'dns_nameserver', _('Overwrite Nameserver'));
o.rmempty = false;
o = s.taboption('dns', form.SectionValue, '_dns_nameserver', form.TableSection, 'nameserver', _('Edit Nameservers'));
o = s.taboption('dns', form.SectionValue, '_dns_nameservers', form.TableSection, 'nameserver', _('Edit Nameservers'));
o.retain = true;
o.depends('dns_nameserver', '1');
@ -265,6 +271,55 @@ return view.extend({
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'));
o = s.taboption('geox', form.ListValue, 'geoip_format', _('GeoIP Format'));

View File

@ -1,11 +1,11 @@
msgid ""
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"
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"
msgstr ""
@ -22,11 +22,11 @@ msgstr ""
msgid "All Port"
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"
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
msgid "Allow Mode"
msgstr ""
@ -48,7 +48,7 @@ msgstr ""
msgid "Auto"
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
msgid "Block Mode"
msgstr ""
@ -107,15 +107,15 @@ msgstr ""
msgid "Cron Expression"
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"
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"
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"
msgstr ""
@ -127,7 +127,7 @@ msgstr ""
msgid "Destination UDP Port to Proxy"
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"
msgstr ""
@ -155,31 +155,31 @@ msgstr ""
msgid "Disable Safe Path Check"
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"
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"
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"
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"
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"
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"
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"
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/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:119
#: 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:237
#: 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:301
#: 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:224
#: 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:266
#: 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
msgid "Enable"
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"
msgstr ""
@ -212,19 +214,19 @@ msgstr ""
msgid "Expire At"
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"
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"
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"
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"
msgstr ""
@ -249,11 +251,15 @@ msgstr ""
msgid "File:"
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"
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"
msgstr ""
@ -261,39 +267,39 @@ msgstr ""
msgid "General Config"
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"
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"
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"
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"
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"
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"
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"
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"
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"
msgstr ""
@ -305,7 +311,7 @@ msgstr ""
msgid "Grant access to mihomo procedures"
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"
msgstr ""
@ -313,7 +319,7 @@ msgstr ""
msgid "How To Use"
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"
msgstr ""
@ -326,7 +332,7 @@ msgid "IPv4 Proxy"
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:198
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:204
msgid "IPv6"
msgstr ""
@ -338,7 +344,11 @@ msgstr ""
msgid "IPv6 Proxy"
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"
msgstr ""
@ -363,7 +373,7 @@ msgstr ""
msgid "Log Level"
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"
msgstr ""
@ -371,11 +381,11 @@ msgstr ""
msgid "Match Process"
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"
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"
msgstr ""
@ -384,7 +394,7 @@ msgstr ""
msgid "MihomoTProxy"
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"
msgstr ""
@ -393,7 +403,7 @@ msgstr ""
msgid "Mixin Config"
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"
msgstr ""
@ -406,8 +416,8 @@ msgstr ""
msgid "Mode"
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:266
#: 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:272
msgid "Nameserver"
msgstr ""
@ -423,34 +433,55 @@ msgstr ""
msgid "Outbound Interface"
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"
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"
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"
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"
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"
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"
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"
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
msgid "Prefer"
msgstr ""
@ -464,6 +495,10 @@ msgstr ""
msgid "Profile for Startup"
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/root/usr/share/luci/menu.d/luci-app-mihomo.json:37
msgid "Proxy Config"
@ -473,7 +508,7 @@ msgstr ""
msgid "Redirect Mode"
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"
msgstr ""
@ -485,7 +520,7 @@ msgstr ""
msgid "Remote"
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"
msgstr ""
@ -505,11 +540,11 @@ msgstr ""
msgid "Running"
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"
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"
msgstr ""
@ -527,11 +562,27 @@ msgstr ""
msgid "Service is not running."
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"
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"
msgstr ""
@ -560,11 +611,15 @@ msgstr ""
msgid "Subscription:"
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"
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"
msgstr ""
@ -577,11 +632,11 @@ msgstr ""
msgid "TPROXY Mode"
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"
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"
msgstr ""
@ -606,7 +661,7 @@ msgstr ""
msgid "Transparent Proxy with Mihomo on OpenWrt."
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"
msgstr ""
@ -614,14 +669,18 @@ msgstr ""
msgid "UDP Proxy Mode"
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"
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"
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:84
msgid "Unknown"
@ -643,11 +702,11 @@ msgstr ""
msgid "Upload Profile"
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"
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"
msgstr ""
@ -659,6 +718,6 @@ msgstr ""
msgid "User Agent"
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"
msgstr ""

View File

@ -8,11 +8,11 @@ msgstr ""
"MIME-Version: 1.0\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"
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"
msgstr "API 密钥"
@ -29,11 +29,11 @@ msgstr "全部模式"
msgid "All Port"
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"
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
msgid "Allow Mode"
msgstr "白名单模式"
@ -55,7 +55,7 @@ msgstr "插件版本"
msgid "Auto"
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
msgid "Block Mode"
msgstr "黑名单模式"
@ -114,15 +114,15 @@ msgstr "核心版本"
msgid "Cron Expression"
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"
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"
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"
msgstr "DNS 端口"
@ -134,7 +134,7 @@ msgstr "要代理的 TCP 目标端口"
msgid "Destination UDP Port to Proxy"
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"
msgstr "设备名称"
@ -162,31 +162,31 @@ msgstr "禁用回环检测"
msgid "Disable Safe Path Check"
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"
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"
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"
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"
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"
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"
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"
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/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:119
#: 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:237
#: 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:301
#: 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:224
#: 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:266
#: 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
msgid "Enable"
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"
msgstr "独立于端点的 NAT"
@ -219,19 +221,19 @@ msgstr "独立于端点的 NAT"
msgid "Expire At"
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"
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"
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"
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"
msgstr "Fake-IP 范围"
@ -256,11 +258,15 @@ msgstr "IPv6 保留地址"
msgid "File:"
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"
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"
msgstr "分段最大长度"
@ -268,39 +274,39 @@ msgstr "分段最大长度"
msgid "General Config"
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"
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"
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"
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"
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"
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"
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"
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"
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"
msgstr "GeoX 文件更新间隔"
@ -312,7 +318,7 @@ msgstr "全局模式"
msgid "Grant access to mihomo procedures"
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"
msgstr "HTTP 端口"
@ -320,7 +326,7 @@ msgstr "HTTP 端口"
msgid "How To Use"
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"
msgstr ""
@ -333,7 +339,7 @@ msgid "IPv4 Proxy"
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:198
#: applications/luci-app-mihomo/htdocs/luci-static/resources/view/mihomo/mixin.js:204
msgid "IPv6"
msgstr ""
@ -345,7 +351,11 @@ msgstr "IPv6 DNS 劫持"
msgid "IPv6 Proxy"
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"
msgstr "入站配置"
@ -370,7 +380,7 @@ msgstr "日志"
msgid "Log Level"
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"
msgstr "最大传输单元"
@ -378,11 +388,11 @@ msgstr "最大传输单元"
msgid "Match Process"
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"
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"
msgstr "为内存受限设备优化的加载器"
@ -391,7 +401,7 @@ msgstr "为内存受限设备优化的加载器"
msgid "MihomoTProxy"
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"
msgstr "混合端口"
@ -400,7 +410,7 @@ msgstr "混合端口"
msgid "Mixin Config"
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"
msgstr "混入文件内容"
@ -413,8 +423,8 @@ msgstr "混入选项"
msgid "Mode"
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:266
#: 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:272
msgid "Nameserver"
msgstr "DNS 服务器"
@ -430,34 +440,55 @@ msgstr "打开面板"
msgid "Outbound Interface"
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"
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"
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"
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"
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"
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"
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"
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
msgid "Prefer"
msgstr "优先"
@ -471,6 +502,10 @@ msgstr "配置文件"
msgid "Profile for Startup"
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/root/usr/share/luci/menu.d/luci-app-mihomo.json:37
msgid "Proxy Config"
@ -480,7 +515,7 @@ msgstr "代理配置"
msgid "Redirect Mode"
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"
msgstr "Redirect 端口"
@ -492,7 +527,7 @@ msgstr "重载服务"
msgid "Remote"
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"
msgstr "遵循分流规则"
@ -512,11 +547,11 @@ msgstr "规则模式"
msgid "Running"
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"
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"
msgstr "保存节点/策略组选择"
@ -534,11 +569,27 @@ msgstr "滚动到底部"
msgid "Service is not running."
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"
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"
msgstr "标准加载器"
@ -567,11 +618,15 @@ msgstr "订阅链接"
msgid "Subscription:"
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"
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"
msgstr "TCP Keep Alive 间隔"
@ -584,11 +639,11 @@ msgstr "TCP 代理模式"
msgid "TPROXY Mode"
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"
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"
msgstr "TUN 配置"
@ -613,7 +668,7 @@ msgstr "透明代理"
msgid "Transparent Proxy with Mihomo on OpenWrt."
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"
msgstr "类型"
@ -621,14 +676,18 @@ msgstr "类型"
msgid "UDP Proxy Mode"
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"
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"
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:84
msgid "Unknown"
@ -650,11 +709,11 @@ msgstr "更新面板"
msgid "Upload Profile"
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"
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"
msgstr "使用系统的 Hosts"
@ -666,6 +725,6 @@ msgstr "已使用"
msgid "User Agent"
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"
msgstr "用户名"

View File

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

View File

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

View File

@ -138,7 +138,7 @@
showword = sys.exec("/usr/libexec/kucat/kucat_word")
end
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 .. ")"
end
-%>

View File

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

View File

@ -54,6 +54,8 @@ config mixin 'mixin'
option 'match_process' 'off'
option 'outbound_interface' ''
option 'ipv6' '0'
option 'unify_delay' '1'
option 'tcp_concurrent' '1'
option 'tcp_keep_alive_idle' '600'
option 'tcp_keep_alive_interval' '15'
option 'ui_name' ''
@ -89,6 +91,15 @@ config mixin 'mixin'
option 'hosts' '0'
option 'dns_nameserver' '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 'geodata_loader' 'memconservative'
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 'password' ''
config host
config hosts
option 'enabled' '0'
option 'domain_name' 'localhost'
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.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 log 'log'

View File

@ -59,11 +59,13 @@ start_service() {
config_get udp_transparent_proxy_mode "proxy" "udp_transparent_proxy_mode" "tproxy"
## mixin config
### 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 match_process "mixin" "match_process" "off"
config_get outbound_interface "mixin" "outbound_interface"
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_interval "mixin" "tcp_keep_alive_interval" 15
config_get log_level "mixin" "log_level" "info"
@ -107,6 +109,15 @@ start_service() {
config_get_bool hosts "mixin" "hosts" 0
config_get_bool dns_nameserver "mixin" "dns_nameserver" 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
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"
@ -172,13 +183,13 @@ start_service() {
log "Mixin" "Disabled."
log "Mixin" "Mixin neccesary config."
# 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" \
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" \
dns_enable="true" dns_listen="0.0.0.0:$dns_port" dns_mode="$dns_mode" fake_ip_range="$fake_ip_range" \
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) |
.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 |
@ -188,21 +199,23 @@ start_service() {
log "Mixin" "Enabled."
log "Mixin" "Mixin all config."
# 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" \
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" \
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" \
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" \
geox_auto_update="$geox_auto_update" geox_update_interval="$geox_update_interval" \
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 |
.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 |
.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 |
.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) |
.geo-auto-update = env(geox_auto_update) == 1 | .geo-update-interval = env(geox_update_interval)
' "$RUN_PROFILE_PATH"
@ -224,6 +237,18 @@ start_service() {
yq -M -i 'del(.dns.nameserver-policy)' "$RUN_PROFILE_PATH"
config_foreach mixin_nameserver_policies "nameserver_policy"
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
yq -M -i 'del (.bind-address)' "$RUN_PROFILE_PATH"
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"
}
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() {
local user; user="$1"
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
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=dnsmasq
uci add_list mihomo.proxy.bypass_user=ftp
uci add_list mihomo.proxy.bypass_user=logd
uci add_list mihomo.proxy.bypass_user=nobody
uci add_list mihomo.proxy.bypass_user=ntp
uci add_list mihomo.proxy.bypass_user=ubus
uci add_list mihomo.proxy.bypass_user=aria2
uci add_list mihomo.proxy.bypass_user=dnsmasq
uci add_list mihomo.proxy.bypass_user=ftp
uci add_list mihomo.proxy.bypass_user=logd
uci add_list mihomo.proxy.bypass_user=nobody
uci add_list mihomo.proxy.bypass_user=ntp
uci add_list mihomo.proxy.bypass_user=ubus
}
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=dnsmasq
uci add_list mihomo.proxy.bypass_group=ftp
uci add_list mihomo.proxy.bypass_group=logd
uci add_list mihomo.proxy.bypass_group=nogroup
uci add_list mihomo.proxy.bypass_group=ntp
uci add_list mihomo.proxy.bypass_group=ubus
uci add_list mihomo.proxy.bypass_group=aria2
uci add_list mihomo.proxy.bypass_group=dnsmasq
uci add_list mihomo.proxy.bypass_group=ftp
uci add_list mihomo.proxy.bypass_group=logd
uci add_list mihomo.proxy.bypass_group=nogroup
uci add_list mihomo.proxy.bypass_group=ntp
uci add_list mihomo.proxy.bypass_group=ubus
}
# since v1.12.0
env=$(uci -q get mihomo.env); [ -z "$env" ] && {
uci set mihomo.env=env
uci set mihomo.env.disable_safe_path_check=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_ecn=0
uci set mihomo.env=env
uci set mihomo.env.disable_safe_path_check=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_ecn=0
}
# since v1.15.0
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
uci commit mihomo