mirror of
https://github.com/anten-ka/go_warp_pro.git
synced 2026-05-19 15:36:01 +00:00
v2.1: optional routing text, full promo codes, bot wizard, upgrade compat, 3-cycle audit fixes
Made-with: Cursor
This commit is contained in:
123
warp.sh
123
warp.sh
@@ -430,7 +430,9 @@ show_3xui_guide() {
|
||||
echo -e " ${CYAN}(пункт 1 основного подменю показывает полный JSON)${NC}"
|
||||
echo -e ""
|
||||
|
||||
echo -e "${YELLOW}═══ НАСТРОЙКА МАРШРУТИЗАЦИИ ═══${NC}\n"
|
||||
echo -e "${YELLOW}═══ МАРШРУТИЗАЦИЯ (по желанию) ═══${NC}\n"
|
||||
echo -e " ${DIM}По умолчанию WARP не используется пока нет маршрутизации.${NC}"
|
||||
echo -e " ${DIM}Добавьте правило, чтобы указать какие сайты идут через WARP:${NC}\n"
|
||||
echo -e "${YELLOW}Шаг 5.${NC} Перейдите в ${WHITE}Настройки Xray${NC} → ${WHITE}Routing Rules${NC}"
|
||||
echo -e "${YELLOW}Шаг 6.${NC} Нажмите ${GREEN}+ Добавить правило${NC}"
|
||||
echo -e "${YELLOW}Шаг 7.${NC} Заполните:"
|
||||
@@ -441,9 +443,11 @@ show_3xui_guide() {
|
||||
echo -e " ${GREEN}geosite:netflix${NC}"
|
||||
echo -e " ${GREEN}geosite:disney${NC}"
|
||||
echo -e " ${GREEN}geosite:spotify${NC}"
|
||||
echo -e " ${GREEN}domain:chat.openai.com${NC}"
|
||||
echo -e " ${GREEN}domain:claude.ai${NC}"
|
||||
echo -e ""
|
||||
echo -e " ${DIM}Каждый домен — на отдельной строке в поле Domain${NC}"
|
||||
echo -e " ${DIM}Каждый домен на отдельной строке.${NC}"
|
||||
echo -e " ${DIM}Можно добавить свои домены или использовать network: tcp,udp для всего трафика.${NC}"
|
||||
echo -e ""
|
||||
|
||||
echo -e "${YELLOW}═══ ПРИМЕНЕНИЕ ═══${NC}\n"
|
||||
@@ -1453,7 +1457,7 @@ bot_handle_callback() {
|
||||
tg_edit "$chat_id" "$msg_id" "$s" "$(kbd_back)" ;;
|
||||
|
||||
promo)
|
||||
local pt="<b>🏢 Хостинг</b>\n\n<b>🌍 РФ и Европа</b>\n👉 https://vk.cc/ct29NQ\n\n<code>OFF60</code> — 60%\n<code>antenka20</code> — +20% (3мес)\n\n<b>🇧🇾 Беларусь</b>\n👉 https://vk.cc/cUxAhj\n<code>OFF60</code> — 60%"
|
||||
local pt="<b>🏢 Хостинг со скидкой до -60%</b>\n\n<b>🌍 РФ и Европа</b>\n👉 https://vk.cc/ct29NQ\n\n<code>OFF60</code> — 60% скидка\n<code>antenka20</code> — +20% к балансу (3мес)\n<code>antenka6</code> — +15% к балансу (6мес)\n<code>antenka12</code> — +5% к балансу (12мес)\n\n<b>🇧🇾 Беларусь</b>\n👉 https://vk.cc/cUxAhj\n<code>OFF60</code> — 60% скидка"
|
||||
tg_edit "$chat_id" "$msg_id" "$pt" "$(kbd_back)" ;;
|
||||
esac
|
||||
}
|
||||
@@ -1535,41 +1539,88 @@ stop_bot() {
|
||||
echo -e "${GREEN}[OK] Бот остановлен.${NC}"; log_action "Bot stopped"
|
||||
}
|
||||
|
||||
bot_auto_chatid() {
|
||||
echo -e "${YELLOW} Отправьте боту любое сообщение в Telegram, затем нажмите Enter.${NC}"
|
||||
read -p " > " _
|
||||
local c; c=$(curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getUpdates?limit=1&offset=-1" | jq -r '.result[0].message.chat.id // empty')
|
||||
if [ -n "$c" ]; then
|
||||
save_config_val "BOT_CHAT_ID" "$c"; BOT_CHAT_ID="$c"
|
||||
echo -e " ${GREEN}✓ Chat ID: $c${NC}"
|
||||
return 0
|
||||
else
|
||||
echo -e " ${RED}✗ Не удалось определить Chat ID.${NC}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
bot_wizard() {
|
||||
clear
|
||||
echo -e "\n${CYAN}━━━ Настройка Telegram-бота (быстрый старт) ━━━${NC}\n"
|
||||
|
||||
echo -e "${YELLOW}Шаг 1/3.${NC} Введите токен бота"
|
||||
echo -e "${DIM} Получить: @BotFather → /newbot → скопировать токен${NC}\n"
|
||||
read -p " Токен: " t
|
||||
if [ -z "$t" ]; then echo -e " ${RED}Отменено.${NC}"; read -p "Enter..."; return; fi
|
||||
save_config_val "BOT_TOKEN" "$t"; BOT_TOKEN="$t"
|
||||
echo -e " ${GREEN}✓ Токен сохранён${NC}\n"
|
||||
|
||||
echo -e "${YELLOW}Шаг 2/3.${NC} Определение Chat ID (авто)"
|
||||
if ! bot_auto_chatid; then
|
||||
echo -e "\n ${YELLOW}Chat ID не определён — бот будет доступен всем.${NC}"
|
||||
echo -e " ${WHITE}Можно задать вручную позже через меню бота (п.3).${NC}"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}Шаг 3/3.${NC} Запуск бота"
|
||||
start_bot
|
||||
echo ""
|
||||
|
||||
if systemctl is-active warp-bot &>/dev/null; then
|
||||
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
||||
echo -e "${GREEN} ✅ Бот настроен и запущен!${NC}"
|
||||
echo -e "${GREEN} Откройте бота в Telegram и нажмите /start${NC}"
|
||||
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
||||
else
|
||||
echo -e "${YELLOW} ⚠ Бот может не запуститься. Проверьте:${NC}"
|
||||
echo -e " ${WHITE}journalctl -u warp-bot --no-pager -n 10${NC}"
|
||||
fi
|
||||
read -p " Enter..."
|
||||
}
|
||||
|
||||
bot_menu() {
|
||||
source "$WARP_CONF" 2>/dev/null
|
||||
if [ -z "${BOT_TOKEN:-}" ]; then
|
||||
bot_wizard
|
||||
return
|
||||
fi
|
||||
|
||||
while true; do
|
||||
clear; source "$WARP_CONF" 2>/dev/null
|
||||
local bs="${RED}Выкл${NC}"
|
||||
[ -f "$BOT_PID_FILE" ] && kill -0 "$(cat "$BOT_PID_FILE" 2>/dev/null)" 2>/dev/null && bs="${GREEN}Вкл ($(cat "$BOT_PID_FILE"))${NC}"
|
||||
local td="нет"; [ -n "${BOT_TOKEN:-}" ] && td="***${BOT_TOKEN: -6}"
|
||||
echo -e "${CYAN}━━━ Telegram Bot ━━━${NC}"
|
||||
echo -e "Статус: $bs"
|
||||
echo -e "Токен: ${YELLOW}$td${NC}"
|
||||
echo -e "Chat ID: ${YELLOW}${BOT_CHAT_ID:-нет}${NC}\n"
|
||||
echo -e "1) Токен бота"
|
||||
echo -e "2) Chat ID (авто)"
|
||||
echo -e "3) Chat ID (вручную)"
|
||||
echo -e "4) ${GREEN}Запустить${NC}"
|
||||
echo -e "5) ${RED}Остановить${NC}"
|
||||
echo -e "0) Назад"
|
||||
read -p "Выбор: " ch
|
||||
systemctl is-active warp-bot &>/dev/null && bs="${GREEN}Вкл${NC}"
|
||||
local td="***${BOT_TOKEN: -6}"
|
||||
echo -e "\n${CYAN}━━━ Telegram Bot ━━━${NC}\n"
|
||||
echo -e " Статус: $bs"
|
||||
echo -e " Токен: ${YELLOW}$td${NC}"
|
||||
echo -e " Chat ID: ${YELLOW}${BOT_CHAT_ID:-нет}${NC}\n"
|
||||
echo -e " 1) Изменить токен"
|
||||
echo -e " 2) Chat ID (авто)"
|
||||
echo -e " 3) Chat ID (вручную)"
|
||||
echo -e " 4) ${GREEN}Запустить${NC}"
|
||||
echo -e " 5) ${RED}Остановить${NC}"
|
||||
echo -e " 0) Назад"
|
||||
echo ""
|
||||
read -p " Выбор: " ch
|
||||
case $ch in
|
||||
1) echo "Токен:"; read -p "> " t
|
||||
[ -n "$t" ] && save_config_val "BOT_TOKEN" "$t" && BOT_TOKEN="$t" && echo -e "${GREEN}OK${NC}"
|
||||
read -p "Enter..." ;;
|
||||
2) [ -z "${BOT_TOKEN:-}" ] && echo -e "${RED}Сначала токен!${NC}" && read -p "" && continue
|
||||
echo -e "${YELLOW}Отправьте боту сообщение, нажмите Enter.${NC}"; read -p ""
|
||||
local c; c=$(curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getUpdates?limit=1&offset=-1" | jq -r '.result[0].message.chat.id // empty')
|
||||
if [ -n "$c" ]; then
|
||||
save_config_val "BOT_CHAT_ID" "$c"; BOT_CHAT_ID="$c"; echo -e "${GREEN}Chat ID: $c${NC}"
|
||||
else
|
||||
echo -e "${RED}Не удалось.${NC}"
|
||||
fi
|
||||
read -p "Enter..." ;;
|
||||
3) echo "Chat ID:"; read -p "> " c
|
||||
[ -n "$c" ] && save_config_val "BOT_CHAT_ID" "$c" && BOT_CHAT_ID="$c" && echo -e "${GREEN}OK${NC}"
|
||||
read -p "Enter..." ;;
|
||||
4) start_bot; read -p "Enter..." ;;
|
||||
5) stop_bot; read -p "Enter..." ;;
|
||||
1) echo " Токен:"; read -p " > " t
|
||||
[ -n "$t" ] && save_config_val "BOT_TOKEN" "$t" && BOT_TOKEN="$t" && echo -e " ${GREEN}OK${NC}"
|
||||
read -p " Enter..." ;;
|
||||
2) bot_auto_chatid; read -p " Enter..." ;;
|
||||
3) echo " Chat ID:"; read -p " > " c
|
||||
[ -n "$c" ] && save_config_val "BOT_CHAT_ID" "$c" && BOT_CHAT_ID="$c" && echo -e " ${GREEN}OK${NC}"
|
||||
read -p " Enter..." ;;
|
||||
4) start_bot; read -p " Enter..." ;;
|
||||
5) stop_bot; read -p " Enter..." ;;
|
||||
0) return ;;
|
||||
esac
|
||||
done
|
||||
@@ -1759,10 +1810,14 @@ run_startup() {
|
||||
|
||||
((s++))
|
||||
printf " ${CYAN}[%d/%d]${NC} ${YELLOW}⏳${NC} Установка gowarp..." "$s" "$total"
|
||||
local upgrade_msg="установлена"
|
||||
if [ -f "/usr/local/bin/gowarp" ] && [ "$(readlink -f "$0" 2>/dev/null)" != "/usr/local/bin/gowarp" ]; then
|
||||
upgrade_msg="обновлена (v${WARP_VERSION})"
|
||||
fi
|
||||
if [ "$(readlink -f "$0" 2>/dev/null)" != "/usr/local/bin/gowarp" ]; then
|
||||
cp -f "$0" "/usr/local/bin/gowarp"; chmod +x "/usr/local/bin/gowarp"
|
||||
fi
|
||||
printf "\r ${CYAN}[%d/%d]${NC} ${GREEN}✓${NC} Команда gowarp \n" "$s" "$total"
|
||||
printf "\r ${CYAN}[%d/%d]${NC} ${GREEN}✓${NC} Команда gowarp %s \n" "$s" "$total" "$upgrade_msg"
|
||||
|
||||
((s++))
|
||||
printf " ${CYAN}[%d/%d]${NC} ${YELLOW}⏳${NC} Определение IP..." "$s" "$total"
|
||||
|
||||
Reference in New Issue
Block a user