【伪教程】阿里云盘秒传链接的简单介绍和使用【版本更新】 | 初音社
开篇介绍
截至本帖发布时,阿里云盘暂未开放文件对外分享的功能,目前分享阿里云盘中文件的解决方案大致有:自建云盘文件列表解析服务器,如:AList,@badyun 目前正在完善中的 AShare,以及本帖将要介绍的基于文件 SHA-1 哈希值生成的阿里云盘分享码
※ 关于Teambition网盘的后续规划可戳:Teambition 网盘与阿里云盘数据合并说明
教程说明:
- 本教程不适合新手,需要有百度云秒传的使用经验才可轻松食用
- 本教程并非原创,只是搬运,目的在于为使用阿里云盘分享资源提供一种思路
- 本教程中所介绍的脚本并非就是最好的,后续可能会出现更好的版本或替代品
准备工作
在开始之前你需要满足以下要求:
- 电脑
- Google Chrome 或 Firefox浏览器
- 可用的阿里云盘账号
安装和使用油猴脚本
Step.1 安装脚本
打开网站: 阿里云盘新版分享-油猴中文网 -> 点击帖子开头的“安装此脚本”按钮(或 Greasy Fork 安装,但版本并不保证和论坛同步)
Step.2 使用脚本生成分享码
在云盘内的文件上右键或者单击文件名后悬浮的三点按钮,选择“查看详细信息” -> 点击“生成分享”按钮 -> 在出现的弹窗中单击确定。此时分享码已经自动添加到剪贴板,在文本输入状态下可 CTRL-V 或右键粘贴即可得到分享码。
Step.3 使用脚本从分享码提取资源
在已经登录阿里云盘账号网页的右上角部分点击“提取分享码”按钮 -> 在弹出的输入框中粘贴输入获得的分享码,点击确定 -> 若成功则会弹出“提取文件成功!”的弹窗,点击确定后网页自动重新加载。 这样资源就通过分享码保存到了你的网盘的当前目录下了。
Test. 测试链接
总结:使用分享码分享资源的优缺点
优点
- 现已支持批量生成和提取分享码
- 与自建解析服务器相比更为简单方便,无额外开销
- 即使阿里云盘现在没有开放分享功能也能和拥有云盘账号的人分享文件
- 分享敏感资源时较为安全
不足之处
- 当前版本 (v3.2) 暂不支持自定义提取资源的保存路径(默认保存到云盘的当前目录下)
- 只能在拥有阿里云盘账号的人群之间相互分享文件
- 阿里云盘会检测到存在违规的文件,只是暂时还未处理,资源本身会被和谐
探讨:阿里云盘秒传的简单分析
可通过抓包并重写请求实现文件秒传
POST https://api.aliyundrive.com/v2/file/create
修改上图中所示的 content_hash
和 size
参数为目标资源的 SHA-1 值和文件的大小(Byte),然后重新Post请求即可将目标资源保存到 parent_file_id
对应的目录下,本例中为 "root",所以保存到云盘的根目录下( name
参数可用于目标资源的重命名)
本帖介绍的分享码格式分析
随手拿一个文件进行测试,通过对生成的分享码进行Base64解码得到下面的json结构
{ "name": "teambition_linux_x64", "content_hash": "DDCCEE24E3006BEBF21BDFFC4566B8B1E42B67EE", "size": 77253675, "content_type": "application/octet-stream" }
各参数说明
字段 | 说明 |
---|---|
name | 文件名 |
content_hash | 文件整体SHA-1值 |
size | 文件大小(Byte) |
content_type | 资源的MIME类型 |
通过解码后得到的信息可以看出,分享码是由文件的一些基本信息构成的json格式数据,再经过Base64编码就得到了最终的分享码。不过拿到json格式的数据后也不是简单的Base64编码,还要经过encodeURIComponent和unescape函数的处理,用以解决特殊字符的问题。