Простой статический файловый сервер на Rust: список файлов, загрузка, базовая аутентификация и опциональный HTTPS.
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
Получите бинарный файл miniserve (в README есть ссылки на Crates.io и Docker Hub)
- 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 обновляется ежедневно.
Похожие проекты
Расширяемый WebDAV-сервер на Python поверх WSGI, который можно запускать отдельно или встраивать в другие WSGI-приложения.
Удобный файловый сервер на Rust с CLI для раздачи статических файлов, загрузки, поиска, управления доступом и WebDAV.
Один исполняемый файл на Rust для проверки, оценки, создания и преобразования сертификатов и TLS-подключений — более простая альтернатива CLI OpenSSL.
Инструмент поиска по регулярным выражениям (rg), который рекурсивно обходит каталоги и по умолчанию учитывает правила .gitignore.
Умная замена cd: запоминает часто используемые каталоги и позволяет быстро переходить к ним в популярных оболочках.