Bring-your-own-storage · Лицензия MIT

Файловый менеджер, работающий в собственном хранилище ваших клиентов

Встройте через iframe или SDK, выпустите ограниченный по правам JWT — и файлы каждого арендатора остаются в его собственном S3, R2, SFTP или локальном диске, никогда не копируясь в базу данных, которую вам придётся эксплуатировать, защищать или оплачивать.

4
Поддерживаемых хранилищ
0
Серверов, видящих ваши файлы
MIT
Открытая лицензия
16
Поддержка языков
Демо

Посмотрите в действии

FluxFiles desktop file manager with image thumbnails
Сетка с мгновенными WebP-миниатюрами
FluxFiles browsing an S3 / R2 bucket with the local, S3 and SFTP disk switcher
Мультиоблако — S3 / R2 / SFTP в одном UI
FluxFiles managing a remote VPS deploy directory over SFTP, same UI as the S3 bucket
Удалённый VPS по SFTP — без FTP-клиента
Editing an nginx config file inside FluxFiles with syntax highlighting
Правьте конфиги на месте — без SSH и FTP
FluxFiles previewing a video inline in the detail panel
Просмотр видео, аудио и PDF без скачивания
FluxFiles Bucket Doctor health checks for an S3 bucket with CORS and IAM remediation
Bucket Doctor — проверки S3/R2 + исправления
FluxFiles activity log of file operations
Журнал действий — хранится в вашем бакете
FluxFiles trash with restore and delete forever
Корзина — восстановить или удалить навсегда
FluxFiles free AI auto-tag panel generating searchable tags for an image
Бесплатная автотегировка ИИ — теги для поиска создаются при загрузке
FluxFiles responsive mobile file manager
Адаптивно на мобильных
FluxFiles compliance readiness scorecard showing which safeguards are enabled
Оценочная карта готовности к соответствию — какие меры защиты включены, одним взглядом
Creating a FluxFiles share link with an expiry, a password and a download limit
Ссылка на файл — срок, пароль, лимит скачиваний
Creating a FluxFiles upload portal with a file limit, size cap and allowed file types
Порталы загрузки — без регистрации
FluxFiles links panel listing shared links with views, downloads and revoke
Управляйте ссылками и отзывайте их в любой момент
FluxFiles AI Vision panel removing the background from an image with your own vision API key
Удаление фона, апскейл и умная обрезка с вашим собственным vision-ключом
Как это работает

Каждая перезапись сохраняет предыдущую версию, восстановить можно в любой момент

Как это работает
{ "event": "upload",
  "file": "invoice.pdf" }

Подписанный HTTP POST на ваш endpoint при событиях с файлами — Zapier, Make, n8n

Как это работает

Извлечение текста из изображений и PDF прямо в ответе API

FluxFiles legal hold panel blocking delete, rename and move with a reason and audit trail
Юридическая блокировка — запрещает удаление, переименование и перемещение до снятия, с полным журналом аудита
Как это работает

Скрытие номеров соцстрахования, банковских карт и секретов ещё до сохранения файла

Как это работает

Каждая загрузка сканируется перед сохранением — ClamAV или ваш собственный облачный ключ

Как это работает

Подписывайте файлы проверяемыми Content Credentials (происхождение C2PA)

Как это работает

Одностороння синхронизация на второй диск — локально, S3, R2 или SFTP

Как это работает

Экспортируйте полный журнал аудита в формате NDJSON или CSV, включая архив

Как это работает

Вход через собственного OIDC-провайдера — группы сопоставляются с правами доступа

Преимущество · BYOB

Файлы ваших клиентов остаются в бакетах ваших клиентов

FluxFiles — встраиваемый файловый менеджер, в котором каждый арендатор подключает собственный бакет S3/R2, а вы не храните ни их данные, ни их учётные данные.

  • Суверенитет данных

    Файлы хранятся в облачном аккаунте и регионе самого клиента — создано для GDPR, комплаенса и корпоративных закупок.

  • Ноль данных и ключей в покое

    Учётные данные бакета шифруются AES-256-GCM внутри JWT и расшифровываются только во время выполнения — их никогда не пишут в базу или лог.

  • Затраты на хранение, масштабируемые до нуля

    Хранение и трафик оплачивает каждый клиент, а не вы. Никакого счёта за хранилище, растущего вместе с базой пользователей.

  • Без состояния и встраиваемо

    Никакой центральной базы. Встройте пикер в любое приложение через iframe или SDK; ваш бэкенд выпускает ограниченный краткоживущий токен.

Ваше SaaS-приложение
ограниченный JWT (шифр. ключи)
FluxFiles
расшифровка только в рантайме
Арендатор A
свой бакет
Арендатор B
свой бакет
Арендатор C
свой бакет

Как это работает: ваше приложение шифрует учётные данные бакета арендатора в краткоживущий JWT (HKDF-SHA256 + AES-256-GCM). FluxFiles расшифровывает их только для выполнения запрошенной операции.

Мультиарендность

Один токен на арендатора — у каждого свои правила

FluxFiles не хранит состояние: JWT, который выпускает ваш бэкенд, и есть конфигурация арендатора. Путь хранения, лимит размера файла, квота, число файлов, разрешённые типы, права — всё применяется на сервере. Никаких конфиг-файлов на арендатора и перезапусков.

// Your backend, per request — the token IS the tenant's config.
import { createToken } from '@fluxfiles/node';

const claims = tenant.plan === 'pro'
  // 100 MB/file · any type · 50 GB · unlimited files · own bucket
  ? { disks: ['s3'],    maxUploadMb: 100, allowedExt: null,
      maxStorageMb: 51200, maxFiles: 0 }
  // 5 MB/file · images only · 500 MB · 200 files
  : { disks: ['local'], maxUploadMb: 5,   allowedExt: ['jpg','png','webp'],
      maxStorageMb: 500,   maxFiles: 200 };

const token = createToken({
  secret: process.env.FLUXFILES_SECRET,
  userId: tenant.id,
  prefix: `tenant_${tenant.id}/`,   // isolates each tenant's files
  perms:  ['read', 'write', 'delete'],
  ...claims,
});
prefix disks / BYOB max_upload max_storage max_files allowed_ext perms

В связке с BYOB каждый арендатор размещается в собственном бакете.

Для кого

Создано для команд, выпускающих функции работы с файлами

Если вашему продукту нужны загрузки, FluxFiles встраивается — не делая вас хранителем данных ваших клиентов.

SaaS и мультиарендные приложения

Дайте каждому клиенту файловый менеджер на его собственном бакете. Ограничение токена по арендатору и суверенитет данных встроены.

Агентства и фрилансеры

Поставляйте каждому клиенту аккуратную медиатеку без развёртывания инфраструктуры хранения под каждый проект.

Интеграции с CMS и редакторами

Встройте выбор медиа в CKEditor, TinyMCE, Summernote или ваш редактор через iframe SDK.

Внутренние инструменты и дашборды

Добавьте загрузки, превью и аудируемые операции с файлами в админ-панели за полдня.

Вопросы и ответы

Часто задаваемые вопросы

FluxFiles бесплатный и с открытым кодом?
Да — лицензия MIT, бесплатный самостоятельный хостинг, опубликован в Composer и npm. У ядра нет лимитов использования; опциональные платные модули добавляют такие возможности, как ссылки Share и порталы загрузки.
Где хранятся мои файлы?
Там, куда вы укажете: локальный диск, AWS S3, Cloudflare R2 или удалённый сервер через SFTP — всё через Flysystem. Хранилище принадлежит вам — ничего не проходит через третьих лиц.
Можно ли встроить его в моё приложение или редактор?
Да — iframe + JS SDK работает на любой странице, есть официальные адаптеры для Laravel, WordPress, React, Vue/Nuxt, CKEditor 4, TinyMCE и Summernote.
Насколько это безопасно против распространённых атак?
Каждый запрос ограничен JWT-клеймами (права, диск, префикс пути, расширения, owner-only); серверные обращения, такие как импорт по URL и проверки BYOB, проходят через SSRF-защиту, блокирующую приватные/внутренние IP; загрузки получают анти-XSS заголовки, а расширение файла фиксируется при загрузке, так что переименование/перемещение/копирование не может его изменить.

Готовы встроить FluxFiles?

Добавьте готовый к продакшену файловый менеджер в своё приложение за считаные минуты — без привязки к фреймворку, лицензия MIT.