stealth: telemt on 0.0.0.0:443, nginx on 127.0.0.1:8443, domain-based proxy link with ee-secret

This commit is contained in:
anten-ka
2026-04-08 20:18:25 +03:00
parent 16ef3564f9
commit 7f81c21d8e
3 changed files with 68 additions and 25 deletions

View File

@@ -36,10 +36,10 @@ generate_telemt_toml() {
mkdir -p "$(dirname "$output")"
# В stealth-режиме telemt слушает только localhost (трафик идёт через nginx)
# В quick-режиме — на всех интерфейсах (клиенты подключаются напрямую)
# telemt всегда слушает на 0.0.0.0 (внешний трафик)
# В stealth-режиме: telemt на 0.0.0.0:443, nginx на 127.0.0.1:8443 (внутренний)
# В quick-режиме: telemt на 0.0.0.0:443, без nginx
local bind_addr="0.0.0.0"
[ "$mask_mode" = "stealth" ] && bind_addr="127.0.0.1"
cat > "$output" << EOTOML
# GoTelegram v${GOTELEGRAM_VERSION} — telemt configuration
@@ -286,3 +286,34 @@ show_proxy_info() {
qrencode -t UTF8 -m 2 "$link" 2>/dev/null
fi
}
# ── Вывод информации о прокси (Stealth-режим) ──────────────────────────────
# В stealth-режиме ссылка содержит домен (не IP) и fake-TLS секрет (ee...)
show_proxy_info_stealth() {
local domain="$1"
local faketls_secret="$2"
local link="tg://proxy?server=${domain}&port=443&secret=${faketls_secret}"
echo ""
echo -e " ${BOLD}${WHITE}✅ Stealth-прокси настроен${NC}"
echo -e " ${DIM}$(printf '─%.0s' {1..55})${NC}"
echo -e " ${WHITE}Ядро:${NC} telemt (Rust)"
echo -e " ${WHITE}Домен:${NC} ${CYAN}${domain}${NC}"
echo -e " ${WHITE}Порт:${NC} ${CYAN}443${NC} (внешний, telemt)"
echo -e " ${WHITE}Режим:${NC} ${MAGENTA}Stealth (fake-TLS)${NC}"
echo -e " ${WHITE}nginx:${NC} ${CYAN}127.0.0.1:8443${NC} (внутренний)"
echo -e " ${WHITE}Secret:${NC} ${CYAN}${faketls_secret:0:20}...${NC}"
echo -e " ${DIM}$(printf '─%.0s' {1..55})${NC}"
echo -e " ${WHITE}Ссылка для Telegram:${NC}"
echo -e " ${GREEN}${link}${NC}"
echo ""
echo -e " ${DIM}Провайдер видит: HTTPS-трафик к ${domain}:443${NC}"
echo -e " ${DIM}Telegram-клиент маскирует соединение под TLS${NC}"
echo ""
# QR если доступен
if command -v qrencode &>/dev/null; then
qrencode -t UTF8 -m 2 "$link" 2>/dev/null
fi
}

View File

@@ -40,7 +40,8 @@ generate_nginx_config() {
cat > "$NGINX_SITE_CONF" << 'EONGINX'
# GoTelegram v2.2 — nginx config
# Обслуживает сайт-маскировку для telemt stealth mode
# Stealth: nginx на 127.0.0.1:8443 (внутренний), telemt на 0.0.0.0:443 (внешний)
# Обычный браузер → :443 → telemt → 127.0.0.1:8443 → nginx (сайт)
server {
listen 80;
@@ -60,8 +61,7 @@ server {
}
server {
listen SSL_PORT_PLACEHOLDER ssl http2;
listen [::]:SSL_PORT_PLACEHOLDER ssl http2;
listen 127.0.0.1:SSL_PORT_PLACEHOLDER ssl http2;
server_name DOMAIN_PLACEHOLDER;
# SSL сертификаты
@@ -113,7 +113,7 @@ EONGINX
local escaped_domain
escaped_domain=$(printf '%s\n' "$domain" | sed 's/[&/\]/\\&/g')
sed -i "s|DOMAIN_PLACEHOLDER|${escaped_domain}|g" "$NGINX_SITE_CONF"
sed -i "s|SSL_PORT_PLACEHOLDER|443|g" "$NGINX_SITE_CONF"
sed -i "s|SSL_PORT_PLACEHOLDER|${proxy_port}|g" "$NGINX_SITE_CONF"
# Активируем сайт
rm -f /etc/nginx/sites-enabled/default 2>/dev/null