一个 Tampermonkey/Greasemonkey 用户脚本:
- 在百度、夸克、天翼、123 网盘页面中导出秒传 JSON
- 在光鸭盘页面导入秒传 JSON 到当前账号
当前脚本文件:云盘秒传工具.ts
- 夸克网盘:
pan.quark.cn、drive.quark.cn - 天翼云盘:
cloud.189.cn - 123 网盘:
123pan.com/123pan.cn - 百度网盘:
pan.baidu.com - 光鸭盘:
guangyapan.com
- 夸克
- 个人盘:导出(支持勾选文件/文件夹,递归扫描)
- 分享页:导出(支持勾选后导出;需要有效 Cookie)
- 天翼
- 个人盘:导出(缺失 MD5 时会尝试补全)
- 分享页:导出(支持带提取码场景)
- 123
- 个人盘:导出(支持虚拟列表多选场景)
- 百度
- 个人盘:导出(支持勾选文件/文件夹,递归扫描)
- 光鸭
- 导入:将秒传 JSON 导入当前账号
- 生成秒传 JSON(导出)
- 入口按钮:
生成秒传JSON - 自动识别勾选文件/文件夹,递归扫描文件列表
- 输出可复制、可下载
.json - 夸克/天翼分享场景可附带分享标题(可选写入
commonPath)
- 入口按钮:
- 导入秒传 JSON(光鸭)
- 入口按钮:
导入秒传JSON - 支持粘贴 JSON 或选择本地
.json文件 - 选择文件后自动校验格式,不合法不写入输入框
- 自动创建目录层级后再逐条秒传
- 入口按钮:
- 导入阶段统计
- 显示“创建目录失败(未进入秒传)”和“进入秒传阶段”数量
- 显示总结果:成功/失败,以及失败中有多少是目录创建失败
- 失败明细分类
- 接口调用失败
- 秒传失败
- 创建目录失败(未进入秒传)
- 校验未通过(未提交接口)
- 安装浏览器用户脚本扩展(Tampermonkey/Greasemonkey)
- 新建脚本并粘贴
云盘秒传工具.ts全部内容 - 保存后刷新对应网盘页面
- 在百度/夸克/天翼/123 页面勾选文件或文件夹
- 点击
生成秒传JSON - 在结果弹窗中复制 JSON 或下载文件
夸克分享页首次使用时,如提示需要 Cookie,按弹窗说明粘贴浏览器请求 Cookie(脚本会保存到 GM 存储)。
- 打开光鸭盘页面,点击
导入秒传JSON - 粘贴 JSON 或选择
.json文件 - 点击
开始导入 - 根据结果区和“分类明细”查看导入情况
最小可用结构:
{
"files": [
{
"path": "目录/文件.mp4",
"etag": "32位十六进制MD5",
"size": 123456
}
]
}说明:
path:文件相对路径(用于目录创建与文件名推导)etag:必须是 32 位十六进制 MD5(脚本会做规范化与校验)size:文件大小(数字)
导出结果还会包含:
scriptVersion:脚本版本号totalFilesCount:导出文件总数totalSize/formattedTotalSize:总大小(字节 / 可读格式)
create_dir返回code=0或code=159视为成功- 其他 code 视为创建目录失败,当前条目跳过并计入“创建目录失败”
- 目录创建失败不再中断整批导入,后续条目继续处理
- 文件名违禁词错误(
code=166)会跳过当前文件并继续后续导入
- 光鸭导入 token
- 脚本会优先读取页面存储中的
access_token - 读不到时会弹窗让你粘贴 token(支持带
Bearer前缀),并保存到 GM 存储 - 可通过 GM 菜单清除已保存 token
- 脚本会优先读取页面存储中的
- 夸克分享 Cookie
- 夸克分享页导出依赖 Cookie(如
ctoken、__puus、__pus等) - 首次或失效时会提示输入,可保存后复用
- 夸克分享页导出依赖 Cookie(如
localStorage["guangya_etag_policy"]skip(默认):- 导出时跳过 etag 为空条目
- 导入时跳过无法识别为 MD5 的条目
empty:导出时保留条目并写空 etagerror:导出时遇到空 etag 直接报错
localStorage["guangya_123_use_toolbar"]- 默认开启(非
0):优先把按钮挂在 123 工具栏
- 默认开启(非
- GM 菜单项
[秒传工具] 清除当前网盘 access_token(GM 保存)
-
多选/虚拟列表下,担心没有把所有勾选项都读进来?
- 123 等页面使用虚拟滚动时,视口外的行可能不在 DOM 里,仅靠勾选框扫描会漏项。
- 脚本会额外从 React(Table / rowSelection) 读取完整的
selectedRowKeys,并与当前视口内的 DOM 勾选结果 合并去重,尽量对齐「已选择 N 项」。 - 若控制台仍提示解析数量少于 N,可先滚动列表让选中行进入视口,或刷新页面后重试。
-
不刷新页面重新勾选后,为什么会带上上一次选中?
- 已修复。当前无可识别复选框时会先清空旧状态,避免沿用上次勾选结果。
-
为什么“阶段统计”和“秒传结果”数字看起来不同?
- 阶段统计会单列“创建目录失败(未进入秒传)”。
- 总结果 = 秒传阶段结果 + 创建目录失败条目。
-
导入时提示没有 access_token?
- 脚本会先尝试页面存储;若未取到会弹窗要求粘贴 token,并可保存到 GM 存储。
-
夸克分享页提示 Cookie 无效 / 无法得到 etag?
- 这通常是 Cookie 过期或不完整导致。重新按弹窗更新 Cookie 后重试。
- 若遇到接口限频,也可能暂时拿不到 etag,可稍后再试。
- 本项目/脚本仅供学习研究参考,请勿用于任何未经授权或违反平台规则的用途
- 仅在你有权限访问/导入相关资源时使用
- 接口与页面结构变化可能导致按钮挂载或数据抓取异常
- 建议先用少量样本验证再进行大规模导入