aliyunpan
阿里云盘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
注意
- web端获取的refresh_token有防盗链检测
- 可以指定账号密码登入
- 可以通过手机端查找日志获取refresh_token
/sdcard/Android/data/com.alicloud.databox/files/logs/trace/userId/yunpan/latest.log
登录api加入了ua检测,需要运行混淆的js代码来获取ua推荐安装 node.js 和 jsdom 模块来运行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
功能介绍
使用指南
- 查看帮助
python main.py -h
参数
描述
- 查看指令参数
python main.py COMMAND -h
指令
参数
描述
断点续传
- 将文件分成多块顺序上传
- 文件上传进度保存在当前目录下的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 的登录接口参考