123pan/README.md
2025-10-09 18:57:31 +08:00

162 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`,下载完成后会重命名为原文件名。
- 如果文件已存在,会提示覆盖 / 跳过 / 全部覆盖 / 全部跳过等选项。
## 注意事项
- 本工具用于学习与自用场景,请勿用于违法用途。对任何滥用造成的后果,本人概不负责。
- 模拟客户端协议可能存在账号或服务端策略风险,请谨慎使用。
- 建议不要在公用或不受信任的机器上保存明文密码或授权信息。
## 免责声明
本工具用于学习场景,请勿用于违法用途。对任何滥用造成的后果,作者概不负责。