copyparty README

The project's README from github.com/9001/copyparty. As one markdown file: README.md.

💾🎉 copyparty

turn almost any device into a file server with resumable uploads/downloads using any web browser

👉 Get started! or visit the read-only demo server 👀 running on a nuc in my basement

📷 screenshots: browser // upload // unpost // thumbnails // search // fsearch // zip-DL // md-viewer

🎬 videos: upload // cli-upload // race-the-beam // 👉 feature-showcase (youtube)

built in Norway 🇳🇴 with contributions from not-norway

readme toc

quickstart

just run copyparty-sfx.py -- that's it! 🎉

ℹ️ the sfx is a self-extractor which unpacks an embedded tar.gz into $TEMP -- if this looks too scary, you can use the zipapp which has slightly worse performance

enable thumbnails (images/audio/video), media indexing, and audio transcoding by installing some recommended deps:

running copyparty without arguments (for example doubleclicking it on Windows) will give everyone read/write access to the current folder; you may want accounts and volumes

or see some usage examples for inspiration, or the complete windows example

some recommended options:

mirrors

other places to download copyparty from (non-github links):

DO NOT download from sourceforge

at home

make it accessible over the internet by starting a cloudflare quicktunnel like so:

first download cloudflared and then start the tunnel with cloudflared tunnel --url http://127.0.0.1:3923

as the tunnel starts, it will show a URL which you can share to let anyone browse your stash or upload files to you

but if you have a domain, then you probably want to skip the random autogenerated URL and instead make a permanent cloudflare tunnel

since people will be connecting through cloudflare, run copyparty with --xff-hdr cf-connecting-ip to detect client IPs correctly

on servers

you may also want these, especially on servers:

because the following environment variables are commonly used in service-scripts, they are understood by copyparty:

and remember to open the ports you want; here's a complete example including every feature copyparty has to offer:

firewall-cmd --permanent --add-port={80,443,3921,3922,3923,3945,3990}/tcp  # --zone=libvirt
firewall-cmd --permanent --add-port=12000-12099/tcp  # --zone=libvirt
firewall-cmd --permanent --add-port={69,1900,3969,5353}/udp  # --zone=libvirt
firewall-cmd --reload

(69:tftp, 1900:ssdp, 3921:ftp, 3922:sftp, 3923:http/https, 3945:smb, 3969:tftp, 3990:ftps, 5353:mdns, 12000:passive-ftp)

features

also see comparison to similar software

copyparty (9001/copyparty)

Searching Database…

47.1K ·GitHub
这是什么?copyparty 是一个便携的单文件服务器,可以把几乎任何设备变成功能齐全的文件服务器。它支持通过 HTTP(S)、WebDAV、SFTP、FTP(S)、TFTP 和 SMB 进行可断点续传的上传和下载,并内置媒体播放器、缩略图和搜索功能。
这是网页应用、命令行工具,还是别的什么?它是一个独立的 Python 程序(copyparty-sfx.py 或 copyparty.exe),从命令行运行。运行后即可提供网页界面以及 WebDAV、FTP、SFTP、TFTP 端点,无需单独安装或设置后台服务。
我要怎么让它运行起来?下载 sfx(copyparty-sfx.py)后直接运行,或通过 pip 安装;在 Windows 上可以使用 copyparty.exe,也可以获取 Arch、Homebrew 或 Nix 软件包,在 Docker 中运行,或使用 uv tool run copyparty。
除了 Python,还需要安装别的东西吗?不需要。它只需要 Python 2 或 Python 3 即可运行;其他组件(例如用于生成缩略图的 Pillow,或用于媒体索引的 FFmpeg)都是可选的,安装后只会解锁额外功能。
如果我不做任何设置直接运行,会怎样?不带任何参数运行 copyparty(例如在 Windows 上双击它),所有人都会获得当前文件夹的读写权限。因此在对外开放之前,最好先设置账户和卷。
哪些设备和操作系统可以运行它?它可以在 Windows(exe 或 sfx)、Linux、macOS、FreeBSD 上运行,也可以通过 Arch、Homebrew、Nix 软件包安装;还可以通过 Termux 安装到 Android 上。由于没有原生 iOS 应用,因此另外提供了 iPhone/iPad 的快捷指令。
默认情况下,直接暴露到互联网上安全吗?如果不先阅读需要注意的问题,就不安全。README 中特别提到了 CSP nonce 处理和 CORS 配置等内容,在将 copyparty 公开之前应当检查这些设置。
所有内置功能都采用 MIT 许可证吗?核心项目采用 MIT 许可证,但 README 将一些可选附加功能标为“可选的 GPL 相关内容”,因此并非所有内置功能都适用同一许可证。
unpost 功能是做什么的?unpost 允许你在误上传后不久,直接在浏览器界面中撤销或删除该文件。
copyparty 有多快?README 指出默认设置通常已经够用。在正常情况下,预期下载速度约为 8 GiB/s,上传速度约为 1 GiB/s。
它能自动去重文件吗?可以。启用文件索引后,copyparty 可以使用基于符号链接的去重功能,使重复上传的文件不再额外占用磁盘空间。
它的功能不只是提供文件服务吗?是的。它包含一个媒体播放器,几乎支持所有音频格式并支持 m3u8 播放列表;还有 Markdown 查看器/编辑器、RSS/OPDS 订阅源,以及支持剪切、粘贴、重命名的文件管理器。
What are similar projects?sftpgo, alist, dufs, filestash, rclone, spacedrive, duplicati, kubo
Creator
9001
Size
9.5 MB
Stars
47.1K
Age
7y
Commits · 90 Days