5.3 KiB
title: PrivateBin 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/PrivateBin/PrivateBin]
📋 PrivateBin
PrivateBin est le pastebin de référence pour la confidentialité : chiffrement côté client (AES-256), burn-after-reading, mot de passe, et zéro connaissance côté serveur.
📋 Informations Générales
| Métadonnée | Valeur |
|---|---|
| Site web | https://privatebin.info |
| GitHub | https://github.com/PrivateBin/PrivateBin |
| License | Zlib |
| Langage principal | PHP |
| Étoiles GitHub | 8 359 |
| Dernière MAJ | 2026-05-26 |
| Catégorie | cat-pastebin |
📝 Description
PrivateBin est né en 2016 comme un fork sécurisé du défunt ZeroBin. C'est aujourd'hui la référence du pastebin chiffré côté client : le texte est chiffré dans le navigateur (JavaScript) en AES-256-GCM avant d'être envoyé au serveur, qui ne stocke donc jamais de contenu en clair. Même l'administrateur de l'instance ne peut pas lire les pastes.
Le projet est volontairement minimaliste : un simple fichier index.php exécuté par PHP-FPM, des fichiers JSON pour la persistance, et un client JavaScript qui fait tout le travail cryptographique. Cette simplicité se traduit par une surface d'attaque minuscule et un audit de sécurité facile. Les fonctionnalités incluent : burn-after-reading (le paste disparaît après la première lecture), expiration temporelle, mot de passe, syntax highlighting pour 150+ langages, formatage Markdown, et téléchargements de fichiers (jusqu'à ~10 MB selon config).
L'UI web est sobre, sans tracking ni analytics. Le projet est audité régulièrement (Elifacta Security en 2024) et respecte les bonnes pratiques cryptographiques modernes (PBKDF2 pour les mots de passe, IV aléatoires, Web Crypto API). C'est le choix le plus recommandé pour partager du code ou des secrets temporairement sans dépendre d'un service tiers.
🚀 Installation
Docker Compose (recommandé)
services:
privatebin:
image: privatebin/nginx-fpm-alpine
container_name: privatebin
restart: unless-stopped
networks:
- web
- internal
environment:
- PB_PASSWORD_LENGTH=64
- PB_PASTE_COMPRESSION=1
- PB_PASTE_EXPIRATION_OPTIONS=5min,10min,1hour,1day,1week,1month,1year,never
- PB_PASTE_EXPIRATION_DEFAULT=1week
- PB_PASTE_MAX_LENGTH=1000000
- PB_FILEUPLOAD_MAX=10
labels:
- "traefik.enable=true"
- "traefik.http.routers.privatebin.rule=Host(`paste.example.com`)"
- "traefik.http.routers.privatebin.tls.certresolver=letsencrypt"
- "traefik.http.services.privatebin.loadbalancer.server.port=8080"
volumes:
- privatebin-data:/srv/data
- privatebin-cfg:/srv/cfg
networks:
web:
external: true
internal:
volumes:
privatebin-data:
privatebin-cfg:
Installation manuelle (LAMP)
git clone https://github.com/PrivateBin/PrivateBin.gitdans le DocumentRoot.- Configurer Nginx + PHP-FPM 8.2+.
- Éditer
cfg/conf.phpselon vos besoins. - Donner les droits d'écriture à PHP sur
data/.
⚙️ Configuration
PB_PASSWORD_LENGTH: longueur du sel (64 par défaut, sécurisé).PB_PASTE_EXPIRATION_OPTIONS: durées proposées à l'utilisateur.PB_PASTE_EXPIRATION_DEFAULT: durée par défaut.PB_FILEUPLOAD_MAX: taille max d'upload (10 MB recommandé).- Activer Clacks (header X-Clacks-Overhead) en hommage à Terry Pratchett.
🔄 Alternatives
Open Source
- app-paaster — TypeScript moderne, E2E, UX soignée, plus jeune.
- app-chiyogami — Go + E2E, interface moderne.
- app-opengist — Go, pastebin + snippets Git-like, multi-user.
- app-wastebin — Go, minimaliste, pas de chiffrement E2E.
- app-pastefy — Java, multi-user, organisation.
Propriétaires (ce que cette app remplace)
- pastebin.com — historique, propriété d'EA, fermé en 2024, UI vieillissante.
- dpaste.org — simple, pas d'auth, pas de chiffrement.
- ghostbin.org — fermé, signal de la fragilité de ces services.
- hastebin.com — simple, pas de chiffrement.
- gist.github.com — privé par défaut si compte GH, sinon public.
🔐 Sécurité
- E2E par défaut : le serveur ne voit jamais le contenu en clair.
- CSP headers : PrivateBin applique un Content-Security-Policy strict.
- HTTPS obligatoire : le chiffrement côté client perd toute valeur en HTTP.
- Burn-after-read : utiliser pour les secrets et credentials temporaires.
- Updates PHP : rester sur PHP 8.2+ pour les correctifs de sécurité upstream.
- Audit : le projet a été audité par Elifacta Security (rapport public).
📚 Ressources
- Site officiel : https://privatebin.info
- Code source : https://github.com/PrivateBin/PrivateBin
- Documentation : https://github.com/PrivateBin/PrivateBin/wiki
- Instances publiques : https://privatebin.info/directory/
- Audit sécurité : https://github.com/PrivateBin/PrivateBin/wiki/Security
- Forum : https://github.com/PrivateBin/PrivateBin/discussions
Pages Liées
- cat-pastebin — Catégorie complète
- app-paaster — Voisin E2E moderne
- app-opengist — Voisin multi-user
- recettes-docker-compose — Templates Docker