copyparty 是一款使用单个 Python 文件实现的内网文件共享工具,具有跨平台、低资源占用等特点,适合需要本地化文件管理的场景。
核心功能
- 跨平台兼容:支持 Windows、Linux、macOS 等系统,无需额外安装依赖或配置复杂权限。 12
- 轻量化设计:仅需一个 Python 文件(不足 2MB),启动后可通过浏览器直接管理文件,适合旧设备或低配置环境。
- 文件处理能力:支持大文件上传(如 2G ISO 文件)、断点续传,并可搜索文件内容(如 PDF、TXT)。
- 权限管理:可创建账户并设置密码,安全性较高。
部署与使用
- 本地启动 :下载
copyparty.py
文件后,通过命令python3 copyparty.py -v /data:/ -p 3923
启动服务(-v
指定映射目录,-p
设置端口)。 - 外部访问 :通过浏览器输入
http://服务器IP:3923
访问界面;若需外网访问,可使用工具如 路由侠进行端口映射。
适用场景
- 办公室或家庭内部文件共享
- 低配置服务器/路由器搭载文件服务
- 需要快速搭建私有云盘的个人用户
安装
直接下载文件
wget https://github.com/9001/copyparty/releases/latest/download/copyparty.py
pip安装
pip install --user -U copyparty
pip安装好后,如果提醒
WARNING: The scripts copyparty, partyfuse and u2c are installed in '/home/skywalk/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed copyparty-1.19.8
那么就要加PATH,或者运行时写全路径
skywalk@x250:~/download$ ~/.local/bin/copyparty
启动服务
启动后默认打开所有服务:
~/.local/bin/copyparty
copyparty v1.19.8 "usernames" (2025-09-07)
CPython v3.10.12 on Linux64 14.2 [GCC 11.4.0]
sqlite 3.37.2*1 | jinja 3.1.4 | pyftpd (None) | tftp (None)
warning: setlocale en_US.UTF-8 failed,
sorting and dates might get funky
no arguments provided; will use --qr
2025-09-08
06:41:14.395 root creating new sessions-db /home/xxxx/.config/copyparty/sessions.db
06:41:14.594 root created new sessions-db
06:41:14.620 auth WARNING: the config for volume [/] has unrecognized volflags; will ignore: 'du_iwho'
06:41:14.622 auth volumes and permissions:
"/" /home/xxxx/下载
| read: everybody
| write: everybody
| move: --none--
| delete: --none--
| dots: --none--
| get: --none--
| upGet: --none--
| html: --none--
| uadmin: --none--
06:41:14.622 auth hint: enable searching and upload-undo with argument -e2dsa
06:41:14.622 auth hint: enable upload deduplication with --dedup (but see readme for consequences)
06:41:14.622 auth anyone can write to the current directory: /home/xxxx/下载
06:41:14.622 root max clients: 256
06:41:14.767 tcpsrv available @ http://192.168.137.2:3923/ (1-em0)
06:41:14.767 tcpsrv available @ http://127.0.0.1:3923/ (2-lo0)
06:41:14.767 tcpsrv available @ http://[::1]:3923/ (2-lo0)
06:41:14.767 tcpsrv available @ http://192.168.0.108:3923/ (9-wlan0, external)
激活thumbnails缩略图
enable thumbnails (images/audio/video), media indexing, and audio transcoding by installing some recommended deps:
- Alpine:
apk add py3-pillow ffmpeg
- Debian:
apt install --no-install-recommends python3-pil ffmpeg
- Fedora: rpmfusion +
dnf install python3-pillow ffmpeg --allowerasing
- FreeBSD:
pkg install py39-sqlite3 py39-pillow ffmpeg
- MacOS:
port install py-Pillow ffmpeg
- MacOS (alternative):
brew install pillow ffmpeg
- Windows:
python -m pip install --user -U Pillow