پرش به مطلب اصلی

قالب اشتراک 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حالت‌های پایهٔ کار
dnsDNS 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
uuidid کاربر
udpفعال‌کردن انتقال UDP
networktcp برای Reality، ws برای WebSocket
tlstrue در هر دو حالت
flowxtls-rprx-vision برای Reality
servernameSNI (دامنهٔ پوششی)
client-fingerprintاثر انگشت TLS، معمولاً chrome
reality-optspublic-key و short-id برای Reality
ws-optspath و هدر 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[].addressserver
outbounds[].settings.vnext[].portport
outbounds[].settings.vnext[].users[].iduuid
users[].flowflow
streamSettings.networknetwork
streamSettings.securitytls: true + reality-opts
realitySettings.serverNameservername
realitySettings.publicKeyreality-opts.public-key
realitySettings.shortIdreality-opts.short-id
realitySettings.fingerprintclient-fingerprint
wsSettings.pathws-opts.path
wsSettings.headers.Hostws-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 همراه لینک‌ها را. نیازی به جدا کردن اشتراک‌ها بر اساس کلاینت نیست.

گام‌های بعدی​