Files
wiki/Catalogue-Self-Hosted/apps/app-microbin.md
T
2026-06-09 18:40:21 +02:00

92 lines
3.8 KiB
Markdown

---
title: MicroBin
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, file-transfer-and-sync, pastebin, file-sharing, rust]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=file-transfer-and-sync]
---
# MicroBin 📋
> Pastebin & file share minimaliste, chiffré, en Rust.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://microbin.eu |
| **GitHub** | https://github.com/szabodanika/microbin |
| **License** | MIT |
| **Langage** | Rust |
| **Étoiles** | 3700+ |
| **Dernière MAJ** | 2025 |
| **Catégorie** | [[cat-file-transfer-and-sync]] |
## Description
MicroBin est un micro-service de **partage de texte et de fichiers** ultra-léger, conçu pour être déployé en 30 secondes sur un petit VPS ou un Raspberry Pi. Il gère à la fois les **pastes** (texte, code, markdown), les **fichiers** (jusqu'à plusieurs Go), les **URLs courtes** (redirection) et même un mini **file browser** privé.
L'interface web est volontairement sobre, sans tracking ni analytics. Toutes les actions sont disponibles via **API REST** complète, ce qui en fait un backend idéal pour des scripts (`curl -F file=@doc.pdf http://bin.example.com/upload`) ou des intégrations type Alfred/Raycast. La base SQLite embarquée rend la stack totalement stateless côté dépendance.
MicroBin supporte le **chiffrement côté client** (option `MICROBIN_ENC_KEY` ou via URL `#KEY`), la **protection par mot de passe** par item, l'**expiration temporelle** (burn after reading, ou TTL), la **liste noire** d'extensions, le **rate-limiting** et un système de **QR code** généré à la volée. C'est l'outil parfait pour partager un fichier ou un snippet de manière éphémère et confidentielle.
## Installation
### Docker Compose
```yaml
services:
microbin:
image: danielszabo99/microbin:latest
container_name: microbin
environment:
- MICROBIN_BIND=0.0.0.0:8080
- MICROBIN_DATA_DIR=/app/persistent_data
- MICROBIN_HIDE_FOOTER=true
- MICROBIN_FOOTER_TEXT=Mon-instance-privée
- MICROBIN_QR=true
- MICROBIN_PRIVATE=true
volumes:
- ./data:/app/persistent_data
ports:
- "8080:8080"
restart: unless-stopped
```
### Binaire unique (Linux)
```bash
wget https://github.com/szabodanika/microbin/releases/latest/download/microbin-x86_64-unknown-linux-musl -O microbin
chmod +x microbin && sudo mv microbin /usr/local/bin/
microbin --port 8080
```
## Configuration
1. Configurer le reverse proxy HTTPS (Caddy, Nginx, Traefik).
2. Paramètres utiles via variables d'environnement :
- `MICROBIN_MAX_SIZE=104857600` (100 Mo)
- `MICROBIN_EXPIRE_TYPE=read` (burn after reading)
- `MICROBIN_DEFAULT_EXPIRE_SECONDS=86400` (24h)
- `MICROBIN_AUTH_USERNAME` / `MICROBIN_AUTH_PASSWORD` (admin)
3. Authentification par utilisateur pour restreindre l'upload anonyme.
4. Personnaliser le thème (`MICROBIN_THEME=dark` ou `light`).
## Alternatives
- **Open source** : [[app-cryptpad]] (E2EE complet), PrivateBin (paste only), 0x0.st, Pastefy, Hastebin, PsiTransfer (fichiers), Pingvin Share (UI moderne).
- **Propriétaire** : Pastebin.com, GitHub Gist, WeTransfer.
## Sécurité
- Pas de tracking, pas d'analytics tiers.
- HTTPS obligatoire en production (Let's Encrypt).
- Authentification admin optionnelle (HTTP Basic).
- Chiffrement client-side possible (clé dans fragment d'URL).
- Rate-limiting intégré contre les abus.
- Pas de JS tiers, pas de CDN externe, compatible NoScript.
## Ressources
- Documentation : https://microbin.eu
- Démo : https://microbin.eu
- Code : https://github.com/szabodanika/microbin
- Releases : https://github.com/szabodanika/microbin/releases
## Pages Liées
- [[cat-file-transfer-and-sync]] — Catégorie parente
- [[app-cryptpad]] — Collaboration E2EE
- [[recettes-docker-compose]] — Modèles de stacks