99 lines
3.5 KiB
Markdown
99 lines
3.5 KiB
Markdown
---
|
|
title: Cryptgeon
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, file-sharing, e2e, encryption, paste]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=File+Sharing, https://github.com/cupcakearmy/cryptgeon]
|
|
---
|
|
|
|
# 📁 Cryptgeon
|
|
|
|
> Pastebin chiffré E2E pour texte et fichiers, inspiré de PrivateBin mais avec une UX moderne et un mode multi-fichiers.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Attribut | Valeur |
|
|
|----------|--------|
|
|
| **Nom** | Cryptgeon |
|
|
| **Slug** | cryptgeon |
|
|
| **Description** | Pastebin E2E avec support de fichiers chiffrés |
|
|
| **Site officiel** | https://cryptgeon.org |
|
|
| **Repository** | https://github.com/cupcakearmy/cryptgeon |
|
|
| **Stars** | 1 431 ⭐ |
|
|
| **Licence** | MIT |
|
|
| **Langage principal** | Rust |
|
|
| **Catégorie** | File Sharing |
|
|
| **Tags** | [catalogue, file-sharing, e2e, encryption, paste] |
|
|
|
|
## 📝 Description
|
|
Cryptgeon est un service de partage de notes et fichiers avec chiffrement E2E (end-to-end) côté client. Le serveur ne voit jamais le contenu en clair, ce qui en fait une solution idéale pour partager des secrets, snippets de code, ou fichiers sensibles en ayant la garantie mathématique que l'opérateur du serveur ne peut pas lire le contenu.
|
|
|
|
Le chiffrement utilise l'API Web Crypto avec AES-GCM 256 bits, la clé étant placée dans le fragment d'URL (partie après `#`), donc jamais transmise au serveur. Le serveur stocke uniquement le ciphertext, les métadonnées (date de création, expiration, nombre maximal de lectures) et un identifiant unique.
|
|
|
|
L'application se distingue de PrivateBin par son interface moderne (Vue 3 + Vite) et par le support natif des fichiers binaires en plus du texte. Le backend en Rust (Axum) garantit des performances élevées et une faible empreinte mémoire. Plusieurs backends de stockage sont supportés : fichier local, S3, mémoire, Redis, SQLite.
|
|
|
|
## 🚀 Installation
|
|
### Via Docker (recommandé)
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
cryptgeon:
|
|
image: cupcakearmy/cryptgeon:latest
|
|
container_name: cryptgeon
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:8080"
|
|
environment:
|
|
- SIZE_LIMIT=10M
|
|
- MAX_LIFETIME=604800
|
|
volumes:
|
|
- cryptgeon_data:/app/data
|
|
volumes:
|
|
cryptgeon_data:
|
|
```
|
|
|
|
### Installation manuelle
|
|
```bash
|
|
git clone https://github.com/cupcakearmy/cryptgeon.git
|
|
cd cryptgeon
|
|
# Backend Rust
|
|
cd server && cargo build --release
|
|
# Frontend Vue
|
|
cd ../app && pnpm install && pnpm build
|
|
# Lancer le binaire server
|
|
./target/release/cryptgeon
|
|
```
|
|
|
|
## ⚙️ Configuration
|
|
- `SIZE_LIMIT` : taille max par note/fichier (défaut 1M)
|
|
- `MAX_LIFETIME` : durée de vie max (secondes)
|
|
- `STORE` : backend de stockage (memory/file/s3/sqlite/redis)
|
|
- `ALLOW_FILES` : autoriser upload de fichiers (true/false)
|
|
|
|
## 🔗 Alternatives
|
|
- **Enclosed** — concurrent direct avec UX similaire
|
|
- **PrivateBin** — référence, plus mature, texte uniquement
|
|
- **0bin** — autre pastebin chiffré en Python
|
|
|
|
## 🔒 Sécurité
|
|
- Chiffrement E2E AES-GCM 256 bits côté client
|
|
- Clé dans fragment URL (jamais au serveur)
|
|
- Lectures uniques ou multiples configurables
|
|
- Pas de logs applicatifs par défaut
|
|
|
|
## 📚 Ressources
|
|
- [Site officiel](https://cryptgeon.org)
|
|
- [Documentation](https://github.com/cupcakearmy/cryptgeon#readme)
|
|
- [Démo publique](https://cryptgeon.org)
|
|
|
|
## 🔗 Pages Liées
|
|
- [[cat-file-sharing]] (n'existe pas encore, OK)
|
|
- [[app-enclosed]]
|
|
- [[app-traefik]]
|
|
- [[recettes-docker-compose]]
|
|
- [[securisation-home-lab]]
|
|
- [[cat-storage]] (n'existe pas, OK)
|