Piko 与任何服务商均无关联。能与 Piko 配合使用并不代表我们为其背书,我们也不列出或推荐服务商。
“添加到 Piko”链接
在你的网站、机器人或邮件中放置一个按钮,用于打开 Piko 并添加订阅。Piko 在保存任何内容之前,都会先显示确认界面。
piko://install-sub?url=https%3A%2F%2Fsub.example.com%2Fs%2Fabc123&name=Example
url:订阅地址,需进行百分号编码。请使用https://;对于http://地址,Piko 会提示用户该地址未加密。name:可选。在你的profile-title响应头到达之前显示的名称。
也支持:
piko://add?url=…&name=…和piko://install-config?url=…,作用同上;piko://add/<地址>,直接附上订阅地址(Happ 风格的写法);piko://import?data=…,附上经百分号编码或 base64 编码的分享链接,用于添加单个服务器。
piko:// 链接只有在安装了 Piko 的设备上才能打开应用,因此请同时提供普通的订阅地址供用户复制。用户粘贴或扫描时,Piko 也能识别 happ://add/<地址> 和 v2rayng://install-sub?url=… 链接。
Piko 会发送什么
Piko 使用普通的 GET 请求获取订阅,并附带以下请求头:
| 请求头 | 示例 | 含义 |
|---|---|---|
User-Agent | Piko/0.1.0/Android/36 | Piko/<应用版本>/<系统>/<系统版本>。Piko/ 前缀保持不变,你可以据此返回合适的格式。Piko 从不发送浏览器的 User-Agent。 |
x-hwid | 32 个十六进制字符 | 仅为你的域名生成的设备 ID。同一台设备发给其他服务商的值不同。 |
x-device-os | Android、iOS | 操作系统。 |
x-ver-os | 16 | 系统版本。 |
x-device-model | Pixel 9、iPhone17,3 | 设备型号(绝不是用户给设备起的名称)。 |
设备相关的请求头只会发送到你订阅本身的主机,以及你在 new-url、new-domain 或 fallback-url 中指定的地址。重定向到其他主机时不会发送。在少数情况下,例如 iOS 设备重启后首次解锁之前,Piko 不会发送其中任何一项。
支持的格式
- 明文或 base64 编码的分享链接列表:
vless://、vmess://、trojan://、ss://(包括 Shadowsocks 2022)和hysteria2://(hy2://)。 - 完整的 Xray JSON 配置。Piko 会移除本地监听、日志文件以及其他不适用于手机应用的设置。
- 传输方式:TCP(RAW)、WebSocket、gRPC、HTTPUpgrade、XHTTP(SplitHTTP)和 mKCP。安全层:TLS、REALITY 和 XTLS Vision。
- 不支持:sing-box JSON、Clash YAML、WireGuard、TUIC、AnyTLS、NaiveProxy、ShadowTLS 及其他 Xray 以外的协议,已被移除的
h2和 QUIC 传输,ss://插件,以及带insecure=1的 Hysteria2。连接公共服务器的明文 VLESS 会被拒绝。
请使用会加密连接的服务器:TLS、REALITY、Shadowsocks 2022 或 Hysteria2。应用商店规则要求 VPN 应用对发往服务器的流量进行加密,因此 Piko 可能会拒绝未加密的服务器。
Piko 读取的响应头
请以响应头的形式发送。同样的名称也可以写成响应正文开头的 #键: 值 行(Happ 风格)。两者同时存在时,以响应头为准。
| 响应头 | Piko 的处理方式 |
|---|---|
subscription-userinfo | upload=…; download=…; total=…; expire=…,单位为字节和 Unix 时间(0 表示不限或永不过期)。Piko 显示已用流量和剩余天数,并在 Android 上于到期前提醒用户。 |
profile-title | 订阅名称,明文或 base64:…。如未提供,Piko 使用 content-disposition 中的文件名。 |
profile-update-interval | 更新间隔,单位为小时。默认为 4。 |
support-url | 客服链接(https://、tg: 或 mailto:),显示在“来自服务商”中。 |
profile-web-page-url | 你的网站或账户页面。 |
support-email | 客服电子邮件地址。 |
announce | 要显示的消息,明文或 base64:…。 |
announce-url | 指向你的公告的链接(https:// 或 tg:)。 |
sub-info-text、sub-info-button-text、sub-info-button-link | 带可选按钮的横幅(Happ 格式)。 |
routing、routing-enable | 以路由链接形式提供的路由配置(Happ 格式,例如 piko://routing/add/<base64>)。只有在用户同意后,Piko 才会应用。routing-enable: 0 可将其关闭。 |
new-url、new-domain | 订阅地址已迁移。Piko 会获取新地址,若可用则保存。仅接受公共主机上的 https:// 地址。 |
fallback-url | 主地址失效时 Piko 使用的镜像地址,不会更改用户的链接。 |
check-url-via-proxy | 一个 https:// 地址,Piko 会经由你的服务器请求它,用于 Xray JSON 配置的延迟测试。 |
x-hwid-active、x-hwid-not-supported、x-hwid-max-devices-reached、x-hwid-limit | 设备数量限制状态(true 或 1)。Piko 会向用户解释被拒绝的原因,并显示你的客服链接。 |
服务器列表中实际上是消息的条目(例如名为“5 天后到期”的“服务器”)会显示为消息,而不是服务器。
受保护的链接
Piko 可以打开 piko://crypt1/… 链接,防止订阅地址被随意复制:以这种方式添加的地址,Piko 从不显示、复制或导出。这是一种混淆手段,而不是 DRM:密钥就在应用内。生成此类链接的工具将随 Piko 正式发布向服务商提供。如需获得通知,请发送邮件至 support@pikonet.io。
测试与咨询
在 Piko 中添加一个测试订阅,检查其信息:名称、流量、到期时间和你的消息。如果你的面板无法与 Piko 配合使用,请发送邮件至 support@pikonet.io,并注明面板名称和版本。请发送测试订阅,切勿发送真实用户的订阅。