From c231b8403205ddcf66d880050b06edce2e491dac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B0=D0=B2=D0=B5=D0=BB=20=D0=9D=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B5=D1=80=D0=BE=D0=B2?= Date: Sat, 2 May 2026 12:29:34 +0300 Subject: [PATCH] fix telemt deployer output --- services/telemt/deployer.sh | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/services/telemt/deployer.sh b/services/telemt/deployer.sh index cf33446..734399c 100755 --- a/services/telemt/deployer.sh +++ b/services/telemt/deployer.sh @@ -3,7 +3,7 @@ set -Eeuo pipefail # В tls_domain указываем на что фейкуем. NODES=( - #remn-fin + remn-fin #remn-sweden #remn-nl-02 #remn-msk @@ -90,19 +90,29 @@ DOCKER_COMPOSE='services: for node in "${NODES[@]}"; do echo "=== Installing telemt on ${node} ===" - # Generate unique secret per node + # Создаем секрет SECRET=$(openssl rand -hex 16) FINAL_CONFIG="${CONFIG_TOML/SECRET_PLACEHOLDER/main = \"${SECRET}\"}" + # Костыль чтобы в output дать внешний IP, а не IP docker подсети + PUBLIC_IP=$(ssh "$node" "ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'") + if ssh "$node" "sudo mkdir -p ${REMOTE_DIR}"; then #config.toml and docker-compose.yml echo "$FINAL_CONFIG" | ssh "$node" "sudo tee ${REMOTE_DIR}/config.toml > /dev/null" echo "$DOCKER_COMPOSE" | ssh "$node" "sudo tee ${REMOTE_DIR}/docker-compose.yml > /dev/null" if ssh "$node" "cd ${REMOTE_DIR} && sudo docker compose pull && sudo docker compose up -d"; then + # Крафтим линку tg:// URL manually + SECRET_HEX="ee${SECRET}" + TLS_DOMAIN_HEX=$(echo -n "max.ru" | xxd -p) + FULL_SECRET="${SECRET_HEX}${TLS_DOMAIN_HEX}" + echo "=== ${node}: OK ===" - echo " Secret for ${node}: ${SECRET}" - echo " Proxy port: 8443" + echo " Node IP : ${PUBLIC_IP}" + echo " Port : 8443" + echo " Secret : ${FULL_SECRET}" + echo " MTProto : tg://proxy?server=${PUBLIC_IP}&port=8443&secret=${FULL_SECRET}" else echo "=== ${node}: FAILED (docker compose) ===" fi