diff --git a/initializator/mtp.sh b/initializator/mtp.sh index 197e2c9..f57fcbd 100644 --- a/initializator/mtp.sh +++ b/initializator/mtp.sh @@ -29,6 +29,14 @@ REAL_HOME=$(eval echo "~$REAL_USER") MTP_DIR="$REAL_HOME/services/mtp" SERVICE_NAME="mtproxy" +for cmd in curl xxd; do + if ! command -v "$cmd" >/dev/null 2>&1; then + echo "Installing $cmd..." + apt-get update -y -qq + apt-get install -y -qq "$cmd" + fi +done + echo "=== MTProto Proxy Installation ===" echo " MTP Domain: $MTP_DOMAIN" echo " MTP Port: $MTP_PORT (internal)" @@ -91,21 +99,24 @@ curl -sf https://core.telegram.org/getProxyConfig -o "$MTP_DIR/proxy-multi.conf" echo " Downloaded proxy-multi.conf" if [ -f "$MTP_DIR/secret.txt" ]; then - SECRET=$(cat "$MTP_DIR/secret.txt") + SECRET=$(cat "$MTP_DIR/secret.txt" | tr -d '\n') echo " Using existing secret: $SECRET" else - if ! command -v xxd >/dev/null 2>&1; then - apt-get install -y -qq xxd - fi - SECRET=$(head -c 16 /dev/urandom | xxd -ps) + SECRET=$(head -c 16 /dev/urandom | xxd -ps | tr -d '\n') echo "$SECRET" > "$MTP_DIR/secret.txt" echo " Generated secret: $SECRET" fi +if [ ${#SECRET} -ne 32 ]; then + echo "ERROR: Secret must be exactly 32 hex chars, got ${#SECRET}: $SECRET" + exit 1 +fi + DOMAIN_HEX=$(echo -n "$MTP_DOMAIN" | xxd -ps | tr -d '\n') CLIENT_SECRET="ee${SECRET}${DOMAIN_HEX}" -echo " Client secret (fake-TLS): $CLIENT_SECRET" +echo " Secret for bot: $SECRET (32 hex)" +echo " Client link secret: ee...${MTP_DOMAIN}" echo "" # --- 3. Systemd service --- @@ -214,19 +225,23 @@ MTP_LINK="tg://proxy?server=${MTP_DOMAIN}&port=443&secret=${CLIENT_SECRET}" HTTPS_LINK="https://t.me/proxy?server=${MTP_DOMAIN}&port=443&secret=${CLIENT_SECRET}" cat > "$MTP_DIR/connection.txt" <