先介绍一下什么是mihomo:

Mihomo原名Clash Meta,是基于广受欢迎的开源网络代理工具Clash开发的增强网络代理工具。它不仅继承了Clash的核心功能,还增加了一些独特的特性,如支持更多的出站传输协议和复杂的规则控制等。在2023年经历了Clash for Windows删库事件之后,原Clash项目删库停止更新,于是开发者将Clash Meta改名为Mihomo,继续进行维护和更新。

所以,曾经使用过clash的应该可以很快上手。

mihomo官网

在本篇文章中,将会使用mihomo内核来进行代理,同时还会打开TUN模式实现透明代理。如有需要请接着往下看吧。

mihomo安装和配置

下载mihomo内核

  1. 进入mihomo内核下载地址去下载对应架构版本的文件。比如mihomo-linux-amd64-alpha-b3db113.gz,解压后将mihomo-linux-amd64上传到虚拟机上,同时重命名为mihomo

    如果访问不到github的话,这里提供一个mihomo-linux-amd64-go120-v1.19.1.gz

  2. 给 mihomo 增加执行权限:

    1
    sudo chmod +x mihomo
  3. mihomo移动到/usr/local/bin/目录

    1
    sudo cp mihomo /usr/local/bin
  4. 创建运行目录

    1
    sudo mkdir /etc/mihomo -p

配置运行环境

将下面的一键压缩包解压到/etc/mihomo的目录下

1
2
wget https://alist.zfxt.top/d/%E5%85%B1%E4%BA%AB/%E8%93%9D%E5%87%91%E4%BA%91/mihomo/mihomo.tar.gz?sign=rgPU33U--8YAKNPfKIfWWGX-x1vtbLHH0JxO4JuobRc=:0 -O mihomo.tar.gz
tar -zxvf mihomo.tar.gz

一键压缩包

我提供的压缩包中含有的内容,包括几个常用的数据库和MetaCubeXd外部UI。你只需要详细阅读config.yaml(里面已经有很丰富的注释)。

Linux配置mihomo代理并开启TUN模式-2025-01-12-20-43-38

UI展示
Linux配置mihomo代理并开启TUN模式-2025-01-12-20-45-25

config.yaml的具体说明如下,在此特别鸣谢 煎饼果子卷鲨鱼辣椒 这里贴上大佬原文

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
# ClashMeta 高级优化配置
# 最后更新:2024-10-28
# 作者:🥞煎饼果子卷鲨鱼辣椒🌶️

#------------------------基础配置------------------------#
mixed-port: 7890 # 混合端口:HTTP(S)和SOCKS5共用端口
geodata-mode: true # GEO模式:true使用geoip.dat数据库,false使用mmdb数据库
tcp-concurrent: true # TCP并发:允许并发连接TCP,提高并发性能
unified-delay: true # 统一延迟:统一显示节点延迟
allow-lan: true # 局域网连接:允许其他设备经过本机代理
bind-address: "*" # 监听地址:*表示绑定所有IP地址
find-process-mode: strict # 进程匹配模式:strict严格,off关闭,always总是
ipv6: false # IPv6开关:是否启用IPv6支持

# 运行模式(任选其一):
# rule: 规则模式 - 根据规则匹配来选择代理
# global: 全局模式 - 全部流量走代理
# direct: 直连模式 - 全部流量不走代理
mode: rule

# 日志等级(按详细程度排序):
# debug: 调试
# info: 信息
# warning: 警告
# error: 错误
# silent: 静默
log-level: info

# 外部控制设置
external-controller: 0.0.0.0:9090 # 外部控制器监听地址
external-ui: /etc/mihomo/ui # 外部控制器UI目录
secret: "" # 外部控制器密码

#------------------------性能调优------------------------#
tcp-concurrent-users: 64 # TCP并发连接数,根据服务器性能调整,建议值:16-128
keep-alive-interval: 15 # 保活心跳间隔(秒),建议值:15-30
inbound-tfo: true # 入站TCP Fast Open
outbound-tfo: true # 出站TCP Fast Open
# Windows示例
#interface-name: WLAN # Windows中的无线网卡名称
# 或
#interface-name: 以太网 # Windows中的有线网卡名称
# macOS示例
#interface-name: en0 # macOS中通常是Wi-Fi
# 或
#interface-name: en1 # macOS中通常是有线网卡
# Linux示例
#interface-name: eth0 # Linux中常见的有线网卡名
# 或
#interface-name: wlan0 # Linux中常见的无线网卡名

# 连接池配置
connection-pool-size: 256 # 连接池大小,建议值:128-512
idle-timeout: 60 # 空闲超时时间(秒)

#------------------------TLS 配置------------------------#
tls:
enable: true # 启用TLS支持
skip-cert-verify: false # 是否跳过证书验证
alpn: # 应用层协议协商
- h2 # HTTP/2
- http/1.1 # HTTP/1.1
min-version: "1.2" # 最低TLS版本
max-version: "1.3" # 最高TLS版本
cipher-suites: # 加密套件优先级
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305

#------------------------TUN 配置------------------------#
tun:
enable: true
stack: system
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
- tcp://any:53

#------------------------DNS 配置------------------------#
dns:
enable: true # 启用DNS服务器
prefer-h3: true # 优先使用HTTP/3查询
ipv6: false # DNS解析IPv6
listen: 0.0.0.0:53 # DNS监听地址
enhanced-mode: redir-host # DNS模式: fake-ip或redir-host
use-hosts: true # 使用hosts文件

# 默认DNS服务器(用于解析其他DNS服务器的域名)
default-nameserver:
- 223.5.5.5 # 阿里DNS
- 119.29.29.29 # 腾讯DNS

# DNS服务器分流策略
nameserver-policy:
'www.google.com': 'https://dns.google/dns-query' # Google域名使用Google DNS
'www.facebook.com': 'https://dns.google/dns-query' # Facebook域名使用Google DNS
'.cn': 'https://doh.pub/dns-query' # 中国域名使用国内DNS

# Fake-IP配置
fake-ip-range: 198.18.0.1/16 # Fake-IP地址段
fake-ip-filter: # Fake-IP过滤清单
- "*.lan" # 本地域名
- "localhost.ptlogin2.qq.com" # QQ登录

# 主要DNS服务器
nameserver:
# 国内DNS服务器
- https://doh.pub/dns-query#h3=true # DNSPod DOH
- https://dns.alidns.com/dns-query#h3=true # 阿里 DOH
- tls://223.5.5.5:853 # 阿里 DOT

# 国外DNS服务器
- https://dns.google/dns-query#h3=true # Google DOH
- https://cloudflare-dns.com/dns-query#h3=true # Cloudflare DOH
- quic://dns.adguard.com:784 # AdGuard DOQ

# 备用DNS服务器(用于解析国外域名)
fallback:
- https://dns.google/dns-query#h3=true
- https://1.1.1.1/dns-query#h3=true
- tls://8.8.8.8:853


# 代理提供商配置
proxy-providers:
订阅1:
type: http
url: ""
interval: 21600
path: ./proxy_providers/sub1.yaml
health-check:
enable: true
url: http://www.google.com/generate_204
interval: 1800
订阅2:
type: http
url: ""
interval: 21600
path: ./proxy_providers/sub2.yaml
health-check:
enable: true
url: http://www.google.com/generate_204
interval: 1800


#代理分组
# include-all-providers: true 自动引入【proxy-providers】所有代理集合,顺序将按照名称排序
proxy-groups:
#------------------------基础分组------------------------#
- name: 🚀 节点选择
type: select
proxies:
- ♻️ 自动选择
- 🔯 故障转移
- 🔮 负载均衡
- 🇭🇰 香港节点
- 🇲🇴 澳门节点
- 🇨🇳 台湾节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇲 美国节点
- 🇬🇧 英国节点
- 🇩🇪 德国节点
- 🇫🇷 法国节点
- 🇮🇳 印度节点
- 🇸🇬 狮城节点
- 🇮🇩 印尼节点
- 🇻🇳 越南节点
- 🇹🇭 泰国节点
- 🇦🇺 澳洲节点
- 🇧🇷 巴西节点
- 🌍 其他节点
- DIRECT

- name: ♻️ 自动选择
type: url-test
include-all-providers: true
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100 # 调整延迟容差为100ms

- name: 🔯 故障转移
type: fallback
include-all-providers: true
url: http://www.gstatic.com/generate_204
interval: 300

