Skip to content

Securesoftdev/SecureLink-

Repository files navigation

SecureLink Monorepo

Cross-repository SecureSoft documentation now lives in Securesoftdev/securesoft-docs. Keep code-level LK, TG bot, and repository-specific notes here; put platform maps and multi-repository coordination docs in the shared documentation repository.

Полная актуальная документация по проекту: архитектура, сервисы, API-контуры, данные, инфраструктура, разработка и эксплуатация.

Расширенная карта проекта и оглавление доступны в docs/INDEX.md.

Current TrustTunnel surfaces

  • Desktop clients now use LK bootstrap route /api/desktop/bootstrap instead of stitching user, subscription, and access data manually.
  • Node analytics now aggregate sidecar telemetry, including speedtest last/avg/peak throughput snapshots and reserve/capacity truth-model data.

1) Что это за проект

SecureLink- — монорепозиторий VPN-платформы с актуальной архитектурой из LK + TG Bot + TrustTunnel-контуров внутри LK:

  • LK (apps/lk) — личный кабинет (backend на Hono + frontend на React/Vite), ядро бизнес-логики, авторизация, подписки, планы, shop/referral-контуры, TrustTunnel/VPN API, внутренние интеграции.
  • TG Bot (apps/tg-bot) — Telegram-бот для модерации shop-потока и интеграции с LK internal access API.

Дополнительно:

  • packages/prom-client — локальный workspace-пакет с Prometheus-клиентом.
  • k8s/ — манифесты и Helm-чарты для production/smoke окружений.
  • docs/ — эксплуатационная и архитектурная документация.

2) Технологический стек

Runtime / языки

  • Node.js >=20 <21 (на уровне монорепозитория).
  • TypeScript/JavaScript (CommonJS в рабочих приложениях).

LK

  • Backend: hono, @hono/node-server, zod, jsonwebtoken.
  • Data: pg, drizzle-orm, drizzle-kit.
  • Frontend: react, react-dom, react-router, vite.
  • Security/Auth: argon2, HttpOnly session cookie.
  • Observability: prom-client.

TG Bot

  • TypeScript + tsx, pg.

3) Структура репозитория

apps/
  lk/              # Личный кабинет (API + UI + миграции + тесты)
  tg-bot/          # Telegram bot
packages/
  prom-client/     # Локальный пакет метрик
k8s/               # Манифесты Kubernetes + Helm
docs/              # Общая документация и runbooks
scripts/           # Вспомогательные shell-скрипты

4) Ключевые возможности по сервисам

4.1 LK (apps/lk)

LK — центральный сервис платформы.

Модульная backend-архитектура

Backend разделён на отдельные модули (apps/lk/src/server/modules/*):

  • auth, users, adminUsers
  • plans, subscriptions, inviteLinks
  • affiliates, shops, analytics
  • vpnNodes, vpnJwt, trustTunnel
  • internalVpn, internalWebhooks
  • modulesAdmin, push, health

Это даёт изоляцию доменов и упрощает развитие API.

Основные функциональные контуры LK

  • Аутентификация и сессии (включая внутренние режимы и роли).
  • Управление пользователями, тарифами, подписками и устройствами.
  • Выдача TrustTunnel classic-доступа (JWT token + manual access).
  • Shop/referral/affiliate-контур с модерацией и аналитикой.
  • TrustTunnel-функции (нодовый реестр, credential/import/reconcile/диагностика).
  • Метрики и health endpoints для эксплуатации.

Frontend LK

React-приложение (apps/lk/src/react-app) с экранами:

  • подписок,
  • shop-настроек,
  • админ-аналитики,
  • модальных сценариев (планы, выдача подписки, партнёрские уровни и т.д.).

DB и миграции LK

  • Источники миграций: apps/lk/src/db/migrations и apps/lk/drizzle.
  • Миграции применяются только migrator runtime (node dist/scripts/migrate.js); LK runtime выполняет только schema verify на старте. Проверки: db:migrate, db:verify, db:gate:migrations.
  • Контракт данных и допущения по таблицам: docs/03_LK_DATA_MODEL.md.

Тесты LK

  • Unit/integration тесты покрывают модули subscriptions, shops, trustTunnel, vpnJwt, auth, internalVpn и др.
  • Контрактные и регрессионные тесты для чувствительных VPN/TrustTunnel-потоков.

Миграции и контракт

  • Baseline migration после squash: apps/lk/src/db/migrations/0000_initial_clean.sql (+ журнал apps/lk/src/db/migrations/meta).
  • Проверки: db:verify и db:gate:migrations.
  • Контракт таблиц: docs/03_LK_DATA_MODEL.md.

4.3 TG Bot (apps/tg-bot)

TG Bot обслуживает Telegram-процессы shop-модерации.

Возможности

  • Обработка событий/команд для approve/reject flow.
  • Проверка прав через LK internal access endpoint.
  • Ролевая модель доступа (admin/seller/scope checks).
  • Защитное поведение при 401/403/timeout от LK (deny + retry transient).

5) API-контуры (высокий уровень)

Пользовательские API

  • Auth/users: /api/auth/*, /api/users/*.
  • Plans/admin pricing: /api/pricing, /api/admin/plans*.
  • VPN: /api/v1/vpn/* (активация, токены, dynamic config).

Внутренние API

  • LK internal: /internal/vpn/*, /internal/webhooks/*, TrustTunnel internal маршруты.
  • TG bot access check: /api/v1/internal/tg-bot/access в LK.

Полный перечень конкретных endpoint-деталей см. в специализированных документах (docs/*.md, apps/*/README.md).


