Самостоятельно размещаемый веб-сервис для обмена текстом и файлами с открытым исходным кодом, собранный в один бинарный файл на Rust; поддерживает шифрование и сокращение URL.
orhun/rustypaste
Минималистичный self-hosted сервис для загрузки файлов и pastebin на Rust: хранит файлы в локальной файловой системе и не требует базы данных.
- Звёзды
- 1,214
- Форки
- 94
- Открытые issues
- 19
- Последний коммит
- 6 часов назад
Что это?
Rustypaste позволяет загружать файлы с помощью curl или другого HTTP-клиента и получать короткую ссылку для отправки. Также сервис поддерживает сокращение URL и загрузку файла с удалённого сервера по URL. Файлы хранятся в файловой системе, поэтому база данных не нужна. Проект распространяется в виде одного бинарного файла и Docker-образов.
Сервис позволяет при необходимости настраивать имена файлов и срок их хранения. Имена могут быть случайными — например, состоять из названий домашних животных, букв и цифр или случайного суффикса. Ссылки могут автоматически истекать, а просроченные файлы — удаляться по расписанию. Одноразовые ссылки можно открыть только один раз, а файлы можно защитить паролем, хешированным с помощью Argon2id. Также доступны токены авторизации, endpoint DELETE с защитой токеном удаления и опциональный endpoint для просмотра списка файлов.
Настройки задаются в TOML-файле с поддержкой горячей перезагрузки. MIME-типы определяются по расширениям; их можно переопределять или добавлять в чёрный список. Текстовые типы отдаются как обычный текст, чтобы предотвратить выполнение скриптов. Также можно настроить собственную стартовую страницу, например HTML-форму для загрузки файлов.
Ключевые возможности
- 01Загрузка через curl или HTTP с выдачей коротких ссылок для отправки
- 02Хранение в файловой системе без необходимости в базе данных
- 03Опциональные случайные имена файлов, автоматическое истечение ссылок и одноразовые ссылки
- 04Защита файлов паролем с хешированием Argon2id
- 05Токены авторизации и endpoint DELETE, защищённый токеном
- 06Определение MIME-типов с возможностью переопределения и добавления в чёрный список
- 07Конфигурация TOML с горячей перезагрузкой и Docker-образы
Сценарии использования
- Запуск собственного приватного pastebin или сервера для обмена файлами на локальной машине или VPS
- Обмен скриншотами и временными файлами, которые должны автоматически удаляться
- Отправка одноразовых ссылок на скачивание, которые можно открыть только один раз
- Обмен файлами, защищёнными паролем, без стороннего сервиса
Быстрый старт
- 1
Установите из crates.io с помощью Cargo
cargo install rustypaste - 2
Создайте config.toml в рабочем каталоге (см. config.toml в репозитории), затем запустите сервер
rustypaste - 3
Загрузите файл на работающий сервер
curl -F "file=@x.txt" "<server_address>"
Что важно знать
- Файлы хранятся в локальной файловой системе без базы данных, поэтому это решение подходит для самостоятельного размещения на одном сервере.
В подборках
Темы
Частые вопросы
- Что такое rustypaste?
- Минималистичный self-hosted сервис для загрузки файлов и pastebin на Rust: хранит файлы в локальной файловой системе и не требует базы данных. Rustypaste позволяет загружать файлы с помощью curl или другого HTTP-клиента и получать короткую ссылку для отправки. Также сервис поддерживает сокращение URL и загрузку файла с удалённого сервера по URL. Файлы хранятся в файловой системе, поэтому база данных не нужна. Проект распространяется в виде одного бинарного файла и Docker-образов.
- rustypaste можно использовать бесплатно? Какая у него лицензия?
- rustypaste распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- rustypaste всё ещё поддерживается?
- Активно поддерживается. Последний коммит в rustypaste — 8 нояб. 2026 г..
- Для чего можно использовать rustypaste?
- Запуск собственного приватного pastebin или сервера для обмена файлами на локальной машине или VPS Обмен скриншотами и временными файлами, которые должны автоматически удаляться Отправка одноразовых ссылок на скачивание, которые можно открыть только один раз Обмен файлами, защищёнными паролем, без стороннего сервиса
- Как установить rustypaste?
- Установите из crates.io с помощью Cargo: cargo install rustypaste Создайте config.toml в рабочем каталоге (см. config.toml в репозитории), затем запустите сервер: rustypaste Загрузите файл на работающий сервер: curl -F "file=@x.txt" "<server_address>"
- Где скачать rustypaste?
- Исходный код и инструкции по установке — на GitHub: https://github.com/orhun/rustypaste
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Самостоятельно размещаемый сервис для обмена файлами, публикации текстовых фрагментов и сокращения URL с паролями для отдельных материалов, сроком действия ссылок и веб-панелью администратора.
Zipline — самостоятельный сервер загрузки файлов для ShareX с галереями, общим доступом и короткими ссылками.
Самостоятельно размещаемый загрузчик файлов со ссылками для обмена, учетными записями, альбомами, сниппетами, сокращателем URL и поддержкой S3.
Портативный файловый сервер на Python с возобновляемой загрузкой и скачиванием, доступный из любого браузера, а также по WebDAV, SFTP, FTP, TFTP и SMB.
Самостоятельно размещаемое приложение для обмена файлами: каждому клиенту предоставляется личная страница для входа и скачивания файлов.