Skip to content

mihomo — چینش پیکربندی

mihomo در زمان راه‌اندازی یک سند YAML واحد را می‌خواند. سند ریشه به ساختار Go با نام RawConfig در config/config.go:392 نگاشته می‌شود. برخلاف Xray و sing-box، هیچ بلوک سطح-بالای log وجود ندارد — بیشتر سوییچ‌های عملیاتی، کلیدهای صاف در ریشهٔ سند هستند، با تعداد اندکی بلوک تو در تو برای حوزه‌های ویژگی (dns, tun, profile, …).

کلیدهای صاف سطح بالا

این‌ها فیلدهای اسکالر در ریشهٔ سند هستند.

کلیدفیلد Goنوعصفحهتوضیح
portPortintمبانیپورت پراکسی HTTP.
socks-portSocksPortintمبانیپورت پراکسی SOCKS.
redir-portRedirPortintمبانیپورت ورودی Linux REDIRECT.
tproxy-portTProxyPortintمبانیپورت ورودی Linux TPROXY.
mixed-portMixedPortintمبانیپورت مالتی‌پلکس HTTP + SOCKS.
ss-configShadowSocksConfigstringفاز ۳URI ورودی Shadowsocks.
vmess-configVmessConfigstringفاز ۳URI ورودی VMess.
inbound-tfoInboundTfoboolمبانیTCP Fast Open برای ورودی‌ها.
inbound-mptcpInboundMPTCPboolمبانیMultipath TCP برای ورودی‌ها.
authenticationAuthentication[]stringمبانیفهرست user:pass برای احراز هویت HTTP/SOCKS.
skip-auth-prefixesSkipAuthPrefixes[]netip.PrefixمبانیCIDRهای مبدأ که از احراز هویت رد می‌شوند.
lan-allowed-ipsLanAllowedIPs[]netip.Prefixمبانیفهرست مجاز وقتی allow-lan فعال است.
lan-disallowed-ipsLanDisAllowedIPs[]netip.Prefixمبانیفهرست ممنوع وقتی allow-lan فعال است.
allow-lanAllowLanboolمبانیمقیّد کردن شنونده‌ها به 0.0.0.0/:: به جای localhost.
bind-addressBindAddressstringمبانیبازنویسی آدرس bind (به همراه allow-lan).
modeModeT.TunnelModeمبانیrule / global / direct.
unified-delayUnifiedDelayboolمبانیحذف تورّش دست‌دهی در آزمون URL پراکسی.
log-levelLogLevellog.LogLevelگزارشdebug / info / warning / error / silent.
ipv6IPv6boolمبانیفعال‌سازی IPv6 در کل پشته.
external-controllerExternalControllerstringکنترلر خارجیآدرس گوش دادن API RESTful.
external-controller-pipeExternalControllerPipestringکنترلر خارجیمسیر named-pipe ویندوز برای API.
external-controller-unixExternalControllerUnixstringکنترلر خارجیمسیر سوکت Unix برای API.
external-controller-tlsExternalControllerTLSstringکنترلر خارجیآدرس گوش دادن TLS.
external-controller-corsExternalControllerCorsRawCorsکنترلر خارجیفهرست مجاز CORS.
external-uiExternalUIstringکنترلر خارجیدایرکتوری دارایی ایستا برای داشبورد.
external-ui-urlExternalUIURLstringکنترلر خارجیURL دانلود خودکار آرشیو داشبورد.
external-ui-nameExternalUINamestringکنترلر خارجیزیرشاخه زیر external-ui.
external-doh-serverExternalDohServerstringکنترلر خارجینقطه پایانی سرور DoH میزبانی‌شده توسط mihomo.
secretSecretstringکنترلر خارجیتوکن Bearer برای API.
interface-nameInterfacestringمبانیمقیّد کردن رابط خروجی.
routing-markRoutingMarkintمبانیLinux SO_MARK برای سوکت‌های خروجی.
tunnelsTunnels[]LC.Tunnelفاز ۶تونل‌های ایستای پورت-به-هدف.
geo-auto-updateGeoAutoUpdateboolداده‌های Geoتازه‌سازی خودکار دارایی‌های geoip/geosite.
geo-update-intervalGeoUpdateIntervalintداده‌های Geoبازهٔ تازه‌سازی خودکار (ساعت).
geodata-modeGeodataModeboolداده‌های Geoاستفاده از geoip.dat به جای Country.mmdb.
geodata-loaderGeodataLoaderstringداده‌های Geoانتخاب لودر (memconservative در برابر standard).
geosite-matcherGeositeMatcherstringداده‌های Geoپیاده‌سازی تطبیق‌دهنده.
tcp-concurrentTCPConcurrentboolمبانیمسابقهٔ شماره‌گیری A/AAAA.
find-process-modeFindProcessModeprocess.FindProcessModeمبانیstrict / always / off.
global-client-fingerprintGlobalClientFingerprintstringمبانیاثرانگشت پیش‌فرض uTLS برای خروجی‌ها.
global-uaGlobalUAstringمبانیپیش‌فرض User-Agent در HTTP.
etag-supportETagSupportboolمبانیاحترام به ETag هنگام واکشی اشتراک‌ها.
keep-alive-idleKeepAliveIdleintمبانیزمان بی‌کاری keepalive در TCP (ثانیه).
keep-alive-intervalKeepAliveIntervalintمبانیبازهٔ keepalive در TCP (ثانیه).
disable-keep-aliveDisableKeepAliveboolمبانیغیرفعال‌سازی keepalive در TCP.