6) Документация в репозитории

Базовые документы (актуальные файлы в docs/)

  • docs/INDEX.md — оглавление и статус документации.
  • docs/01_LK_REPO_OVERVIEW.md — обзор репозитория LK.
  • docs/02_LK_MODULE_MAP.md — карта модулей backend/frontend.
  • docs/03_LK_DATA_MODEL.md — модель данных и связи.
  • docs/04_LK_API_SURFACE.md — карта HTTP API.
  • docs/05_LK_CURRENT_FLOWS.md — текущие рабочие потоки.
  • docs/06_LK_FINAL_TARGET_ARCHITECTURE.md — целевая архитектура.
  • docs/07_LK_FINAL_PRODUCT_AND_UI.md — целевая продуктовая/UI модель.
  • docs/08_LK_GAPS_AND_ROADMAP.md — roadmap и gap-анализ.
  • docs/09_LK_CODEX_GUIDE.md — инженерные правила для AI-агентов.
  • docs/10_ASSUMPTIONS_AND_OPEN_QUESTIONS.md — допущения и открытые вопросы.
  • docs/11_LK_ALIGNMENT_EXECUTION_PLAN.md — план выравнивания.
  • docs/12_LK_TARGET_DIFF_AND_BACKLOG.md — backlog выравнивания.

Sidecar / TrustTunnel документы

  • docs/sidecar_contract_v1.md — контракт взаимодействия LK ↔ sidecar (v1).
  • docs/SIDECAR_DOCS_STATUS.md — статус sidecar-related документов и owner обновлений.

Runbooks

В текущем срезе репозитория отдельная папка docs/runbooks/ отсутствует. Актуальные операционные инструкции зафиксированы в docs/11_LK_ALIGNMENT_EXECUTION_PLAN.md и docs/12_LK_TARGET_DIFF_AND_BACKLOG.md.

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

  • apps/lk/docs/LK_MODULES_GUIDE.md
  • apps/lk/docs/PR_WORKFLOW.md
  • apps/lk/MIGRATION_NOTES.md

7) Локальная разработка

Подготовка

npm ci

Частые команды монорепозитория

npm run lk:build
npm run lk:test
npm run lk:db:verify
npm run tg:build
npm run tg:start
npm run ci:check

Запуск сервисов

# LK dev
npm run -w apps/lk dev


# TG bot dev
npm run -w apps/tg-bot dev

8) Инфраструктура и деплой

  • Production-манифесты находятся в k8s/namespaces/production/....
  • Исторические/архивные манифесты — в k8s/archive/....
  • Smoke job chart для LK — k8s/helm/lk-smoke.
  • Значимая практика: документировать инфраструктурные изменения в docs/runbooks/* и профильных docs/*.

9) Где смотреть код по доменам

  • LK API: apps/lk/src/server/modules/*
  • LK UI: apps/lk/src/react-app/*
  • LK DB schema/migrations: apps/lk/src/db/*, apps/lk/drizzle/*
  • TG bot runtime: apps/tg-bot/src/*
  • K8s/Helm: k8s/*
  • Операционные документы: docs/*

10) Принцип актуализации документации

При изменении поведения, API, переменных окружения, схемы БД или инфраструктуры:

  1. Обновляйте профильный документ в docs/* или apps/*/docs/*.
  2. Синхронизируйте README.md соответствующего сервиса.
  3. При изменениях таблиц/миграций обновляйте контракт и runbook.
  4. Для новых модулей добавляйте описание в разделы архитектуры/карты репозитория.

Эта страница — единая входная точка. Детали по каждому домену вынесены в узкопрофильные документы, перечисленные выше.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors