API¶
Пример запроса¶
Пример curl curl -H 'Authorization: Bearer ${secret}' http://${controller-api}/configs?force=true -d '{"path": "", "payload": ""}' -X PUT
Этот запрос содержит заголовок 'Authorization: Bearer ${secret}', где:
${secret}- ключ api, заданный в конфигурационном файле${controller-api}- адрес прослушивания api, указанный в конфигурационном файле?force=true- параметр, который требуется для некоторых запросов'{"path": "", "payload": ""}'- данные обновляемого ресурса
В большинстве случаев передаваемые данные имеют вид '{"path": "", "payload": ""}' и могут содержать путь к новому конфигурационному файлу
!!! note Обратите внимание: если путь не находится в рабочем каталоге Clash, вручную задайте переменную среды SAFE_PATHS, чтобы добавить его в безопасный путь. Синтаксис этой переменной среды совпадает с правилом анализа переменной среды PATH этой операционной системы (то есть он разделяется точкой с запятой в Windows и двоеточием в других системах).
Логи¶
/logs¶
Метод запроса: GET
- Получение логов в реальном времени
/logs?level=log_level¶
Метод запроса: GET
- Получить логи указанного уровня. Возможные значения: info, debug, warning, error
Информация о трафике¶
/traffic¶
Метод запроса: GET
- Получение информации о трафике в реальном времени, в kbps
Информация о памяти¶
/memory¶
Метод запроса: GET
- Получение информации об использовании памяти в реальном времени, в kb
Информация о версии¶
/version¶
Метод запроса: GET
- Получение версии Clash
Кэш¶
/cache/fakeip/flush¶
Метод запроса: POST
- Очистка кэша fakeip
Рабочая конфигурация¶
/configs¶
Метод запроса: GET
- Получение базовой конфигурации
Метод запроса: PUT
- Перезагрузка базовой конфигурации, требуется отправка данных, URL должен содержать
?force=trueдля принудительного выполнения
Метод запроса: PATCH
- Обновление базовой конфигурации, требуется отправка данных в формате
'{"mixed-port": 7890}', изменяйте на нужные параметры конфигурации
/configs/geo¶
Метод запроса: POST
- Обновление GEO базы данных, требуется отправка данных
/restart¶
Метод запроса: POST
- Перезапуск ядра, требуется отправка данных
Обновления¶
/upgrade¶
Метод запроса: POST
- Обновление ядра, требуется отправка данных
/upgrade/ui¶
Метод запроса: POST
- Обновление панели управления, требуется настройка external-ui
/upgrade/geo¶
Метод запроса: POST
- Обновление GEO базы данных, требуется отправка данных
Группы политик¶
/group¶
Метод запроса: GET
- Получение информации о группах политик
/group/group_name¶
Метод запроса: GET
- Получение информации о конкретной группе политик
Метод запроса: DELETE
- Очистка фиксированного выбора автоматической группы политик
/group/group_name/delay¶
Метод запроса: GET
- Тестирование узлов/групп политик в указанной группе политик, возвращает новую информацию о задержке и очищает фиксированный выбор автоматической группы политик
- URL должен содержать
?url=xxx&timeout=5000, изменяйте по необходимости
Прокси¶
/proxies¶
Метод запроса: GET
- Получение информации о прокси
/proxies/proxies_name¶
Метод запроса: GET
- Получение информации о конкретном прокси
Метод запроса: PUT
- Выбор конкретного прокси, требуется отправка данных в формате
'{"name":"Япония"}'
/proxies/proxies_name/delay¶
Метод запроса: GET
- Тестирование указанного прокси и возврат новой информации о задержке
- URL должен содержать
?url=xxx&timeout=5000, изменяйте по необходимости
Наборы прокси¶
/providers/proxies¶
Метод запроса: GET
- Получение всей информации о всех наборах прокси
/providers/proxies/providers_name¶
Метод запроса: GET
- Получение информации о конкретном наборе прокси
Метод запроса: PUT
- Обновление набора прокси
/providers/proxies/providers_name/healthcheck¶
Метод запроса: GET
- Запуск проверки работоспособности конкретного набора прокси
/providers/proxies/providers_name/proxies_name/healthcheck¶
- Тестирование указанного прокси в наборе прокси и возврат новой информации о задержке
- URL должен содержать
?url=xxx&timeout=5000, изменяйте по необходимости
Правила¶
/rules¶
Метод запроса: GET
- Получение информации о правилах
Наборы правил¶
/providers/rules¶
Метод запроса: GET
- Получение всей информации о всех наборах правил
/providers/rules/providers_name¶
Метод запроса: PUT
- Обновление набора правил
Соединения¶
/connections¶
Метод запроса: GET
- Получение информации о соединениях
Метод запроса: DELETE
- Закрытие всех соединений
/connections/:id¶
Метод запроса: DELETE
- Закрытие конкретного соединения
DNS запросы¶
/dns/query¶
Метод запроса: GET
- Получение данных DNS запроса для указанного имени и типа
- URL должен содержать
?name=example.com&type=A, изменяйте по необходимости
DEBUG¶
/debug требует, чтобы уровень логирования был установлен на debug при запуске ядра
/debug/gc¶
Метод запроса: PUT
- Запуск принудительной сборки мусора
/debug/pprof¶
Открыв в браузере http://${controller-api}/debug/pprof, можно просмотреть исходную отладочную информацию, где:
- allocs показывает ситуацию с выделением памяти для каждого вызова функции, включая размер памяти, выделенной в стеке и куче, а также количество выделений памяти. Этот отчет в основном помогает находить проблемы с утечками памяти и частыми запросами на выделение памяти в коде.
- отчет heap предоставляет подробную информацию об использовании памяти в куче программой, включая размер, количество и адреса выделенных блоков памяти, отсортированных по размеру. Этот отчет в основном используется для поиска мест с высоким использованием памяти, можно просмотреть размеры объектов в отчете heap, чтобы найти места с высоким использованием памяти.
Установите Graphviz, чтобы просматривать графическую отладочную информацию¶
Просмотр графического отчета Heap¶
Просмотр графического отчета Allocs¶
Отправка отчета¶
Откройте в браузере http://${controller-api}/debug/pprof/heap?raw=true, чтобы загрузить этот файл, и загрузите его в issues, чтобы сообщить о проблеме, с которой вы столкнулись.