Files
3proxyUI/docs/PROJECT_INDEX.md
2026-04-02 04:07:54 +03:00

4.7 KiB

Project Index

Updated: 2026-04-02

Root

  • 000_START_HERE.md: copy-ready continuation prompt for the next agent session
  • .dockerignore: trims Docker build context to runtime-relevant files only
  • AGENTS.md: repository workflow rules for autonomous contributors
  • compose.yaml: Docker Compose entrypoint for the bundled panel + 3proxy runtime, including panel auth env defaults
  • Dockerfile: multi-stage image that builds the panel and compiles 3proxy
  • README.md: quick start and current project scope
  • package.json: frontend/backend scripts and dependencies, including combined local dev startup and websocket support
  • tsconfig.server.json: server type-check configuration
  • vite.config.ts: Vite + Vitest configuration plus local /api and /ws proxying to the control-plane backend

Documentation

  • docs/PLAN.md: living implementation plan
  • docs/PROJECT_INDEX.md: this index
  • docs/RESEARCH_3PROXY.md: notes from official 3proxy documentation

Frontend

  • src/main.tsx: application bootstrap
  • src/App.tsx: authenticated panel shell with API-backed login, sessionStorage token persistence, hash-based tab history, websocket snapshot patch sync, bounded reconnect/API fallback policy with connection notices, log-derived last-seen user labels, icon-based user actions, HTTP-safe proxy-link copying fallback, create/edit user modal flows, runtime stop control, localized labels, early theme application, and protected panel mutations
  • src/SystemTab.tsx: Settings tab with separate panel-settings and services cards, editable proxy endpoint, dirty-draft protection against incoming live sync, unified service type editing, remove confirmation, and generated config preview
  • src/App.test.tsx: login-gate, preferences persistence, hash-tab restoration, websocket-sync safety, reconnect/logout fallback handling, clipboard fallback coverage, generated-credential/create-edit modal flows, runtime stop, pause/resume, delete-confirm, and settings-save UI tests
  • src/app.css: full panel styling including fixed-width icon action buttons, busy-state treatment, and connection banner styling
  • src/data/mockDashboard.ts: default panel state and frontend fallback snapshot
  • src/lib/3proxy.ts: formatting and status helpers
  • src/lib/3proxy.test.ts: paranoia-oriented tests for core domain rules
  • src/lib/panelPreferences.ts: localStorage-backed panel language/theme preferences plus theme application helpers with system as the default theme
  • src/lib/panelText.ts: English/Russian UI text catalog for the panel shell, user-edit actions, runtime controls, last-seen labels, and connection recovery notices
  • src/shared/contracts.ts: shared panel, service, user, and API data contracts including per-user last-seen metadata
  • src/shared/validation.ts: shared validation for user creation, system edits, service type mapping, and quota conversion
  • src/test/setup.ts: Testing Library matchers plus browser WebSocket test double

Server

  • server/index.ts: backend entrypoint, runtime bootstrap, and HTTP server wiring for websocket upgrades
  • server/app.ts: Express app with login, protected panel state/runtime routes, live-sync change notifications, writable system configuration API with linked-user cleanup on removed services, and editable user records
  • server/app.test.ts: API tests for user management plus user editing, runtime stop, system-update safety, cascade delete, and config edge cases
  • server/lib/auth.ts: expiring token issuance and bearer-token verification for the panel
  • server/lib/config.ts: 3proxy config renderer, validation, and dashboard derivation for SOCKS/HTTP managed services
  • server/lib/config.test.ts: config-generation regression tests
  • server/lib/liveSync.ts: websocket broadcaster that emits snapshot.init and top-level snapshot.patch messages from runtime/store changes plus heartbeat-driven status decay and bounded reconnect-friendly behavior
  • server/lib/liveSync.test.ts: regression tests for patch-only websocket payload generation and heartbeat-driven refreshes
  • server/lib/snapshot.ts: runtime-backed dashboard snapshot assembly that combines stored panel state with parsed 3proxy traffic observations and derives user last-seen/status output
  • server/lib/traffic.ts: 3proxy access-log reader that derives current user usage, recent activity, last-seen timestamps, daily totals, and lightweight live-connection estimates
  • server/lib/traffic.test.ts: parser and empty-runtime regression tests for log-derived traffic metrics
  • server/lib/runtime.ts: managed 3proxy process controller with start/stop/restart/reload operations
  • server/lib/store.ts: JSON-backed persistent state store with legacy admin-service migration

Static

  • public/favicon.svg: Vite default icon placeholder, to replace later