一个文件就是一台文件服务器:copyparty 实测,断点续传 / WebDAV / FTP / 媒体库全都有

发布时间:2026/10/11 6:17:45

一个文件就是一台文件服务器:copyparty 实测,断点续传 / WebDAV / FTP / 媒体库全都有 先聊聊那个熟悉的麻烦开会前十分钟同事让你「把那段 2 个 G 的素材发我一下」。 家里三台电脑加两台手机想把照片凑到一起。 树莓派买了半年就想在上面挂个能上传、能下载的目录。这些场景的共同点是你要的只是一个能放文件、能取文件的地方但真动手时选项都不太省心——云盘要登录、还限速Samba 的配置能劝退一半人用 Nginx 搭 WebDAV 又得折腾一遍权限和模块。我想要的其实很朴素一个「绿色版」的文件服务器。拷一个文件过去双击就能跑不装依赖、不改系统。copyparty 差不多就是这个东西。copyparty 是个啥把整台服务器「塞进一个文件」它的官方一句话是这样的Portable file server with accelerated resumable uploads, dedup, WebDAV, SFTP, FTP, TFTP, zeroconf, media indexer, thumbnails all in one file. 便携文件服务器加速断点续传、去重、WebDAV、SFTP、FTP、TFTP、 zeroconf、媒体索引、缩略图……全在一个文件里。关键就在最后四个字all in one file。打个比方它有点像那种「绿色版」软件不用安装、不用注册表考到 U 盘里插哪台机器都能用。区别是它不是一个几百 KB 的小工具而是一整套文件服务——你要的 Web 界面、上传下载、多协议入口、缩略图它都打包进去了跑起来不强制任何外部依赖额外的功能才需要可选的依赖。那这个「一个文件」到底长什么样常见有两种sfx 自解压包copyparty-sfx.py一个文件里塞了 tar.gz 和一小段 Python运行时自己解压再启动。作者在 README 里也直说了它本质是个 self-extractor自解压器会把内容解到临时目录。zipappcopyparty.pyz可以理解成「Python 拿着就能直接执行的压缩包」不用先解压代价是性能略差一点。不管哪种结果都一样有 Python 的机器不需要 pip install不需要配环境就能起一个文件服务器。我实际跑了一遍真的只有一条命令前提只有一个机器上有 Python服务端 Python 2.7 或 3.3 都行。方式一sfx 自解压包作者推荐也最省事从 GitHub Releases 或官网下载copyparty-sfx.py然后# Linux / macOS 下给个执行权限Windows 直接双击即可 chmod x copyparty-sfx.py # 直接运行默认把「当前目录」共享出去默认端口 3923 ./copyparty-sfx.py # 指定要共享的目录::r 表示所有人只读 ./copyparty-sfx.py -v /path/to/share::r跑起来之后终端会打印出访问地址比如http://127.0.0.1:3923浏览器打开就能用了。这里有个小提醒不加任何参数直接运行等于把当前目录对所有人开放读写。在自己电脑上随手测没问题一旦要在内网长期跑务必按下面的写法加权限或账号。方式二zipapp# 下载 copyparty.pyz 后用 Python 直接运行 python3 copyparty.pyz -v /path/to/share::r方式三pip / Docker / Windows EXE / 移动端# 通过 pip 安装需要已装 Python python3 -m pip install --user -U copyparty除此之外README 里还给了一长串入口Windows 的copyparty.exe自带 Pillow不依赖 pip、Docker 镜像、Arch / Homebrew / NixOS 包、Android 上的 Termux、iOS 上的 a-Shell、群晖 DSM甚至还有可直接启动的 U 盘 / 光盘镜像。基本上「你能想到的运行环境」它都覆盖了。用起来到底顺不顺手几个我用着最舒服的功能下面这几张都是项目官方 README 里的真实界面截图我按使用顺序挑了几个最能打的。浏览器就是文件管理器打开网页第一眼左边是目录树右边是文件区缩略图、排序、多选、顶部一排操作按钮都在。用鼠标就能完成选中 → 剪切 → 另一个目录里粘贴跟本机资源管理器几乎一样。不用装客户端手机上用浏览器也行。上传断点续传 实时进度这是我个人最看重的点。上传大文件时界面会把每个文件的进度、剩余时间、速度都列出来——截图里那个252.33 MB/s就是实际跑出来的速度。关键在于「断点续传」网络抖一下、浏览器崩一下重新打开能接着上次的进度传不用从头再来。对动辄几个 G 的素材这比什么都实在。内置媒体库能听歌、能看片如果共享的是影音文件它会自动建索引、生成缩略图网页里直接就能播放连播放列表和波形都给你画好了。这一点挺反直觉的——本来只是想「传个文件」结果顺手拿到了一个能在线听的媒体库。搜索能按音频标签筛它不只是按文件名搜。开了元数据索引后能直接查BPM、Key、艺人、专辑这些音频标签甚至写bpm165这种条件。对音乐党来说这等于省了一个专门的曲库管理软件。打包下载勾选一批文件点一下zip直接在浏览器里打包下载。不用先在服务器上手动压缩再传选完就下。批量重命名更实用的是正则批量改名写一条规则、定个格式模板一整批文件名一次性理干净改之前还能预览新旧对照。比如把meganeko - Eclipse - 01 Monolith.mp3这种批量整成01. meganeko - Monolith.mp3几秒钟的事。Markdown 预览共享目录里的.md也能直接渲染着看左边还有小目录。拿它当个轻量文档站或者笔记预览也够用。多协议访问一套存储好几个入口copyparty 一个比较「不将就」的地方是协议覆盖。同一份文件Web / WebDAV / FTP / SFTP 都能访问。这里先说清楚几个缩写协议一句话解释典型用途HTTP(S)网页访问浏览器里管理文件WebDAV让网络目录像本地磁盘一样挂载系统里「映射网络驱动器」、部分办公软件读写SFTP基于 SSH 的安全文件传输命令行 / 客户端传文件走加密通道FTP(S)老牌文件传输协议兼容老软件、老设备TFTP极简版 FTP刷路由器、网络设备固件SMB/CIFSWindows 网络共享协议Windows 资源管理器直接访问⚠️ 需要说明的是SFTP / FTP / TFTP / SMB 这些不是「开箱全自动」需要看具体打包版本和启动参数部分还要额外的可选依赖。用之前建议对着官方文档确认一下当前版本支持哪些。另外还有个我一开始没看懂的功能叫「race the beam」——文件还在上传的时候别人就能开始下载了。可以理解成「边传边播」适合实时转存、直播录制这类场景。跟常见方案比一比我简单列了个对比方便你判断它到底适不适合自己对比项copypartyNginx 静态/WebDAV群晖/云盘套件部署方式单文件有 Python 就能跑需要安装 写配置需要设备或账号外部依赖无强制依赖依赖 Web 服务器及模块依赖厂商服务断点续传内置要自己配看产品去重内置无部分有多协议WebDAV/FTP/SFTP/TFTP/SMB通常要拼多个服务看产品便携性单文件拷走即用否否媒体/缩略图内置要额外方案看产品一句话总结它不是要和 Nginx 比性能也不是要替代 NAS它赢在「临时、便携、零配置」这几个字上。适合谁 / 不适合谁挺适合内网或会议室里临时传文件不想搭服务需要给脚本、工具提供 WebDAV / FTP 入口的开发者树莓派、NAS、甚至随身 U 盘上想跑个轻量文件服务想把自己的一堆影音文件顺手变成在线媒体库的人不太适合面向公网、有复杂权限和审计要求的生产文件系统需要高并发、做正经对象存储的场景部署方式速查场景做法临时用一下下载copyparty-sfx.pychmod x后直接跑不想用自解压改用copyparty.pyzWindows 无 Python下copyparty.exe想要隔离 / 容器化Docker或用项目里的prisonparty/bubbleparty脚本套一层沙箱移动端Android 用 TermuxiOS 用 a-ShellNAS群晖 DSM 有专门步骤文档每天常驻建议改成配置文件启动-c foobar.conf比堆一长串参数好维护想开文件索引和搜索的话启动参数里加上-e2dsa通用索引要按音频标签搜再加-e2ts需要 FFprobe 或 Mutagen。几个要注意的坑默认可能没有任何登录验证。不加参数、不加账号就启动等于对能访问到它的人开放读写。内网玩玩没事千万别直接暴露到公网。要公网/长期用先配认证和 HTTPS。官方文档里有账号、权限、绑定地址的说明别嫌麻烦。sfx 会把内容解压到临时目录。作者自己也在 README 里标了这一点如果介意就用 zipapp。协议不是全自动。想同时开 SFTP / FTP / SMB 等要确认打包版本和参数不是所有环境都一个样。名词速查表名词一句话解释all in one file所有功能打包在单个文件里拷走即用sfx自解压包一个文件里含 tar.gz 一小段 Pythonzipapp / .pyzPython 能直接执行的压缩包断点续传传输中断后能从断点继续不用重来去重dedup相同内容的文件只存一份省空间zeroconf / mDNS局域网上自动发现服务不用记 IPrace the beam文件还在上传时就能开始下载即「边传边下」OPDS一种电子书目录分发协议阅读器可直接接入项目信息项目名copyparty作者 / 仓库9001GitHubStars约 4.7 万Forks约 1900最新版本v1.20.242026-09LicenseMIT官网 / 下载copyparty.eu镜像Codeberg、GitLab 同步托管只读 Demoa.ocv.me/pub/demo/数据核对时间2026-09-30来自 GitHub API。数字会变以仓库实时显示为准。最后说两句copyparty 给我的感觉是那种「平时想不起来一遇到临时传文件就会翻出来用」的工具。它不炫技卖点就一个字——省事。如果你也经常在处理「怎么把文件快速倒腾到另一台机器」这种小麻烦值得下载来跑一次成本也就是一条命令。
延伸阅读

