FFM — быстрый и легкий файл-менеджер для домашнего сервера

Сделал для себя прикольную (на мой взгляд) штуку — веб-файловый менеджер, который по сути является оберткой над FTP.

Идея в том, что пользователь заходит в веб файл-менеджер, вводит данные от FTP и получает доступ к своим файлам, согласно своим правам. Таким образом все заморочки с правами решаются и настраиваются один раз на стороне FTP-сервера.

Я знаю, что есть Filestash, он хороший и удобный, и умеет все что надо. Кроме того, что… не умеет копировать и перемещать папки и файлы. Не умеет делать работу, которую файловый менеджер должен делать по умолчанию. Поэтому, я решил сделать свой вариант. Мой проект получился именно тем, что мне надо и что я хочу видеть в подобном продукте.

  • Удобный, но простой интерфейс с боковой панелью для навигации
  • Drag-and-drop загрузка (в теории без лимита на размер файла)
  • Скачивание через браузер (в том числе, группами файлов или папками)
  • Move / Copy с подтверждением перезаписи
  • Свойства файлов + вычисление md5 для файлов 
  • Тёмная/светлая тема (auto/light/dark)
  • Многоязычность (i18n), автоопределение языка
  • Сохранение сессий и настроек сеанса в куках
  • Поддержка мобильных устройств
  • Возможность разворачивания в standalone или в Docker*
  • Легкая работа через реверс-прокси

Мне кажется получилось интересно, поэтому что-то типа предварительной версии выкладываю на суд общественности. Выкладываю по принципу “как есть”. Мои тесты показали, что продукт вполне стабилен и я им активно пользуюсь уже пару месяцев.

Что возможно будет дальше:

  • Поддержка других бэкэндов доступа к файлам. Пока планируется как минимум WebDAV и SMB.
  • Простой редактор файлов и простая гляделка картинок и видео.
  • Различные виды списка файлов

Чего не будет точно:

  • Поддержки онлайн-редактирования файлов Office
  • SSO, OIDC, 2FA и прочего

:red_exclamation_mark:Обращаю внимание, что если задать в config/config.yaml адрес сервера и порт, то он не будет появляться на странице входа.

https://github.com/serenitatis/FFM

https://git.serenitatis.ru/serenitatis/FFM

*Docker — основной и рекомендуемый способ установки.

guest
0 комментариев