mirror of
https://github.com/shadowsocks/ShadowsocksX-NG.git
synced 2026-10-30 22:23:43 +00:00
78bafea90f74789c1d1c418fbf1ca814d3bd3f11
Each removed assertion holds by construction and can never fail: - jsonData() compared with itself cannot detect cross-run byte stability; bindAddress and mode are literal-returning computed properties - RuleAction/RuleSourceKind allCases assertions pin synthesized enum order (neither allCases list is used in production); the persisted action tokens stay pinned by the kept rawValue assertions and source-kind tokens by fixture decoding through RuleSnapshotStore - memberwise-constructor echo in RuleSourceIdentity, fixture-guaranteed name == id rows, a share draft field pair built from one string, and a local struct compared to its own assignment - the synthesized-Codable round trip through literal JSONEncoder/JSONDecoder The duplicate-import assertion becomes a real check: Set of node ids instead of a count that restated roots.count, which is what its comment claims. Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
ShadowsocksX-NG
🚧 重新实现进行中 —— 本仓库正在使用现代技术栈重写 ShadowsocksX-NG macOS 客户端。
新实现位于 ShadowsocksX-NG2/,面向 macOS 15+ / Apple Silicon(arm64)。外部二进制使用上游发布产物,不再通过 git 子模块在仓库内构建。
开发入口
- 首次构建与常用命令
- 开发指南:统一验证、测试证据、代码风格工具与 Git hooks。
- 工程与专题文档:源码布局、供应链与签名、规则快照、配置说明。
- 术语表与架构决策记录(ADR);文档语言约定见开发指南。
旧版归档
旧版工程源码已从本仓库移除,归档在 shadowsocks/ShadowsocksX-NG 的 legacy-v1 分支,仅供参考,不保证可构建。旧版功能说明与使用文档见 legacy-v1 的 README。
Languages
Swift
95.8%
Python
2.5%
Shell
1.4%
C
0.3%