Repolode
matze

matze/wastebin

用 Rust 编写的极简自托管 pastebin,支持加密、过期和阅后即焚的粘贴内容。

可替代:Pastebin

Star
886
Fork
68
未关闭 Issue
28
最近提交
18天前

这是什么?

wastebin 是一个可自托管的 pastebin,用于通过浏览器或 HTTP API 分享文本片段、日志和代码。它基于 axum 和 SQLite 构建,编译为单一二进制文件,内存占用较低。粘贴内容使用 zstd 压缩,语法高亮通过 syntect 支持 170 多种语言。

粘贴内容可用 ChaCha20Poly1305 加密,密码以 argon2 哈希保存;支持设置过期时间、首次读取后删除,或由匿名创建者凭令牌删除。Markdown 粘贴可渲染为 HTML,支持 GitHub 风格的表格、任务列表和提示块,原始 HTML 经 ammonia 清理。界面提供九款明暗主题,并可生成二维码方便在手机上打开。

项目不包含用户账户、管理后台和任意文件上传功能。由于缺少认证和完整的 DoS 防护,直接暴露在公网时建议放在带限流的反向代理之后。配置通过环境变量完成,附带的 wastebin-ctl 工具可直接在数据库中列出、清理或删除条目。

核心功能

  • 01基于 axum 和 SQLite,以单一二进制文件发布
  • 02使用 zstd 压缩,语法高亮支持 170 多种语言
  • 03Markdown 渲染支持表格、任务列表和提示块
  • 04使用 ChaCha20Poly1305 加密,密码以 argon2 哈希存储
  • 05支持过期时间、阅后即焚和凭令牌删除
  • 06提供九款明暗主题及二维码展示

适用场景

  • 在私有服务器上与团队分享代码片段或日志
  • 通过 curl 或 shell 函数从终端直接粘贴命令输出
  • 发送会过期或阅读一次后自动销毁的加密临时笔记
  • 使用 Docker 或 docker-compose 部署内部 pastebin

快速上手

  1. 1

    使用 rustup 安装 Rust 2024 工具链(Rust 1.85 或更新版本)

  2. 2

    使用 cargo 以发布模式构建并运行服务器

    cargo run --release

使用前须知

  • 它没有用户认证或管理功能,README 建议不要在没有速率限制或反向代理的情况下直接暴露到互联网。
  • 默认数据库路径为内存,除非设置 WASTEBIN_DATABASE_PATH,否则重启后粘贴内容会丢失。

收录于专题

标签

常见问题

wastebin 是什么?
用 Rust 编写的极简自托管 pastebin,支持加密、过期和阅后即焚的粘贴内容。 wastebin 是一个可自托管的 pastebin,用于通过浏览器或 HTTP API 分享文本片段、日志和代码。它基于 axum 和 SQLite 构建,编译为单一二进制文件,内存占用较低。粘贴内容使用 zstd 压缩,语法高亮通过 syntect 支持 170 多种语言。
wastebin 可以免费使用吗?用的什么许可证?
wastebin 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
wastebin 还在维护吗?
活跃维护中。wastebin 最近一次提交是在 2026年10月20日。
wastebin 适合用来做什么?
在私有服务器上与团队分享代码片段或日志 通过 curl 或 shell 函数从终端直接粘贴命令输出 发送会过期或阅读一次后自动销毁的加密临时笔记 使用 Docker 或 docker-compose 部署内部 pastebin
wastebin 怎么安装和运行?
使用 rustup 安装 Rust 2024 工具链(Rust 1.85 或更新版本) 使用 cargo 以发布模式构建并运行服务器: cargo run --release
在哪里获取 wastebin?
源代码和安装说明在 GitHub 上:https://github.com/matze/wastebin

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目