Files
kaskad-pro/DOCS.md

9.7 KiB
Raw Permalink Blame History

Kaskad PRO — документация (v2.2)

Что такое Kaskad PRO

Kaskad PRO — bash-скрипт для Linux, который создаёт каскадный “мост” (DNAT + MASQUERADE) между клиентом и вашим зарубежным VPN/Proxy сервером.

Схема:

  • КлиентRU VPS (Kaskad PRO)Foreign VPN/Proxy → Интернет

Скрипт:

  • Добавляет правила iptables (NAT + FORWARD)
  • Включает net.ipv4.ip_forward=1
  • Включает BBR (fq + bbr)
  • Сохраняет правила (netfilter-persistent/iptables-persistent где доступно)

Требования

  • VPS с Linux (Ubuntu/Debian/CentOS/Fedora)
  • Доступ root
  • Исходящий доступ в интернет (для установки пакетов и GeoIP)
  • Пакеты (скрипт установит автоматически): iptables, curl, jq, qrencode (+ persistent для Debian/Ubuntu)

Установка

Вариант A: репозиторий публичный

curl -sL https://raw.githubusercontent.com/anten-ka/kaskad-pro/main/install.sh -o install.sh && chmod +x install.sh && ./install.sh

Вариант B: репозиторий приватный (GitHub PAT)

curl -sL -H "Authorization: token YOUR_GITHUB_PAT" https://raw.githubusercontent.com/anten-ka/kaskad-pro/main/install.sh -o install.sh && chmod +x install.sh && ./install.sh

Повторный запуск меню

gokaskad

Где взять ключи/токены

1) Telegram Bot Token (где взять токен бота)

Нужен для запуска Telegram-бота.

  1. В Telegram откройте @BotFather
  2. Отправьте команду: /newbot
  3. Введите имя бота (любое)
  4. Введите username бота (должен оканчиваться на bot)
  5. Скопируйте token, который выдаст BotFather (формат 123456789:AA...)

2) Telegram Chat ID (как привязать доступ)

В Kaskad PRO управление ограничено по Chat ID.

Вариант авто:

  • В меню: 8) Telegram Bot → 2) Chat ID (авто)
  • Перед этим отправьте своему боту любое сообщение (например /start)

Вариант вручную:

  • В меню: 8) Telegram Bot → 3) Chat ID (вручную)
  • Вставьте chat id (число)

3) GitHub PAT (для приватного репозитория)

Нужен только если репозиторий private, чтобы скачивать install.sh по raw.githubusercontent.com.

Рекомендуемый вариант: fine-grained PAT с доступом только к репозиторию.

  1. GitHub → Settings → Developer settings → Personal access tokensFine-grained tokens
  2. Create token
  3. Repository access: Only select repositories → выберите kaskad-pro
  4. Permissions: Contents = Read-only
  5. Сгенерируйте и сохраните токен

Использование: в команде установки или обновления через curl -H "Authorization: token ..."


Основные функции (терминальное меню)

Ниже — что делает каждый пункт меню и когда использовать.

1) AmneziaWG / WireGuard (UDP)

Создаёт каскад для UDP-сервисов (AWG/WireGuard/OpenVPN-UDP).

  • Вы вводите IP и порт
  • Создаётся правило: udp :порт (RU VPS) → IP:порт (Foreign)

На клиенте (AWG/WireGuard) меняете endpoint на IP вашего RU VPS.

2) VLESS / XRay (TCP)

Каскад для TCP-прокси (VLESS/VMess/Trojan/Reality и т.д.).

Логика та же:

  • tcp :порт (RU VPS) → IP:порт (Foreign)

3) TProxy / MTProto (TCP)

Каскад для MTProto/TProxy (обычно для Telegram).

4) Custom Rule (TCP/UDP, разные порты)

Позволяет пробрасывать:

  • разные вход/выход порты
  • любой TCP/UDP сервис

Пример: клиент подключается к RU_VPS:2222, а трафик уходит на FOREIGN:22 (SSH).

5) Правила

Показывает активные DNAT правила (включая IP каскада) и информацию о целевом сервере:

  • имя
  • примечание
  • GeoIP (страна/ISP), если определено

6) Ping (live)

