wangjia 86b67c557b feat(server/db): 多库(3/4)— Dialect 抽象(upsert/锁)+ 合并 directory_version
- db.Dialect:LockForUpdate(mysql "FOR UPDATE" / sqlite "")、Upsert(中性
  EXCLUDED.col → mysql VALUES()/ sqlite excluded.);DialectForDB 从连接驱动推导
- 9 处 ON DUPLICATE KEY、11 处 FOR UPDATE 全走 dialect;sqlite 靠 _txlock=
  immediate 取得 BEGIN IMMEDIATE 悲观锁等价语义
- directory_version 三处重复合并为 store.BumpDirectoryVersion(dialect 感知)
- 这些文件同时含(2/4)的 UTC→Go 改动(与 upsert/锁同语句交错,无法拆分)
- 顺带:usage 的 FIELD()、codes 的 DATE_ADD/GREATEST 续期、nodes 的
  UNIX_TIMESTAMP、NULLIF 等 MySQL 专属构造一并退回 Go/可移植写法

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 00:01:26 +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%