主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
很多人有阿里云盘了,(不是讲的teambition) 阿里云盘还没开放分享文件,但可以秒传别人传过的文件,基于此,做了个小工具 代码如下:
- #/bin/bash/
-
- # Aliyundrive rapid upload
- # by 逸笙
- # 保存sha1的文件,需要以 文件名,sha1,字节大小 的格式一行一个
- # 会临时保存refresh token在下方文件中,注意删除
-
- tokenTmpfile=”AliyundriveRapidUpload.tokenTmp”
-
- authUrl=’https://websv.aliyundrive.com/token/refresh’
- apiUrl=’https://api.aliyundrive.com/v2′
-
- function inputRefreshToken
- {
- refreshToken=`cat “${tokenTmpfile}”`
- if [ g”${refreshToken}” = g”” ]; then
- read -p “输入refresh_token: ” refreshToken
- fi
- }
-
- function getAccessToken
- {
- res=`curl -s “${authUrl}”
- -H ‘Content-Type: application/json; charset=utf-8’
- -d ‘{“refresh_token”: “‘”${refreshToken}”‘”}’`
- # echo ${res}
- if [[ “${res}” =~ “access_token” ]]; then
- accessToken=`echo ${res} | awk -F ‘access_token’ ‘{print $2}’ | awk -F ‘”‘ ‘{print $3}’`
- refreshToken=`echo ${res} | awk -F ‘refresh_token’ ‘{print $2}’ | awk -F ‘”‘ ‘{print $3}’`
- driveId=`echo ${res} | awk -F ‘default_drive_id’ ‘{print $2}’ | awk -F ‘”‘ ‘{print $3}’`
- #echo “refreshToken=’${refreshToken}'” > ${tokenTmpfile}
- echo “${refreshToken}” > ${tokenTmpfile}
- else
- echo ‘Error in getting access token: ‘
- echo ${res}
- exit
- fi
- }
-
- # $1 parentId
- # $2 folder name
- function createFolder
- {
- url=”${apiUrl}/file/create”
- res=`curl -s “${url}”
- -H ‘Content-Type: application/json; charset=utf-8’
- -H ‘authorization: Bearer ‘”${accessToken}”
- -d ‘{“check_name_mode”: “refuse”, “drive_id”: “‘”${driveId}”‘”, “parent_file_id”: “‘”$1″‘”, “type”: “folder”, “name”: “‘”$2″‘”}’`
- echo ${res}
- }
-
- # $1 parentId
- # $2 file name
- # $3 file sha1
- # $4 file size
- function createFile
- {
- url=”${apiUrl}/file/create”
- res=`curl -s “${url}”
- -H ‘Content-Type: application/json; charset=utf-8’
- -H ‘authorization: Bearer ‘”${accessToken}”
- -d ‘{
- “check_name_mode”: “refuse”,
- “content_hash”: “‘”$3″‘”,
- “content_hash_name”: “sha1”,
- “content_type”: “”,
- “drive_id”: “‘”${driveId}”‘”,
- “ignoreError”: false,
- “parent_file_id”: “‘”$1″‘”,
- “type”: “file”,
- “size”: ‘”$4″‘,
- “name”: “‘”$2″‘”,
- “part_info_list”: [{“part_number”: 1}]
- }’`
- echo ${res}
- }
-
- function main
- {
- inputRefreshToken
- getAccessToken
-
- if [ g”$1″ = g”” ]; then
- read -p “输入文件:” sha1filename
- else
- sha1filename=$1
- fi
-
- # 预留指定目录
- # createFolder “root” sha1filename
- parentId=”root”
-
- while read line
- do
- #echo $line
- rapid=0
- name=`echo ${line} | awk -F ‘,’ ‘{print $1}’`
- sha1=`echo ${line} | awk -F ‘,’ ‘{print $2}’`
- size=`echo ${line} | awk -F ‘,’ ‘{print $3}’`
- result=`createFile “${parentId}” “${name}” “${sha1}” “${size}”`
- # 预留access token过期
- #if []; then
- # getAccessToken
- # result=`createFile “${parentId}” “${name}” “${sha1}” “${size}”`
- #fi
- rapid=`echo ${result} | awk -F ‘rapid_upload”:’ ‘{print $2}’ | awk -F ‘,’ ‘{print $1}’`
- if [ g”${rapid}” = g”true” ]; then
- echo “${name} 秒传”
- else
- echo “${result}”
- fi
- done < ${sha1filename}
-
- }
-
- main
复制代码
用法:bash /root/AliyunRapidUpload.sh /root/filesha1.txt 或:bash /root/AliyunRapidUpload.sh 再输入sha1文件
从目标文件中读取 文件名,sha1,大小,然后尝试秒传(目前上传到根目录) 此目标文件里面的格式为 文件名(英文逗号)文件的sha1(英文逗号)文件的字节大小,一行放一个,如:
其实就是csv。
让你输入的token会保存在最开始指定的那个临时文件中,注意安全。
具体sha1文件就要靠大家集中提供了。 |
各路大神的回复:
注册: 网盘难道不就是拿来传别人没有的东西么
逸笙: 感谢楼主分享
h20: 阿里云盘没有自带秒传效果吗
孫笑川: 阿里云盘上传的时候会校验SHA1 如果有的话就是秒传,如果没有的话就是直连COS上传 没必要做工具的吧
host5217: 感谢分享 前几天李恒道好像也做了一个
师太: 我已经传了700多G上去
Nothing1024: 但这样可以在我本身没有这个文件的情况下上传上去,只要有人提供这个sha1跟字节。
Rece: 多谢分享
主机参考zhujicankao.com_收集国内外VPS,VPS测评,主机测评,云服务器,虚拟主机,独立服务器,国内外服务器,高性价比建站主机相关优惠信息
详细介绍和测评国外VPS主机,云服务器,国外服务器,国外主机的相关优惠信息,商家背景,网络带宽等等,也是目前国内最好的主机云服务器VPS参考测评资讯优惠信息分享平台
这几篇文章你可能也喜欢:
本文由主机参考刊发,转载请注明:便宜国外vps论坛_阿里云盘秒传小工具 https://zhujicankao.com/55033.html
评论前必须登录!
注册