راهنمای اجرای هسته mihomo در ویندوز از خط فرمان
فهرست مطلب
هسته mihomo روی ویندوز یک فایل اجرایی تنهاست: نه پنجرهای دارد، نه آیکونی در سینی سیستم. آن را از خط فرمان اجرا میکنید، یک فایل پیکربندی به آن میدهید و از همان لحظه، پورت محلی برای پذیرش ترافیک باز میشود.
این روش برای کسانی مناسب است که میخواهند پیکربندی را خودشان بنویسند، رفتار قوانین را دقیق کنترل کنند یا هسته را بدون واسطه اشکالزدایی کنند. اگر فقط میخواهید سریع به اینترنت وصل شوید، Clash Verge Rev کار شما را بسیار سادهتر میکند و همین هسته را درون خود دارد.
در ادامه اجرای mihomo در ویندوز را از استخراج فایل تا تست نهایی و اجرای دائمی مرور میکنیم. نسخه ارائهشده در سایت v1.19.29 برای دو معماری amd64 و arm64 است.
این راهنما برای چه کسی است
اجرای مستقیم هسته وقتی ارزش دارد که بخواهید فایل پیکربندی را دستی ویرایش کنید، خطاهای قوانین را در لاگ خام ببینید، یا هسته را در سناریویی مثل یک ماشین آزمایشی و بدون رابط کاربری اجرا کنید. در مقابل، کاربر روزمرهای که فقط اشتراک دارد و میخواهد سرور عوض کند، هیچ چیزی از این مسیر به دست نمیآورد. تفاوت نقش هسته و کلاینت را در معرفی mihomo توضیح دادهایم.
دانلود و استخراج
- از مرکز دانلود بخش ویندوز بسته zip هسته را متناسب با معماری سیستم خود بردارید؛ روی رایانههای معمول amd64 و روی دستگاههای ویندوزی مبتنی بر ARM نسخه arm64.
- محتوای zip را در یک پوشه ثابت استخراج کنید، مثلاً
C:\mihomo. از پوشه Downloads استفاده نکنید، چون بعداً مسیر را در تنظیمات اجرای خودکار لازم دارید. - برای راحتی کار، نام فایل اجرایی را به
mihomo.exeتغییر دهید.
آمادهسازی پوشه داده و فایل پیکربندی
mihomo مفهومی به نام پوشه داده دارد: پوشهای که فایل پیکربندی، پایگاه دادههای جغرافیایی و فایلهای موقت در آن نگهداری میشوند. این پوشه را با پارامتر -d معرفی میکنید. سادهترین کار این است که همان پوشه برنامه را پوشه داده در نظر بگیرید.
یک فایل متنی به نام config.yaml در آن پوشه بسازید. برای شروع و آزمایش، این پیکربندی کمینه کافی است:
mixed-port: 7890
mode: rule
log-level: info
proxies: []
proxy-groups: []
rules:
- MATCH,DIRECT
این نمونه هیچ سروری ندارد و همه ترافیک را مستقیم عبور میدهد؛ هدفش فقط اطمینان از بالا آمدن درست هسته است. پس از آن، بخشهای proxies و rules را با محتوای واقعی خود پر کنید. ساختار کامل این فایل در آموزش فایل پیکربندی YAML شرح داده شده است.
هشدار: ویندوز ممکن است پسوند فایلها را پنهان کند و فایل شما در عمل config.yaml.txt باشد. نمایش پسوند فایلها را در File Explorer روشن کنید تا با خطای «فایل پیکربندی پیدا نشد» روبهرو نشوید.
اجرا از خط فرمان و بررسی پیکربندی
پیش از اجرا، درستی نحو فایل را بررسی کنید. اگر خطایی باشد، شماره خط و علت آن نمایش داده میشود:
cd C:\mihomo
.\mihomo.exe -t -f config.yaml
وقتی بررسی بدون خطا گذشت، هسته را با معرفی پوشه داده اجرا کنید:
.\mihomo.exe -d .
پنجره را باز نگه دارید؛ تا وقتی این فرمان در حال اجراست، هسته فعال است. خطوط لاگ در همان پنجره نمایش داده میشوند و اولین چیزی که باید ببینید، پیام گوش دادن روی پورت ترکیبی است. اگر میخواهید فایل پیکربندی نامی غیر از پیشفرض داشته باشد، مسیر آن را با -f بدهید.
آزمودن اینکه پراکسی کار میکند
ابتدا مطمئن شوید پورت واقعاً باز است. در یک پنجره جدید:
netstat -ano | findstr 7890
اگر پورتی که در پیکربندی نوشتهاید عدد دیگری است، همان را جستوجو کنید. سپس یک درخواست آزمایشی از طریق پراکسی بفرستید:
curl.exe -x http://127.0.0.1:7890 -I https://example.com
راه دیگر این است که در تنظیمات پراکسی ویندوز نشانی 127.0.0.1 و همان شماره پورت را وارد کنید تا مرورگر از هسته عبور کند. توجه داشته باشید که اجرای دستی هسته، برخلاف کلاینت گرافیکی، پراکسی سیستمی را خودکار تنظیم نمیکند.
توجه: اگر هنگام اجرا خطای اشغال بودن پورت گرفتید، یا برنامه دیگری همان پورت را گرفته یا نسخه دیگری از هسته هنوز در حال اجراست. مقدار mixed-port را عوض کنید یا فرایند قبلی را ببندید.
اجرای دائمی و بهروزرسانی
برای اینکه هسته با روشن شدن سیستم بالا بیاید، از Task Scheduler ویندوز استفاده کنید: یک وظیفه بسازید که در زمان ورود کاربر اجرا شود، فایل mihomo.exe را بهعنوان برنامه معرفی کند و پارامتر -d به همراه مسیر پوشه داده را به آن بدهد. تعیین پوشه شروع کار روی همان مسیر، از خطاهای مربوط به مسیر نسبی جلوگیری میکند.
بهروزرسانی ساده است: هسته را متوقف کنید، فایل اجرایی جدید را جایگزین فایل قبلی کنید و دوباره اجرا کنید. پوشه داده و فایل پیکربندی دستنخورده باقی میمانند. اگر میخواهید همین کار را روی سرور انجام دهید، راهنمای اجرای mihomo در لینوکس با systemd نسخه کاملتری از همین روند را با مدیریت سرویس نشان میدهد.