mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-03-10 23:41:22 +00:00
~优化tg-bot绑定流程,增加循环检测对话ID机制 ~优化tg-bot启动逻辑,现在不会随着内核服务重启而重启进而导致死循环 ~优化公网防火墙功能,增加一键清空功能,增加vmess和ss端口的额外显示 ~优化vmess和ss的界面逻辑,增加vmess一键生成时的混淆host输入 ~修复因为未选择ss加密类型而导致启动失败的bug ~修复小米/网件镜像化设备重启后服务丢失的bug ~修复因为切换vmess和ss端口导致公网防火墙启动报错的bug ~修复6-5设置定时任务报错的bug
60 lines
2.0 KiB
Bash
60 lines
2.0 KiB
Bash
#!/bin/sh
|
||
|
||
. "$CRASHDIR"/libs/web_get_lite.sh
|
||
|
||
private_bot() {
|
||
echo "-----------------------------------------------"
|
||
echo -e "请先通过 \033[32;4mhttps://t.me/BotFather\033[0m 申请TG机器人并获取其\033[36mAPI TOKEN\033[0m"
|
||
echo "-----------------------------------------------"
|
||
read -p "请输入你获取到的API TOKEN > " TOKEN
|
||
echo "-----------------------------------------------"
|
||
echo -e "请向\033[32m你申请的机器人\033[33m而不是BotFather!\033[0m"
|
||
url_tg=https://api.telegram.org/bot${TOKEN}/getUpdates
|
||
}
|
||
public_bot() {
|
||
echo -e "请向机器人:\033[32;4mhttps://t.me/ShellCrashtg_bot\033[0m"
|
||
TOKEN=publictoken
|
||
url_tg=https://tgbot.jwsc.eu.org/publictoken/getUpdates
|
||
}
|
||
tg_push_token(){
|
||
push_TG="$TOKEN"
|
||
setconfig push_TG "$TOKEN"
|
||
setconfig chat_ID "$chat_ID"
|
||
"$CRASHDIR"/start.sh logger "已完成Telegram日志推送设置!" 32
|
||
}
|
||
get_chatid(){
|
||
i=1
|
||
chat_ID=''
|
||
while [ $i -le 3 ] && [ -z "$chat_ID" ]; do
|
||
sleep 1
|
||
echo -e "\033[33m第 $i 次尝试获取对话ID失败,正在重试...\033[0m"
|
||
chat=$(web_get_lite "$url_tg" 2>/dev/null)
|
||
if [ -n "$chat" ];then
|
||
chat_ID=$(echo $chat | sed 's/"update_id":/{\n"update_id":/g' | grep "$public_key" | head -n1 | grep -oE '"id":.*,"is_bot' | sed s'/"id"://' | sed s'/,"is_bot//')
|
||
fi
|
||
i=$((i + 1))
|
||
done
|
||
}
|
||
set_bot() {
|
||
public_key=$(cat /proc/sys/kernel/random/boot_id | sed 's/.*-//')
|
||
echo -e "发送此秘钥: \033[30;46m$public_key\033[0m"
|
||
echo "-----------------------------------------------"
|
||
read -p "我已经发送完成(1/0) > " res
|
||
if [ "$res" = 1 ]; then
|
||
get_chatid
|
||
[ -z "$chat_ID" ] && [ "$TOKEN" != 'publictoken' ] && {
|
||
echo -e "\033[31m无法获取对话ID,请返回重新设置或手动输入ChatID!\033[0m"
|
||
echo -e "通常访问 \033[32;4m$url_tg\033[0m \n\033[36m即可看到ChatID\033[0m"
|
||
read -p "请手动输入ChatID > " chat_ID
|
||
}
|
||
if echo "$chat_ID" | grep -qE '^[0-9]{8,}$'; then
|
||
return 0
|
||
else
|
||
echo -e "\033[31m无法获取对话ID,请重新配置!\033[0m"
|
||
sleep 1
|
||
return 1
|
||
fi
|
||
fi
|
||
}
|
||
|