想在自己电脑上开一个共享目录,手机和同事能直接改文件,又不想装网盘客户端,copyparty 是条捷径。pip 装完一条命令就起服务,浏览器打开就能看见文件列表。我在 Windows 上跑了 1.20.26,从敲命令到能在网页上下载文件,总共不到一秒。

它是 Python 写的文件服务器,网页浏览和 HTTP 下载,加上 WebDAV 与 FTP,全都由一个进程提供。不用配 nginx,也不用建账号体系就能先跑起来。

怎么装

pip install copyparty==1.20.26

wheel 本体 1256328 字节,装完 venv/Scripts 下只多一个 copyparty.exe 入口,没有别的命令行工具。

--version 回报 v1.20.26 "sftp is fine too" (2026-10-14),运行环境 CPython 3.13.14 on Windows64 10.0.19045。

怎么起服务

copyparty.exe -v .::A

启动日志从 01:42:31.677 到 01:42:32.173 打出 workers OK,中间隔了约 0.5 秒。这个速度基本等于秒开,没有预热过程。

它监听 0.0.0.0:3923,日志里会把本机每块网卡的可访问地址都列出来。手机要连的话,照着日志里那个局域网 IP 输就行,不用自己去查 ipconfig。

默认权限给到什么程度

操作默认权限
读取everybody
写入everybody
删除none
移动none

默认能看能传,但删不了也改不了名。对临时共享来说这个边界刚好:别人可以取文件、可以放文件,不会手滑把目录清空。

要更严就得配账号和权限组。默认这套适合临时用,长期挂着的共享目录建议至少加个只读和读写的区分,具体怎么配这次没有测。

网页上实际看到什么

打开首页 HTTP 200,响应 3.4 ms。列表按文件名排开,旁边是大小和修改时间,目录里 4 个文件都在,中文文件名没有乱码。

点 test.txt 下载,得到 36 字节,和源文件用 cmp 比对完全一致。带中文的 note-中文.txt 也返回 200,能正常打开。

启动时那两条警告要紧吗

日志里有两条 WARN,第一次看会以为装坏了,其实都不影响使用。

TLS 证书建不了

could not create TLS certificates: [WinError 2] 系统找不到指定的文件

原因是没装 cfssl。它会回落到默认自签证书,并在日志里明确写 https will be insecure。局域网内自己用够了,公网别这么跑。

quick-edit-mode 关不掉

failed to disable quick-edit-mode: [WinError 6] 句柄无效

只在非交互终端启动时出现。服务照常起来,文件照样能传,这条可以忽略。

配置和数据放在哪

sessions.db 默认写在 C:/Users/<用户>/AppData/Roaming/ 下,不在程序目录里。

换机器或者重装时,程序目录拷走了配置却不会跟着走,得手动去 AppData 里把那个文件捞出来。

常见问题

手机能直接访问吗

同一局域网就可以。启动日志会打印每块网卡的地址,手机浏览器输那个 IP 加 3923 端口即可。跨网段和公网访问本次没有测。

HTTPS 那条警告必须处理吗

局域网自己用可以不处理,浏览器会拦一次自签证书,点继续就行。要让别人也放心访问,就得装 cfssl 换正式证书,本次没验证。

能不让人乱传东西吗

默认是读写 everybody,谁进来都能传。要限制得配账号,或者在启动参数里收紧权限,这两种本次都没有测。

它和直接开个 python -m http.server 有什么区别

http.server 只能给人下载,不能上传,也没有权限控制。copyparty 多了写入和删除控制,还有 WebDAV 与网页界面,代价是多一层 Python 依赖。

适合谁

几种最常见的使用方式:

  • 临时把手机里的照片传到电脑,不用连数据线
  • 给同事开一个下载目录,放几个安装包
  • 局域网内共享大文件,比微信传省事

如果你需要的是公网可访问、带账号体系、有访问审计的文件服务,默认配置远远不够,得再研究认证和反向代理,这部分本次没有覆盖。