copyparty 是一款使用单个 Python 文件实现的内网文件共享工具,具有跨平台、低资源占用等特点,适合需要本地化文件管理的场景

发布于:2025-09-14 ⋅ 阅读:(18) ⋅ 点赞:(0)

copyparty 是一款使用单个 Python 文件实现的内网文件共享工具,具有跨平台、低资源占用等特点,适合需要本地化文件管理的场景。 ‌

核心功能

  • 跨平台兼容‌:支持 Windows、Linux、macOS 等系统,无需额外安装依赖或配置复杂权限。 ‌12
  • 轻量化设计‌:仅需一个 Python 文件(不足 2MB),启动后可通过浏览器直接管理文件,适合旧设备或低配置环境。 ‌
  • 文件处理能力‌:支持大文件上传(如 2G ISO 文件)、断点续传,并可搜索文件内容(如 PDF、TXT)。 ‌
  • 权限管理‌:可创建账户并设置密码,安全性较高。 ‌

部署与使用

  1. 本地启动‌:下载 copyparty.py 文件后,通过命令 python3 copyparty.py -v /data:/ -p 3923 启动服务(-v 指定映射目录,-p 设置端口)。 ‌
  2. 外部访问‌:通过浏览器输入 http://服务器IP:3923 访问界面;若需外网访问,可使用工具如 路由侠进行端口映射。 ‌

适用场景

  • 办公室或家庭内部文件共享
  • 低配置服务器/路由器搭载文件服务
  • 需要快速搭建私有云盘的个人用户 ‌

安装

直接下载文件

wget https://github.com/9001/copyparty/releases/latest/download/copyparty.py

或者到gitee下载:https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2F9001%2Fcopyparty%2Freleases%2Flatest%2Fdownload%2Fcopyparty-sfx.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