- name: 🔮 负载均衡
type: load-balance
strategy: consistent-hashing
include-all-providers: true
url: http://www.gstatic.com/generate_204
interval: 300

#------------------------地区分组------------------------#
- name: 🇭🇰 香港节点
type: url-test
include-all-providers: true
filter: "(?i)港|hk|hongkong|hong kong"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇲🇴 澳门节点
type: url-test
include-all-providers: true
filter: "(?i)澳门|门|mo|macao"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇨🇳 台湾节点
type: url-test
include-all-providers: true
filter: "(?i)台|tw|taiwan|taipei"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇯🇵 日本节点
type: url-test
include-all-providers: true
filter: "(?i)日本|jp|japan|tokyo|osaka"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇰🇷 韩国节点
type: url-test
include-all-providers: true
filter: "(?i)韩|kr|korea|seoul"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇺🇲 美国节点
type: url-test
include-all-providers: true
filter: "(?i)美|us|united states|america|los angeles|san jose|silicon valley"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇬🇧 英国节点
type: url-test
include-all-providers: true
filter: "(?i)英|uk|united kingdom|london"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇩🇪 德国节点
type: url-test
include-all-providers: true
filter: "(?i)德|de|germany|frankfurt"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇫🇷 法国节点
type: url-test
include-all-providers: true
filter: "(?i)法|fr|france|paris"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇮🇳 印度节点
type: url-test
include-all-providers: true
filter: "(?i)印度|in|india|mumbai"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇸🇬 狮城节点
type: url-test
include-all-providers: true
filter: "(?i)新|sg|singapore"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇮🇩 印尼节点
type: url-test
include-all-providers: true
filter: "(?i)印尼|印度尼西亚|id|indonesia|jakarta"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇻🇳 越南节点
type: url-test
include-all-providers: true
filter: "(?i)越南|vn|vietnam"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇹🇭 泰国节点
type: url-test
include-all-providers: true
filter: "(?i)泰国|th|thailand|bangkok"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇦🇺 澳洲节点
type: url-test
include-all-providers: true
filter: "(?i)澳大利亚|au|australia|sydney"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🇧🇷 巴西节点
type: url-test
include-all-providers: true
filter: "(?i)巴西|br|brazil"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

- name: 🌍 其他节点
type: url-test
include-all-providers: true
filter: "(?i)^(?!.*(香港|台湾|日本|韩国|新加坡|美国|英国|德国|法国|印度|泰国|越南|印尼|澳大利亚|巴西|港|台|日|韩|新|美|英|德|法|印|泰|越|尼|澳|巴|hk|tw|jp|kr|sg|us|uk|de|fr|in|th|vn|id|au|br)).*"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100

#------------------------场景分组------------------------#

- name: 🎬 国外媒体
type: select
proxies:
- 🚀 节点选择
- 🇭🇰 香港节点
- 🇨🇳 台湾节点
- 🇯🇵 日本节点
- 🇺🇲 美国节点
- 🇸🇬 狮城节点

- name: 🎮 游戏平台
type: select
proxies:
- 🚀 节点选择
- 🔯 故障转移
- 🇭🇰 香港节点
- 🇯🇵 日本节点
- 🇺🇲 美国节点
- 🇸🇬 狮城节点
- DIRECT

- name: 📱 即时通讯
type: select
proxies:
- 🚀 节点选择
- 🔯 故障转移
- 🇭🇰 香港节点
- 🇯🇵 日本节点
- 🇺🇲 美国节点
- 🇸🇬 狮城节点

- name: 🤖 AI平台
type: select
proxies:
- 🇯🇵 日本节点
- 🇺🇲 美国节点
- 🇸🇬 狮城节点
- 🇰🇷 韩国节点
- 🚀 节点选择
- 🔯 故障转移

- name: 🔧 GitHub
type: select
proxies:
- 🚀 节点选择
- 🔯 故障转移
- 🇭🇰 香港节点
- 🇨🇳 台湾节点
- 🇯🇵 日本节点
- 🇺🇲 美国节点
- 🇸🇬 狮城节点
- DIRECT


- name: Ⓜ️ 微软服务
type: select
proxies:
- 🚀 节点选择
- 🇭🇰 香港节点
- 🇨🇳 台湾节点
- 🇯🇵 日本节点
- 🇺🇲 美国节点
- 🇸🇬 狮城节点
- DIRECT

