Skip to content

androideworld/port-forwarder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 

Repository files navigation

Port Forwarder

Универсальный проброс трафика через iptables

Лицензия Язык OS

Простой и эффективный скрипт для создания прокси-моста (порт-форвардинга) между серверами. Позволяет принимать трафик на одном сервере и прозрачно перенаправлять его на другой.

Возможности

✅ Проброс TCP и UDP трафика

✅ Поддержка одинаковых и разных портов (вход/выход)

✅ Автоматическое включение IP forwarding и BBR

✅ Сохранение правил после перезагрузки (netfilter-persistent)

✅ Интеграция с UFW (автоматическое открытие портов)

✅ Управление правилами: просмотр, удаление, полная очистка

✅ Работает на любых дистрибутивах Linux

📋 Назначение

Протокол/Сервис Пункт меню Пример использования

MTProto / Telegram Proxy 3 Проброс на Telemt, MTProto

VLESS / XRay 2 Проброс прокси-трафика

AmneziaWG / WireGuard 1 Проброс VPN-трафика

SSH, RDP, любые порты 4 Кастомные правила

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

Установка

# Скачать скрипт
wget -O port-forwarder.sh https://raw.githubusercontent.com/androideworld/port-forwarder/main/port-forwarder.sh

# Сделать исполняемым
chmod +x port-forwarder.sh

# Запустить от root
sudo ./port-forwarder.sh

Или одной строкой

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/androideworld/port-forwarder/main/port-forwarder.sh)"

После первого запуска скрипт сам установит себя в /usr/local/bin/port-forwarder — команда станет доступна глобально.

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

sudo port-forwarder

Меню скрипта

╔══════════════════════════════════════════════════════════════╗
║              Port Forwarder v1.0                             ║
║              Проброс трафика через iptables                  ║
╚══════════════════════════════════════════════════════════════╝

1) Настроить AmneziaWG / WireGuard (UDP)
2) Настроить VLESS / XRay (TCP)
3) Настроить TProxy / MTProto (TCP)
4) 🛠 Создать Кастомное правило (разные порты)
5) Посмотреть активные правила
6) Удалить одно правило
7) Сбросить ВСЕ настройки
0) Выход

🔧 Как это работает

Клиент → РФ-сервер:ПОРТ → iptables DNAT → NL-сервер:ПОРТ → Целевой сервис
                              ↑
                    Скрипт создаёт правила

#Что делает скрипт Включает IP forwarding — разрешает маршрутизацию Включает BBR — ускоряет TCP-соединения Создаёт правила iptables: INPUT — разрешает входящий трафик на порт PREROUTING (DNAT) — перенаправляет на целевой сервер POSTROUTING (MASQUERADE) — подменяет обратный адрес FORWARD — разрешает проход пакетов Сохраняет правила через netfilter-persistent

📝 Примеры

Пример 1: Проброс MTProto на NL-сервер

# Запустить скрипт → выбрать пункт 3
# Ввести IP NL-сервера: 194.104.10.162
# Ввести порт: 10443

# Готово! Теперь клиенты подключаются к РФ-серверу:10443

Пример 2: Кастомное правило (разные порты)

# Запустить скрипт → выбрать пункт 4
# Протокол: tcp
# IP назначения: 10.0.0.1
# Входящий порт (на этом сервере): 8080
# Исходящий порт (на целевом): 22

# SSH-трафик с порта 8080 уйдёт на порт 22 целевого сервера

Пример 3: Получить ссылку для Telegram (MTProto)

# IP вашего РФ-сервера
SERVER_IP=$(curl -s https://api.ipify.org)

# Ссылка с секретом от NL-сервера
echo "tg://proxy?server=$SERVER_IP&port=10443&secret=eeВАШ_СЕКРЕТ"

🛠 Управление правилами

Команда Что делает iptables -t nat -L -n -v Просмотр NAT-правил iptables -L -n -v Просмотр filter-правил netfilter-persistent save Сохранить текущие правила netfilter-persistent reload Перезагрузить правила

⚠️ Важные замечания

Реальный IP клиента не передаётся — на целевом сервере все клиенты видны как IP сервера-ретранслятора Нет логирования подключений — используйте HAProxy, если нужны логи Только один целевой сервер — нет балансировки

🔄 HAProxy vs iptables

Характеристика iptables (этот скрипт) HAProxy Скорость ⚡ Максимальная Высокая Логирование ❌ Нет ✅ Да Реальный IP клиента ❌ Нет ✅ Да (PROXY protocol) Балансировка ❌ Нет ✅ Да Простота ✅ Проще Сложнее

📋 Системные требования

ОС: Linux (Ubuntu/Debian/CentOS) Права: root Зависимости: iptables, netfilter-persistent (устанавливаются автоматически)

⬇️ Быстрая установка

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/androideworld/port-forwarder/main/port-forwarder.sh)"

About

Проброс портов

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages