zn0wii 说明 satelite-proxy 按冒号前的 scheme 白名单跳过订阅行,incy 疑为提供方插入的非节点内容

在 satelite-proxy #106(用户报告订阅导入后有节点被跳过,提示 “unsupported uri scheme: incy”)中,作者 zn0wii(Ryan Yan)于 2026-09-29 08:33:45Z 说明这不是解析缺陷:解析器(uri.rs)取每行解码内容第一个冒号前的子串作为 scheme,支持 ss、vmess、vless、trojan、hysteria2/hy2、tuic、socks/socks5、http/https、hysteria/hy、shadowtls、ssh、naive、tor、anytls、snell;白名单之外的一律有意跳过并报告,而不是静默丢弃。incy 正是订阅内容第 8 行冒号前的文本,不是被截断或乱码的协议名,因此他判断很可能是订阅提供方在 base64 列表里插入了非节点行(公告、到期提示或用非标准 scheme 名占位的文本),而非真实代理链接。他建议自行 base64 解码订阅内容、直接查看第 8 行确认,并表示若对方贴出脱敏内容可以帮忙解码。

作者原文

Analysis of the skipped node (line 8, "unsupported uri scheme: incy"):

This is not a Satelite parsing bug. The parser (uri.rs) takes the substring before the first : on each decoded line as the scheme. It supports: ss, vmess, vless, trojan, hysteria2/hy2, tuic, socks/socks5, http/https, hysteria/hy, shadowtls, ssh, naive, tor, anytls, snell. Anything outside that list is intentionally skipped and reported rather than silently dropped.

incy is literally the text before the first colon on line 8 of the decoded subscription content — it's not a garbled or truncated protocol name. This strongly suggests the subscription provider inserted a non-node line into the base64 list, such as an announcement/expiry notice or a placeholder using a non-standard scheme name, rather than an actual proxy URI.

Suggested next step: base64-decode the subscription content yourself and inspect line 8 directly to confirm whether it's provider-injected text or a genuinely unsupported protocol. Happy to help decode it if you share the (redacted) content.