Repolode
matze

matze/wastebin

Минималистичный pastebin для собственного хостинга на Rust, axum и SQLite: поддерживает шифрование, срок действия и удаление после первого просмотра.

Open source альтернатива:Pastebin

Звёзды
885
Форки
68
Открытые issues
28
Последний коммит
18 дней назад

Что это?

wastebin — pastebin для собственного хостинга, предназначенный для обмена фрагментами текста, логами и кодом через браузер или HTTP API. Он построен на axum, использует базу данных SQLite и поставляется в виде одного бинарного файла, занимая мало памяти. Пасты сжимаются с помощью zstd, а подсветка синтаксиса поддерживает более 170 языков благодаря syntect.

Пасты можно шифровать с помощью ChaCha20Poly1305, используя пароли, хешированные argon2, а также задавать им срок действия, удалять после первого просмотра или удалять от имени анонимного создателя. Markdown-пасты можно отображать в HTML с таблицами, списками задач и блоками admonition в стиле GitHub, а произвольный HTML очищается с помощью ammonia. Интерфейс предлагает девять цветовых тем в светлом и тёмном режимах, а также QR-код для открытия пасты на телефоне.

В проекте нет учётных записей пользователей, административных функций и загрузки произвольных файлов. В README рекомендуется размещать сервис за reverse proxy с ограничением частоты запросов, если он доступен из интернета. Настройка выполняется через переменные окружения, а входящая в комплект утилита wastebin-ctl позволяет просматривать список записей, очищать базу или удалять записи напрямую из неё.

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

  • 01Бэкенд на axum и SQLite, распространяемый в виде одного бинарного файла
  • 02Сжатие с помощью zstd и подсветка синтаксиса для более чем 170 языков
  • 03Отображение Markdown с таблицами, списками задач и блоками admonition
  • 04Шифрование ChaCha20Poly1305 с паролями, хешированными argon2
  • 05Срок действия, удаление после первого просмотра и удаление создателем
  • 06Девять цветовых тем в светлом и тёмном режимах, а также просмотр QR-кода

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

  • Обмен фрагментами кода и логами с коллегами на частном сервере
  • Публикация вывода команд из терминала с помощью curl или shell-функции
  • Отправка временных зашифрованных заметок, срок действия которых истекает или которые удаляются после первого просмотра
  • Развёртывание небольшого внутреннего pastebin с помощью Docker или docker-compose

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

  1. 1

    Установите toolchain Rust 2024 (Rust 1.85 или новее) с помощью rustup

  2. 2

    Соберите и запустите сервер в режиме release с помощью cargo

    cargo run --release

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

  • В приложении нет аутентификации пользователей и функций администратора; в README не рекомендуется открывать его для доступа из интернета без ограничения частоты запросов или обратного прокси.
  • По умолчанию база данных хранится в памяти, поэтому после перезапуска вставки будут потеряны, если не задана переменная WASTEBIN_DATABASE_PATH.

В подборках

Темы

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

Что такое wastebin?
Минималистичный pastebin для собственного хостинга на Rust, axum и SQLite: поддерживает шифрование, срок действия и удаление после первого просмотра. wastebin — pastebin для собственного хостинга, предназначенный для обмена фрагментами текста, логами и кодом через браузер или HTTP API. Он построен на axum, использует базу данных SQLite и поставляется в виде одного бинарного файла, занимая мало памяти. Пасты сжимаются с помощью zstd, а подсветка синтаксиса поддерживает более 170 языков благодаря syntect.
wastebin можно использовать бесплатно? Какая у него лицензия?
wastebin распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
wastebin всё ещё поддерживается?
Активно поддерживается. Последний коммит в wastebin — 20 окт. 2026 г..
Для чего можно использовать wastebin?
Обмен фрагментами кода и логами с коллегами на частном сервере Публикация вывода команд из терминала с помощью curl или shell-функции Отправка временных зашифрованных заметок, срок действия которых истекает или которые удаляются после первого просмотра Развёртывание небольшого внутреннего pastebin с помощью Docker или docker-compose
Как установить wastebin?
Установите toolchain Rust 2024 (Rust 1.85 или новее) с помощью rustup Соберите и запустите сервер в режиме release с помощью cargo: cargo run --release
Где скачать wastebin?
Исходный код и инструкции по установке — на GitHub: https://github.com/matze/wastebin

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

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

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

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

Персональный сайт, который можно разместить на собственном сервере: заметки, события, проекты, коллекция в формате книжной полки и журнал важных вех; React 19 и Rust (axum + SQLite).

71+16 за неделю8TypeScriptAGPL-3.0Активно поддерживаетсяОбновлён 10 часов назад

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

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