Watch
1
0
Fork
You've already forked pasties
0
🦀 HTML pastebin and static site host
  • Rust 99.2%
  • Just 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-15 00:29:11 +02:00
src feat: started working on routing, added html sanitization 2026-08-15 00:22:43 +02:00
.gitignore initial commit 2026-07-11 15:21:15 +02:00
Cargo.lock chore: bump dependencies 2026-08-15 00:29:11 +02:00
Cargo.toml refactor: moved password hashing and verification to methods 2026-08-14 01:02:53 +02:00
config.example.toml feat: better errors, fixed sql bugs, began html templating 2026-08-14 22:15:35 +02:00
deny.toml docs: move to gnu agpl v3 license 2026-07-17 13:17:51 +02:00
justfile feat: started working on routing, added html sanitization 2026-08-15 00:22:43 +02:00
license docs: move to gnu agpl v3 license 2026-07-17 13:17:51 +02:00
readme.md docs: move to gnu agpl v3 license 2026-07-17 13:17:51 +02:00
rustfmt.toml style: changed rustfmt.toml, minor refactors 2026-08-14 01:15:54 +02:00

Warning

pasties is a work-in-progress project. Commits may be partial. Use at your own discretion. Nothing here is stable, and the schema, routes, and configuration are all subject to change without notice.

🦀 pasties

A small web service for publishing static pages ("pastes"). Registered users may upload pairs of HTML and CSS files and host them at a specified slug.

Features

  • User accounts with a simple profile: username, bio, and an avatar rendered from an external link.
  • One HTML file and one CSS file per page, addressed by a global slug.
  • A live, server-rendered preview that matches the published result exactly.
  • Page ownership with transfer, slug changes, and deletion.
  • Optional invite-gated registration, with codes minted by administrators.
  • An admin dashboard for managing users and pages.

Building and running

cp config.example.toml config.toml
cargo run -- config.toml

You can run the Postgres from a Docker container:

docker run --name pasties-pg \                                                                             
  -e POSTGRES_PASSWORD=pass \
  -e POSTGRES_USER=user \
  -e POSTGRES_DB=pasties \
  -p 5432:5432 \
  -d postgres:17

Configuration

All configuration lives in a single TOML file. See config.example.toml for the full set of options.

License

Copyright (C) 2026 Maxwell

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.