Перейти к содержимому
GitHubПоддержать

Что такое mikan

mikan: панель для своего VPN-сервиса на ядре mihomo. В ней вы заводите протоколы и ноды, создаёте пользователей с тарифами, раздаёте подписки и продаёте доступ через Telegram-бота. Панель бесплатная, код открыт под GPL-3.0, интерфейс на русском и английском.

На сервере работают три небольших контейнера из одного образа:

  • Панель: админка, подписки, Telegram-бот, API. Написана на Go.
  • Нода: внутри неё mihomo, встроенный как библиотека. Она принимает подключения клиентов и считает трафик.
  • PostgreSQL 18: база панели.

Панель и нода работают отдельно, поэтому обновление или перезапуск панели не роняет VPN. На сервере панели всегда есть своя нода, а удалённые ноды на других серверах подключаются по ключу.

Браузер ── HTTPS, секретная ссылка ──▶ панель mikan
│ unix-сокет / TLS с пиннингом
▼
VPN-приложения ── REALITY, QUIC… ──▶ ноды mikan (mihomo внутри)
└──────── подписка ──────────▶ панель

На рабочем сервере с клиентами панель занимает около 14 МБ памяти, база около 50 МБ, ядро VPN около 40 МБ.

  • Учёт до байта. mihomo встроен в ноду, поэтому трафик считается по каждому соединению каждого пользователя. Тарифы по сроку и гигабайтам, день оплаты, лимит устройств и привязка к ним.
  • Пятнадцать протоколов. VLESS REALITY (Vision, XHTTP, gRPC, постквантовый), Hysteria2, TUIC, AnyTLS, Trojan, TrustTunnel, ShadowQUIC, Mieru и другие. Каждый добавляется из пресета, ключи создаются сами.
  • Автоподбор против блокировок. Если до протокола перестали доходить клиенты из разных сетей, панель переносит его на свободный порт или меняет сайт маскировки REALITY.
  • Подписка под приложение. Happ, v2RayTun, Koala Clash, Clash Verge, Hiddify и другие получают только те протоколы, которые умеют запускать.
  • Ноды и каскады. Удалённые ноды, обновление нод из панели, выход в интернет через другую ноду или Cloudflare WARP.
  • Telegram-бот и Mini App. Подписчики видят срок, трафик и устройства, покупают и продлевают доступ. Оплата через Telegram Stars и адаптеры из маркетплейса.
  • Промокоды, пулы и пакеты трафика, пробный период, возвраты Stars.
  • Импорт пользователей из Marzban, PasarGuard и Remnawave.
  • Безопасность по умолчанию. Секретная ссылка на админку на случайном порту, HTTPS с Let’s Encrypt даже для голого IP, argon2id, 2FA, строгий CSP, журнал аудита. Контейнеры без root, только для чтения, без лишних привилегий.
  • Подписанные обновления с бэкапом перед каждым и откатом при сбое.
  • REST API с ключами «Чтение» и «Полный доступ» и метрики для Prometheus.