Skip to content

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

mihomo در زمان راه‌اندازی یک سند YAML واحد را می‌خواند. سند ریشه به ساختار Go با نام RawConfig در config/config.go:401 نگاشته می‌شود. برخلاف 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-configShadowSocksConfigstringShadowsocksURI ورودی Shadowsocks.
vmess-configVmessConfigstringVMessURI ورودی 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.TunnelTunnelتونل‌های ایستای پورت-به-هدف.
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]anyDNSبازنویسی‌های ایستای DNS.
dnsDNSRawDNSDNSبلوک زیرسیستم DNS.
ntpNTPRawNTPNTPکلاینت تعبیه‌شدهٔ NTP.
tunTunRawTunTUNورودی TUN.
tuic-serverTuicServerRawTuicServerTUICورودی 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:401-469 · v1.19.31 (ab405ba)

Core Tutorial اثر Argsment