Skip to content

feat: Snell 一等公民支持 + 内核基线 1.14.0-alpha.39#267

Merged
Sway-Chan merged 5 commits into
dododook:mainfrom
Sway-Chan:feat/snell-firstclass
Jul 6, 2026
Merged

feat: Snell 一等公民支持 + 内核基线 1.14.0-alpha.39#267
Sway-Chan merged 5 commits into
dododook:mainfrom
Sway-Chan:feat/snell-firstclass

Conversation

@Sway-Chan

Copy link
Copy Markdown
Collaborator

概要

Snell 升级为一等公民协议 + 出厂内核基线 1.14.0-alpha.37 → 1.14.0-alpha.39(官方 snell outbound 自 alpha.38 起原生支持)。

Closes #146

内核基线(前置)

  • manifest bundledCoreVersion + 4 平台 coreArchiveSha256 对齐官方 release asset digest;fetch:core 四平台实拉校验通过(linux 核实测报 alpha.39)
  • config-snapshot 37 快照零漂移;version/core 相关套件 68 tests 绿
  • 同带 1.14 内 floor 不变;旧用户受保护目录核走既有 reseed 升级到 .39

Snell 一等公民

  • 类型/闸门SnellSettings(version 4|6 主开关;obfs 仅 v4、mode 仅 v6 互斥);psk 复用 password 落点(同 trojan/hysteria2 惯例);completeness 双层 drift 护栏自动覆盖
  • 表单:PSK / version 切换互斥渲染,提交 normalize 清对侧字段;当前核 < alpha.38 时顶部软提示(不阻塞保存)
  • outbound 构建:默认值(obfs none / mode default)不下发;不走 TLS 块;快照锁 v4+v6 生成形状
  • 三路导入
    • snell:// 分享链(事实形态:psk@host:port?version=4&obfs=http&obfs-host=…),parse/generate 往返对称,复制分享可用
    • Clash(mihomo) yaml:version 仅 4|6(v1-3 旧协议与 obfs tls 超出 sing-box 能力,跳过并聚合告警,不产假节点)
    • sing-box JSON:全字段映射(psk/version/obfs/mode/reuse/network/userkey)
  • 横切:userkey 入诊断脱敏黑名单;i18n 5 语言

测试与验证

  • jest:completeness / redact / outbound-builder / config-snapshot / protocol-t5 / parser / subscription 等套件全绿(含 snell 专项 40+ 用例)
  • 独立 review 两轮收敛全绿
  • snell v4/v6 生成配置 sing-box check 在 Linux 与 macOS(arm64 真机)双通过;Mac 真机部署启动正常

待真机复验

snell v4/v6 实连真服务器、TUN/WG/Tailscale 回归(.39 L3 forwarding 影响面)、受保护核 reseed 路径。

Sway-Chan added 5 commits July 7, 2026 03:02
…rwarding 前置)

manifest bundledCoreVersion + 4 平台 coreArchiveSha256 对齐官方 release asset digest;
fetch:core --force 实拉四平台核校验通过(linux 核实测报 1.14.0-alpha.39);
config-snapshot 37 快照零漂移;version-handlers-t10/core-swap-gate/core-build 68 tests 绿。
sing-box 1.14.0-alpha.38+ 官方 snell outbound。psk 复用 password(同 trojan/hysteria2 惯例);
version 4|6 主开关,obfs_*(v4)与 mode(v6)互斥(表单条件渲染 + normalize 清对侧字段);
不走 TLS 块;无标准分享链接(NO_SHARE_LINK_PROTOCOLS,表单录入 only);userkey 进 redact 黑名单。
… v4+v6 快照

drift 护栏两层均按设计发力(completeness Record<Protocol> 与 t5 it.each 各自要求 snell fixture);
outbound 矩阵:v4 obfs http/none、v6 default/unsafe-raw、v6 忽略脏 obfs 字段、reuse/network/userkey
条件下发、无 tls 块;config-snapshot 锁 snell v4+v6 生成形状。
…JSON

- snell:// 分享链 parse/generate(Surge 生态 sub-store 等事实形态:psk@host:port?version=4&obfs=http&
  obfs-host=…&reuse=1&userkey=…):往返不动点,复制按钮解禁(移出 NO_SHARE_LINK_PROTOCOLS)
- Clash(mihomo) yaml:type snell → snellSettings;按 sing-box 能力门控——version 仅 4/6(mihomo 缺省
  v1 与 v1-3 旧协议 skip 聚合告警)、obfs 仅 http(tls skip),缺 psk fail,不产假节点
- sing-box JSON 订阅:snell outbound 一等映射(psk/version/obfs_mode/obfs_host/mode/reuse/network/
  userkey);版本非 4/6 或缺 psk warn 跳过,防坏节点连累整份订阅保存
@Sway-Chan Sway-Chan force-pushed the feat/snell-firstclass branch from 21930ec to 86071f5 Compare July 6, 2026 19:08
@Sway-Chan Sway-Chan merged commit e68413b into dododook:main Jul 6, 2026
4 checks passed
@Sway-Chan Sway-Chan deleted the feat/snell-firstclass branch July 8, 2026 15:32
Sway-Chan added a commit that referenced this pull request Jul 8, 2026
sing-box 1.14.0-alpha.38+ 官方核原生支持 snell(出厂已 alpha.40),FlowZ 提供一等公民表单(snell-form),不再需要粘贴自定义 outbound JSON。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

新版本不能将复制的snell协议直接解析,而且在添加节点里面也没有snell协议。

1 participant