Files
2026-06-09 18:40:21 +02:00

133 lines
4.6 KiB
Markdown

---
title: Paaster
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, pastebin, self-hosted]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=33, https://github.com/WardPearce/paaster]
---
# 📋 Paaster
> **Paaster** est un pastebin moderne écrit en TypeScript, avec chiffrement E2E, multi-utilisateurs, et une UX soignée pensée pour un usage quotidien.
## 📋 Informations Générales
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://paaster.io |
| **GitHub** | https://github.com/WardPearce/paaster |
| **License** | AGPL-3.0 |
| **Langage principal** | TypeScript |
| **Étoiles GitHub** | 544 |
| **Dernière MAJ** | 2026-06-03 |
| **Catégorie** | [[cat-pastebin]] |
## 📝 Description
Paaster est un pastebin moderne développé par WardPearce, avec une approche "user-friendly" assumée : UI claire en SvelteKit, multi-utilisateurs, et chiffrement **end-to-end** pour les pastes sensibles. Le projet vise un juste milieu entre la robustesse de PrivateBin et la modernité d'interface de Pastefy.
L'application supporte la création de pastes avec **chiffrement côté client** (AES-GCM via Web Crypto API), expiration temporelle (burn-after-read, durées configurables), syntax highlighting, et un système de comptes utilisateurs avec authentification OAuth. L'UI propose un mode clair/sombre et une preview rapide avant envoi. Le backend est en FastAPI (Python) ou Node.js, et le client est en SvelteKit.
Le projet est jeune (lancé en 2024) mais déjà solide pour un usage personnel ou en petite équipe. C'est une bonne alternative moderne à PrivateBin pour ceux qui veulent une UX contemporaine sans renoncer au chiffrement E2E.
## 🚀 Installation
### Docker Compose (recommandé)
```yaml
services:
paaster:
image: ghcr.io/wardpearce/paaster:latest
container_name: paaster
restart: unless-stopped
networks:
- web
- internal
environment:
- PASTER_HOST=0.0.0.0
- PASTER_PORT=80
- PASTER_URL=https:...om
- PASTER_SECRET=*** - PASTER_MONGO_URL=mongodb://mongo:27017
labels:
- "traefik.enable=true"
- "traefik.http.routers.paaster.rule=Host(`paste.example.com`)"
- "traefik.http.routers.paaster.tls.certresolver=letsencrypt"
- "traefik.http.services.paaster.loadbalancer.server.port=80"
depends_on:
- mongo
mongo:
image: mongo:7
restart: unless-stopped
networks:
- internal
volumes:
- paaster-mongo:/data/db
networks:
web:
external: true
internal:
volumes:
paaster-mongo:
```
### Installation manuelle
1. `git clone https://github.com/WardPearce/paaster.git`
2. Prérequis : Node.js 20+, MongoDB 6+.
3. Copier `.env.example` vers `.env` et configurer.
4. Lancer : `pnpm install && pnpm build && pnpm start`.
## ⚙️ Configuration
- `PASTER_URL` : URL publique servant l'application.
- `PASTER_SECRET` : chaîne aléatoire pour les sessions.
- Configurer OAuth (Google, GitHub, Discord) si besoin d'auth externe.
- Activer le rate-limiting (middleware FastAPI ou reverse proxy).
- Brancher un SMTP (optionnel) pour la récupération de mot de passe.
## 🔄 Alternatives
### Open Source
- [[app-privatebin]] — PHP, E2E, plus mature, plus minimaliste.
- [[app-chiyogami]] — Go + E2E, plus jeune.
- [[app-opengist]] — Go, multi-user, sans E2E.
- [[app-pastefy]] — Java, multi-user, organisation.
- [[app-wastebin]] — Go, minimaliste, sans E2E.
### Propriétaires (ce que cette app remplace)
- **pastebin.com** — historique mais UI vieillissante.
- **dpaste.org** — simple, pas d'auth.
- **ghostbin.org** — fermé, signal de la fragilité de ces services.
- **hastebin.com** — simple, pas de chiffrement.
- **gist.github.com** — privé si compte GH, public sinon.
## 🔐 Sécurité
- **Chiffrement E2E** : AES-GCM côté client, le serveur ne voit jamais le contenu.
- **PASTER_SECRET** : chaîne aléatoire longue, à protéger.
- **HTTPS strict** : service exposé, ne jamais servir en HTTP.
- **OAuth providers** : limiter les providers autorisés en production.
- **Backups MongoDB** : exporter régulièrement la collection des pastes.
- **Rate limit** : à activer sur l'API de création.
## 📚 Ressources
- Site officiel : https://paaster.io
- Code source : https://github.com/WardPearce/paaster
- Documentation : https://github.com/WardPearce/paaster#readme
- Démo : https://paaster.io
- Communauté : https://github.com/WardPearce/paaster/discussions
## Pages Liées
- [[cat-pastebin|Pastebin]] — Catégorie complète
- [[app-privatebin]] — Voisin E2E mature
- [[app-chiyogami]] — Voisin Go E2E
- [[recettes-docker-compose]] — Templates Docker