Вчера разбирался и настраивал очень необычный файловый сервер, состоящий из одного файл... — 16 сентября 2026 г. в 06:11:01.354
Вчера разбирался и настраивал очень необычный файловый сервер, состоящий из одного файла на Python, работающий даже с Windows XP и IE6, в том числе на парковке. Речь пойдёт про open source проект Copyparty. Он меня впечатлил своей самобытностью и функциональностью. И при этом показался полезным в конкретных прикладных задачах. Потратил некоторое время на его изучение, так что постараюсь кратко и по существу рассказать про него. 📌 Перечислю его возможности, которые показались мне наиболее интересными. Он умеет кучу всего, всё перечислять слишком объёмно. ▪️Очень простой запуск: # python3 copyparty-sfx.py ▪️Поддержка протоколов: HTTP, WebDAV, SFTP, FTP, TFTP, SMB/CIFS, то есть может работать и через браузер, и как сетевой диск в винде и т.д. ▪️Многопоточная передача, дедупликация, дозагрузка при разрыве связи. Сервис очень хорошо себя ведёт на загрузке больших файлов. Файлы бьёт на чанки с проверкой их хэшей. Дозаливает или перезаписывает только изменения. ▪️Есть cli, что вкупе с предыдущими возможностями делает этот сервер удобным в некоторых случаях в качестве замены rsync. ▪️Сохранение метаданных файла даже при загрузке через браузер. Сохраняется оригинальная дата создания файла, плюс добавляется время загрузки. ▪️Приложение под Android для быстрой загрузки файлов. ▪️Гибкие права доступа и аутентификация (в том числе по IP). Например, можно настраивать доступ к файлам только по прямым ссылкам, без обзора директорий. Можно разрешить только загружать файлы или только перемещать из текущей директории. ▪️Гибкие правила загрузки. Например, запрет на загрузку файлов больше определённого размера, автоудаление файлов через 5 минут после загрузки, автосоздание структуры каталогов в виде даты и времени (для фоток удобно). ▪Хуки на загрузки и скачивания. ▪️Подробное логирование, метрики для мониторинга ▪️Смотреть картинки, видео, слушать музыку можно прямо через браузер. Из минусов отмечу странный и неинтуитивный веб интерфейс. Видно, что автор его сделал таким по приколу. Ему так захотелось. Проект на удивление стал весьма популярным. На него много обзоров, звёзд ни гитхабе (46.7k ⭐️). Я про него узнал случайно в комментариях к заметкам. Покажу на одном небольшом и вполне реальном примере удобство этого сервера. Допустим, у нас есть сетевой сканер. Мы хотим, чтобы он складывал сканы в сетевую папку. У самого сканера доступ только на запись файлов и больше ничего. Он даже не будет видеть содержимое сетевого диска. У пользователей будет анонимный доступ на чтение в эту директорию. Они смогут смотреть сканы через браузер, в том числе на смартфоне или в сетевом диске в Windows. У администратора будет полный доступ. Copyparty настраивается с помощью файла конфигурации: [global] e2dsa, smbw, z smb-port: 445 [accounts] scanner: SCAN_PASS admin: ADMIN_PASS [/scans] /mnt/scans accs: r: * w: scanner A: admin Запускаем: # wget https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py # python3 copyparty-sfx.py -c copyparty.conf SMB протокол работает плохо в Copyparty. Автор прямо об этом предупреждает. Если сканер поддерживает ftp или webdav, лучше использовать их. Приложение под Android очень простое. В основном нужно для быстрой загрузки файлов в пару кликов. Веб интерфейс адаптивен, можно использовать его. Кому понравился проект, посмотрите видео с обзором. Если понимаете английский на слух, слушайте оригинал. Автор остроумен и интересен, поэтому у обзора на такой специфичный продукт 606 😳 тысяч просмотров. Вот ещё демка на потыкать. Стоит за CF, поэтому напрямую не откроется. Обратите внимание на страничке с демо на правый нижний угол. Это тоже шуточка от автора. Меня очень впечатлил этот файловый сервер. Я прочитал всю инструкцию в репозитории, оценил все возможности, посмотрел несколько обзоров. Классная штука. Может упростить велосипедостроение на bash, взяв на себя часть функциональности, например, по удалению старых файлов, созданию директорий, нужному именованию файлов и т.д. #fileserver