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 или 3. Всё остальное, например Pillow для миниатюр или FFmpeg для индексации медиа, необязательно и лишь открывает дополнительные возможности.
Что будет, если просто запустить его без настройки?Если запустить copyparty без аргументов (например, двойным щелчком в Windows), всем будет выдан полный доступ на чтение и запись к текущей папке. Поэтому перед открытием в сеть стоит настроить учётные записи и тома.
На каких устройствах и системах он работает?Он работает в Windows (exe или sfx), Linux, macOS и FreeBSD, устанавливается через пакеты для Arch, Homebrew и Nix, а также может быть установлен на Android через Termux. Для iPhone и iPad есть ярлыки, так как нативного приложения для iOS нет.
Безопасно ли по умолчанию открывать его прямо в интернет?Нет, не разобравшись в подводных камнях. В README упомянуты, например, обработка CSP nonce и настройка CORS, которые стоит проверить перед публикацией copyparty.
Все ли входящие функции распространяются под лицензией MIT?Основной проект распространяется под лицензией MIT, но в README часть дополнительных компонентов выделена отдельно как «optional gpl stuff». Поэтому не каждая входящая функция имеет одну и ту же лицензию.
Что делает функция unpost?Unpost позволяет отменить или удалить случайную загрузку сразу после её выполнения прямо из веб-интерфейса.
Насколько быстр copyparty?В README отмечено, что настроек по умолчанию обычно достаточно. При нормальных условиях ожидаемая скорость скачивания около 8 GiB/s, а загрузки — около 1 GiB/s.
Может ли он автоматически убирать дубликаты файлов?Да, если включить индексацию файлов, copyparty использует дедупликацию на основе символических ссылок (symlink), поэтому повторно загруженные файлы не занимают лишнее место на диске.
Умеет ли он что-то кроме раздачи файлов?Да. Он включает медиаплеер, который воспроизводит почти все аудиоформаты с поддержкой плейлистов 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