Repolode
svenstaro

svenstaro/miniserve

Однофайловая Rust CLI-утилита для мгновенной раздачи файлов и каталогов по HTTP с поддержкой авторизации, загрузки файлов и TLS.

Звёзды
7,922
Форки
401
Открытые issues
93
Последний коммит
24 дня назад

Что это?

miniserve — небольшая CLI-утилита для обмена файлами по HTTP без настройки полноценного веб-сервера. Достаточно указать каталог или отдельный файл: утилита запустит сервер со списком файлов для просмотра либо будет раздавать выбранный индексный файл. miniserve поставляется в виде автономного бинарного файла для Linux, macOS и Windows, а также доступна через Cargo, Homebrew, Docker и Podman.

Помимо базовой раздачи файлов, утилита поддерживает распространённые сценарии: аутентификацию по имени пользователя и паролю (в открытом виде или с хешированием SHA-256/SHA-512), загрузку файлов и папок, создание каталогов, удаление файлов (если оно включено) и формирование архивов tar, tar.gz или zip на лету для скачивания папок. Также доступны TLS, пользовательские заголовки ответа, fallback-маршрутизация для SPA и read-only endpoint WebDAV.

Проект написан на Rust с использованием веб-фреймворка Actix. В качестве альтернатив для разовых задач он рассматривает, например, встроенный HTTP-сервер Python и netcat, отмечая более корректную обработку MIME-типов и простую настройку в Windows.

Ключевые возможности

  • 01Раздаёт каталог или отдельный файл со списком для просмотра и поддержкой пользовательского индексного файла.
  • 02Поддерживает аутентификацию по имени пользователя и паролю, в том числе пароли с хешированием SHA-256 и SHA-512.
  • 03Позволяет загружать файлы, создавать каталоги и при необходимости удалять их; операции можно ограничить выбранными путями.
  • 04Формирует архивы tar, tar.gz или zip для скачивания папок на лету.
  • 05Поддерживает TLS, пользовательские заголовки ответа, fallback-маршрутизацию для SPA и read-only WebDAV.
  • 06Предлагает фильтрацию поиска, отображение QR-кода, светлую и тёмную темы, а также автодополнение команд оболочки.

Сценарии использования

  • Быстро поделиться большим ISO-образом или папкой с кем-то в той же сети.
  • Локально раздавать статический сайт или сборку одностраничного приложения для тестирования.
  • Загружать фотографии со смартфона на ноутбук через браузер.
  • Настроить защищённую паролем общую папку на домашнем сервере или запустить сервис в фоне через systemd.

Быстрый старт

  1. 1

    Получите бинарный файл miniserve (в README есть ссылки на Crates.io и Docker Hub)

  2. 2

    Предоставьте доступ к каталогу

    miniserve linux-distro-collection/

Что важно знать

  • ZIP-архив создаётся в памяти, поэтому большие каталоги могут привести к ошибке нехватки памяти.
  • TLS доступен только для поддерживаемых архитектур.

В подборках

Темы

Частые вопросы

Что такое miniserve?
Однофайловая Rust CLI-утилита для мгновенной раздачи файлов и каталогов по HTTP с поддержкой авторизации, загрузки файлов и TLS. miniserve — небольшая CLI-утилита для обмена файлами по HTTP без настройки полноценного веб-сервера. Достаточно указать каталог или отдельный файл: утилита запустит сервер со списком файлов для просмотра либо будет раздавать выбранный индексный файл. miniserve поставляется в виде автономного бинарного файла для Linux, macOS и Windows, а также доступна через Cargo, Homebrew, Docker и Podman.
miniserve можно использовать бесплатно? Какая у него лицензия?
miniserve распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
miniserve всё ещё поддерживается?
Активно поддерживается. Последний коммит в miniserve — 1 окт. 2026 г..
Для чего можно использовать miniserve?
Быстро поделиться большим ISO-образом или папкой с кем-то в той же сети. Локально раздавать статический сайт или сборку одностраничного приложения для тестирования. Загружать фотографии со смартфона на ноутбук через браузер. Настроить защищённую паролем общую папку на домашнем сервере или запустить сервис в фоне через systemd.
Как установить miniserve?
Получите бинарный файл miniserve (в README есть ссылки на Crates.io и Docker Hub) Предоставьте доступ к каталогу: miniserve linux-distro-collection/
Где скачать miniserve?
Исходный код и инструкции по установке — на GitHub: https://github.com/svenstaro/miniserve

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Один исполняемый файл на Rust для проверки, оценки, создания и преобразования сертификатов и TLS-подключений — более простая альтернатива CLI OpenSSL.

109+11 за неделю6RustMITОбновлён 4 дня назад