- name: 🍎 苹果服务
type: select
proxies:
- 🚀 节点选择
- 🇭🇰 香港节点
- 🇨🇳 台湾节点
- 🇯🇵 日本节点
- 🇺🇲 美国节点
- 🇸🇬 狮城节点
- DIRECT

#------------------------特殊分组------------------------#
- name: 🎯 全球直连
type: select
proxies:
- DIRECT
- 🚀 节点选择

- name: 🛑 广告拦截
type: select
proxies:
- REJECT
- DIRECT

- name: 🍃 应用净化
type: select
proxies:
- REJECT
- DIRECT

- name: 🆎 AdBlock
type: select
proxies:
- REJECT
- DIRECT

- name: 🛡️ 隐私防护
type: select
proxies:
- REJECT
- DIRECT

- name: 🐟 漏网之鱼
type: select
proxies:
- 🚀 节点选择
- 🎯 全球直连
- ♻️ 自动选择
- 🔯 故障转移

# 规则提供商配置 - 优化版
rule-providers:
# 广告规则
reject:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400

# 隐私规则
privacy:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script/rule/Clash/Privacy/Privacy.yaml"
path: ./ruleset/privacy.yaml
interval: 86400

# 广告扩展规则
reject-extra:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script/rule/Clash/AdvertisingLite/AdvertisingLite.yaml"
path: ./ruleset/reject-extra.yaml
interval: 86400

# AI平台规则
ai-platforms:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script/rule/Clash/OpenAI/OpenAI.yaml"
path: ./ruleset/ai-platforms.yaml
interval: 86400

# 流媒体规则
streaming:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script/rule/Clash/GlobalMedia/GlobalMedia.yaml"
path: ./ruleset/streaming.yaml
interval: 86400

# 社交通讯规则
social:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script/rule/Clash/Telegram/Telegram.yaml"
path: ./ruleset/social.yaml
interval: 86400

# 微软服务规则
microsoft:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script/rule/Clash/Microsoft/Microsoft.yaml"
path: ./ruleset/microsoft.yaml
interval: 86400

# 苹果服务规则
apple:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script/rule/Clash/Apple/Apple.yaml"
path: ./ruleset/apple.yaml
interval: 86400

# 游戏平台规则
games:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script/rule/Clash/Game/Game.yaml"
path: ./ruleset/games.yaml
interval: 86400

# 开发平台规则
dev-platforms:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script/rule/Clash/GitHub/GitHub.yaml"
path: ./ruleset/dev-platforms.yaml
interval: 86400

# 规则配置 - 优化版
rules:
# 优先处理
- RULE-SET,reject,🛑 广告拦截,no-resolve
- RULE-SET,privacy,🛡️ 隐私防护,no-resolve
- RULE-SET,reject-extra,🆎 AdBlock,no-resolve

# 本地局域网
- DOMAIN-SUFFIX,local,DIRECT
- DOMAIN-SUFFIX,localhost,DIRECT
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,172.16.0.0/12,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,17.0.0.0/8,DIRECT
- IP-CIDR,100.64.0.0/10,DIRECT
- IP-CIDR,224.0.0.0/4,DIRECT
- IP-CIDR6,fe80::/10,DIRECT

# 应用分流
- RULE-SET,ai-platforms,🤖 AI平台,no-resolve
- RULE-SET,streaming,🎬 国外媒体,no-resolve
- RULE-SET,social,📱 即时通讯,no-resolve
- RULE-SET,microsoft,Ⓜ️ 微软服务,no-resolve
- RULE-SET,apple,🍎 苹果服务,no-resolve
- RULE-SET,games,🎮 游戏平台,no-resolve
- RULE-SET,dev-platforms,🔧 GitHub,no-resolve

