fix telemt deployer output

This commit is contained in:
Павел Нестеров 2026-05-02 12:29:34 +03:00
parent cfca143635
commit c231b84032

View File

@ -3,7 +3,7 @@ set -Eeuo pipefail
# В tls_domain указываем на что фейкуем. # В tls_domain указываем на что фейкуем.
NODES=( NODES=(
#remn-fin remn-fin
#remn-sweden #remn-sweden
#remn-nl-02 #remn-nl-02
#remn-msk #remn-msk
@ -90,19 +90,29 @@ DOCKER_COMPOSE='services:
for node in "${NODES[@]}"; do for node in "${NODES[@]}"; do
echo "=== Installing telemt on ${node} ===" echo "=== Installing telemt on ${node} ==="
# Generate unique secret per node # Создаем секрет
SECRET=$(openssl rand -hex 16) SECRET=$(openssl rand -hex 16)
FINAL_CONFIG="${CONFIG_TOML/SECRET_PLACEHOLDER/main = \"${SECRET}\"}" 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 if ssh "$node" "sudo mkdir -p ${REMOTE_DIR}"; then
#config.toml and docker-compose.yml #config.toml and docker-compose.yml
echo "$FINAL_CONFIG" | ssh "$node" "sudo tee ${REMOTE_DIR}/config.toml > /dev/null" 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" 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 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 "=== ${node}: OK ==="
echo " Secret for ${node}: ${SECRET}" echo " Node IP : ${PUBLIC_IP}"
echo " Proxy port: 8443" echo " Port : 8443"
echo " Secret : ${FULL_SECRET}"
echo " MTProto : tg://proxy?server=${PUBLIC_IP}&port=8443&secret=${FULL_SECRET}"
else else
echo "=== ${node}: FAILED (docker compose) ===" echo "=== ${node}: FAILED (docker compose) ==="
fi fi