mirror of
https://github.com/anten-ka/kaskad-pro.git
synced 2026-05-19 16:16:15 +00:00
Fix self_update URL to kaskad-pro, add GitHub PAT support for private repo updates, auto-restart services on update
Made-with: Cursor
This commit is contained in:
45
install.sh
45
install.sh
@@ -382,16 +382,38 @@ flush_rules() {
|
||||
# ─── Auto-update ──────────────────────────────────────────────
|
||||
|
||||
self_update() {
|
||||
local url="https://raw.githubusercontent.com/anten-ka/kaskad/main/install.sh"
|
||||
local repo_url="https://raw.githubusercontent.com/anten-ka/kaskad-pro/main/install.sh"
|
||||
local update_token
|
||||
update_token=$(bot_get_state "system" "UPDATE_TOKEN" 2>/dev/null)
|
||||
|
||||
echo -e "${YELLOW}[*] Загрузка обновления...${NC}"
|
||||
if wget -qO /tmp/kaskad_update.sh "$url" 2>/dev/null; then
|
||||
|
||||
local ok=0
|
||||
if [ -n "$update_token" ]; then
|
||||
curl -sL -H "Authorization: token $update_token" "$repo_url" -o /tmp/kaskad_update.sh 2>/dev/null && ok=1
|
||||
fi
|
||||
if [ "$ok" -eq 0 ]; then
|
||||
wget -qO /tmp/kaskad_update.sh "$repo_url" 2>/dev/null && ok=1
|
||||
fi
|
||||
if [ "$ok" -eq 0 ] && [ -n "$update_token" ]; then
|
||||
wget -qO /tmp/kaskad_update.sh --header="Authorization: token $update_token" "$repo_url" 2>/dev/null && ok=1
|
||||
fi
|
||||
|
||||
if [ "$ok" -eq 1 ] && [ -s /tmp/kaskad_update.sh ]; then
|
||||
cp -f /tmp/kaskad_update.sh /usr/local/bin/gokaskad
|
||||
chmod +x /usr/local/bin/gokaskad
|
||||
rm -f /tmp/kaskad_update.sh
|
||||
echo -e "${GREEN}[OK] Скрипт обновлён! Перезапустите: gokaskad${NC}"
|
||||
|
||||
systemctl restart kaskad-bot 2>/dev/null
|
||||
systemctl restart kaskad-monitor 2>/dev/null
|
||||
|
||||
echo -e "${GREEN}[OK] Скрипт обновлён! Службы перезапущены.${NC}"
|
||||
echo -e "${GREEN}Перезапустите меню: gokaskad${NC}"
|
||||
log_action "Self-update completed"
|
||||
else
|
||||
echo -e "${RED}[ERROR] Не удалось скачать обновление.${NC}"
|
||||
echo -e "${YELLOW}Если репо приватный, задайте токен: меню 8 → доп. опции${NC}"
|
||||
rm -f /tmp/kaskad_update.sh
|
||||
fi
|
||||
read -p "Нажмите Enter..."
|
||||
}
|
||||
@@ -1349,11 +1371,19 @@ bot_menu() {
|
||||
echo -e "Токен: ${YELLOW}$token_display${NC}"
|
||||
echo -e "Chat ID: ${YELLOW}${BOT_CHAT_ID:-не задан}${NC}"
|
||||
echo ""
|
||||
local ut_display="не задан"
|
||||
local ut_val
|
||||
ut_val=$(bot_get_state "system" "UPDATE_TOKEN" 2>/dev/null)
|
||||
[ -n "$ut_val" ] && ut_display="***${ut_val: -6}"
|
||||
|
||||
echo -e "Update Token: ${YELLOW}$ut_display${NC}"
|
||||
echo ""
|
||||
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 "6) Установить токен обновления (GitHub PAT)"
|
||||
echo -e "0) Назад"
|
||||
read -p "Выбор: " choice
|
||||
|
||||
@@ -1398,6 +1428,15 @@ bot_menu() {
|
||||
;;
|
||||
4) start_bot; read -p "Enter..." ;;
|
||||
5) stop_bot; read -p "Enter..." ;;
|
||||
6)
|
||||
echo -e "Введите GitHub PAT (для скачивания обновлений из приватного репо):"
|
||||
read -p "> " new_ut
|
||||
if [ -n "$new_ut" ]; then
|
||||
bot_set_state "system" "UPDATE_TOKEN=$new_ut"
|
||||
echo -e "${GREEN}[OK] Токен обновления сохранён.${NC}"
|
||||
fi
|
||||
read -p "Enter..."
|
||||
;;
|
||||
0) return ;;
|
||||
esac
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user