Copyparty是一款极致的“全能型”单文件服务器,让你用一个Python文件就能获得堪比专业网盘的功能。
📦 核心特性一览
| 类别 | 功能特性 | 说明 |
|---|---|---|
| 核心优势 | 极致轻量 | 所有功能集成在一个Python文件(约718KB)中,无需安装,随处运行。 |
| 全平台兼容 | 支持 Windows, Linux, macOS, Android (Termux),甚至树莓派。 | |
| 文件传输与管理 | 智能上传 | 支持拖拽上传、断点续传、秒传(基于内容去重)。 |
| 批量操作 | 支持批量重命名、打包下载(zip/tar)。 | |
| 全文搜索 | 可搜索文件名、路径、甚至音频文件的ID3标签。 | |
| 访问协议 | 多协议支持 | 除Web界面外,原生支持 WebDAV, FTP, TFTP等,可挂载为网络驱动器。 |
| 媒体服务 | 内置播放器 | 网页直接播放音视频、浏览图片、阅读PDF/TXT/Markdown。 |
| 智能索引 | 自动为音视频生成缩略图/频谱图,音乐支持锁屏控制。 | |
| 安全与权限 | 精细权限控制 | 可为不同用户、不同文件夹设置读(r)、写(w)、删(d)等权限。 |
| 临时分享链接 | 可生成带密码、有效期和下载次数限制的分享链接。 |
🚀 快速启动与使用
1. 获取并运行
- 直接运行:从GitHub或PyPI下载
copyparty-sfx.py文件。在命令行进入文件所在目录,执行python copyparty-sfx.py即可启动。Windows用户也可直接双击运行编译好的.exe文件。 - Docker部署(推荐用于长期运行):执行命令
docker run -d --name copyparty -p 3923:3923 -v /你的/文件路径:/w copyparty/ac。
2. 基本访问
启动后,默认在 3923端口 提供服务(若启用了权限,端口可能变化)。在浏览器访问 http://你的IP地址:3923 即可进入Web界面。
3. 基础命令行示例
- 共享当前目录(只读):
python copyparty-sfx.py -v ./public::r:* - 创建一个需要账号登录的共享空间:
python copyparty-sfx.py -v ./team:work:rw:alice -a alice:password123-v定义共享:将本地./team文件夹映射为虚拟路径/work,用户alice拥有读写权限。-a创建用户:用户名为alice,密码为password123。
⚙️ 高级功能与应用
- 精细权限管理:权限是Copyparty的核心。你可以组合
r(读)、w(写)、d(删)、m(移动)等权限,精确控制每个用户的访问能力。复杂的权限配置建议使用YAML格式的配置文件。 - 创建临时分享链接:这是共享单个文件的利器。启用上传数据库(
--e2d)和文件密钥(--fk)功能后,上传文件时或上传后,可以通过界面按钮生成一个形如http://.../s/abcd1234/file.zip的链接,并可为其设置密码(--pw)和有效期(--ttl)。 - 作为媒体服务器:Copyparty能自动为音乐生成频谱图,为视频生成缩略图。通过启用音频元数据索引(如
-e2ts参数),你可以在网页播放器中按专辑、艺术家浏览音乐库,并享受锁屏控制等体验。 - 性能与资源优化:在树莓派等资源受限设备上,可通过参数优化性能,例如禁用缩略图(
--no-thumbs)以节省内存,启用重复文件检测(--dedup)以节省存储空间。
💡 使用场景建议
- 个人/家庭:在NAS或旧电脑上部署,作为全家人的私有云盘和媒体库。
- 小型团队:为不同项目组创建有权限控制的共享空间,安全地协作和分发文件。
- 临时共享:快速搭建一个临时的、带密码保护的下载点,用于分享大型文件给客户或朋友。
- 移动办公:在笔记本电脑上运行,通过手机浏览器高速互传文件,摆脱微信/QQ的限速。
注:上述命令和参数仅为示例,更完整的参数说明请参考其官方文档。如果想让服务在公网访问,需要配置内网穿透工具(如cpolar)或进行端口转发,并强烈建议启用HTTPS加密。
在Linux上使用Docker部署Copyparty,用于团队协作的完整方案。
🐳 使用Docker Compose部署(推荐)
这是最易管理和维护的方式。创建一个 docker-compose.yml 文件:
version: '3.8'
services:
copyparty:
# 使用官方最新版本(基于Alpine Linux,更轻量)
image: copyparty/ac:latest
container_name: team_copyparty
restart: unless-stopped # 确保服务始终运行
ports:
- "3923:3923" # 主Web界面端口
- "3924:3924" # WebDAV协议端口(可选)
environment:
# 设置时区,保证文件时间戳准确
TZ: "Asia/Shanghai"
volumes:
# 核心配置:将本地文件夹挂载到容器内
- /srv/team_data:/w:rw # 团队主数据目录
- /srv/copyparty_conf:/c:rw # 配置文件目录(持久化配置)
- /etc/localtime:/etc/localtime:ro # 同步宿主机时间
command: >
-v /w/public:pub:rw:*
-v /w/project_a:pa:rw:alice,bob
-v /w/project_b:pb:r:alice,bob,charlie
-v /w/admin:admin:rw:alice
-a alice:alice_pass123
-a bob:bob_pass456
-a charlie:charlie_pass789
--admin alice
--hist
-e2d
📁 权限架构设计示例
针对团队协作,建议按以下结构组织文件夹和权限:
| 虚拟路径(访问URL) | 容器内路径 | 权限设置 | 用途说明 |
|---|---|---|---|
/pub |
/w/public |
rw:*(所有人可读写) |
公共区,用于临时文件、公告等 |
/pa |
/w/project_a |
rw:alice,bob |
项目A空间,仅限A组成员 |
/pb |
/w/project_b |
r:alice,bob,charlie |
项目B文档库,成员只读,管理员可写 |
/admin |
/w/admin |
rw:alice |
管理区,仅管理员可访问 |
🔐 用户与权限详解
Copyparty的权限系统非常灵活。上述配置中:
-v /w/public:pub:rw:*:将本地/w/public映射为Web路径/pub,rw表示读写权限,*表示所有用户(包括未登录用户)-a alice:alice_pass123:创建用户alice,密码为alice_pass123--admin alice:将alice设为超级管理员
权限标志说明:
r:读取/下载文件w:上传/修改文件d:删除文件/文件夹m:移动/重命名文件a:管理员权限(可管理用户)
例如,-v /w/docs:docs:rwdm:alice,bob 表示alice和bob对该文件夹有完整权限。
🚀 部署与使用步骤
-
准备目录结构:
sudo mkdir -p /srv/{team_data,copyparty_conf} sudo chown -R $USER:$USER /srv/team_data # 避免权限问题 -
启动服务:
# 进入docker-compose.yml所在目录 docker-compose up -d -
访问服务:
- 浏览器访问:
http://你的服务器IP:3923 - WebDAV访问:
http://你的服务器IP:3924(可在Windows资源管理器、macOS Finder中挂载为网络驱动器)
- 浏览器访问:
-
首次登录:
- 使用
alice和她的密码登录 - 建议首次登录后立即修改默认密码
- 管理员可以点击右上角用户菜单创建更多用户和文件夹权限
- 使用
⚙️ 高级配置建议
1. 启用上传数据库和搜索
在command部分添加这些参数以增强协作功能:
--hist:保留文件操作历史(谁、何时上传/删除)-e2d:启用上传数据库,支持断点续传和秒传-e2ts:启用全文搜索(包括音频元数据)
2. 性能优化
对于大型团队或文件数量多的情况:
command: >
...
--workers 2 # 工作进程数,通常设为CPU核心数
--max-ram 512 # 限制内存使用为512MB
--no-thumbs # 禁用缩略图生成以节省资源(如需媒体功能则保留)
3. 使用配置文件(推荐生产环境)
对于复杂配置,使用YAML配置文件更清晰:
- 在
/srv/copyparty_conf中创建cfg.yml - 将权限配置移至配置文件
- 修改
docker-compose.yml的command为:--cfg /c/cfg.yml
🛡️ 安全注意事项
- 修改默认端口:如果公网可访问,修改
3923端口为非常见端口 - 启用HTTPS:通过反向代理(如Nginx)添加SSL证书
- 定期备份:定期备份
/srv/copyparty_conf目录中的配置文件 - 访问日志:Copyparty会记录访问日志,可用于审计团队文件操作
🔄 日常维护命令
# 查看服务状态和日志
docker-compose logs -f copyparty
# 重启服务(修改配置后)
docker-compose restart copyparty
# 进入容器执行命令
docker exec -it team_copyparty sh
# 停止服务
docker-compose down
# 备份重要数据
tar czf copyparty_backup_$(date +%Y%m%d).tar.gz /srv/copyparty_conf
这个方案为团队协作提供了完整的权限隔离、历史追踪和便捷的WebDAV访问。如果你能分享更多关于团队规模和具体协作需求的信息(比如是否需要版本控制集成、特定的文件类型处理等),我可以提供更定制化的建议。

回复 David唐辉 取消回复