قالب اشتراک mihomo
mihomo (نام پیشین Clash Meta) — هستهٔ خانوادهٔ Clash است. اشتراک را در قالب YAML میپذیرد و خودش از آن پیکربندی میسازد: پورتهای محلی، DNS و حالت کار را انتخاب میکند. نکتهٔ مهم این است: VLESS+Reality را فقط هستههای Meta (mihomo، clash-meta) پشتیبانی میکنند؛ Clash Premium کلاسیک چنین اشتراکی را نمیفهمد.
ساختار YAML
| بخش | برای چه |
|---|---|
mixed-port | پورت محلی برای HTTP و SOCKS بهطور همزمان |
allow-lan, mode, log-level | حالتهای پایهٔ کار |
dns | DNS resolver هسته |
proxies | فهرست سرورها (یکی برای هر inbound) |
proxy-groups | گروههای انتخاب: خودکار یا دستی |
rules | قواعد مسیریابی |
پروکسی
بلوک proxies پارامترهای inbound شما در Xray را تکرار میکند. نمونهای برای
VLESS+Reality+Vision:
proxies:
- name: "MyServer-Reality"
type: vless
server: 203.0.113.10
port: 443
uuid: 11111111-2222-3333-4444-555555555555
udp: true
network: tcp
tls: true
flow: xtls-rprx-vision
servername: www.microsoft.com
client-fingerprint: chrome
reality-opts:
public-key: REALITY_PUBLIC_KEY
short-id: "ab12"
گزینهٔ پشتیبان VLESS+WS+TLS برای هستههای قدیمی از نظر transport تفاوت دارد:
proxies:
- name: "MyServer-WS"
type: vless
server: 203.0.113.10
port: 443
uuid: 11111111-2222-3333-4444-555555555555
udp: true
network: ws
tls: true
servername: sub.example.com
client-fingerprint: chrome
ws-opts:
path: /ws
headers:
Host: sub.example.com
| فیلد mihomo | مقدار برای VLESS |
|---|---|
type | همیشه vless |
server, port | نشانی و پورت از vnext |
uuid | id کاربر |
udp | فعالکردن انتقال UDP |
network | tcp برای Reality، ws برای WebSocket |
tls | true در هر دو حالت |
flow | xtls-rprx-vision برای Reality |
servername | SNI (دامنهٔ پوششی) |
client-fingerprint | اثر انگشت TLS، معمولاً chrome |
reality-opts | public-key و short-id برای Reality |
ws-opts | path و هدر Host برای WebSocket |
uuid اطلاعات احراز هویت کاربر است. YAML را منتشر نکنید و آن را در
گفتگوهای عمومی نفرستید: هر کس آن را دریافت کند، مانند شما به سرور شما
وصل میشود.
Proxy-groups
گروهها تعیین میکنند کدام سرور استفاده شود. url-test خودکار سریعترین را
انتخاب میکند و select انتخاب دستی میدهد:
proxy-groups:
- name: AUTO
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 50
proxies:
- MyServer-Reality
- MyServer-WS
- name: PROXY
type: select
proxies:
- AUTO
- MyServer-Reality
- MyServer-WS
در گروه select هم AUTO و هم سرورهای جداگانه را نگه دارید: اگر بررسی
خودکار از کار بیفتد، کاربر میتواند دستی جابهجا شود.
Rules
حداقل مجموعهٔ قواعد، شبکهٔ محلی را مستقیم و همهٔ بقیه را از پروکسی عبور میدهد:
rules:
- GEOIP,LAN,DIRECT
- MATCH,PROXY
فهرست قواعد را بهفراخور نیاز گسترش میدهند: قواعد مسیریابی در پنل در بخش قواعد مسیریابی توضیح داده شده است.
جانشانی از پیکربندی Xray
اگر پیکربندی کلاینت Xray را دارید، فیلدها یکبهیک به mihomo منتقل میشوند:
| Xray (JSON کلاینت) | mihomo |
|---|---|
outbounds[].settings.vnext[].address | server |
outbounds[].settings.vnext[].port | port |
outbounds[].settings.vnext[].users[].id | uuid |
users[].flow | flow |
streamSettings.network | network |
streamSettings.security | tls: true + reality-opts |
realitySettings.serverName | servername |
realitySettings.publicKey | reality-opts.public-key |
realitySettings.shortId | reality-opts.short-id |
realitySettings.fingerprint | client-fingerprint |
wsSettings.path | ws-opts.path |
wsSettings.headers.Host | ws-opts.headers.Host |
برای نمونه، قطعهای از پیکربندی کلاینت
{
"outbounds": [
{
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "203.0.113.10",
"port": 443,
"users": [{ "id": "11111111-2222-3333-4444-555555555555", "flow": "xtls-rprx-vision" }]
}
]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"serverName": "www.microsoft.com",
"publicKey": "REALITY_PUBLIC_KEY",
"shortId": "ab12",
"fingerprint": "chrome"
}
}
}
]
}
دقیقاً به اولین proxy از نمونهٔ بالا تبدیل میشود.
چگونه این به کلاینت میرسد
یک پیکربندی JSON مشترک به کاربر ندهید: در آن باید پورتهای محلی و DNS یک
برنامهٔ مشخص را ثابت میکردید. لینک اشتراک را بدهید — آنوقت هر برنامه
پیکربندی خودش را میسازد. کلاینتهای خانوادهٔ Clash/mihomo/Stash خودشان YAML
را درخواست میکنند: سرور اشتراک قالب را از هدر User-Agent تشخیص میدهد و
بازهٔ بهروزرسانی خودکار را نیز با هدر Profile-Update-Interval اعلام میکند.
همان اشتراک همهجا کار میکند: mihomo فایل YAML را میگیرد و کلاینتهای مبتنی بر Xray-core رشتهٔ base64 همراه لینکها را. نیازی به جدا کردن اشتراکها بر اساس کلاینت نیست.