iBoost/Портфолио/FileDrop

Инфраструктура·2026 — сейчас

FileDrop

Файлообменник без лишнего: перетащил файл — получил ссылку. Без регистрации живёт неделю, с аккаунтом — сколько угодно, и путь на диске угадать невозможно.

Наша роль

Продукт, разработка, эксплуатация

Статус

Работает в проде

Период

2026 — сейчас

Платформа

Web · SFTP

d.iboost.ua
FileDrop — интерфейс

Живой интерфейс · снимок с прода

01

Что это

Раз в неделю любой команде надо быстро передать файл: макет заказчику, дамп коллеге, видео на 200 мегабайт, которое не проходит в мессенджере. Публичные файлообменники либо просят регистрацию, либо показывают рекламу, либо молча удаляют файл через сутки. Мы сделали свой — ровно под эту задачу.

Ключевая деталь — отдача файлов. Блобы не раздаются приложением и не лежат по предсказуемому пути: nginx отдаёт их через внутренний редирект, поэтому угадать адрес файла на диске невозможно, а само приложение не тратит ресурсы на перекачку байтов.

02

возможности

Что оно умеет

01

Загрузка без регистрации

Перетащил — получил ссылку. До 200 МБ, живёт неделю, потом убирается автоматически.

02

Аккаунт для постоянного хранения

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

03

Непредсказуемые ссылки

Опциональный случайный суффикс в имени и короткая ссылка в корне. Имя файла не выдаёт другие файлы.

04

Отдача через внутренний редирект

nginx отдаёт блоб по внутренней локации — путь на диске наружу не утекает.

05

Доступ по SFTP

Отдельная учётная запись с замкнутым каталогом; загруженное по SFTP заводится в базу одной командой.

06

Автоуборка по расписанию

Systemd-таймер убирает просроченное. Место не заканчивается потому, что «руки не дошли».

03

архитектура

Как устроено

01

Загрузка файла

02

Запись в базу и квоты

03

Выдача ссылки

04

Раздача через nginx

05

Автоуборка по TTL

Под капотом

  • FastAPI-приложение под своим системным пользователем, который вправе писать только в каталог файлов.
  • SQLite как реестр файлов, квот и пользователей.
  • Слушает только локальный интерфейс; наружу — только nginx.
  • CLI для эксплуатации: инициализация, создание админа, смена пароля, уборка, импорт SFTP-каталога.
  • Юридический минимум на месте: ответственность загрузившего, фиксация IP, кнопка жалобы на файл.
  • Один процесс, один файл базы, ноль внешних зависимостей — сервис, который не ломается.
PythonFastAPISQLiteNginx · X-AccelSFTPsystemd timer

04

масштаб

Цифры

200 МБ

лимит без регистрации

7 дней

TTL анонимного файла

хранение с аккаунтом

0

внешних зависимостей