From a24fc90b39a9fcb6c2c31747eaec2358d71a5e38 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Tue, 31 Mar 2026 00:35:54 +0700 Subject: [PATCH] Enhance Mihomo configuration documentation in example YAML - Expanded comments in `config.example.yaml` to provide detailed guidance on setting up the Mihomo external-controller integration. - Included typical Docker Compose configuration examples and environment variable usage for better clarity on Mihomo setup. - Clarified the relationship between the gateway and Mihomo service for improved user understanding. --- config.example.yaml | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/config.example.yaml b/config.example.yaml index 1350255..111928a 100644 --- a/config.example.yaml +++ b/config.example.yaml @@ -53,12 +53,40 @@ servers: path_prefix: /v1 # authorization_env: TELEMT_API_AUTH # - # Опционально: Mihomo (Clash Meta) external-controller для раздела «Mihomo» в панели. - # Клиент вызывает GET /api/{alias}/mihomo/… — шлюз проксирует на {mihomo_base_url}/… с Bearer-секретом. - # Секрет должен совпадать с secret / CLASH_SECRET в конфиге Mihomo. Не храните секрет в git — только через env. + # --- Mihomo (Clash Meta), раздел «Mihomo» в панели (/servers/{alias}/mihomo) --- + # Клиент: GET /api/{alias}/mihomo/… и WebSocket — шлюз проксирует на external-controller с Bearer. + # + # Типичный compose для самого Mihomo (отдельный файл или сервис рядом с gateway): + # mihomo: + # build: ./mihomo + # container_name: mihomo + # environment: + # - SUB_URL=https://example.com/sub + # - CLASH_SECRET=your-secret-here + # - UPDATE_INTERVAL=86400 + # # ports: # публиковать 9090 на хост не обязательно для панели + # # - "9080:9090" + # networks: + # proxy-net: + # ipv4_address: 172.20.0.2 # пример; контроллер слушает на 9090 внутри контейнера + # + # Контейнер gateway (telemt-api) должен быть в той же сети proxy-net, чтобы: + # - резолвилось имя сервиса http://mihomo:9090, или + # - использовался IP внутри сети, например http://172.20.0.2:9090 + # + # В environment сервиса gateway (не класть секреты в YAML в git): + # MIHOMO_CONTROLLER_URL=http://mihomo:9090 + # TELEMT_MIHOMO_AUTH=Bearer <тот же секрет, что CLASH_SECRET у Mihomo> + # + # Вариант A — URL в YAML: # mihomo_base_url: http://mihomo:9090 - # mihomo_base_url_env: MIHOMO_CONTROLLER_URL # если задано и env непустой — URL берётся из env (удобно в Docker) - # mihomo_authorization_env: TELEMT_MIHOMO_AUTH # в env: полная строка заголовка, например `Bearer xxx` + # mihomo_authorization_env: TELEMT_MIHOMO_AUTH + # + # Вариант B — URL из env (удобно в compose, без правки смонтированного config.yaml): + # mihomo_base_url_env: MIHOMO_CONTROLLER_URL + # mihomo_authorization_env: TELEMT_MIHOMO_AUTH + # + # Значение mihomo_authorization_env: полная строка заголовка Authorization (как у authorization_env для Telemt). # ivx: HTTPS + nginx location /api/ → Telemt; base_url должен заканчиваться на /api/ - alias: gt1