mirror of
https://github.com/Bao-qing/123pan.git
synced 2025-11-13 12:16:07 +08:00
162 lines
5.4 KiB
Markdown
162 lines
5.4 KiB
Markdown
# 123Pan 命令行工具
|
||
|
||
123 网盘命令行工具,支持列出文件、下载、上传、分享、删除、创建目录及回收站管理。Android 客户端或 Web 协议,便于在本地批量管理与下载文件。
|
||
|
||
123download.js 是网页端辅助脚本最初版本,仍然可以使用,仅保留最基本的解锁下载功能,不再更新。
|
||
可以参考其他项目:[123云盘解锁 (@QingJ)](https://greasyfork.org/zh-CN/scripts/519353-123%E4%BA%91%E7%9B%98%E8%A7%A3%E9%94%81)
|
||
[123 云盘会员青春版 (@hmjz100)](https://greasyfork.org/zh-CN/scripts/513528-123-%E4%BA%91%E7%9B%98%E4%BC%9A%E5%91%98%E9%9D%92%E6%98%A5%E7%89%88)
|
||
|
||
## 特性
|
||
- 登录 / 登出
|
||
- 列出当前目录文件(ls)
|
||
- 切换目录(cd)与刷新(refresh / re)
|
||
- 下载单文件或递归下载文件夹(download / d)
|
||
- 上传文件(upload)
|
||
- 创建文件夹(mkdir)
|
||
- 删除文件(rm)
|
||
- 创建分享链接(share)
|
||
- 获取文件直链(link)
|
||
- 回收站管理(recycle / restore)
|
||
- 协议切换(protocol android|web)
|
||
- 支持保存配置到 JSON 文件(authorization、device/os、protocol 等)
|
||
|
||
## 脚本环境要求
|
||
- Python 3.7+
|
||
- 依赖库:requests
|
||
安装:
|
||
```bash
|
||
pip install requests
|
||
```
|
||
|
||
## 安装与运行
|
||
### 脚本运行
|
||
1. 克隆或下载本仓库到本地。
|
||
2. 进入项目目录。
|
||
3. 运行脚本:
|
||
```bash
|
||
python 123pan.py
|
||
```
|
||
启动后会提示输入用户名 / 密码,或自动读取配置文件(默认 `123pan_config.json` 或 `123pan.txt`,脚本内部根据传入参数使用该文件)。
|
||
### 下载release版
|
||
根据系统下载对应的 release 版本,解压后运行 `123pan.exe`(Windows)或 `123pan`(Linux)。
|
||
## 配置文件(JSON)
|
||
脚本会读取并保存一个配置文件(示例 `123pan_config.json`),保存登录状态与偏好,格式示例:
|
||
```json
|
||
{
|
||
"userName": "your_username",
|
||
"passWord": "your_password",
|
||
"authorization": "Bearer xxxxx",
|
||
"deviceType": "M2007J20CI",
|
||
"osVersion": "Android_10",
|
||
"protocol": "android"
|
||
}
|
||
```
|
||
注意:保存密码或 token 到本地会有安全风险,请在可信环境下使用并妥善保护该文件。
|
||
|
||
## 常用命令(交互式)
|
||
在脚本交互提示符中输入命令,部分带参数:
|
||
|
||
- 直接输入编号
|
||
- 若编号对应文件夹 → 进入该文件夹
|
||
- 若编号对应文件 → 直接下载该文件
|
||
|
||
- ls
|
||
- 显示当前目录的文件与文件夹列表。
|
||
|
||
- cd [编号|..|/]
|
||
- 切换目录:
|
||
- cd 3 —— 进入当前列表第3项(如果是文件夹)。
|
||
- cd .. —— 返回上级。
|
||
- cd / —— 返回根目录。
|
||
|
||
- mkdir [名称]
|
||
- 在当前目录创建文件夹。例如:mkdir test
|
||
|
||
- upload [路径]
|
||
- 上传文件到当前目录。例如:upload C:\Users\you\Desktop\file.txt
|
||
- 仅支持文件,暂不支持目录批量上传。
|
||
|
||
- rm [编号]
|
||
- 删除当前列表中的文件/文件夹(会移动到回收站)。例如:rm 2
|
||
|
||
- share [编号 ...]
|
||
- 为一个或多个文件创建分享链接,例如:share 2 4
|
||
- 程序会提示输入提取码(可留空)。
|
||
|
||
- link [编号]
|
||
- 获取文件直链。例如:link 3
|
||
|
||
- download / d [编号]
|
||
- 下载指定编号的文件或文件夹(如果是文件夹,会递归下载)。
|
||
- 例如:download 5
|
||
|
||
- recycle
|
||
- 显示回收站内容,并可恢复或清空。
|
||
- 可输入编号恢复,或输入 clear 清空回收站。
|
||
|
||
- refresh / re
|
||
- 刷新当前目录列表。
|
||
|
||
- reload
|
||
- 重新加载配置文件并刷新目录。
|
||
|
||
- login / logout
|
||
- login:手动登录(使用当前配置或提示输入)。
|
||
- logout:登出并清除授权信息(保存配置时会写入空 token)。
|
||
|
||
- more
|
||
- 如果当前目录分页未加载完,输入 more 继续加载更多文件。
|
||
|
||
- protocol [android|web]
|
||
- 切换协议。例:protocol web
|
||
- 切换后会重新初始化请求头,并可选择保存到配置文件。
|
||
|
||
- exit
|
||
- 退出程序。
|
||
|
||
---
|
||
|
||
交互示例:
|
||
```
|
||
/> cd demo
|
||
无效命令,使用 '..' 返回上级,'/' 返回根目录,或输入文件夹编号
|
||
/> cd 1
|
||
当前目录为空
|
||
/demo1> ls
|
||
当前目录为空
|
||
/demo1> mkdir test
|
||
目录 'test' 创建成功
|
||
|
||
/demo1> 1
|
||
当前目录为空
|
||
/demo1/test> upload 123pan.py
|
||
上传进度: 100.0%
|
||
上传完成,正在验证...
|
||
文件上传成功
|
||
------------------------------------------------------------
|
||
编号 类型 大小 名称
|
||
------------------------------------------------------------
|
||
1 文件 38.66 KB 123pan.py
|
||
============================================================
|
||
|
||
/demo1/test> 1
|
||
开始下载: 123pan.py
|
||
进度: 100.0% | 38.66 KB/38.66 KB | 10.29 MB/s
|
||
下载完成: 123pan.py
|
||
/demo1/test>
|
||
```
|
||
|
||
## 下载说明
|
||
- 下载到脚本所在目录的 `download` 文件夹,下载过程中使用临时后缀 `.123pan`,下载完成后会重命名为原文件名。
|
||
- 如果文件已存在,会提示覆盖 / 跳过 / 全部覆盖 / 全部跳过等选项。
|
||
|
||
## 注意事项
|
||
- 项目仅用于方便命令行场景下使用123云盘,请遵守123云盘使用规范。
|
||
- 本工具用于学习与自用场景,请勿用于违法用途。对任何滥用造成的后果,本人概不负责。
|
||
- 建议不要在公用或不受信任的机器上保存明文密码或授权信息。
|
||
|
||
## 免责声明
|
||
|
||
本工具用于学习场景,请勿用于违法用途。对任何滥用造成的后果,作者概不负责。
|
||
⚠️ 本项目免费开源,严禁通过本项目以任何形式牟利,任何获利行为与作者无关。
|