wangjia 25e0204471 merge: maestro/tsk_GXDoc3Cs07Rn [tsk_nI2T8qpcoier] apierr + idgen + CONVENTIONS.md
Apply changes from tsk_GXDoc3Cs07Rn (conflict rescue: original auto-merge
blocked by uncommitted changes on main; worktree was clean, no code conflicts).

Changes applied verbatim from b64c002:
- server/CONVENTIONS.md: new file — mandatory coding conventions
- server/internal/apierr: add New(), StatusFor(), ErrUnauthorized/Forbidden/
  NotFound/Conflict predefined errors, chi Middleware; add apierr_test.go (8 tests)
- server/internal/idgen: implement idgen.go (UUID v7 + Crockford Base32 moved
  from codes); add idgen_test.go (12 tests)
- server/internal/codes/generator.go: refactor to delegate to idgen.*
- server/go.mod: move google/uuid from indirect to direct dependency

All tests pass: go test ./internal/apierr/... ./internal/idgen/... ./internal/codes/...

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 14:45:46 +08:00

Pangolin

面向中国大陆用户的终端 VPN(科学上网)项目。

Phase 0 现状

数据面两条线,容器化、经 Gitea Actions 自动部署到节点,与现网服务隔离:

  • Xray VLESS + REALITY(主线,经宿主 nginx SNI 分流)
  • sing-box Hysteria2(晚高峰加速线,UDP 443)

部署细节见 deploy/README.md

S
Description
vpn
Readme 55 MiB
client 1.1.1 Latest
2026-08-02 16:20:43 +00:00
Languages
Go 36%
Dart 21.3%
JavaScript 13%
HTML 12.8%
Shell 4.4%
Other 12.3%