自建脚本仓库——JSON 格式 + 完整字段 + 推送通知
最简格式
自建仓库最低只需要一个 JSON 文件,内容是脚本数组:
[
{
"author": "你的名字",
"ctime": "2026-10-01",
"id": "unique-id-001",
"title": "金币修改脚本",
"type": "frida",
"version": "1.0.0",
"url": "https://your-cdn.com/scripts/gold.js",
"desc": "修改指定游戏的金币数量",
"down_count": 100,
"markdown": "https://your-cdn.com/docs/gold.md",
"source": "https://github.com/yourname/scripts"
}
]
字段说明:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | ✅ | 脚本唯一 ID,可用 UUID |
title | string | ✅ | 脚本名称 |
type | string | ✅ | rhino 或 frida |
url | string | ✅ | 脚本文件下载地址 |
desc | string | ✅ | 简短描述(30 字符以内) |
author | string | ❌ | 作者名 |
version | string | ❌ | 版本号 |
ctime | string | ❌ | 创建日期 YYYY-MM-DD |
down_count | int | ❌ | 下载次数(展示用) |
markdown | string | ❌ | 详细文档地址 |
source | string | ❌ | 源码仓库地址 |
不需要的字段可以设为 null 或直接省略。
完整格式
完整格式(Full Format)可以启用仓库级别的扩展功能:
{
"name": "我的脚本仓库",
"icon": "https://your-cdn.com/icon.png",
"list": "https://your-cdn.com/list.json",
"push": "https://your-cdn.com/push.json",
"markdown": "https://your-cdn.com/README.md",
"group_qq": "你的QQ群key",
"group_tg": "jshookgroup",
"user_count": 500
}
| 字段 | 说明 |
|---|---|
name | 仓库名称 |
icon | 仓库图标 URL |
list | 脚本列表 JSON 地址(必填,指向最简格式的那个文件) |
push | 推送通知配置地址(可选) |
markdown | 仓库说明文档地址(可选) |
group_qq | QQ 群 key,从 qun.qq.com 获取(可选) |
group_tg | Telegram 群名(可选) |
user_count | 用户数量,展示用(可选) |
推送通知
完整格式的仓库可以配置推送通知。push 字段指向的 JSON 格式:
[
{
"id": "notice-001",
"title": "v1.0.1 已发布",
"args": "https://your-cdn.com/docs/update-101.md",
"action": "markdown"
}
]
推送通知不是实时推送——JsHook 客户端在以下时机拉取最新推送:
- 用户打开 JsHook 应用
- 打开任何注入了 JsHook 服务的目标应用
id 字段用来判断用户是否已经看过这条通知。
托管方式
JSON 文件放在哪里都行,只要手机能访问到:
- GitHub Raw 文件(注意网络可达性)
- 自建 HTTP 服务器
- CDN 对象存储
- Cloudflare Pages / R2
最简单的方式:把 JSON 推到 GitHub,然后用 jsDelivr 或 GitHub Raw URL 作为订阅地址。
DeepLink 加仓库
用户在手机浏览器里点下面这个链接,JsHook 会自动弹出订阅确认框:
<a href="jshook://store?url=https://your-cdn.com/repo.json">订阅我的脚本仓库</a>
详见 DeepLink 一键加仓库。