Repolode
orhun

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. 1

    Установите из crates.io с помощью Cargo

    cargo install rustypaste
  2. 2

    Создайте config.toml в рабочем каталоге (см. config.toml в репозитории), затем запустите сервер

    rustypaste
  3. 3

    Загрузите файл на работающий сервер

    curl -F "file=@x.txt" "<server_address>"

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

  • Файлы хранятся в локальной файловой системе без базы данных, поэтому это решение подходит для самостоятельного размещения на одном сервере.

В подборках

Темы

#file-sharing#pastebin#file-upload#self-hosted#rust#url-shortener#file-upload-server#file-upload-service#file-uploading#hacktoberfest

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

Что такое 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 обновляется ежедневно.

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

Самостоятельно размещаемый веб-сервис для обмена текстом и файлами с открытым исходным кодом, собранный в один бинарный файл на Rust; поддерживает шифрование и сокращение URL.

4,6 тыс.+7 за неделю329RustBSD-3-ClauseОбновлён 2 месяца назад

Самостоятельно размещаемый сервис для обмена файлами, публикации текстовых фрагментов и сокращения URL с паролями для отдельных материалов, сроком действия ссылок и веб-панелью администратора.

43217JavaMITАктивно поддерживаетсяОбновлён в прошлом месяце

Самостоятельно размещаемое приложение для обмена файлами: каждому клиенту предоставляется личная страница для входа и скачивания файлов.

2,1 тыс.+14 за неделю362PHPGPL-2.0Активно поддерживаетсяОбновлён 4 часа назад