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

зовнішніх залежностей