惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
A
About on SuperTechFans
博客园 - 【当耐特】
Microsoft Security Blog
Microsoft Security Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The GitHub Blog
The GitHub Blog
雷峰网
雷峰网
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
IT之家
IT之家
博客园 - 叶小钗
Google DeepMind News
Google DeepMind News
aimingoo的专栏
aimingoo的专栏
博客园 - 聂微东
B
Blog RSS Feed
H
Help Net Security
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
D
DataBreaches.Net
L
LangChain Blog
Vercel News
Vercel News

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Лёгкая панель для управления личным VPN-сервером на Xray
Dmitry · 2026-06-22 · via DEV Community

У большинства self-hosted VPN-панелей одна и та же боль: Docker-стек, внешняя БД, реверс-прокси и куча конфигов, которые надо связать между собой, прежде чем хоть что-то заработает. Мне хотелось наоборот — что-то, что можно закинуть на свежий VPS и поднять меньше чем за минуту.

Так появилась РосПанель: self-hosted панель для администрирования личного VPN-сервера на Xray-core, который поставляется одним статическим бинарником. React-фронтенд вшит через go:embed, база — встроенный SQLite, отдельного веб-сервера нет. Поставил, открыл, добавил юзера.

Главная идея: один бинарник, ничего лишнего

Цель, которая определила всё остальное, — радикальная простота. В отличие от Marzban и 3x-ui, у РосПанели нет Docker-обвязки, нет внешней БД и нет отдельного веб-сервера, который надо настраивать.

Всё живёт в одном исполняемом файле:

  • Веб-интерфейс собирается в web/dist и вшивается в Go-бинарник на этапе сборки.
  • Состояние хранится в SQLite (чистый Go-драйвер modernc, то есть без CGO).
  • Конфиг Xray всегда генерируется из базы и применяется супервизором — SQLite это единственный источник правды, а не JSON, который правят руками. В итоге деплой — это просто положить бинарник и systemd-юнит. Никакой оркестрации, ничего не надо держать в синхроне.

Что она на самом деле делает

РосПанель — это панель управления (control plane), а не VPN-клиент. Она настраивает и обслуживает ваш собственный сервер: генерирует конфиг Xray, выдаёт ссылки на подписки и показывает статистику.

Протоколы из коробки — один конфиг Xray, один набор учёток:

  • VLESS-Vision (TCP/443 + uTLS-fingerprint)
  • Trojan-WS (через fallback на 443)
  • Hysteria2 (UDP с port-hopping)
  • VLESS-gRPC-REALITY (отдельный порт, маскировка под чужой TLS) Маскировка — панель спрятана за секретным путём. Любой другой путь отдаёт сайт-заглушку (11 готовых шаблонов), так что сервер неотличим от обычного хостинга. Без знания /<secret>/ форму логина не найти.

TLS, который просто работает — ACME через Let's Encrypt или ZeroSSL, авто-продление и self-signed fallback, пока не выпустится настоящий сертификат.

Маршрутизация и выходы — категории block / direct / proxy / WARP / Opera с настраиваемым приоритетом, geosite/geoip-пресеты с авто-загрузкой баз, Cloudflare WARP (WireGuard) как выход по правилам, Opera VPN как бесплатный региональный выход и пул прокси с health-check через Observatory.

Пользователи и статистика — лимиты трафика и срок действия с авто-отключением, авто-сброс по дням/неделям/месяцам/годам, учёт трафика через Xray Stats API, онлайн-статус и дашборд в реальном времени (CPU / RAM / swap / диск / сеть / VPN-трафик / аптайм).

Подписки — base64-список плюс страница с QR-кодами, deep-links и кнопками импорта в популярные клиенты.

Эксплуатация — бэкап/восстановление и сброс к заводским настройкам из дашборда и из CLI, логи приложения с ротацией и просмотрщиком прямо в панели, брутфорс-защита (бан по iptables за перебор на SOCKS/HTTP-инбаунде) и самообновление прямо из GitHub Releases.

Стек

Go 1.26 · Xray-core · SQLite (modernc, без CGO) · React + Vite + Tailwind

Внутренняя структура разбита по зонам ответственности — типизированный генератор конфига Xray и супервизор, ACME-менеджер, роутер заглушки, port-hopping на nftables для Hysteria2, хелперы WARP и Opera, пул прокси, сборщики ссылок и подписок и сервисный слой, который сводит желаемое состояние (квоты, TLS, роутинг) с тем, что Xray реально крутит.

Попробовать

Одна команда скачает последний релиз, поставит systemd-сервис, запустит его и напечатает логин:

curl -Ls https://raw.githubusercontent.com/AppsGanin/rospanel/main/install.sh | sudo bash

Скрипт спросит домен (запросит TLS-сертификат через ACME) — или можно оставить пустым и работать по IP. Xray, geo-базы и сертификат подтянутся автоматически. Поддерживаются linux/amd64 и linux/arm64 — скрипт сам выберет нужный бинарь.

Есть также вариант с Docker-образом (ghcr.io/appsganin/rospanel:latest), если так удобнее.

При первом входе мастер настройки принудительно потребует сменить пароль и предложит заменить путь панели на случайный секрет — после этого корневой URL всегда отдаёт только заглушку.

Про назначение

РосПанель создана для образовательных и исследовательских целей: изучения того, как работают сетевые протоколы, TLS и прокси-технологии, проведения CTF-лаб, авторизованного пентеста и управления собственной инфраструктурой. Механизмы маскировки существуют для изучения этих техник и проверки устойчивости сервисов в рамках санкционированного тестирования. Ответственность за соблюдение законов своей юрисдикции несёт оператор сервера.

Open source

Лицензия — AGPL-3.0, проект полностью открыт. Релизы автоматизированы через release-please на основе Conventional Commits: публикуются и бинарник, и Docker-образ в GHCR.

Если панель окажется полезной — ⭐ на GitHub реально помогает, а PR и issue очень приветствуются.

👉 Репозиторий: https://github.com/AppsGanin/rospanel