هسته 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 داشته باشد.
نمونههای آماده خودکارسازی (تعویض زمانبندیشده نود و بیشتر) در خودکارسازی با API.