Панель управления для OLCRTC, интегрированная с Remnawave.
OLCWave хранит шаблоны конфигураций OLCRTC (profiles). Когда пользователь добавляет подписку, панель проверяет его через Remnawave, создаёт отдельную конфигурацию OLCRTC для каждого профиля, запускает Docker-контейнеры и возвращает готовую к импорту подписку.
Также панель отслеживает использование трафика пользователей и автоматически останавливает контейнеры при достижении установленного лимита.
- Интеграция с Remnawave - статус пользователя и срок действия подписки берутся напрямую из Remnawave
- Профили - переиспользуемые YAML-шаблоны конфигурации OLCRTC
- Автоматическая генерация конфигурации - панель сама заполняет уникальные параметры для каждого пользователя (crypto.key, room.id итд)
- Управление контейнерами - запуск, остановка, перезапуск и удаление OLCRTC-контейнеров, просмотр логов в реальном времени и текущего
config.yaml - Учёт трафика - SOCKS-прокси внутри каждого контейнера считает переданные данные, backend собирает статистику по пользователям, контролирует лимиты и позволяет сбрасывать счётчики.
- Подписки - одна ссылка для каждого пользователя, которая возвращает пакет всех доступных локаций в формате, совместимом с OLCBox
Для запуска нужны Docker, Docker Compose и работающий инстанс Remnawave.
git clone https://github.com/invdevv/olcwave.git
cd olcwave
chmod +x install.sh
./install.shПосле установки откройте веб-панель и войдите, используя ADMIN_USERNAME и ADMIN_PASSWORD из файла backend/.env.
Или установите всё вручную:
Панель администратора Клиент пользователя
│ │
▼ ▼
Frontend (React SPA) /sub/{uuid}
│ │
└──────────────┬──────────────────┘
▼
Backend (FastAPI)
│
┌──────────────┼─────────────────────┐
▼ ▼ ▼
PostgreSQL Remnawave API Docker daemon
(пользователи, (проверка (запускает
профили, пользователя, контейнеры
трафик) срока действия) OLCRTC)
│
▼
Контейнеры OLCRTC
olcwave-<tag>-<uuid>
- Frontend - приложение на React + Vite. В production собирается в статические файлы и обслуживается Caddy.
- Backend - FastAPI-приложение, которое отвечает за всю логику: аутентификацию, профили, работу с Remnawave, управление контейнерами через Docker Socket, генерацию подписок и фоновый учёт трафика.
- PostgreSQL - хранит локальные данные пользователей и шаблоны профилей.
- Docker - backend собирает образ
olcrtcи запускает отдельный контейнер для каждой пары "профиль - пользователь" на Docker-хосте. - OLCRTC - основной транспорт. Каждый контейнер также запускает SOCKS-прокси, который сохраняет статистику трафика в
stats.json. Backend периодически считывает эти данные.
Подробное описание работы системы в docs/architecture.md.
| Документ | Описание |
|---|---|
| installation.md | Полная инструкция по установке на чистый Linux-сервер |
| configuration.md | Описание всех переменных окружения |
| profiles.md | Работа профилей, генерация конфигураций и примеры YAML |
| architecture.md | Архитектура системы, потоки запросов, учёт трафика и Caddy |
| development.md | Локальная разработка и рекомендации для участников проекта |
| api.md | Описание HTTP API |
| troubleshooting.md | Частые проблемы и способы их решения |
Проект распространяется под лицензией GNU GPL v3.
Подробнее см. файл LICENSE.
OLcWave - это open-source проект, который развивается самостоятельно.
Если вы используете проект и хотите помочь с дальнейшей разработкой, вы можете:
- поставить ⭐ на GitHub;
- сообщать о найденных проблемах;
- предлагать новые идеи;
- поддержать разработку финансово.
TON кошелек:
UQBJ7yNz6eKZ3FPwGORmVld8p986TEc-bzX-uoRmV4_rbPsR
Любая поддержка помогает уделять больше времени развитию проекта.
Спасибо всем, кто поддерживает OLcWave ❤️