Skip to content

Repository files navigation

OLCWave

Панель управления для OLCRTC.

Работает в двух режимах:

  • С Remnawave (RW_ENABLED=true) — пользователи и подписки синхронизируются с Remnawave
  • Без Remnawave (RW_ENABLED=false) — полностью автономная работа, пользователи создаются локально

Содержание

Возможности

  • Интеграция с Remnawave (опционально) - статус пользователя и срок действия подписки берутся напрямую из Remnawave. Опциональная фильтрация по squad - выдавайте подписки только участникам нужной группы
  • Автономный режим - полноценная работа без Remnawave: создание пользователей через панель, ручное управление трафиком и подписками
  • Профили - переиспользуемые YAML-шаблоны конфигурации OLCRTC Примеры профилей
  • Автоматическая генерация конфигурации - панель сама заполняет уникальные параметры для каждого пользователя (crypto.key, room.id итд)
  • Автоматическое создание комнат - для некоторых провайдеров панель сама создаёт комнаты через их API. Больше не нужно вручную создавать комнаты и копировать ID. Просто укажите токен - комнаты будут создаваться автоматически для каждого пользователя. Подробнее в docs/profiles.md
  • Управление контейнерами - запуск, остановка, перезапуск и удаление OLCRTC-контейнеров, просмотр логов в реальном времени и текущего config.yaml
  • Учёт трафика - SOCKS-прокси внутри каждого контейнера считает переданные данные, backend собирает статистику по пользователям, контролирует лимиты и позволяет сбрасывать счётчики.
  • Routing - маршрутизация трафика контейнеров через внешние прокси (SOCKS5, VLESS и др.) с помощью Xray-core. Направляйте трафик заблокированных сайтов через прокси, российские сайты - напрямую, остальные - за границу.
  • Подписки - одна ссылка для каждого пользователя, которая возвращает пакет всех доступных локаций в формате, совместимом с OLCBox
  • Subscription Page - страница для пользователей по подписочному URL: скачивание OLCBox, пошаговая инструкция, ссылка для копирования и советы. Браузер видит HTML, клиентское приложение - raw-конфигурации. Подробнее

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

Для запуска нужны Docker, Docker Compose. Remnawave не обязателен — можно работать в автономном режиме.

Рекомендую устанавливать OLCWave на сервер в России

НЕ рядом с remnawave (если используете интеграцию)

ВАЖНО: некоторые шаги скрипта могут занимать от 1 до 10 минут. НЕ прирывайте скрипт

apt update && apt install git
cd /opt
git clone https://github.com/invdevv/olcwave.git && cd olcwave

chmod +x install.sh
./install.sh

После установки откройте веб-панель и войдите.

Или установите всё вручную:

docs/installation.md

Обзор архитектуры

Панель администратора             Клиент пользователя

        │                                 │
        ▼                                 ▼
Frontend (React SPA)                /sub/{uuid}
        │                                 │
        └──────────────┬──────────────────┘
                       ▼
                Backend (FastAPI)
                       │
        ┌──────────────┼──────────────────────┐
        ▼              ▼                      ▼
   PostgreSQL     Remnawave API       Docker daemon
 (пользователи,  (ОПЦИОНАЛЬНО:       (запускает
  профили,        проверка            контейнеры
  трафик,         пользователя,       OLCRTC + XrayCore)
  routing)        срок действия)
                                               │
                                               ▼
                                      Контейнеры OLCRTC
                                    olcwave-<tag>-<uuid>
                                               │
                                     (при enabled routing)
                                               ▼
                                       olcwave-xraycore
                                        (Xray-core)
  • Frontend - приложение на React + Vite. В production собирается в статические файлы и обслуживается Caddy. Включает валидацию YAML/JSON конфигураций на клиенте.
  • Backend - FastAPI-приложение, которое отвечает за всю логику: аутентификацию, профили, опциональную работу с Remnawave, управление контейнерами через Docker Socket, генерацию подписок, routing через Xray-core и фоновый учёт трафика.
  • PostgreSQL - хранит локальные данные пользователей, шаблоны профилей и конфигурацию routing.
  • Remnawave API (опционально) - если включено, backend синхронизирует пользователей и проверяет подписки через Remnawave.
  • Docker - backend собирает образ olcrtc и запускает отдельный контейнер для каждой пары "профиль - пользователь" на Docker-хосте. При включённом routing также управляет контейнером olcwave-xraycore.
  • OLCRTC - основной транспорт. Каждый контейнер также запускает SOCKS-прокси, который сохраняет статистику трафика в stats.json. Backend периодически считывает эти данные.
  • XrayCore (опционально) - контейнер с Xray-core, маршрутизирующий трафик OLCRTC через внешние прокси.

Подробное описание работы системы в docs/architecture.md.

Документация

Документ Описание
installation.md Полная инструкция по установке на чистый Linux-сервер
configuration.md Описание всех переменных окружения и runtime-настроек
profiles.md Работа профилей, генерация конфигураций и примеры YAML
routing.md Маршрутизация трафика через Xray-core, настройка и примеры
architecture.md Архитектура системы, потоки запросов, учёт трафика и Caddy
development.md Локальная разработка и рекомендации для участников проекта
troubleshooting.md Частые проблемы и способы их решения
subscription_page.md Страница подписки для пользователей

Лицензия

Проект распространяется под лицензией GNU AGPL v3.

Подробнее см. файл LICENSE.

Поддержать проект

OLcWave - это open-source проект, который развивается самостоятельно.

Если вы используете проект и хотите помочь с дальнейшей разработкой, вы можете:

  • поставить ⭐ на GitHub;
  • сообщать о найденных проблемах;
  • предлагать новые идеи;
  • поддержать разработку финансово.

TON кошелек: UQBJ7yNz6eKZ3FPwGORmVld8p986TEc-bzX-uoRmV4_rbPsR

Любая поддержка помогает уделять больше времени развитию проекта.

Спасибо всем, кто поддерживает OLCWave ❤️

Copyright (C) 2026 invdevv - https://github.com/invdevv This file is part of olcwave. OLCWave is free software licensed under AGPL-3.0.

About

Panel for OLCRTC integrated with RemnaWave

Topics

Resources

Stars

150 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages