mirror of
https://github.com/Sagit-chu/flvx.git
synced 2026-09-28 07:36:38 +08:00
3.1 KiB
3.1 KiB
PROJECT KNOWLEDGE BASE
Generated: Mon Feb 02 2026
Commit: 7ca01ab
Branch: beta
OVERVIEW
FLVX (formerly Flux Panel) is a traffic forwarding management system built on a forked GOST v3 stack. It ships as a Go-based admin API (SQLite) + Vite/React UI + Go forwarding agent, with optional mobile WebView wrappers.
STRUCTURE
./
├── go-gost/ # Go forwarding agent (forked gost + local x/)
│ └── x/ # Local fork of github.com/go-gost/x (replace => ./x)
├── go-backend/ # Go Admin API (SQLite, net/http)
├── vite-frontend/ # React/Vite dashboard (HeroUI + Tailwind)
├── docker-compose-v4.yml # Panel deploy (IPv4-only bridge)
├── docker-compose-v6.yml # Panel deploy (IPv6-enabled bridge)
├── panel_install.sh # Panel installer/upgrader (downloads compose)
├── install.sh # Node installer/upgrader (downloads gost binary)
└── .github/workflows/ # CI: build/push images + release artifacts
WHERE TO LOOK
| Task | Location | Notes |
|---|---|---|
| Deploy (Docker) | docker-compose-v4.yml |
Env: JWT_SECRET, BACKEND_PORT, FRONTEND_PORT |
| Deploy (IPv6) | docker-compose-v6.yml |
Same as v4 + IPv6-enabled bridge |
| Panel install | panel_install.sh |
Picks v4/v6, generates JWT_SECRET, downloads compose |
| Node install | install.sh |
Installs /etc/flux_agent/flux_agent + writes config.json/gost.json + systemd flux_agent.service |
| Admin API | go-backend/ |
Go Admin API (SQLite) |
| Web UI | vite-frontend/ |
React/Vite dashboard (HeroUI + Tailwind) |
| Go Agent | go-gost/ |
Forwarding agent (forked gost + local x/) |
| Go Core | go-gost/x/ |
Handlers/listeners/dialers + management API |
CODE MAP
| Symbol | Type | Location | Role |
|---|---|---|---|
flvx |
Project | . |
Root directory |
main |
Func | go-backend/cmd/paneld/main.go |
Backend Entry |
App |
Component | vite-frontend/src/App.tsx |
Frontend Entry |
main |
Func | go-gost/main.go |
Agent Entry |
CONVENTIONS
Authorizationheader carries the raw JWT token (noBearerprefix) betweenvite-frontend/andspringboot-backend/.go-gost/usesreplace github.com/go-gost/x => ./xandgo-gost/x/is also its own Go module.
ANTI-PATTERNS (THIS PROJECT)
- Do not edit generated protobuf output:
go-gost/x/internal/util/grpc/proto/*.pb.go,go-gost/x/internal/util/grpc/proto/*_grpc.pb.go.
COMMANDS
# Panel (Docker)
docker compose -f docker-compose-v4.yml up -d
docker compose -f docker-compose-v6.yml up -d
# Release-based install scripts
./panel_install.sh
./install.sh
# Local dev (per subproject)
(cd springboot-backend && mvn clean package)
(cd vite-frontend && npm run dev)
(cd go-gost && go run .)
NOTES
- LSP servers are not installed in this environment (gopls/jdtls/typescript-language-server); rely on grep-based navigation.
vite-frontend/vite.config.tssetsminify: falseand disables treeshake; expect larger bundles.