Files
telemt-api/config.example.yaml
T
Denozordec 2d7b06260e
Publish telemt-api gateway Docker image / test (push) Successful in 34s
Publish telemt-api gateway Docker image / build-and-push (push) Successful in 2m55s
Implement Mihomo external-controller support in configuration and gateway
- Added optional Mihomo configuration fields in `config.compose.yaml` and `config.example.yaml` for enhanced integration with the Mihomo external-controller.
- Updated the `Gateway` to handle Mihomo API requests, including proxying and error handling for Mihomo-specific endpoints.
- Enhanced the documentation in `GATEWAY_RUN.md` to guide users on configuring Mihomo integration.
- Introduced new utility functions in the web client for interacting with Mihomo API endpoints, improving the overall user experience.
- Updated the sidebar in the Svelte components to include a link to the Mihomo section, enhancing navigation.
2026-03-31 00:32:19 +07:00

75 lines
3.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Telemt API gateway — copy to config.yaml and mount into the container.
#
# Semantics: client calls GET /api/{alias}/health
# forwarded to GET {base_url}/v1/health
#
# Web UI (SvelteKit) в образе Docker встроен в тот же процесс: GET / — панель,
# /api/… — API. CORS для панели на том же origin не нужен.
listen: ":8080"
# If true, IP whitelist is not enforced (development only).
allow_all: false
# CIDR allowlist when allow_all is false. Empty list denies all clients.
# Можно указывать и одиночный IP (будет трактован как /32 или /128), и CIDR.
whitelist_cidrs:
- "127.0.0.1/32"
- "203.0.113.5"
- "::1/128"
# Docker bridge (adjust to your environment):
# - "172.16.0.0/12"
# When the direct TCP peer is in these CIDRs, client IP for whitelist is taken
# from X-Forwarded-For (first hop) or X-Real-IP (e.g. behind nginx).
# trusted_proxies:
# - "10.0.0.0/8"
trusted_proxies: []
# CORS только если фронт на другом origin (например Vite :5173 при разработке).
# В production за nginx на одном хосте с шлюзом обычно не требуется.
# cors_allowed_origins:
# - "http://localhost:5173"
# # - "*"
# Опционально: по умолчанию /api/agg/* опрашивает все servers; можно ограничить список и включить кэш ответов:
# aggregate:
# include_aliases:
# - gt1
# - gt2
# cache_ttl_ms: 2000
# Геолокация IP в /api/agg/unique-ips. См. docs/GEOIP.md (City + опционально ASN; Country-only не нужен)
# geoip:
# enabled: true
# database_path: /var/lib/telemt-gateway/GeoLite2-City.mmdb
# download_url: "https://github.com/P3TERX/GeoLite.mmdb/raw/download/GeoLite2-City.mmdb"
# asn_database_path: /var/lib/telemt-gateway/GeoLite2-ASN.mmdb
# asn_download_url: "https://github.com/P3TERX/GeoLite.mmdb/raw/download/GeoLite2-ASN.mmdb"
servers:
- alias: main_srv
base_url: http://127.0.0.1:9091
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_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`
# ivx: HTTPS + nginx location /api/ → Telemt; base_url должен заканчиваться на /api/
- alias: gt1
base_url: https://gt1.ivx.su/api/
path_prefix: /v1
- alias: gt2
base_url: https://gt2.ivx.su/api/
path_prefix: /v1
- alias: gt3
base_url: https://gt3.ivx.su/api/
path_prefix: /v1