Skip to content

arblark/cascad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Cascad

Скрипт для промежуточного сервера (VPS), который превращает его в прозрачный мост для VPN и прокси-трафика.

Устанавливается на промежуточный сервер между клиентом и целевым (зарубежным) VPN/прокси-сервером. Клиент подключается к мосту, а мост незаметно пересылает весь трафик дальше — на уровне ядра Linux через iptables NAT, без дополнительных процессов и потерь скорости.

Зачем это нужно

  • Целевой VPN-сервер скрыт — клиент видит только IP промежуточного сервера
  • Не нужно менять настройки VPN/прокси на целевом сервере
  • Работает с любым протоколом — WireGuard, AmneziaWG, VLESS, XRay, Reality, MTProto
  • Скорость ограничена только каналом, а не софтом — трафик идёт через ядро

Принцип работы

Клиент              Промежуточный VPS         Целевой сервер
(телефон/ПК)  ───►  (этот скрипт)      ───►  (VPN/Proxy за рубежом)
                    DNAT + MASQUERADE

Скрипт создаёт правила DNAT + MASQUERADE в iptables на промежуточном сервере. Ядро Linux пересылает пакеты напрямую — никаких дополнительных процессов.

Возможности

  • Мультипротокольность — UDP (WireGuard, AmneziaWG), TCP (VLESS, XRay, Reality, MTProto), режим both (TCP+UDP одновременно)
  • IPv4 и IPv6 — полная поддержка обоих стеков с точной валидацией адресов
  • Кастомные правила — разные порты входа/выхода, любой протокол
  • Пакетное создание — диапазон портов за одну операцию
  • Google BBR — автоматическое ускорение TCP
  • Бэкап / восстановление — iptables, ip6tables и конфигурация UFW
  • Бэкап sysctl.conf — оригинальная конфигурация сохраняется перед модификацией
  • Автобэкап — перед каждым добавлением, удалением и сбросом правил
  • Ротация — автоматическая очистка старых бэкапов (>20) и ротация лога (>1 MB)
  • Проверка доступности — тест TCP-соединения к целевым серверам
  • Проверка конфликтов портов — предупреждение если порт уже используется локальным сервисом
  • CLI-режим — управление без интерактивного меню (для скриптов и автоматизации)
  • Логирование — все действия записываются в /var/log/cascad.log
  • Защита от дубликатов — проверка перед добавлением правил
  • Валидация ввода — проверка IP-адресов (включая строгую проверку IPv6) и портов
  • Откат при ошибке — частично применённые правила автоматически удаляются
  • UFW-совместимость — сохранение и восстановление оригинальной FORWARD policy
  • Lock-файл — защита от одновременного запуска нескольких экземпляров
  • Обновлениеcascad update для обновления до последней версии
  • Удалениеcascad uninstall для полного удаления с восстановлением конфигурации
  • Trap/Cleanup — корректное завершение при прерывании (Ctrl+C)
  • Кросс-дистрибутив — поддержка Debian/Ubuntu (apt), CentOS/Fedora (dnf/yum), Arch (pacman)
  • Современный conntrack — использование -m conntrack --ctstate вместо устаревшего -m state

Установка

Подключитесь к промежуточному VPS под root и выполните:

bash <(curl -sL https://raw.githubusercontent.com/arblark/cascad/main/cascad.sh)

После первого запуска скрипт доступен глобально:

cascad

Быстрый старт

  1. Установите скрипт на промежуточный VPS (см. выше).
  2. В меню выберите протокол (WireGuard, VLESS и т.д.).
  3. Введите IP и порт целевого (зарубежного) сервера.
  4. В клиенте (AmneziaWG, v2rayNG, Nekobox и т.д.) замените адрес сервера на IP промежуточного VPS.
  5. Готово — трафик прозрачно идёт через мост.

Использование

Интерактивное меню

cascad

CLI-режим

# Добавить правило (порт входа = порт выхода)
cascad add tcp 203.0.113.10 443

# Добавить правило с разными портами
cascad add udp 203.0.113.10 51820 51821

# Добавить правило сразу для TCP и UDP
cascad add both 203.0.113.10 443

# Список правил
cascad list

# Удалить правило
cascad del tcp 203.0.113.10 443 443

# Проверить доступность целей
cascad check

# Создать бэкап (iptables + UFW)
cascad backup

# Восстановить из бэкапа
cascad restore

# Статус системы
cascad status

# Обновить скрипт
cascad update

# Сбросить все правила
cascad flush

# Полностью удалить
cascad uninstall

# Справка
cascad help

Версии

  • v2.0.0 — бэкап UFW, ротация, lock-файл, rollback, проверка конфликтов портов, both протокол, update, uninstall, кросс-дистрибутив, conntrack
  • v1.0.0 — базовая функциональность: NAT-перенаправление, бэкап iptables, CLI

Для установки конкретной версии:

# v1.0.0
bash <(curl -sL https://raw.githubusercontent.com/arblark/cascad/v1.0.0/cascad.sh)

# v2.0.0 (последняя)
bash <(curl -sL https://raw.githubusercontent.com/arblark/cascad/v2.0.0/cascad.sh)

Требования

  • Linux (Debian/Ubuntu, CentOS/Fedora, Arch)
  • root-доступ
  • iptables

Зависимости устанавливаются автоматически при первом запуске.

Структура файлов

Путь Описание
/usr/local/bin/cascad Глобальная команда
/var/log/cascad.log Лог действий
/etc/cascad/backups/ Бэкапы правил iptables + UFW
/etc/cascad/state Сохранённое состояние (оригинальные настройки)
/var/run/cascad.lock Lock-файл

Лицензия

MIT


cascade VPN, iptables NAT forwarding, DNAT MASQUERADE, port forwarding VPS, WireGuard relay, AmneziaWG bridge, VLESS proxy chain, XRay Reality relay, MTProto proxy, каскад VPN, проброс портов, мост VPN, обход блокировок, IPv6 NAT, Google BBR, промежуточный сервер, relay server, VPN bridge, transparent proxy

About

Cascade NAT forwarding for VPN/proxy relay — iptables DNAT+MASQUERADE, IPv4/IPv6, BBR, CLI & interactive menu

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages