diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-15 04:52:08 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 04:52:08 +0000 |
commit | 1c9b46a034f1b69d8503de12c3365137260c4d4b (patch) | |
tree | 585707623ae84bd9b5a7eacb9a275a0110735799 /python-aliyunpan.spec | |
parent | 17e37d6ab13df5635324b7b21460e913c5812c22 (diff) |
automatic import of python-aliyunpan
Diffstat (limited to 'python-aliyunpan.spec')
-rw-r--r-- | python-aliyunpan.spec | 1125 |
1 files changed, 1125 insertions, 0 deletions
diff --git a/python-aliyunpan.spec b/python-aliyunpan.spec new file mode 100644 index 0000000..e8a171f --- /dev/null +++ b/python-aliyunpan.spec @@ -0,0 +1,1125 @@ +%global _empty_manifest_terminate_build 0 +Name: python-aliyunpan +Version: 3.0.9 +Release: 1 +Summary: aliyunpan cli +License: GNU General Public License v3 (GPLv3) +URL: https://github.com/wxy1343/aliyunpan +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4c/ac/0f2a3c21e3bd2010b4fd6267172a9aaacbb0e9f3a397ee92626f66826a59/aliyunpan-3.0.9.tar.gz +BuildArch: noarch + + +%description +阿里云盘cli +环境要求: python 3.7 通过测试 +~~低版本环境运行报错参考~~[~~issue9~~](https://github.com/wxy1343/aliyunpan/issues/9) +## 安装 +```shell +pip install aliyunpan +``` +## 更新 +```shell +pip install aliyunpan --upgrade +``` +## 运行 +```shell +aliyunpan-cli +``` +## pyinstaller打包 +[最新版下载](https://github.com/wxy1343/aliyunpan/releases/latest) (GitHub +Actions打包,glibc版本较高 [#42](https://github.com/wxy1343/aliyunpan/issues/42)) +[第三方下载](https://media.cooluc.com/source/aliyunDrive-cli) (更新较慢) +## 克隆项目 +* `--recurse-submodules` 用于克隆子模块,部分功能需要(可选) +```shell +git clone https://github.com/wxy1343/aliyunpan --recurse-submodules +``` +## 获取refresh_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.js](https://nodejs.org) 和 [jsdom](https://github.com/jsdom/jsdom) 模块来运行js代码~~ +* 目前阿里云盘修改了ua的算法,加入了鼠标移动之类的信息,如果有解决方法的欢迎来[pr](https://github.com/wxy1343/aliyunpan/pulls) +```shell +npm install jsdom +``` +### 配置refresh_token +```shell +echo "refresh_token: 'xxxxx'" > ~/.config/aliyunpan.yaml +``` +### 配置账号(可选) +```shell +echo "username: 'xxxxx'" > ~/.config/aliyunpan.yaml +echo "password: 'xxxxx'" >> ~/.config/aliyunpan.yaml +``` +### 配置aria2(可选) +```shell +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 | +## 使用指南 +* 查看帮助 +```shell +aliyunpan-cli -h +``` +<details> + <summary>查看详情</summary> + <table> + <tbody> + <tr> + <td>参数</td> + <td>描述</td> + </tr> + <tr> + <td>-h, --help</td> + <td>查看帮助</td> + </tr> + <tr> + <td>--version</td> + <td>查看版本</td> + </tr> + <tr> + <td>-c, --config-file</td> + <td>指定配置文件</td> + </tr> + <tr> + <td>-t, --refresh-token</td> + <td>指定REFRESH_TOKEN</td> + </tr> + <tr> + <td>-u, --username</td> + <td>指定账号</td> + </tr> + <tr> + <td>-p, --password</td> + <td>指定密码</td> + </tr> + <tr> + <td>-d, --depth</td> + <td>文件递归深度</td> + </tr> + <tr> + <td>-T, --timeout</td> + <td>请求超时时间(秒)</td> + </tr> + <tr> + <td>-id, --drive-id</td> + <td>指定drive_id</td> + </tr> + <tr> + <td>-a, --album</td> + <td>是否访问相册</td> + </tr> + <tr> + <td>-s, --share-id</td> + <td>指定分享id</td> + </tr> + <tr> + <td>-sp, --share-pwd</td> + <td>指定分享密码</td> + </tr> + <tr> + <td>-f, --filter-file</td> + <td>过滤文件(多个)</td> + </tr> + <tr> + <td>-w, --whitelist</td> + <td>使用白名单过滤文件</td> + </tr> + <tr> + <td>-m, --match</td> + <td>指定使用正则匹配文件</td> + </tr> + </tbody> + </table> +</details> +* 查看指令参数 +```shell +aliyunpan-cli COMMAND -h +``` +<details> + <summary>查看详情</summary> + <table> + <tbody> + <tr> + <td>指令</td> + <td>参数</td> + <td>描述</td> + </tr> + <tr> + <td>download</td> + <td>-p, --file</td> + <td>选择文件(多个)</td> + </tr> + <tr> + <td>download</td> + <td>-s, --share</td> + <td>指定分享的序列文件</td> + </tr> + <tr> + <td>download</td> + <td>-cs, --chunk-size</td> + <td>分块大小(字节)</td> + </tr> + <tr> + <td>download</td> + <td>-a, --aria2</td> + <td>发送到aria2</td> + </tr> + <tr> + <td>ls,search</td> + <td>-l</td> + <td>查看详情</td> + </tr> + <tr> + <td>share</td> + <td>-p, --file</td> + <td>指定文件(多个)</td> + </tr> + <tr> + <td>share</td> + <td>-f, --file-id</td> + <td>指定file_id(多个)</td> + </tr> + <tr> + <td>share</td> + <td>-t, --expire-sec</td> + <td>分享过期时间(秒),默认最大14400</td> + </tr> + <tr> + <td>share</td> + <td>-l, --share-link</td> + <td>输出分享链接</td> + </tr> + <tr> + <td>share</td> + <td>-d, --download-link</td> + <td>输出下载链接</td> + </tr> + <tr> + <td>share</td> + <td>-s, --save</td> + <td>保存序列文件到云盘和本地</td> + </tr> + <tr> + <td>share</td> + <td>-S, --share-official</td> + <td>官方分享功能(需要账号支持)</td> + </tr> + <tr> + <td>upload</td> + <td>-p, --file</td> + <td>选择文件(多个)</td> + </tr> + <tr> + <td>upload,sync</td> + <td>-t, --time-out</td> + <td>分块上传超时时间(秒)</td> + </tr> + <tr> + <td>upload,sync</td> + <td>-r, --retry</td> + <td>上传失败重试次数</td> + </tr> + <tr> + <td>upload</td> + <td>-f, --force</td> + <td>强制覆盖文件</td> + </tr> + <tr> + <td>upload</td> + <td>-s, --share</td> + <td>指定分享的序列文件</td> + </tr> + <tr> + <td>upload,sync</td> + <td>-cs, --chunk-size</td> + <td>分块大小(字节)</td> + </tr> + <tr> + <td>upload</td> + <td>-c</td> + <td>断点续传</td> + </tr> + <tr> + <td>cat</td> + <td>-e, --encoding</td> + <td>文件编码</td> + </tr> + <tr> + <td>sync</td> + <td>-st, --sync-time</td> + <td>同步间隔时间</td> + </tr> + <tr> + <td>sync</td> + <td>--no-delete, -n</td> + <td>不删除(云盘/本地)文件(默认)</td> + </tr> + <tr> + <td>sync</td> + <td>-d, --delete</td> + <td>允许删除(云盘/本地)文件</td> + </tr> + <tr> + <td>sync</td> + <td>-l, --local</td> + <td>同步云盘文件到本地</td> + </tr> + <tr> + <td>token</td> + <td>--refresh, -r</td> + <td>刷新配置文件token</td> + </tr> + <tr> + <td>token</td> + <td>--refresh-time, -t</td> + <td>自动刷新token间隔时间(秒)</td> + </tr> + <tr> + <td>token</td> + <td>--change, -c</td> + <td>设置新的refresh_token</td> + </tr> + </tbody> + </table> +</details> +### 断点续传 +* 将文件分成多块顺序上传 +* 文件上传进度保存在当前目录下的tasks.yaml +* 格式 + ```yaml + 文件sha1: + path: 绝对路径 + upload_id: 上传id + file_id: 文件id + chunk_size: 分块大小 + part_number: 最后上传的分块编号 + ``` +* 文件未上传成功时,CTRL+C会自动保存 +* 断点续传需带上参数-c +### 分享 +* 由于官方修改秒传接口导致该功能失效 +* 暂时采用在秒传链接中加入直链的方法用以获取proof_code +* 分享秒传文件时需要通过直链获取文件随机8字节,导致速度较慢 +* 由于直链的局限,秒传链接有效期为4小时 +1.分享链接格式 +``` +aliyunpan://文件名|sha1|url_base64|文件大小|相对路径 +``` +例如 +* 以下秒传链接均已失效,仅供参考 +``` +aliyunpan://示例文件.txt|F61851825609372B3D7F802E600B35A497CFC38E|url_base64|24|root +``` +2.文件分享 +```shell +aliyunpan-cli share 示例文件.txt +``` +导入 +```shell +aliyunpan-cli upload "aliyunpan://示例文件.txt|F61851825609372B3D7F802E600B35A497CFC38E|url_base64|24|root" +``` +3.文件夹分享 +```shell +aliyunpan-cli share 示例文件夹 +``` +导入 +```shell +aliyunpan-cli upload -s "aliyunpan://示例文件夹|80E7E25109D4246653B600FDFEDD8D8B0D97E517|url_base64|970|root" +``` +### TUI按键指南 +* 显示菜单(ctrl+x) +* 退出(ctrl+c) +* 切换标签(↑↓←→,kjhl,TAB) +### 环境变量 +```ALIYUNPAN_CONF``` 配置文件路径 +```ALIYUNPAN_ROOT``` 根目录(log和tasks输出路径) +## 致谢 +感谢 [zhjc1124/aliyundrive](https://github.com/zhjc1124/aliyundrive) 的登录接口参考 + +%package -n python3-aliyunpan +Summary: aliyunpan cli +Provides: python-aliyunpan +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-aliyunpan +阿里云盘cli +环境要求: python 3.7 通过测试 +~~低版本环境运行报错参考~~[~~issue9~~](https://github.com/wxy1343/aliyunpan/issues/9) +## 安装 +```shell +pip install aliyunpan +``` +## 更新 +```shell +pip install aliyunpan --upgrade +``` +## 运行 +```shell +aliyunpan-cli +``` +## pyinstaller打包 +[最新版下载](https://github.com/wxy1343/aliyunpan/releases/latest) (GitHub +Actions打包,glibc版本较高 [#42](https://github.com/wxy1343/aliyunpan/issues/42)) +[第三方下载](https://media.cooluc.com/source/aliyunDrive-cli) (更新较慢) +## 克隆项目 +* `--recurse-submodules` 用于克隆子模块,部分功能需要(可选) +```shell +git clone https://github.com/wxy1343/aliyunpan --recurse-submodules +``` +## 获取refresh_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.js](https://nodejs.org) 和 [jsdom](https://github.com/jsdom/jsdom) 模块来运行js代码~~ +* 目前阿里云盘修改了ua的算法,加入了鼠标移动之类的信息,如果有解决方法的欢迎来[pr](https://github.com/wxy1343/aliyunpan/pulls) +```shell +npm install jsdom +``` +### 配置refresh_token +```shell +echo "refresh_token: 'xxxxx'" > ~/.config/aliyunpan.yaml +``` +### 配置账号(可选) +```shell +echo "username: 'xxxxx'" > ~/.config/aliyunpan.yaml +echo "password: 'xxxxx'" >> ~/.config/aliyunpan.yaml +``` +### 配置aria2(可选) +```shell +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 | +## 使用指南 +* 查看帮助 +```shell +aliyunpan-cli -h +``` +<details> + <summary>查看详情</summary> + <table> + <tbody> + <tr> + <td>参数</td> + <td>描述</td> + </tr> + <tr> + <td>-h, --help</td> + <td>查看帮助</td> + </tr> + <tr> + <td>--version</td> + <td>查看版本</td> + </tr> + <tr> + <td>-c, --config-file</td> + <td>指定配置文件</td> + </tr> + <tr> + <td>-t, --refresh-token</td> + <td>指定REFRESH_TOKEN</td> + </tr> + <tr> + <td>-u, --username</td> + <td>指定账号</td> + </tr> + <tr> + <td>-p, --password</td> + <td>指定密码</td> + </tr> + <tr> + <td>-d, --depth</td> + <td>文件递归深度</td> + </tr> + <tr> + <td>-T, --timeout</td> + <td>请求超时时间(秒)</td> + </tr> + <tr> + <td>-id, --drive-id</td> + <td>指定drive_id</td> + </tr> + <tr> + <td>-a, --album</td> + <td>是否访问相册</td> + </tr> + <tr> + <td>-s, --share-id</td> + <td>指定分享id</td> + </tr> + <tr> + <td>-sp, --share-pwd</td> + <td>指定分享密码</td> + </tr> + <tr> + <td>-f, --filter-file</td> + <td>过滤文件(多个)</td> + </tr> + <tr> + <td>-w, --whitelist</td> + <td>使用白名单过滤文件</td> + </tr> + <tr> + <td>-m, --match</td> + <td>指定使用正则匹配文件</td> + </tr> + </tbody> + </table> +</details> +* 查看指令参数 +```shell +aliyunpan-cli COMMAND -h +``` +<details> + <summary>查看详情</summary> + <table> + <tbody> + <tr> + <td>指令</td> + <td>参数</td> + <td>描述</td> + </tr> + <tr> + <td>download</td> + <td>-p, --file</td> + <td>选择文件(多个)</td> + </tr> + <tr> + <td>download</td> + <td>-s, --share</td> + <td>指定分享的序列文件</td> + </tr> + <tr> + <td>download</td> + <td>-cs, --chunk-size</td> + <td>分块大小(字节)</td> + </tr> + <tr> + <td>download</td> + <td>-a, --aria2</td> + <td>发送到aria2</td> + </tr> + <tr> + <td>ls,search</td> + <td>-l</td> + <td>查看详情</td> + </tr> + <tr> + <td>share</td> + <td>-p, --file</td> + <td>指定文件(多个)</td> + </tr> + <tr> + <td>share</td> + <td>-f, --file-id</td> + <td>指定file_id(多个)</td> + </tr> + <tr> + <td>share</td> + <td>-t, --expire-sec</td> + <td>分享过期时间(秒),默认最大14400</td> + </tr> + <tr> + <td>share</td> + <td>-l, --share-link</td> + <td>输出分享链接</td> + </tr> + <tr> + <td>share</td> + <td>-d, --download-link</td> + <td>输出下载链接</td> + </tr> + <tr> + <td>share</td> + <td>-s, --save</td> + <td>保存序列文件到云盘和本地</td> + </tr> + <tr> + <td>share</td> + <td>-S, --share-official</td> + <td>官方分享功能(需要账号支持)</td> + </tr> + <tr> + <td>upload</td> + <td>-p, --file</td> + <td>选择文件(多个)</td> + </tr> + <tr> + <td>upload,sync</td> + <td>-t, --time-out</td> + <td>分块上传超时时间(秒)</td> + </tr> + <tr> + <td>upload,sync</td> + <td>-r, --retry</td> + <td>上传失败重试次数</td> + </tr> + <tr> + <td>upload</td> + <td>-f, --force</td> + <td>强制覆盖文件</td> + </tr> + <tr> + <td>upload</td> + <td>-s, --share</td> + <td>指定分享的序列文件</td> + </tr> + <tr> + <td>upload,sync</td> + <td>-cs, --chunk-size</td> + <td>分块大小(字节)</td> + </tr> + <tr> + <td>upload</td> + <td>-c</td> + <td>断点续传</td> + </tr> + <tr> + <td>cat</td> + <td>-e, --encoding</td> + <td>文件编码</td> + </tr> + <tr> + <td>sync</td> + <td>-st, --sync-time</td> + <td>同步间隔时间</td> + </tr> + <tr> + <td>sync</td> + <td>--no-delete, -n</td> + <td>不删除(云盘/本地)文件(默认)</td> + </tr> + <tr> + <td>sync</td> + <td>-d, --delete</td> + <td>允许删除(云盘/本地)文件</td> + </tr> + <tr> + <td>sync</td> + <td>-l, --local</td> + <td>同步云盘文件到本地</td> + </tr> + <tr> + <td>token</td> + <td>--refresh, -r</td> + <td>刷新配置文件token</td> + </tr> + <tr> + <td>token</td> + <td>--refresh-time, -t</td> + <td>自动刷新token间隔时间(秒)</td> + </tr> + <tr> + <td>token</td> + <td>--change, -c</td> + <td>设置新的refresh_token</td> + </tr> + </tbody> + </table> +</details> +### 断点续传 +* 将文件分成多块顺序上传 +* 文件上传进度保存在当前目录下的tasks.yaml +* 格式 + ```yaml + 文件sha1: + path: 绝对路径 + upload_id: 上传id + file_id: 文件id + chunk_size: 分块大小 + part_number: 最后上传的分块编号 + ``` +* 文件未上传成功时,CTRL+C会自动保存 +* 断点续传需带上参数-c +### 分享 +* 由于官方修改秒传接口导致该功能失效 +* 暂时采用在秒传链接中加入直链的方法用以获取proof_code +* 分享秒传文件时需要通过直链获取文件随机8字节,导致速度较慢 +* 由于直链的局限,秒传链接有效期为4小时 +1.分享链接格式 +``` +aliyunpan://文件名|sha1|url_base64|文件大小|相对路径 +``` +例如 +* 以下秒传链接均已失效,仅供参考 +``` +aliyunpan://示例文件.txt|F61851825609372B3D7F802E600B35A497CFC38E|url_base64|24|root +``` +2.文件分享 +```shell +aliyunpan-cli share 示例文件.txt +``` +导入 +```shell +aliyunpan-cli upload "aliyunpan://示例文件.txt|F61851825609372B3D7F802E600B35A497CFC38E|url_base64|24|root" +``` +3.文件夹分享 +```shell +aliyunpan-cli share 示例文件夹 +``` +导入 +```shell +aliyunpan-cli upload -s "aliyunpan://示例文件夹|80E7E25109D4246653B600FDFEDD8D8B0D97E517|url_base64|970|root" +``` +### TUI按键指南 +* 显示菜单(ctrl+x) +* 退出(ctrl+c) +* 切换标签(↑↓←→,kjhl,TAB) +### 环境变量 +```ALIYUNPAN_CONF``` 配置文件路径 +```ALIYUNPAN_ROOT``` 根目录(log和tasks输出路径) +## 致谢 +感谢 [zhjc1124/aliyundrive](https://github.com/zhjc1124/aliyundrive) 的登录接口参考 + +%package help +Summary: Development documents and examples for aliyunpan +Provides: python3-aliyunpan-doc +%description help +阿里云盘cli +环境要求: python 3.7 通过测试 +~~低版本环境运行报错参考~~[~~issue9~~](https://github.com/wxy1343/aliyunpan/issues/9) +## 安装 +```shell +pip install aliyunpan +``` +## 更新 +```shell +pip install aliyunpan --upgrade +``` +## 运行 +```shell +aliyunpan-cli +``` +## pyinstaller打包 +[最新版下载](https://github.com/wxy1343/aliyunpan/releases/latest) (GitHub +Actions打包,glibc版本较高 [#42](https://github.com/wxy1343/aliyunpan/issues/42)) +[第三方下载](https://media.cooluc.com/source/aliyunDrive-cli) (更新较慢) +## 克隆项目 +* `--recurse-submodules` 用于克隆子模块,部分功能需要(可选) +```shell +git clone https://github.com/wxy1343/aliyunpan --recurse-submodules +``` +## 获取refresh_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.js](https://nodejs.org) 和 [jsdom](https://github.com/jsdom/jsdom) 模块来运行js代码~~ +* 目前阿里云盘修改了ua的算法,加入了鼠标移动之类的信息,如果有解决方法的欢迎来[pr](https://github.com/wxy1343/aliyunpan/pulls) +```shell +npm install jsdom +``` +### 配置refresh_token +```shell +echo "refresh_token: 'xxxxx'" > ~/.config/aliyunpan.yaml +``` +### 配置账号(可选) +```shell +echo "username: 'xxxxx'" > ~/.config/aliyunpan.yaml +echo "password: 'xxxxx'" >> ~/.config/aliyunpan.yaml +``` +### 配置aria2(可选) +```shell +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 | +## 使用指南 +* 查看帮助 +```shell +aliyunpan-cli -h +``` +<details> + <summary>查看详情</summary> + <table> + <tbody> + <tr> + <td>参数</td> + <td>描述</td> + </tr> + <tr> + <td>-h, --help</td> + <td>查看帮助</td> + </tr> + <tr> + <td>--version</td> + <td>查看版本</td> + </tr> + <tr> + <td>-c, --config-file</td> + <td>指定配置文件</td> + </tr> + <tr> + <td>-t, --refresh-token</td> + <td>指定REFRESH_TOKEN</td> + </tr> + <tr> + <td>-u, --username</td> + <td>指定账号</td> + </tr> + <tr> + <td>-p, --password</td> + <td>指定密码</td> + </tr> + <tr> + <td>-d, --depth</td> + <td>文件递归深度</td> + </tr> + <tr> + <td>-T, --timeout</td> + <td>请求超时时间(秒)</td> + </tr> + <tr> + <td>-id, --drive-id</td> + <td>指定drive_id</td> + </tr> + <tr> + <td>-a, --album</td> + <td>是否访问相册</td> + </tr> + <tr> + <td>-s, --share-id</td> + <td>指定分享id</td> + </tr> + <tr> + <td>-sp, --share-pwd</td> + <td>指定分享密码</td> + </tr> + <tr> + <td>-f, --filter-file</td> + <td>过滤文件(多个)</td> + </tr> + <tr> + <td>-w, --whitelist</td> + <td>使用白名单过滤文件</td> + </tr> + <tr> + <td>-m, --match</td> + <td>指定使用正则匹配文件</td> + </tr> + </tbody> + </table> +</details> +* 查看指令参数 +```shell +aliyunpan-cli COMMAND -h +``` +<details> + <summary>查看详情</summary> + <table> + <tbody> + <tr> + <td>指令</td> + <td>参数</td> + <td>描述</td> + </tr> + <tr> + <td>download</td> + <td>-p, --file</td> + <td>选择文件(多个)</td> + </tr> + <tr> + <td>download</td> + <td>-s, --share</td> + <td>指定分享的序列文件</td> + </tr> + <tr> + <td>download</td> + <td>-cs, --chunk-size</td> + <td>分块大小(字节)</td> + </tr> + <tr> + <td>download</td> + <td>-a, --aria2</td> + <td>发送到aria2</td> + </tr> + <tr> + <td>ls,search</td> + <td>-l</td> + <td>查看详情</td> + </tr> + <tr> + <td>share</td> + <td>-p, --file</td> + <td>指定文件(多个)</td> + </tr> + <tr> + <td>share</td> + <td>-f, --file-id</td> + <td>指定file_id(多个)</td> + </tr> + <tr> + <td>share</td> + <td>-t, --expire-sec</td> + <td>分享过期时间(秒),默认最大14400</td> + </tr> + <tr> + <td>share</td> + <td>-l, --share-link</td> + <td>输出分享链接</td> + </tr> + <tr> + <td>share</td> + <td>-d, --download-link</td> + <td>输出下载链接</td> + </tr> + <tr> + <td>share</td> + <td>-s, --save</td> + <td>保存序列文件到云盘和本地</td> + </tr> + <tr> + <td>share</td> + <td>-S, --share-official</td> + <td>官方分享功能(需要账号支持)</td> + </tr> + <tr> + <td>upload</td> + <td>-p, --file</td> + <td>选择文件(多个)</td> + </tr> + <tr> + <td>upload,sync</td> + <td>-t, --time-out</td> + <td>分块上传超时时间(秒)</td> + </tr> + <tr> + <td>upload,sync</td> + <td>-r, --retry</td> + <td>上传失败重试次数</td> + </tr> + <tr> + <td>upload</td> + <td>-f, --force</td> + <td>强制覆盖文件</td> + </tr> + <tr> + <td>upload</td> + <td>-s, --share</td> + <td>指定分享的序列文件</td> + </tr> + <tr> + <td>upload,sync</td> + <td>-cs, --chunk-size</td> + <td>分块大小(字节)</td> + </tr> + <tr> + <td>upload</td> + <td>-c</td> + <td>断点续传</td> + </tr> + <tr> + <td>cat</td> + <td>-e, --encoding</td> + <td>文件编码</td> + </tr> + <tr> + <td>sync</td> + <td>-st, --sync-time</td> + <td>同步间隔时间</td> + </tr> + <tr> + <td>sync</td> + <td>--no-delete, -n</td> + <td>不删除(云盘/本地)文件(默认)</td> + </tr> + <tr> + <td>sync</td> + <td>-d, --delete</td> + <td>允许删除(云盘/本地)文件</td> + </tr> + <tr> + <td>sync</td> + <td>-l, --local</td> + <td>同步云盘文件到本地</td> + </tr> + <tr> + <td>token</td> + <td>--refresh, -r</td> + <td>刷新配置文件token</td> + </tr> + <tr> + <td>token</td> + <td>--refresh-time, -t</td> + <td>自动刷新token间隔时间(秒)</td> + </tr> + <tr> + <td>token</td> + <td>--change, -c</td> + <td>设置新的refresh_token</td> + </tr> + </tbody> + </table> +</details> +### 断点续传 +* 将文件分成多块顺序上传 +* 文件上传进度保存在当前目录下的tasks.yaml +* 格式 + ```yaml + 文件sha1: + path: 绝对路径 + upload_id: 上传id + file_id: 文件id + chunk_size: 分块大小 + part_number: 最后上传的分块编号 + ``` +* 文件未上传成功时,CTRL+C会自动保存 +* 断点续传需带上参数-c +### 分享 +* 由于官方修改秒传接口导致该功能失效 +* 暂时采用在秒传链接中加入直链的方法用以获取proof_code +* 分享秒传文件时需要通过直链获取文件随机8字节,导致速度较慢 +* 由于直链的局限,秒传链接有效期为4小时 +1.分享链接格式 +``` +aliyunpan://文件名|sha1|url_base64|文件大小|相对路径 +``` +例如 +* 以下秒传链接均已失效,仅供参考 +``` +aliyunpan://示例文件.txt|F61851825609372B3D7F802E600B35A497CFC38E|url_base64|24|root +``` +2.文件分享 +```shell +aliyunpan-cli share 示例文件.txt +``` +导入 +```shell +aliyunpan-cli upload "aliyunpan://示例文件.txt|F61851825609372B3D7F802E600B35A497CFC38E|url_base64|24|root" +``` +3.文件夹分享 +```shell +aliyunpan-cli share 示例文件夹 +``` +导入 +```shell +aliyunpan-cli upload -s "aliyunpan://示例文件夹|80E7E25109D4246653B600FDFEDD8D8B0D97E517|url_base64|970|root" +``` +### TUI按键指南 +* 显示菜单(ctrl+x) +* 退出(ctrl+c) +* 切换标签(↑↓←→,kjhl,TAB) +### 环境变量 +```ALIYUNPAN_CONF``` 配置文件路径 +```ALIYUNPAN_ROOT``` 根目录(log和tasks输出路径) +## 致谢 +感谢 [zhjc1124/aliyundrive](https://github.com/zhjc1124/aliyundrive) 的登录接口参考 + +%prep +%autosetup -n aliyunpan-3.0.9 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-aliyunpan -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 3.0.9-1 +- Package Spec generated |