吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6819|回复: 22
收起左侧

[原创工具] 【Python】【开源】aliyunpan-cli

[复制链接]
wxy1343 发表于 2021-8-15 16:34
本帖最后由 wxy1343 于 2021-8-17 15:14 编辑

aliyunpan

Build StatusGitHubPyPIGitHub all releaseswiki


阿里云盘cli
环境要求: python 3.7 通过测试
低版本环境运行报错参考issue9  

安装

pip install aliyunpan

更新

pip install aliyunpan --upgrade

运行

aliyunpan-cli

pyinstaller打包

最新版下载 (GitHub Actions打包,glibc版本较高 #42)
第三方下载 (更新较慢)

克隆项目

  • --recurse-submodules 用于克隆子模块,部分功能需要(可选)
git clone https://github.com/wxy1343/aliyunpan --recurse-submodules

获取refresh_token

token

注意

  • web端获取的refresh_token有防盗链检测
  1. 可以指定账号密码登入
  2. 可以通过手机端查找日志获取refresh_token

/sdcard/Android/data/com.alicloud.databox/files/logs/trace/userId/yunpan/latest.log

  • 登录api加入了ua检测,需要运行混淆的js代码来获取ua
  • 推荐安装 node.jsjsdom 模块来运行js代码
  • 目前阿里云盘修改了ua的算法,加入了鼠标移动之类的信息,如果有解决方法的欢迎来pr
npm install jsdom

配置refresh_token

echo "refresh_token: 'xxxxx'"  >  ~/.config/aliyunpan.yaml

配置账号(可选)

echo "username: 'xxxxx'"  >  ~/.config/aliyunpan.yaml
echo "password: 'xxxxx'"  >>  ~/.config/aliyunpan.yaml

配置aria2(可选)

cat >> ~/.config/aliyunpan.yaml <<EOF
aria2:
  'host': 'http://localhost'
  'port': 6800
  'secret': ''
EOF

功能介绍

指令 描述
download (d) 下载文件/文件夹
ls (dir,l,list) 列目录
mv (move) 移动文件/文件夹
rm (del,delete) 删除文件/文件夹
rename (r) 重命名文件/文件夹
tree (show,t) 查看文件树
upload (u) 上传文件/文件夹
share (s) 分享文件
mkdir (m) 创建文件夹
cat (c) 显示文件内容
tui 文本用户界面
search 搜索文件/文件夹
sync 同步文件夹
token (r,refresh_token) 查看refresh_token

使用指南

  • 查看帮助
python main.py -h
参数 描述
-h, --help 查看帮助
--version 查看版本
-c, --config-file 指定配置文件
-t, --refresh-token 指定REFRESH_TOKEN
-u, --username 指定账号
-p, --password 指定密码
-d, --depth 文件递归深度
-T, --timeout 请求超时时间(秒)
-id, --drive-id 指定drive_id
-a, --album 是否访问相册
  • 查看指令参数
python main.py COMMAND -h
指令 参数 描述
download -p, --file 选择文件(多个)
download -s, --share 指定分享的序列文件
download -cs, --chunk-size 分块大小(字节)
download -a, --aria2 发送到aria2
ls,search -l 查看详情
share -p, --file 指定文件(多个)
share -f, --file-id 指定file_id(多个)
share -t, --expire-sec 分享过期时间(秒),默认最大14400
share -l, --share-link 输出分享链接
share -d, --download-link 输出下载链接
share -s, --save 保存序列文件到云盘和本地
share -S, --share-official 官方分享功能(需要账号支持)
upload -p, --file 选择文件(多个)
upload,sync -t, --time-out 分块上传超时时间(秒)
upload,sync -r, --retry 上传失败重试次数
upload -f, --force 强制覆盖文件
upload -s, --share 指定分享的序列文件
upload,sync -cs, --chunk-size 分块大小(字节)
upload -c 断点续传
cat -e, --encoding 文件编码
sync --sync-time 同步间隔时间
token --refresh, -r 刷新配置文件token
token --refresh-time, -t 自动刷新token间隔时间(秒)

断点续传

  • 将文件分成多块顺序上传
  • 文件上传进度保存在当前目录下的tasks.yaml
  • 格式
    文件sha1:
    path: 绝对路径
    upload_id: 上传id
    file_id: 文件id
    chunk_size: 分块大小
    part_number: 最后上传的分块编号
  • 文件未上传成功时,CTRL+C会自动保存
  • 断点续传需带上参数-c

分享

1.分享链接格式

aliyunpan://文件名|sha1|文件大小|相对路径

例如

aliyunpan://示例文件.txt|F61851825609372B3D7F802E600B35A497CFC38E|24|root

2.文件分享

python main.py share 示例文件.txt 

导入

python main.py upload "aliyunpan://示例文件.txt|F61851825609372B3D7F802E600B35A497CFC38E|24|root"

3.文件夹分享

python main.py share 示例文件夹

导入

python main.py upload -s "aliyunpan://示例文件夹|80E7E25109D4246653B600FDFEDD8D8B0D97E517|970|root"

TUI按键指南

  • 显示菜单(ctrl+x)
  • 退出(ctrl+c)
  • 切换标签(↑↓←→,kjhl,TAB)

环境变量

ALIYUNPAN_CONF 配置文件路径
ALIYUNPAN_ROOT 根目录(log和tasks输出路径)

致谢

感谢 zhjc1124/aliyundrive 的登录接口参考

免费评分

参与人数 4吾爱币 +10 热心值 +1 收起 理由
wapj3871 + 1 谢谢@Thanks!
蓦然回首 + 1 谢谢@Thanks!
nas + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

askyy1232008 发表于 2021-8-17 08:27
非常感谢楼主的无私分享,Python yyds !
andyfky 发表于 2021-8-17 08:53
o306336202 发表于 2021-8-17 09:57
闵先生的薄音 发表于 2021-8-17 10:05
感谢分享!
蓦然回首 发表于 2021-8-17 10:31
可以可以,这下实现linux上用阿里云盘了哈哈
badboybilly 发表于 2021-8-17 12:50
这下实现linux上用阿里云盘了
LHCAILGT 发表于 2021-8-17 21:00
非常感谢楼主的创作,拿去用了。
wo20ljj 发表于 2021-8-18 07:33
这个有啥用,完全没懂
奔跑地米粒 发表于 2021-8-18 08:03
感谢楼主无私分享,万分感谢~~~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 06:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表