Всем привет!
Хочу поделиться интересным open-source проектом, на который недавно наткнулся — Pangolin. Это self-hosted туннельный обратный прокси. Если говорить проще, это аналог Cloudflare Tunnels, но с полным контролем над вашей инфраструктурой и данными.
Идеальное решение для тех, кто хочет безопасно опубликовать в интернете свои домашние сервисы (вроде Jellyfin, Home Assistant, Nextcloud или тестовые веб-серверы), особенно если вы сидите за CGNAT и не имеете “белого” IP.
Как это работает?
Принцип работы довольно прост:
-
Сервер Pangolin устанавливаете на свой публичный сервер — обычно это недорогой VPS. На нём крутится веб-интерфейс, прокси-сервер Traefik и сам движок Pangolin. -
Клиент Newt запускаете на машине в своей локальной сети (например, на домашнем сервере или Raspberry Pi). -
Туннель Клиент Newt устанавливает постоянный и зашифрованный WireGuard-туннель до вашего VPS. (Сервер VPS должен быть в РФ, внутри страны WG не блокируется) -
Маршрутизация: Когда пользователь обращается к service.yourdomain.com, запрос прилетает на ваш VPS. Pangolin через защищенный туннель перенаправляет этот трафик прямо на нужный сервис в вашей домашней сети. При этом никаких портов на домашнем роутере открывать не нужно!
Ключевые особенности Pangolin
-
Полный контроль и приватность: Весь ваш трафик проходит исключительно через ваш собственный сервер. Никакие третьи стороны не могут его перехватить или проанализировать. -
Безопасность "из коробки": Для туннелей используется быстрый и надёжный WireGuard. Есть встроенная система аутентификации и авторизации (можно настроить доступ по IP, CIDR, URL-пути, логину/паролю и даже TOTP). -
Интеграция с CrowdSec: Возможность автоматической блокировки вредоносных IP-адресов на уровне прокси. -
Простое управление: Удобный и понятный веб-интерфейс для добавления сайтов, пользователей, сервисов и правил доступа. -
Гибкость: Поддержка нескольких доменов, проброс не только HTTP/HTTPS, но и обычных TCP/UDP сервисов (например, для игровых серверов). -
Бесплатные SSL-сертификаты: Автоматическое получение и обновление сертификатов от Let’s Encrypt. -
Развертывание через Docker: Установка упрощена до предела благодаря Docker Compose и готовому скрипту.
Когда стоит выбрать Pangolin?
Если для вас важны приватность и полный контроль над данными.
У вас уже есть свой VPS и вы не боитесь командной строки и Docker.
Вам нужны гибкие правила доступа, которых нет в бесплатном тарифе Cloudflare.
Вы принципиально хотите избежать привязки к одному поставщику услуг.
С чего начать?
Процесс установки довольно прост для тех, кто знаком с Docker.
Что понадобится:
Недорогой VPS с Ubuntu (1 ядро и 1 ГБ ОЗУ будет достаточно).
Собственное доменное имя.
Установленные Docker и Docker Compose на VPS.
Краткая инструкция:
Настройте DNS: Создайте A-запись для вашего домена
(например, pangolin.yourdomain.com) и wildcard-запись (*.yourdomain.com),
обе указывающие на IP-адрес вашего VPS.
Установите Pangolin: На VPS склонируйте официальный репозиторий и запустите
установочный скрипт. Он сам установит все компоненты.
Настройте клиент: В веб-интерфейсе Pangolin создайте "Сайт" (Site) и
сгенерируйте для него учетные данные.
Запустите Newt: На вашем домашнем сервере запустите Docker-контейнер клиента
Newt с полученными учетными данными.
Добавляйте сервисы: После того как туннель установится, вы можете добавлять
"Ресурсы" (Resources) в веб-интерфейсе, указывая их локальные адреса, порты и
желаемые поддомены.
