О проекте
Gately — открытый и проверяемый набор сетевых шлюзовых инструментов для домашней сети, NAS, облачных хостов и серверов любого рода. DDNS, STUN-обход NAT, проброс портов, обратный прокси, сертификаты, WAF и другие востребованные функции собраны в одном файле размером около 32 МБ, а конфигурацию Lucky можно импортировать.
Зачем нужен Gately
Gately объединяет DDNS, STUN-обход NAT, обратный прокси и другие функции и полностью открыт, поэтому пользователи и сообщество могут напрямую изучать исходный код и конфигурацию. Программа на границе сети, у которой есть ключи DNS и закрытые ключи сертификатов, должна быть прозрачной: открытый код позволяет увидеть, что именно она делает. Обязательства Gately:
- Исходный код открыт по лицензии Apache-2.0 и доступен для проверки сообществом
- По умолчанию соединений с серверами проекта нет, сведения об устройстве не отправляются; для входа через сторонние сервисы используется ваше собственное OAuth-приложение без промежуточных серверов
- Все внешние адреса (определение публичного IP, STUN-серверы и т. д.) видны, их можно изменить или отключить
- Конфигурация хранится в виде открытого JSON, её можно вести в git для аудита и отката
Принципы проектирования
- Прозрачность: по умолчанию нет соединений с серверами проекта, все внешние адреса видны, их можно изменить или отключить.
- Переносимость: есть импорт
.lkcf. - Проверяемая конфигурация: конфигурация хранится в открытом JSON (права на файлы 0600), её можно вести в git для сравнения изменений и отката.
- Развёртывание одним файлом: один статический бинарный файл со встроенным фронтендом; поддерживаются Docker, systemd и OpenWrt.
Технологический стек
| Слой | Выбор |
|---|---|
| Бэкенд | Go, статическая сборка, кросс-компиляция для маршрутизаторов и NAS на arm / arm64 / mips / riscv |
| HTTP | Стандартная библиотека net/http |
| Хранилище | Один открытый JSON-файл на модуль, атомарная запись |
| Аутентификация | Пароль bcrypt + сессионный токен с подписью HMAC, ограничение неудачных попыток входа, двухфакторная аутентификация TOTP |
| Фронтенд | Vue 3 + TypeScript + Vite + Element Plus, встроен в бинарный файл через go:embed |
Возможности
Динамический DNS, STUN-обход NAT, проброс портов, SSL-сертификаты, веб-службы (обратный прокси, контроль доступа, проверка работоспособности, кэш и ограничение частоты запросов, статистика доступа), Брандмауэр WAF, Tailscale, frp, Cloudflare Tunnel, управление Docker, веб-терминал, сетевая диагностика, Wake-on-LAN, WebDAV, FTP, монтирование хранилищ, запланированные задачи, центр уведомлений, резервное копирование конфигурации, а также двухфакторная аутентификация, секретный путь входа, API-токены, командная строка и MCP. Подробнее в обзоре модулей.
Что дальше
- Хотите быстро попробовать: Быстрый старт
- Уже пользуетесь Lucky: Руководство по миграции
- Интересуют приватность и безопасность: Модель безопасности и обязательства по приватности