Облачные хранилища вроде тех, что все знают, работают неплохо, пока не столкнёшься с лимитами скорости или не захочешь полного контроля над своими данными. Copyparty — это бесплатный файловый сервер с открытым исходным кодом, который превращает практически любое устройство в полноценный хаб для обмена файлами через браузер. Никаких подписок, никаких ограничений — только Python и желание развернуть что-то своё.
Проект стартовал в январе 2020 года, его разрабатывает программист под ником 9001, а код доступен на GitHub под лицензией MIT. За пять лет copyparty обзавёлся внушительным набором возможностей: от возобновляемой загрузки с разбивкой на чанки до дедупликации файлов через контрольные суммы. Сервер поддерживает кучу протоколов — HTTP, HTTPS, WebDAV, FTP, FTPS, TFTP, mDNS и SSDP — и работает везде, где крутится Python.
Особенность copyparty в том, что он решает конкретные боли: быстрая передача больших файлов на расстоянии (до пяти раз быстрее некоторых аналогов), обмен данными между древними системами и организация домашнего файлового хранилища без сложных зависимостей. Для установки достаточно Python, а в Windows можно просто скачать exe-файл и сразу стартовать. Проект заточен под максимальную совместимость — даже старые версии Internet Explorer и устаревшие сборки Python поддерживаются, что критично в экстренных ситуациях.
Что такое copyparty и зачем он нужен
Copyparty — это, по сути, портативный файловый сервер, упакованный в один Python-файл. Звучит просто, но внутри — целый арсенал функций, которые обычно встречаются в гораздо более громоздких решениях. Основная задача — дать возможность расшаривать файлы и организовывать обмен данными через браузер, минуя облачные сервисы с их ограничениями.
Запускаешь сервер на локальной машине, в домашней сети или даже на старом ноутбуке — и получаешь доступ к файлам откуда угодно. Можно настроить права доступа, разрешить только загрузку или только скачивание, добавить пароли и ссылки с истечением срока действия. В отличие от облачных платформ, здесь ты сам решаешь, где хранятся данные и кто к ним подключается.
Почему сервер называют швейцарским ножом для файлов
Copyparty действительно универсален — не зря его сравнивают со швейцарским ножом. Сервер умеет не только отдавать и принимать файлы, но и индексировать медиа, генерировать миниатюры для видео, транскодировать аудио на лету, создавать zip-архивы прямо во время скачивания. Встроенный медиаплеер с покадровым поиском выделяется на фоне других самостоятельных файловых серверов — можно смотреть видео или слушать музыку, не скачивая файлы целиком.
Ещё одна фишка — дедупликация через контрольные суммы. Если загружаешь файл, который уже есть на сервере, copyparty просто пропустит повторную запись и сэкономит место. Это удобно для резервного копирования или когда несколько человек работают с одними и теми же файлами. Плюс сервер поддерживает массовое переименование и тегирование, что полезно для организации больших коллекций фотографий или аудио.
Ключевые возможности файлового сервера
Сервер copyparty предлагает несколько функций, которые заметно упрощают работу с файлами. Во-первых, это ускоренная загрузка с разбивкой на чанки — большой файл делится на части, грузится параллельно, и если обрыв связи, можно продолжить с того же места. Во-вторых, дедупликация — файлы проверяются по хешу, и если копия уже есть, повторно не сохраняется. В-третьих, встроенная индексация медиа и генерация превью для видео и изображений.
Протокольная гибкость — отдельная тема. Copyparty поддерживает HTTP и HTTPS для веб-доступа, WebDAV для монтирования как сетевого диска, FTP и FTPS для классического файлового обмена, TFTP для лёгких сценариев, mDNS и SSDP для автоматического обнаружения в сети. Можно даже настроить Samba, если нужно интегрироваться с Windows-окружением.
Возобновляемая загрузка и дедупликация
Возобновляемая загрузка — это не просто удобство, а реальная экономия времени и нервов. Представь: качаешь гигабайтный архив, интернет падает на 80%, и приходится начинать с нуля. С copyparty этого не случится — сервер запоминает, сколько данных уже передано, и при повторном подключении продолжает с того же чанка. Разбивка на части позволяет ещё и ускорить процесс, используя всю доступную пропускную способность.
Дедупликация работает так: при загрузке файл сначала хешируется, и copyparty проверяет, нет ли уже такого хеша в базе. Если есть — физически файл не записывается повторно, только создаётся ссылка. Это экономит место на диске, особенно если у тебя несколько пользователей или резервные копии с пересекающимися данными. Механизм прозрачный — пользователь видит свой файл, не подозревая, что на сервере он лежит в единственном экземпляре.
Медиа-индексация и работа с мультимедиа
Встроенный медиаплеер — одна из неожиданных фишек copyparty, которая выделяет его среди других файловых серверов. Плеер умеет воспроизводить видео с покадровым поиском и транскодированием на лету, если формат не поддерживается браузером. Для аудио есть эквалайзер и почти бесшовное воспроизведение — треки сменяют друг друга без пауз, как в нормальных плеерах.
Индексация медиа позволяет быстро находить файлы по метаданным — BPM для музыки, длительность, разрешение для видео. Миниатюры генерируются автоматически, что удобно при просмотре больших коллекций. Можно даже создавать тематические подборки и шарить их через временные ссылки с паролем — получится приватная галерея или музыкальная библиотека, доступная только избранным.
Протоколы и поддержка браузеров
Copyparty поддерживает настолько широкий спектр протоколов, что впору удивиться, как всё это уместилось в один Python-файл. HTTP и HTTPS — базовый веб-доступ, WebDAV — для монтирования сервера как локального диска на ноутбуке или телефоне, FTP и FTPS — для классического файлового обмена с поддержкой шифрования, TFTP — для лёгких устройств вроде роутеров. Ещё есть mDNS и SSDP для автоматического обнаружения сервера в локальной сети, без ручного ввода IP-адресов.
Поддержка браузеров — это вообще отдельная история. Автор проекта поставил себе задачу: сделать так, чтобы copyparty работал даже в древних версиях Internet Explorer и на старых сборках Python. Зачем? Для экстренных ситуаций, когда нужно быстро перекинуть данные между устаревшими системами, а времени на обновление софта нет. Каждый браузер должен как минимум позволять просматривать, скачивать и загружать файлы — и copyparty с этим справляется.
Для более современных окружений доступны продвинутые фичи: drag-and-drop загрузка файлов, предпросмотр медиа, создание zip-архивов на лету. Если браузер поддерживает, copyparty задействует все возможности — но даже на минималистичном клиенте базовый функционал останется доступным.
Установка и минимальные требования
Установка copyparty до смешного проста — достаточно установленного Python. Скачиваешь файл с GitHub, запускаешь команду python copyparty-sfx.py, и сервер уже работает. Для Windows есть готовый exe-файл, который вообще не требует предварительной настройки — просто двойной клик, и всё. Никаких сложных зависимостей, никаких конфигурационных плясок — минимализм в лучшем виде.
Системные требования тоже смешные. Copyparty работает на Linux, macOS, Windows, Android, FreeBSD и даже на ARM-устройствах вроде Raspberry Pi. Можно развернуть сервер на старом ноутбуке, на NAS, на виртуалке в облаке или даже на телефоне. Единственное обязательное условие — наличие Python, всё остальное опционально. Если нужны продвинутые функции вроде транскодирования видео, придётся поставить ffmpeg, но базовый функционал работает и без него.
Настройка тоже не вызывает головной боли. Есть конфигурационный файл copyparty.conf, где можно включить или выключить фичи, заблокировать IP-адреса, установить лимиты на загрузку, сменить тему интерфейса. Управление пользователями — через простой файл с парами логин-пароль или через интеграцию с внешним провайдером. Права доступа задаются флагами вроде RW для чтения-записи, MDA для медиа-индексации — выглядит архаично по сравнению с современными веб-интерфейсами, но зато быстро и эффективно.
Когда copyparty решает реальные проблемы
Есть несколько сценариев, где copyparty становится незаменимым. Первый — это быстрая передача больших файлов на расстоянии. Если нужно перекинуть несколько гигабайт другу или коллеге, облачные сервисы часто тормозят или требуют платной подписки. Copyparty позволяет развернуть временный сервер, сгенерировать ссылку с паролем и сроком действия, и залить файлы напрямую — до пяти раз быстрее, чем через популярные облака.
Второй сценарий — домашний файловый хостинг. Вместо того чтобы платить за облачное хранилище, можно поднять copyparty на домашнем NAS или старом компьютере и получить доступ к файлам откуда угодно. WebDAV позволяет смонтировать сервер как сетевой диск, и работать с файлами как с локальными. Дедупликация экономит место, а медиаплеер даёт возможность стримить музыку и видео без предварительного скачивания.
Обмен большими файлами на расстоянии
Когда речь идёт о передаче больших файлов, скорость решает всё. Copyparty использует параллельную загрузку с разбивкой на чанки, что позволяет выжать максимум из доступного канала. Если связь нестабильная, возобновляемая загрузка спасает ситуацию — не нужно каждый раз начинать с нуля. Ещё одна фишка — автоматическая проверка целостности данных через контрольные суммы, так что повреждённые файлы отсекаются на лету.
Для расшаривания файлов можно создать временную ссылку с кастомным именем, паролем и датой истечения. Copyparty сгенерирует и URL, и QR-код — последний особенно удобен, если нужно быстро поделиться с кем-то через мобильник. Никаких регистраций, никаких лимитов на размер файла — только твой сервер и твои правила.
Работа с устаревшими системами
Иногда приходится работать с техникой, на которой современный софт просто не запустится. Старые версии Windows, древние сборки Linux, экзотические железки — copyparty поддерживает их все, потому что это была одна из ключевых целей проекта. Минимальные зависимости и совместимость с кучей версий Python делают сервер идеальным инструментом для экстренной передачи данных между устаревшими системами.
Например, нужно перекинуть файлы с древнего промышленного компьютера, на котором установлена Windows XP и IE6. Современные облачные сервисы там просто не откроются, а copyparty заработает без проблем. Или ситуация: в офисе завалялся старый сервер на FreeBSD, и на нём нужно быстро организовать файловый обмен. Ставишь copyparty, и через пять минут всё уже работает.
Безопасно ли скачивать с GitHub?
🔔 Если статья была полезной, жмите на колокольчик на главной странице канала, чтобы быть в курсе новых публикаций, и подпишитесь, если ещё не подписаны! 📰