هسته Clash یک API از نوع RESTful دارد (پیش‌فرض 127.0.0.1:9090)؛ رابط گرافیکی Clash for Windows خودش فقط یک کلاینت همین API است. فهمیدن آن در داشبوردهای وب شخص ثالث و خودکارسازی با اسکریپت را باز می‌کند.

بررسی سلامت API

curl http://127.0.0.1:9090/version

پاسخی مانند {"premium":true,"version":"2023.08.17"} یعنی همه چیز درست است.

endpointهای پرکاربرد

Endpointکارکرد
GET /proxiesهمه گروه‌ها و نودها با انتخاب فعلی.
PUT /proxies/:nameتغییر انتخاب یک گروه select.
GET /connectionsفهرست زنده اتصال‌ها (منبع داده صفحه Connections).
PATCH /configsتغییر حالت، پورت و… در لحظه: {"mode":"Global"}.
GET /trafficنرخ لحظه‌ای آپلود/دانلود (جریانی).

استفاده از داشبورد وب

داشبوردهای متن‌باز (yacd، clash-dashboard) صفحات ایستا هستند: باز کنید، آدرس API را http://127.0.0.1:9090 بدهید - تقریباً همان کنترل‌های کلاینت را دارید. قدرت واقعی‌شان مدیریت Clash روی دستگاه دیگر است: آدرس LAN همان دستگاه را بدهید.

افزودن secret

اگر API را در شبکه محلی باز می‌کنید (external-controller: 0.0.0.0:9090)، حتماً secret بگذارید. با Mixin:

mixin:
  external-controller: 0.0.0.0:9090
  secret: "a-long-random-string"

از آن پس هر درخواست باید هدر Authorization: Bearer a-long-random-string داشته باشد.

امنیت: پورت 9090 بی‌محافظ و بیرون از localhost یعنی هر کسی می‌تواند تنظیمات پروکسی شما را عوض و گزارش اتصال‌هایتان را بخواند. بی‌دلیل از پیش‌فرض 127.0.0.1 خارج نشوید.

نمونه‌های آماده خودکارسازی (تعویض زمان‌بندی‌شده نود و بیشتر) در خودکارسازی با API.