# 自定义规则
- PROCESS-NAME,clash,DIRECT
- PROCESS-NAME,v2ray,DIRECT
- PROCESS-NAME,xray,DIRECT
- PROCESS-NAME,naive,DIRECT
- PROCESS-NAME,trojan,DIRECT
- PROCESS-NAME,trojan-go,DIRECT
- PROCESS-NAME,ss-local,DIRECT
- PROCESS-NAME,privoxy,DIRECT
- PROCESS-NAME,leaf,DIRECT
- PROCESS-NAME,Thunder,DIRECT
- PROCESS-NAME,DownloadService,DIRECT
- PROCESS-NAME,qBittorrent,DIRECT
- PROCESS-NAME,Transmission,DIRECT
- PROCESS-NAME,fdm,DIRECT
- PROCESS-NAME,aria2c,DIRECT
- PROCESS-NAME,Folx,DIRECT
- PROCESS-NAME,NetTransport,DIRECT
- PROCESS-NAME,uTorrent,DIRECT
- PROCESS-NAME,WebTorrent,DIRECT

# 地域规则
- GEOIP,LAN,DIRECT,no-resolve
- GEOIP,CN,DIRECT,no-resolve

# 兜底规则
- MATCH,🚀 节点选择

在上面的配置文件中,一般只需要查看代理提供商配置这部分的内容,并添加上机场给你的配置文件即可。

将mihomo注册为service

  1. 在将mihomo添加到系统服务之前,最好手动运行一次观察是否正常。

    1
    sudo /usr/local/bin/mihomo -d /etc/mihomo
  2. 如果启动成功,没出现错误信息,那就可以创建 mihomo 服务:

    1
    sudo vim /etc/systemd/system/mihomo.service
  3. 粘贴以下内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    [Unit]
    Description=mihomo Daemon, Another Clash Kernel.
    After=network.target NetworkManager.service systemd-networkd.service iwd.service

    [Service]
    Type=simple
    LimitNPROC=500
    LimitNOFILE=1000000
    CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SYS_TIME CAP_SYS_PTRACE CAP_DAC_READ_SEARCH
    AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SYS_TIME CAP_SYS_PTRACE CAP_DAC_READ_SEARCH
    Restart=always
    ExecStartPre=/usr/bin/sleep 1s
    ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
    ExecReload=/bin/kill -HUP $MAINPID

    [Install]
    WantedBy=multi-user.target
  4. 重载systemd并启动mihomo服务

    1
    2
    3
    systemctl daemon-reload # 重载 systemd
    systemctl enable mihomo # 允许服务自启动
    systemctl start mihomo # 启动服务

接下来访问对应的ip的控制面板http://xxx.xxx.xxx.xxx/ui:9090就可以控制你的mihomo代理了。

配置TUN模式

解释:

TUN 模式是 Windows 系统中的一种虚拟网络接口模式,全称为”TUNnel”模式。
TUN 模式会创建一个虚拟的点对点网络连接,这个连接会显得像一个真实的物理网络接口一样。它常用于创建 VPN(虚拟私有网络)连接。
TUN是三层设备 ,模拟一个网络层设备,操作第三层数据包比如 IP 数据包,TUN 虚拟网卡实现 IP 层隧道
Tun 模式通过新建一个 Tun 虚拟网卡接受操作系统的三层浏览流量,从而拓展 Clash 入口(inbound)转发能力,Tun 模式可以提升 Clash 处理 UDP 流量的能力,可以劫持任何三层流量,实现 DNS 劫持也是轻而易举,并且它与部分操作系统的网络栈结合也非常好,可以提升利用 iptables 等组件的能力

相比于普通的全局代理模式(即配置http_proxy之类,详见我曾经的某篇文章clash快速开启和关闭代理模式)

TUN模式会从网络层,将所有的数据都进行转发。(解决了一些:docker必须单独配置主动代理,docker内容器无法走代理以及一些系统层面不走普通代理的问题) 这种模式在我平常玩路由器配置openclash的时候,一般都称之为透明代理。而这才是我最需要的功能。

开启流量转发

  1. 编辑/etc/sysctl.conf文件

    1
    vim /etc/sysctl.conf
  2. 将以下代码取消注释

    1
    2
    net.ipv4.ip_forward=1
    net.ipv6.conf.all.forwarding=1
  3. 加载内核参数

    1
    sysctl -p

具体的TUN配置已经在上面的config.yaml中配置完了。所以到这里为止。我们就可以愉快的玩耍了!
(声明,我并没有使用fake-ip模式。考虑原因的话,我觉得我不是特别需要很好的性能,相对而言可以直观的看到ping通的信号更加方便)
关于如何使用路由器实现透明代理的话,我以后再出篇博客重新讲。

部分引用自Linux 安装 Clash 内核并开启透明代理