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": ""}'
и могут содержать путь к новому конфигурационному файлу
Логи¶
/logs
¶
Метод запроса: GET
- Получение логов в реальном времени
Информация о трафике¶
/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, чтобы сообщить о проблеме, с которой вы столкнулись.