更多相关文章

2026/10/11 6:17:45

iFlow CLI:完全免费的模型市场,让写代码像聊天一样简单

完全免费的模型市场iFlow CLI:让写代码像聊天一样简单最近在折腾AI辅助编程的时候,我发现了一个很有意思的命令行工具iFlow CLI。它是那种典型的“用了就回不去”的东西,核心卖点就三个:完全免费、内置模型市场、用自然语言直接驱…

2026/10/11 6:17:45

远程安装脚本不是部署方案:审查时要看的五件事

远程安装脚本把下载和执行绑在同一次 shell 展开里。一行命令看起来很短,实际权限却等于当前用户能做的事:写文件、改服务、拉镜像、写入密钥。把它直接当成部署方案,会漏掉版本、校验和回滚。 审查时至少看五件事。第一,脚本来源…

2026/10/11 6:12:45

Appium手势自动化实战:TouchAction高级API与W3C Actions迁移指南

做UI自动化测试的人都会有这种感觉:点击、输入、断言这些基础操作玩顺手之后,真正的门槛往往出现在“手势”类场景上。像滑动刷新、长按删除、拖拽排序、双指缩放,这些在真实App里高频出现的人机交互,恰恰是普通定位加click替代不…

2026/10/11 8:12:49

Markdown实战指南:排版、转换、AI联动与避坑技巧

