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)
  • IPv4 и IPv6 — полная поддержка обоих стеков
  • Кастомные правила — разные порты входа/выхода, любой протокол
  • Пакетное создание — диапазон портов за одну операцию
  • Google BBR — автоматическое ускорение TCP
  • Бэкап / восстановление — сохранение и откат конфигурации
  • Проверка доступности — тест TCP-соединения к целевым серверам
  • CLI-режим — управление без интерактивного меню (для скриптов и автоматизации)
  • Логирование — все действия записываются в /var/log/cascad.log
  • Защита от дубликатов — проверка перед добавлением правил
  • Автобэкап при сбросе — невозможно случайно потерять конфигурацию
  • Валидация ввода — проверка IP-адресов и портов

Установка

Подключитесь к промежуточному 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

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

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

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

# Создать бэкап
cascad backup

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

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

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

# Справка
cascad help

Требования

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

Зависимости (iptables-persistent, netfilter-persistent) устанавливаются автоматически при первом запуске.

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

Путь Описание
/usr/local/bin/cascad Глобальная команда
/var/log/cascad.log Лог действий
/etc/cascad/backups/ Бэкапы правил iptables

Лицензия

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

S
Description
No description provided
Readme MIT
73 KiB
Languages
Shell 100%