Rustypaste свой Pastebin-сервис за 5 минут, без баз данных и лишних хлопот

03 Jul, 2026
1,183
🔱 82
👥 5

Знакомая ситуация: нужно быстро скинуть коллеге лог-файл, конфиг или просто кусок кода. Что вы делаете? Наверняка отправляете в мессенджер, создаете Gist на GitHub или используете какой-нибудь публичный pastebin-сервис. Все это работает, но не всегда удобно, а главное — не всегда безопасно и приватно. А что, если я скажу, что можно поднять свой собственный, молниеносный и минималистичный сервис для этих задач буквально за пару минут?

Сегодня мы посмотрим на Rustypaste — проект, который меня приятно удивил своей простотой и элегантностью. Это как раз тот случай, когда инструмент делает ровно одну вещь, но делает ее чертовски хорошо.

Что это такое и зачем оно мне?

Если коротко, Rustypaste — это минималистичный сервис для загрузки файлов и обмена текстом (pastebin), написанный на Rust. Ключевое слово здесь — "минималистичный". Забудьте о тяжеловесных веб-интерфейсах, сложных зависимостях и базах данных. Rustypaste — это один-единственный бинарный файл, который просто работает.

Зачем он нужен разработчику?

  1. Приватность и контроль. Вы полностью контролируете свои данные. Никаких третьих лиц, никаких публичных серверов. Все хранится на вашем сервере, будь то домашний Raspberry Pi или рабочий VPS.
  2. Скорость и удобство. Интеграция с командной строкой — это его всё. Отправить файл или кусок кода можно одной curl командой, что идеально вписывается в любые скрипты и автоматизации.
  3. Ничего лишнего. Проект не пытается быть комбайном. Его философия — простота. Он не требует PostgreSQL, Redis или еще чего-то. Данные хранятся прямо в файловой системе.

Ключевые возможности, которые цепляют

Давайте пробежимся по самым интересным фичам, которые предлагает Rustypaste.

Реклама

1. Простота развертывания — это не шутка

Проект поставляется как единый бинарный файл. Это значит, что для запуска вам не нужно ставить Rust, настраивать переменные окружения или возиться с зависимостями. Скачали релиз под свою платформу, запустили — и сервис готов к работе.

А для любителей контейнеров есть готовый Docker-образ. Запуск через docker-compose выглядит до смешного просто:

# docker-compose.yml
version: "3"
services:
  rustypaste:
    image: orhunp/rustypaste
    container_name: rustypaste
    volumes:
      - ./upload:/app/upload
      - ./config.toml:/app/config.toml
      - ./.env:/.env
    ports:
      - "8000:8000"
    restart: unless-stopped

Все, docker-compose up -d и ваш личный файлообменник в строю.

2. Гибкое управление ссылками

Rustypaste — это не просто "загрузил-получил ссылку". Здесь есть несколько интересных режимов:

  • Ссылки с таймером жизни. Можно загрузить файл и указать, сколько он должен прожить. Например, 10 минут или один день. Очень удобно для временных данных.

    # Файл будет доступен 10 минут
    $ curl -F "file=@report.txt" -H "expire:10min" "https://your-paste.com"
    
  • Одноразовые ссылки (One-shot). Это моя любимая фича. Вы можете создать ссылку, которая "сгорит" сразу после первого открытия. Идеально для передачи токенов, паролей или другой чувствительной информации.

    # Создаем одноразовую ссылку на файл
    $ curl -F "oneshot=@credentials.txt" "https://your-paste.com"
    
  • Сокращатель URL. Кроме файлов, можно "пастить" и сокращать длинные URL-адреса.

    $ curl -F "url=https://example.com/some/very/long/url" "https://your-paste.com"
    

3. Все под контролем через командную строку

Вся магия происходит через простой HTTP API, с которым удобнее всего работать через curl. Это открывает безграничные возможности для интеграции.

Вот простой пример, как можно сделать удобную функцию в вашем .bashrc или .zshrc:

# Добавьте это в свой .bashrc или .zshrc
function rpaste() {
  # Загружаем файл, переданный как аргумент
  # или читаем из stdin, если аргумента нет
  curl -F "file=@${1:--}" -H "Authorization: ваш_токен" "https://your-paste.com"
}

Теперь можно делать так:

# Загрузить файл
$ rpaste my_script.sh

# Загрузить вывод команды
$ cat /var/log/nginx/error.log | rpaste

Просто, элегантно и невероятно мощно.

4. Никакой базы данных

Я уже упоминал это, но хочу подчеркнуть еще раз. Rustypaste хранит все загруженные файлы прямо в директории на сервере. Это означает:

  • Прозрачность: вы всегда видите, что и где лежит.
  • Легкость бэкапа: просто скопируйте папку.
  • Минимальные ресурсы: не нужно держать в памяти еще один сервис.

Для небольшого или личного проекта это огромный плюс.

Практическое применение: где это пригодится?

  • Командная работа: Быстро делиться логами, конфигами, скриптами между разработчиками и DevOps-инженерами.
  • Автоматизация: Использовать в CI/CD пайплайнах для выгрузки артефактов сборки или отчетов о тестировании.
  • Личный инструмент: Создать свой собственный сокращатель ссылок или сервис для обмена скриншотами (кстати, есть интеграция с ShareX).
  • Безопасный обмен секретами: Одноразовые ссылки — отличная альтернатива отправке паролей в мессенджерах.

Итоги: кому стоит попробовать?

Rustypaste — это блестящий пример Unix-философии в современном исполнении. Он не пытается быть всем сразу, а фокусируется на одной задаче и решает ее превосходно.

Этот проект идеально подойдет:

  • Системным администраторам и DevOps-инженерам, которые ценят простые и надежные инструменты для автоматизации.
  • Разработчикам, которым нужен приватный и быстрый способ обмениваться кодом и файлами.
  • Энтузиастам self-hosting, которые любят поднимать полезные сервисы на своих серверах.

Если вы устали от громоздких решений и ищете что-то легкое, быстрое и полностью под вашим контролем, обязательно дайте Rustypaste шанс. Уверен, вы не разочаруетесь. Развертывание займет от силы 10 минут, а пользы этот маленький, но гордый инструмент принесет надолго.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.