Mihomo 到底是什么?
如果第一次接触 Mihomo,你可能会觉得它很复杂。
配置文件里一大堆:
proxies
proxy-groups
rules
dns
tun
listeners
不要慌张,半途而废就可以了。
我们先来了解:
Mihomo 到底是干什么的?
一句话
你可以先把 Mihomo 理解成:
一个负责接收网络流量、判断流量应该怎么走,然后建立连接的网络核心。
例如:
你的设备
↓
Mihomo
↓
代理服务器
↓
目标网站
Mihomo 就像站在中间的“交通指挥员”。
它收到请求之后,会判断:
这个请求要去哪里?
↓
有没有匹配规则?
↓
应该直连还是代理?
↓
如果代理,应该用哪个节点?
↓
最后怎么连接?
Mihomo 是代理服务端吗?
当然可以,但要看你怎么使用 Mihomo。
Mihomo 本身是一个代理核心,既可以运行在你的电脑、手机等设备上,也可以运行在服务器上。
当 Mihomo 运行在你的设备上时,它通常负责接收本机的网络流量,然后根据规则决定这些流量应该怎么走:
你的电脑
│
网络请求
↓
Mihomo
│
根据规则选择路线
↓
代理服务器
│
↓
目标
这种情况下,Mihomo 更像是一个代理客户端背后的核心。
但 Mihomo 也可以运行在服务器上,并作为代理服务端使用。
这时候,其他设备可以连接到这台运行 Mihomo 的服务器:
其他设备
│
连接请求
↓
服务器上的 Mihomo
│
处理 / 转发流量
↓
目标
所以,更准确地说:
Mihomo 不是单纯的“客户端”或者“服务端”。它是一个代理核心,具体扮演什么角色,取决于它运行在哪里,以及你如何配置它。
简单来说:
Mihomo 运行在你的电脑
↓
通常作为本地代理核心
Mihomo 运行在服务器
↓
可作为代理服务端
因此,以后看到“Mihomo 客户端”这个说法时,也可以把它理解成:
使用 Mihomo 作为核心的客户端程序。
而不是说:
Mihomo 本身只能作为客户端。
为什么需要 Mihomo?
假设你有很多不同的代理:
日本
香港
新加坡
美国
你可能希望:
网站 A → 直连
网站 B → 日本
网站 C → 香港
网站 D → 自动选择
如果全部手动处理,会非常麻烦,(毕竟你也不想开一个网站就换一个节点吧)
Mihomo 可以帮你把这些东西组织起来:
Mihomo
┌───────┼────────┐
↓ ↓ ↓
DNS 规则 代理组
│
↓
节点
│
↓
代理服务器
所以 Mihomo 真正厉害的地方,不只是“连接一个代理”。
而是:
它可以统一接收流量,并根据你的规则决定流量怎么走。
先记住这一句话
这篇文章你只记住一句话:
Mihomo = 接收流量 → 判断流量 → 决定路线 → 建立连接。
其他东西,我们后面慢慢来。