写文档这件事,我一直有个执念:工具应该为内容服务,而不是反过来。真正让我下决心彻底迁移到 Markdown 的,是几年前一个再普通不过的场景——我把一段排了半天版的 Word 内容复制到公众号,结果字体、行距、标题层级全部…

2026/10/11 8:12:49

Z35摇臂钻床PLC控制系统设计与组态王监控实现

Z35摇臂钻床的PLC控制系统设计,搭配组态王做上位机监控,这个组合我太熟悉了。无论是当年的课程设计、毕业设计,还是后来给一些中小型机加车间做设备改造,这套方案都是最经典、最容易落地、也最能锻炼人的一个题目。很多人拿到这个…

2026/10/11 8:12:49

超导量子整机批量交付:从实验室到产业化的关键一跃

量旋科技拿下数亿元C轮融资,同时多台超导整机完成交付——这两句话放在一起,翻译过来就是:量子计算已经从实验室里的物理实验,变成需要按时交付、开箱即用的工业设备。作为一直跟踪超导量子计算商用化的人,我看到这条消…

2026/10/11 8:12:49

机器学习端到端项目实战:从数据预处理到模型调优的工程化指南

1. 为什么第二章值得单独写一篇笔记1.1 从“跑通一个模型”到“理解一个项目”的分水岭很多人学机器学习,第一章通常是看概念、装环境、跑一个鸢尾花分类,感觉“我入门了”。但真正开始做项目的人都知道,第一章那种“一行代码加载数据、一行代…

2026/10/11 8:12:49

单片机计算机毕设之基于WIFI的骑行速度里程心率血氧远程监测系统设计 基于单片机的自行车骑行生理参数与运动数据监测装置设计(030204)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/10/11 8:07:49

OpenCV-Python双目相机标定:从棋盘格到极线校正的完整实战指南

简介:双目相机标定是立体视觉与三维重建的基础环节,这份资源面向正在学习计算机视觉、需要搭建双目测距或深度估计系统的开发者,提供了一套基于OpenCV-Python的完整标定实现。压缩包共61个文件,包含7个Python脚本(标定…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