Ваш сервер.
Ваша сеть.
Проект содержит API, UDP relay, STUN, Windows-клиент, лендинг и мониторинг. Нужны Docker Engine и Compose v2 с Linux-контейнерами. Сборка клиента в Linux Docker создаёт Windows x64 .exe.
1. Подготовьте сервер
Распакуйте исходники и выполните в каталоге проекта:
python3 scripts/init-env.py
# Отредактируйте .env:
# RELAY_PUBLIC_ADDRESS=адрес-сервера:51820
# STUN_PUBLIC_ADDRESS=адрес-сервера:3478
docker build -f Dockerfile.client --target artifacts \
--output type=local,dest=./releases .
python3 scripts/publish-downloads.py
docker compose up -d --buildЛокальная страница: http://localhost:8191. API: /api, администрирование: /admin. Для публичного запуска положите сертификаты в deploy/certs и включите TLS. Внешний веб-порт остаётся 8191.
docker compose -f compose.yml -f compose.tls.yml up -d --build| Порт | Назначение |
|---|---|
| 8191 / TCP | Лендинг, скачивание, API, WebSocket |
| 3478 / UDP | STUN |
| 51820 / UDP | Зашифрованный relay |
2. Подключите компьютеры
- Распакуйте ZIP клиента целиком: LinkLAN.exe и wintun.dll должны лежать рядом.
- Запустите клиент от администратора. Укажите https://ваш-домен:8191.
- Зарегистрируйтесь. Пароль — не менее 12 байт.
- Первый участник создаёт сеть и приглашение. Остальные вводят ID сети и код, затем нажимают «Вступить».
- Выберите сеть и нажмите «Подключить VPN». Проверьте ping другого виртуального IP.
Windows Firewall должен разрешать ваши игры и локальные сервисы на виртуальном интерфейсе. Клиент добавляет ограниченное правило ICMP своей подсети. Broadcast-поиск пока не поддерживается.
3. Соберите клиент в Docker
docker build -f Dockerfile.client --target artifacts \
--output type=local,dest=./releases .
python3 scripts/publish-downloads.py
docker compose restart webСборка создаёт portable ZIP, .exe и NSIS-установщик. Для подписанных обновлений задайте собственный закрытый ключ Ed25519 и закрепите публичный ключ в клиенте. Команды приведены в README исходников.
4. Назначьте администратора
Сначала зарегистрируйте аккаунт, затем выполните на сервере:
docker compose exec api /app/linklan-server \
--make-admin admin@example.comОткройте /admin и войдите в этот аккаунт. В логах и метриках — технические события и счётчики; содержимое IP-пакетов недоступно.
Статус первой версии
Это тестовый MVP. Одновременно активна одна сеть. Испытания на Windows, разных NAT и целевых нагрузках ещё необходимы. Production-готовность, 100 Mbps и 20 000 устройств пока не подтверждены. Отдельная Windows-служба, LAN-обнаружение и macOS/Linux — дальнейшее развитие.