如何在国内服务器调用Telegram Bot

众所周知,由于不可描述的原因,中国大陆无法访问 Telegram 服务,当在中国大陆服务器上,需要调用 Telegram Bot 来作为消息告警通知,该如何解决呢?

解决思路:在境外服务器上搭建一个socks5代理,并设置源IP访问设置。

这里假设一个需求:

监控一台位于新加坡的一台VPS的公网端口服务,能否正常被中国大陆IP访问,如果端口被ban,请发送告警至Telegram Bot

以下是Shell代码

#!/bin/bash

# Telegram bot token and chat ID
TELEGRAM_BOT_TOKEN="2637456424:AAEOK9n4w4v7RWTCaW2D7SPioqLllOFSfSM"
TELEGRAM_CHAT_ID="1257379104"
PROXY="socks5h://100.154.38.181:1080"

# Target IP and ports
TARGET_IP="67.230.166.146"
PORTS=(10001 10002 10003 10004 10005 )

# Function to send Telegram message
send_telegram_message() {
    local message="$1"
    curl -s -x $PROXY -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" -d chat_id=$TELEGRAM_CHAT_ID -d text="$message"
}

# Check each port
for port in "${PORTS[@]}"; do
    nc -z -w5 $TARGET_IP $port
    if [ $? -ne 0 ]; then
        send_telegram_message "Port $port on $TARGET_IP is not reachable."
    fi
done

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据