💡 Идея
Всё началось с простой, но насущной проблемы: я хотел быстро передать файлы между своими устройствами — без интернета, без Bluetooth и без облаков.

Существующие способы были либо медленными, либо ограниченными:
Bluetooth — устаревший и слишком медленный для видео и больших папок
Облачные сервисы — требуют авторизации, интернета, да ещё и часто сжимают файлы
Airdrop — работает только между устройствами Apple
Флешка — не всегда под рукой, да и не подходит для телефонов
🧠 Тогда я задал себе вопрос:
Почему нельзя просто открыть ссылку в браузере и мгновенно получить доступ к файлам с другого устройства?
Так появилась идея — создать локальный медиасервер, который:
работает по Wi‑Fi, без интернета
запускается одним кликом
доступен из любого браузера в локальной сети
предоставляет простой и понятный файловый интерфейс
Sapar Mini должен был стать локальной альтернативой Google Drive или Airdrop, но полностью офлайн, без регистрации, и максимально лёгким.
⚙️ Реализация
Чтобы идея стала реальностью, мне нужно было три вещи:
Запускать локальный сервер на любом компьютере
Предоставить простой интерфейс для доступа к файлам
Обеспечить доступ к этому серверу с других устройств в сети

📦 Технологии
Я выбрал стек, который позволяет собрать приложение в виде десктопной программы, но с силой веба:
Electron — упаковывает Node.js и фронтенд в одно кроссплатформенное приложение
Node.js + Express — локальный HTTP‑сервер, который обрабатывает все запросы к файлам
EJS — простая серверная генерация HTML
Bootstrap 5 — адаптивный и лёгкий UI без перегрузки
Vanilla JS — всё без React/Vue, чтобы было быстро и нативно
🖥 Интерфейс
Главный принцип: максимальная простота без обучения.
Отображение файлов и папок в виде списка
Drag & drop для загрузки
Предпросмотр медиа (видео, изображения) прямо в браузере
Создание/удаление/переименование папок
Навигация через «хлебные крошки»
Адаптивность — интерфейс работает как на ПК, так и на телефоне

📡 Работа по локальной сети
Когда пользователь запускает приложение:
Sapar Mini автоматически определяет локальный IP (например,
192.168.0.104
)Использует этот IP в качестве адреса сервера — без порта
Сразу открывает интерфейс в браузере, например:
Например, http://192.168.0.104

💡 Это значит, что тебе не нужно запоминать порт — достаточно просто открыть IP в любом браузере устройства, подключённого к той же Wi‑Fi сети.
Интерфейс мгновенно загружается, и ты получаешь доступ к файлам как к локальному "облаку".
Такой подход особенно удобен:
в школах, офисах, поездках
при раздаче Wi‑Fi с ноутбука (без роутера)
в местах без интернета, где нужна быстрая локальная передача
🔐 Безопасность
Несмотря на простоту использования, я сразу понимал: если любой в сети сможет открыть твой IP — это потенциальный риск.
Поэтому в Sapar Mini реализована базовая, но надёжная защита.
🧩 Авторизация
При первом запуске Sapar Mini предлагает создать пароль — ты становишься хостом
Все последующие входы требуют ввода этого пароля
Пароль можно изменить в настройках в любой момент
Без ввода пароля доступ к интерфейсу полностью блокируется — даже если кто-то знает IP

📌 Таким образом, даже в открытой сети никто не сможет подключиться к твоим файлам без разрешения.
🕵️♂️ Приватность по умолчанию
Sapar Mini создан как офлайн-инструмент, а значит:
Он не требует интернета
Не использует сторонние API или облака
Не собирает аналитику и не отправляет данные наружу
Все действия — загрузка, удаление, просмотр — происходят только локально, на твоём устройстве.
Это делает Sapar Mini особенно удобным для:
домашних сетей
учебных заведений
поездок, где нет доступа к интернету
🛠 Разработка
Когда идея была сформулирована, я сразу начал писать код — без долгих планов или сложной архитектуры.
Цель была простая: сделать, чтобы работало.
🔁 Процесс
Всё началось с базового Express-сервера:
Отображение файлов из выбранной папки
Возможность скачивания
Примитивный HTML-шаблон на EJS
Отсутствие стилей и авторизации
Постепенно я добавлял функции:
загрузку через drag & drop
предпросмотр изображений и видео
навигацию по папкам
авторизацию
адаптивный UI с Bootstrap
🧪 MVP
Минимально рабочая версия включала:
локальный запуск
просмотр папок
скачивание файлов
простую авторизацию
Даже в таком виде это уже было удобно. Я показал MVP:
родственникам (обмен фото и видео)
друзьям (стриминг фильмов по локалке)
преподавателю, который скинул презентации студентам прямо на телефоны
🗣️ Отзывы были одинаковыми:
«А почему так не работает по умолчанию на всех устройствах?..»
После этого я понял: проект не только для себя — он реально полезен другим. Так начался путь к полноценному релизу.
🚀 Релиз и будущее
Когда MVP был стабилен, интерфейс стал удобным, а обратная связь — положительной, я понял: пора выпускать.
📦 Публикация
Я оформил проект как open-source:
Описал всё в
README.md
Добавил лицензию MIT
Подключил сборку через GitHub Actions
Запустил автосборку для Windows (.exe), macOS (.dmg) и Linux (.AppImage)
Выложил всё в Releases
📁 Теперь любой человек может:
скачать готовую версию
установить без зависимостей
и использовать офлайн сразу после запуска
🌍 Open Source
Я решил сделать Sapar Mini полностью открытым, потому что:
хочу, чтобы им могли пользоваться не только разработчики
верю в ценность офлайн-инструментов без слежки и рекламы
хочу, чтобы другие могли учиться на примере кода или дорабатывать под себя
Каждый коммит — прозрачный. Нет скрытых API, нет трекеров, нет подписок. Всё работает локально и навсегда.
🛤 Планы
Sapar Mini уже полезен, но я хочу развивать его дальше:
🧭 Автоопределение сервера через Bonjour (
sapar.local
)📱 Улучшенный UI для телефонов
🔑 Авторизация с сессионным доступом
🎨 Тёмная тема
🔒 Ограничение доступа к выбранным папкам
💬 Локальный чат между устройствами
💾 Сборка для Raspberry Pi как автономного медиасервера
Если тебе интересна идея — ⭐ поставь звёздочку на GitHub, напиши фидбэк или просто попробуй.
Спасибо, что дочитал.
Sapar Mini — это маленький шаг для сети, но большой шаг к офлайн‑свободе.