一天一个开源项目(第40篇):copyparty - 单文件便携文件服务器,断点续传/去重/多协议/媒体索引

引言

"Portable file server with accelerated resumable uploads, dedup, WebDAV, SFTP, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file."

这是「一天一个开源项目」系列的第 40 篇文章。今天介绍的项目是 copypartyGitHub)。

想在内网或临时环境快速搭一个文件服务器,又不想装 Nginx、Samba 或一堆依赖?copyparty整个文件服务 塞进一个文件 :用 copyparty-sfx.py (自解压包 + 小段 Python)或 copyparty.pyz (Python zipapp)即可在任意有 Python 的机器上跑起来,零依赖 (所有依赖均可选)。支持加速断点续传去重WebDAV / SFTP / FTP / TFTP ,以及 zeroconf媒体索引缩略图 、浏览器内剪切/粘贴/重命名/批量重命名、RSS/OPDS、媒体播放、Markdown 预览、目录打包下载等,甚至支持「边上传边下载」(race the beam)。适合临时分享、内网共享、树莓派/NAS 或随身 U 盘即插即用。

为什么值得看?

  • 📦 单文件部署:一个 .py 或 .pyz,无需 pip install,有 Python 就能跑
  • 断点续传:上传/下载均可续传,大文件更稳
  • 🔄 去重:相同内容只存一份,省空间
  • 🌐 多协议:HTTP(S)、WebDAV、SFTP、FTP(S)、TFTP、SMB/CIFS
  • 🖼️ 媒体与缩略图:媒体索引、缩略图、内置播放与播放列表
  • 📂 浏览器即管理:切/粘/重命名、批量重命名、ZIP/TAR 打包、Markdown 预览

你将学到什么

  • copyparty 的定位与「单文件、无依赖」的设计
  • 多种运行方式:sfx、zipapp、Docker、Windows EXE、移动端
  • 核心能力:断点续传、去重、多协议、zeroconf、媒体与缩略图
  • 浏览器端功能与「race the beam」
  • 快速启动与配置思路
  • 与其它轻量文件服务的对比

前置知识

  • 本机或目标环境已安装 Python(2 或 3,依版本说明)
  • 了解「文件服务器」「WebDAV」有助理解使用场景

项目背景

项目简介

copyparty 是一个便携式文件服务器 ,核心卖点是「all in one file 」:用单个可执行文件(自解压 sfx 或 Python zipapp)即可提供完整的文件服务能力,不强制任何外部依赖(可选依赖用于扩展功能)。

解决的核心问题

  • 临时或内网需要文件共享,但不想装复杂服务或一堆依赖
  • 需要断点续传、去重、多协议(WebDAV/FTP/SFTP 等)的轻量方案
  • 希望在树莓派、NAS、U 盘或任意有 Python 的环境「即插即用」
  • 需要浏览器内直接管理文件(上传、下载、重命名、打包、预览)

面向的用户

  • 需要内网/临时文件共享的个人或小团队
  • 喜欢「单文件绿色软件」的极简派
  • 需要 WebDAV/FTP/SFTP 等协议统一入口的开发者
  • 在嵌入式或资源受限设备上跑文件服务的人

作者/团队介绍

项目数据

技术栈:Python(2 或 3,依版本)、标准库为主,依赖均可选;支持 zipapp、自解压 sfx、Docker、Windows EXE、Android/iOS 等运行方式。


主要功能

核心作用

copyparty 的核心作用是:在任意有 Python 的环境用单文件启动一个功能完整的文件服务器,提供:

  1. HTTP(S) Web 界面:浏览器内浏览、上传、下载、剪切/粘贴、重命名、删除、批量重命名、目录打包(ZIP/TAR)
  2. 断点续传:上传与下载均支持续传,大文件更可靠
  3. 去重:相同内容只存一份,节省空间
  4. 多协议访问:WebDAV、SFTP、FTP(S)、TFTP、SMB/CIFS,同一套存储多协议访问
  5. zeroconf:局域网内自动发现服务(如 mDNS)
  6. 媒体与索引:媒体索引、缩略图、内置播放器与播放列表
  7. 扩展能力:RSS、OPDS(电子书)、Markdown 预览等