Live ping выбранного целевого IP:

  • обновление каждые 1 сек
  • ASCII-бар + цветовая шкала
  • статистика min/max/avg и потери

7) Мониторинг (авто)

Мониторинг целевых серверов:

  • Интервал проверок: 10 сек / 1 мин / 5 мин
  • Порог задержки: в ms
  • Частота уведомлений (не чаще): 10 сек / 60 сек / 5 мин / 15 мин
  • Если задержка выше порога или timeout — отправляет alert в Telegram

Служба kaskad-monitor:

  • запускается автоматически, если есть хотя бы один монитор
  • останавливается автоматически, если мониторов нет

8) Telegram Bot

Настройка токена/Chat ID и управление службой kaskad-bot.

9) Удалить правило

Удаляет 1 DNAT правило и связанные INPUT/FORWARD правила.

10) Сбросить всё

Удаляет только правила, созданные Kaskad (по маркеру kaskad).

11) Обновить скрипт

Скачивает свежий install.sh из репозитория и заменяет /usr/local/bin/gokaskad.

Если репозиторий приватный — обновление нужно выполнять с PAT (или настроить отдельный update-token внутри скрипта/бота).

12) PROMO

Партнёрские хостинги и промокоды (плюс QR).

13) Инструкция

Встроенная краткая инструкция (страницы).

14) Имена серверов

Редактор имён и примечаний для целевых IP.

Данные хранятся в /etc/kaskad/aliases.


Telegram Bot (как пользоваться)

Запуск

  1. Создайте токен через @BotFather
  2. На сервере:
gokaskad

Меню:

  • 8) Telegram Bot → 1) Токен бота — вставьте token
  • 8) Telegram Bot → 2) Chat ID (авто) — отправьте боту /start, затем Enter в терминале
  • 8) Telegram Bot → 4) Запустить

В Telegram:

  • Отправьте боту /start

Режимы меню

  • Inline — кнопки под сообщением (по умолчанию)
  • Reply keyboard — большие кнопки внизу экрана

Переключение:

  • В inline: кнопка ⌨️ Reply-клавиатура
  • В reply: команда /inline

Добавление сервера через бота

Поток:

  1. Нажимаете протокол (AWG/VLESS/MTProto/Custom)
  2. Вводите IP
  3. Бот делает:
    • GeoIP (страна/ISP)
    • ping 3 раза (1 сек)
  4. Просит имя
  5. Просит примечание
  6. Просит порт(ы)
  7. Создаёт правило

Ping в боте

  • 1 раз — мгновенно
  • 10 раз — показывает список и среднее
  • 60 сек — обновляет прогресс каждые 10 секунд, затем итог

Мониторинг в боте

  1. 📊 Монитор Добавить → выбрать сервер
  2. Выбрать интервал (10с/1мин/5мин)
  3. Ввести порог (мс)
  4. Выбрать частоту уведомлений (10с/60с/5мин/15мин)

Где хранятся данные

Путь Назначение
/usr/local/bin/gokaskad основной скрипт/команда
/etc/kaskad/config BOT_TOKEN, BOT_CHAT_ID, MENU_STYLE
/etc/kaskad/aliases IP → имя/примечание/GeoIP
/etc/kaskad/monitors/*.conf мониторы IP
/var/log/kaskad.log лог действий

Службы systemd

systemctl status kaskad-bot
journalctl -u kaskad-bot -f

systemctl status kaskad-monitor
journalctl -u kaskad-monitor -f

Troubleshooting

Бот не отвечает

  • Проверьте, что задан BOT_TOKEN и BOT_CHAT_ID
  • Проверьте службу:
systemctl status kaskad-bot
journalctl -u kaskad-bot -f

Raw GitHub не скачивается

Если репозиторий приватный — нужен PAT:

curl -sL -H "Authorization: token YOUR_GITHUB_PAT" https://raw.githubusercontent.com/anten-ka/kaskad-pro/main/install.sh

Мониторинг не запускается

Мониторинг запускается автоматически, если есть конфиги в /etc/kaskad/monitors/. Проверьте:

ls -la /etc/kaskad/monitors/
systemctl status kaskad-monitor

Лицензия

Для частного использования. Распространение запрещено.