بلوک‌ها و فهرست‌های تو در تو

کلیدفیلد Goنوعصفحهتوضیح
proxy-providersProxyProvidermap[string]map[string]anyفاز ۶فهرست پراکسی‌های راه دور.
rule-providersRuleProvidermap[string]map[string]anyفاز ۵مجموعه قواعد راه دور.
proxiesProxy[]map[string]anyفاز ۳تعریف پراکسی‌های خروجی.
proxy-groupsProxyGroup[]map[string]anyفاز ۵انتخابگرهای گروه / آزمون URL / جایگزین / توازن بار / بازپخش.
rulesRule[]stringفاز ۵قواعد مسیریابی (شکل رشتهٔ فشرده).
sub-rulesSubRulesmap[string][]stringفاز ۵گروه‌های نام‌گذاری‌شدهٔ زیرقواعد.
listenersListeners[]map[string]anyفاز ۳شنونده‌های ورودی با شکل آزاد.
hostsHostsmap[string]anyفاز ۵بازنویسی‌های ایستای DNS.
dnsDNSRawDNSفاز ۵بلوک زیرسیستم DNS.
ntpNTPRawNTPNTPکلاینت تعبیه‌شدهٔ NTP.
tunTunRawTunفاز ۶ورودی TUN.
tuic-serverTuicServerRawTuicServerفاز ۳ورودی TUIC.
iptablesIPTablesRawIPTablesiptablesپیکربندی خودکار iptables در لینوکس.
experimentalExperimentalRawExperimentalآزمایشیاثرانگشت‌ها، تنظیم QUIC، تبدیل IPv4-در-IPv6.
profileProfileRawProfileنمایهوضعیت ذخیره‌شده (پراکسی انتخاب‌شده، حافظهٔ fake-ip).
geox-urlGeoXUrlRawGeoXUrlداده‌های GeoURLهای دانلود برای چهار فایل دارایی Geo.
snifferSnifferRawSnifferاسنیفراسنیف اتصال (SNI در TLS، Host در HTTP، QUIC).
tlsTLSRawTLSTLSمواد پیش‌فرض TLS برای ورودی‌ها.
clash-for-androidClashForAndroidRawClashForAndroidClash for Androidتنظیمات اختصاصی اپلیکیشن اندروید.

یک نگاه

yaml
mode: rule
mixed-port: 7890
allow-lan: false
log-level: info
external-controller: 127.0.0.1:9090

dns:
  enable: true
  nameserver:
    - https://1.1.1.1/dns-query

proxies: []
proxy-groups: []
rules: []

منبع: config/config.go:392-459 · v1.19.24 (a847246)

Core Tutorial اثر Argsment