mirror of
https://github.com/Bao-qing/123pan.git
synced 2025-11-13 12:16:07 +08:00
123云盘,使用安卓客户端协议,绕开流量限制,解决123云盘自用流量不足
| .gitignore | ||
| 123download.js | ||
| 123pan.py | ||
| favicon.ico | ||
| pack.sh | ||
| README.md | ||
| requirements.txt | ||
| sign_py.py | ||
123Pan 下载工具
123 网盘命令行工具,支持列出文件、下载、上传、分享、删除、创建目录及回收站管理。Android 客户端或 Web 协议,便于在本地批量管理与下载文件。
安卓客户端协议不受下载流量限制(推荐使用)。
123download.js 是网页端下载油猴脚本最初版本,仍然可以使用,仅保留最基本的解锁下载功能,不再更新。 可以参考其他项目:123云盘解锁 (@QingJ) 123 云盘会员青春版 (@hmjz100)
特性
- 登录 / 登出
- 列出当前目录文件(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
安装:
pip install requests
安装与运行
脚本运行
- 克隆或下载本仓库到本地。
- 进入项目目录。
- 运行脚本:
启动后会提示输入用户名 / 密码,或自动读取配置文件(默认python 123pan.py123pan_config.json或123pan.txt,脚本内部根据传入参数使用该文件)。
下载release版
根据系统下载对应的 release 版本,解压后运行 123pan.exe(Windows)或 123pan(Linux)。
配置文件(JSON)
脚本会读取并保存一个配置文件(示例 123pan_config.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,下载完成后会重命名为原文件名。 - 如果文件已存在,会提示覆盖 / 跳过 / 全部覆盖 / 全部跳过等选项。
注意事项
- 本工具用于学习与自用场景,请勿用于违法用途。对任何滥用造成的后果,本人概不负责。
- 模拟客户端协议可能存在账号或服务端策略风险,请谨慎使用。
- 建议不要在公用或不受信任的机器上保存明文密码或授权信息。
免责声明
本工具用于学习场景,请勿用于违法用途。对任何滥用造成的后果,作者概不负责。