使用场景

  1. 内网临时共享

    • 会议室/家里多设备传文件,无需 U 盘或云盘
  2. 开发/调试环境

    • 本机或虚拟机快速起一个 WebDAV/FTP 服务,供其它工具或脚本访问
  3. 树莓派/NAS 轻量文件服务

    • 单文件拷贝即用,无需复杂安装,配合 zeroconf 局域网发现
  4. 随身 U 盘/移动设备

    • 在支持 Python 的 Android/iOS 或 Windows 上运行,即插即用
  5. 只读展示/演示

    • 只读卷挂载,对外提供浏览与下载(如 Demo

快速开始

前提:本机已安装 Python(具体版本见项目说明)。

方式一:自解压 sfx(推荐,最简单)

copyparty.euGitHub Releases 下载 copyparty-sfx.py (或 py 链接对应的 sfx 文件),然后:

bash 复制代码
# 赋予执行权限(Linux/macOS)
chmod +x copyparty-sfx.py

# 直接运行,默认会在当前目录提供文件服务
./copyparty-sfx.py

# 或指定要共享的目录与端口
./copyparty-sfx.py -e2 /path/to/share

浏览器访问提示的地址(如 http://0.0.0.0:3923)即可使用。更多参数见 QuickstartCLI helptext

方式二:Python zipapp(.pyz)

下载 copyparty.pyz (或英文精简版 copyparty-en.pyz),用 Python 运行:

bash 复制代码
python3 copyparty.pyz -e2 /path/to/share

方式三:Docker / Windows EXE / 移动端

核心特性

  1. 单文件、无强制依赖

    • sfx 或 zipapp 一个文件即可运行;所有额外依赖均为可选
  2. 加速断点续传

    • 上传与下载均支持断点续传,大文件与不稳定网络下更可靠
  3. 去重(dedup)

    • 相同内容只存一份,减少磁盘占用
  4. 多协议

    • HTTP(S)、WebDAV、SFTP、FTP(S)、TFTP、SMB/CIFS,同一数据多协议访问
  5. zeroconf

    • 局域网内自动发现,无需记 IP 或端口(视配置)
  6. 媒体索引与缩略图

    • 自动索引媒体文件,生成缩略图,支持内置播放器与播放列表
  7. 浏览器内管理

    • 剪切/粘贴、重命名、删除、批量重命名、RSS、OPDS、Markdown 预览、目录打包为 ZIP/TAR
  8. 「Race the beam」

    • 文件尚在上传时即可开始下载,适合实时转存或流式场景
  9. 只读卷与权限

    • 可配置只读共享、访问控制等(详见 CLI 与文档)
  10. 多平台

    • Windows EXE、Docker、Android、iOS 等多种运行方式

项目优势

对比项 copyparty 传统 Nginx 静态/WebDAV 云盘/NAS 套件
部署 单文件,有 Python 即跑 需安装配置 需账号或设备
依赖 无强制依赖 依赖 Web 服务器等 依赖厂商服务
断点续传 ✅ 内置 需自行配置 视产品而定
去重 ✅ 内置 部分产品有
多协议 WebDAV/FTP/SFTP/TFTP/SMB 常需多服务组合 视产品而定
便携 ✅ 单文件拷贝即用
媒体/缩略图 ✅ 内置 需额外方案 视产品而定

为什么选 copyparty?

  • 单文件、零依赖,适合临时环境与「随手搭一个」的场景
  • 断点续传与去重开箱即用,大文件与重复文件友好
  • 多协议统一入口,一个服务满足 Web、WebDAV、FTP、SFTP 等需求
  • 浏览器即可管理,无需额外客户端(可选客户端协议访问)
  • 有官方 Demo 与视频,上手快

项目详细剖析

架构与运行方式

  • sfx(自解压):一个文件内包含 tar.gz 与一小段 Python;运行时自解压并启动服务,对用户透明。
  • zipapp(.pyz) :符合 Python zipapp 格式的 zip,由 Python 解释器直接执行,无需解压。
  • 服务进程:单进程提供 HTTP(S)、WebDAV 等;可选开启 SFTP/FTP/TFTP/SMB 等(视编译/打包选项)。

数据流:客户端通过 HTTP/WebDAV/FTP 等访问 → copyparty 读写本地目录 → 可选去重、缩略图、索引等后返回结果。

项目结构(上游仓库)

  • 源码与脚本分布在仓库中;提供给最终用户的是打包后的单文件(sfx 或 pyz),因此日常使用无需关心内部目录结构。
  • 文档与 CLI 说明见 copyparty.euGitHub READMECLI

配置与参数

  • 通过命令行参数配置共享目录、端口、只读、认证、zeroconf、协议开关等。
  • 完整选项见 copyparty.eu/cli 与 GitHub Quickstart。

安全与使用注意

  • 默认可能无认证,内网或临时使用需注意不要暴露到公网。
  • 生产或公网使用时应查阅文档中的认证、HTTPS、绑定地址等配置。

项目地址与资源

官方资源

镜像与其它格式

适用人群

  • 需要内网或临时文件共享、不想装复杂服务的个人或小团队
  • 喜欢单文件、绿色、便携工具的用户
  • 需要 WebDAV/FTP/SFTP 等协议统一入口的开发者
  • 树莓派、NAS、U 盘或移动设备上跑轻量文件服务的人

欢迎来我中的个人主页找到更多有用的知识和有趣的产品

相关推荐
运维老王6 小时前
用 Python 写一个自动化部署脚本(完整代码)
开源
聚客AI7 小时前
🎉OpenClaw深度解析:多智能体协同的三种模式、四大必装技能与自动化运维秘籍
人工智能·开源·agent
IvorySQL7 小时前
双星闪耀温哥华:IvorySQL 社区两项议题入选 PGConf.dev 2026
数据库·postgresql·开源
哈基咪怎么可能是AI7 小时前
OpenClaw 插件系统:如何打造全能私人助理 --OpenClaw源码系列第2期
开源·ai编程
卡尔AI工坊14 小时前
2026年3月,我实操后最推荐的3个AI开源项目
人工智能·开源·ai编程
Jahzo1 天前
openclaw本地化部署体验与踩坑记录--飞书机器人配置
人工智能·开源
Jahzo1 天前
openclaw本地化部署体验与踩坑记录--windows
开源·全栈
冬奇Lab2 天前
一天一个开源项目(第39篇):PandaWiki - AI 驱动的开源知识库搭建系统
人工智能·开源·资讯
HelloGitHub2 天前
这个年轻的开源项目,想让每个人都能拥有自己的专业级 AI 智能体
开源·github·agent