123pan 是由 123panNextGen 维护的第三方 123 云盘桌面客户端,基于 Python、PySide6 和 PySide6-Fluent-Widgets 开发。项目通过模拟安卓客户端协议,改善官方 PC 客户端的自用流量限制,并提供文件管理、上传下载、离线下载、文件夹同步和多账号管理等功能。
项目以 GPLv3 协议开源,代码同步托管于 GitHub 和 Codeberg。
[!IMPORTANT] 本项目与 123 云盘官方无关。客户端能力依赖 123 云盘服务端接口,部分功能可能随服务端策略调整而变化。
[!WARNING] 免责声明
本项目仅供个人学习与技术研究,与 123 云盘官方无任何关联。软件按“现状”提供,不作任何明示或暗示的保证。使用者应自行承担数据丢失、账号限制、服务中断等风险,并遵守 123 云盘用户协议及相关法律法规。请勿将本软件用于商业用途。
前往 GitHub Releases 下载适合当前系统的版本。目前项目提供 Windows、Linux 和 macOS 构建,具体可用平台与架构以各版本的附件说明为准。
也可从项目下载站获取发行版:https://download.123panng.top/。下载站经由 Cloudflare CDN 分发,更新可能略有延迟。
解压后运行 Windows 版本中的 123pan.exe、Linux 版本中的 123pan,或打开 macOS 应用包。
[!NOTE] 当前 Nuitka 打包产物在包含非 ASCII 字符的路径中可能无法启动。若发行版启动后立即退出,请将程序完整解压到纯英文路径后重试。源码运行不受此限制。
需要 Python 3.12 或更高版本,并提前安装 uv。
git clone https://github.com/123panNextGen/123pan.git
cd 123pan
uv sync
uv run src/123pan.py
需要参与开发时,可按需安装测试、代码检查和构建依赖:
uv sync --group test --group lint --group build
| 快捷键 | 操作 |
|---|---|
F5 |
刷新文件列表 |
Ctrl+N |
新建文件夹 |
Ctrl+U |
上传文件 |
Ctrl+D |
下载选中项 |
Delete |
删除选中项 |
F2 |
重命名选中项 |
Backspace |
返回上级目录 |
Ctrl+F |
聚焦搜索框 |
Ctrl+A |
全选文件 |
Enter |
进入文件夹或预览文件 |
发行版暂未进行代码签名,部分安全软件可能产生误报。请仅从 GitHub Releases 或项目官网下载,并可通过本仓库源码核对程序行为。
uv sync。可在“设置 → 下载设置”中调整下载线程数、最大并发下载数和速度限制。若启用了网络代理,也应检查代理链路是否成为瓶颈。实际速度仍会受到网络环境、账号状态和服务端策略影响。
提交前请先搜索已有 Issues。报告问题时,建议附上系统版本、客户端版本、复现步骤和脱敏后的日志。
常用命令:
uv run pytest # 运行全部测试
uv run pytest tests/unit/ # 运行单元测试
uv run pytest --cov # 生成覆盖率报告
./script/lint.sh # 运行项目代码检查
本项目基于 GNU General Public License v3.0 开源。
本项目由 123panNextGen 团队维护,感谢所有参与开发、测试和反馈的贡献者。完整名单见 GitHub Contributors。
感谢以下项目提供的思路: