5.9 KiB
title: Chibisafe created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, file-management, nodejs, typescript, uploader, pomf, sharex, discord] confidence: high contested: false sources: [https://selfh.st/apps/?tag=File+Management, https://github.com/chibisafe/chibisafe]
Chibisafe 🐣
Service d'upload de fichiers moderne écrit en Node.js/TypeScript, conçu pour remplacer des services comme pomf.cat ou les CDN Discord. Interface web soignée, API REST complète, ShareX compatible (uploads depuis le presse-papiers), albums, et gestion de quotas.
| Métadonnée | Valeur |
|---|---|
| Site web | https://chibisafe.github.io/chibisafe/ |
| GitHub | https://github.com/chibisafe/chibisafe |
| License | MIT |
| Langage | TypeScript (Node.js + Fastify) |
| Étoiles | 302 ⭐ |
| Dernière MAJ | 2026-05 |
| Catégorie | cat-file-management |
Description
Chibisafe est né en 2018-2019 pour répondre à un besoin précis : avoir son propre service d'upload style pomf.cat ou litterbox.cat, mais auto-hébergé, moderne, et sans les limitations des alternatives SaaS. Le nom est un clin d'œil aux chibi (petit format japonais), sous-entendant « petit service, gros potentiel ».
Fonctionnellement, Chibisafe se concentre sur l'upload simple et rapide plutôt que sur l'exploration d'un filesystem (c'est la différence avec app-file-browser ou app-filegator). L'utilisateur arrive sur une page d'upload, drag&drop un fichier, et obtient une URL partageable. Pas de treeview, pas d'édition, juste de l'upload + partage + albums.
Les forces du projet :
- API REST complète :
POST /api/uploadaccepte multipart, retourne l'URL. Compatible avec app-sharex via le formatapplication/x-www-form-urlencodedou multipart. - Albums : regrouper des fichiers dans des galeries privées/publiques avec lien de partage.
- Quotas par utilisateur : limite de stockage configurable par compte.
- Stockage : filesystem local par défaut, S3-compatible optionnel (MinIO, Backblaze B2, Wasabi).
- Shortener d'URLs intégré.
- Authentification : comptes locaux, OAuth2 (Discord notamment), OIDC.
- Dashboard admin : stats, gestion des utilisateurs, modération.
- UI soignée : frontend Vue 3 + TailwindCSS, dark/light mode.
C'est l'outil parfait pour qui veut remplacer pomf.cat / 0x0.st en privé, ou fournir un service d'upload à une petite communauté (Discord, salon Telegram, etc.) avec une UX moderne.
Installation
Option 1 : Docker Compose (recommandé)
services:
chibisafe:
image: chibisafe/chibisafe:latest
container_name: chibisafe
restart: unless-stopped
ports:
- "8000:8000"
volumes:
- ./uploads:/home/node/chibisafe/uploads
- ./database:/home/node/chibisafe/database
- ./logs:/home/node/chibisafe/logs
environment:
- NODE_ENV=production
- BASE_URL=http://localhost:8000
- DB_TYPE=sqlite
- SECRET=***
UI sur http://localhost:8000. Créer le compte admin au premier accès (CLI : npm run create:user).
Option 2 : Manuelle (Node.js)
git clone https://github.com/chibisafe/chibisafe.git
cd chibisafe
pnpm install
pnpm build
pnpm start
# par défaut sur :3000
Configuration
- Premier admin : via CLI dans le conteneur, ou via l'endpoint
/api/auth/setupau premier démarrage. - Stockage S3 : configurer dans le dashboard admin → Settings → Storage, ou via env vars (
S3_*). - Limites d'upload :
MAX_FILE_SIZE(par défaut 100 Mo),MAX_FILES_PER_UPLOAD. - Quota utilisateur :
USER_QUOTA(par défaut 1 Go). - Auth : activer OAuth2 Discord, Google dans Settings → Auth.
- Reverse proxy : derrière app-caddy / app-traefik avec HTTPS. WebSocket non requis.
- ShareX : fournir un script
.sxcuaux utilisateurs pour upload depuis le client ShareX.
Alternatives
Open Source
- app-file-browser — Plutôt exploration de filesystem
- app-filegator — PHP multi-user, plus classique
- app-pomf — Le défunt pomf, réincarné en plusieurs forks
- app-pico-share — Go, minimaliste upload-only
- app-zipline — TypeScript/Go, plateforme upload moderne
- app-gokapi — Go, éphémère type GoFile
- app-ferrishare — WeTransfer-like
- ProjectSend — PHP upload multi-user
Propriétaires
- pomf.cat (historique, fermé)
- litterbox.cat (Cloudflare)
- 0x0.st
- imgur
- Gyazo
- Lightshot (client)
Sécurité
- HTTPS obligatoire (app-caddy / app-traefik).
- Activer la modération dans Settings → Moderation (anti-CSAM, anti-malware via app-clamav optionnel).
- Quotas stricts : un attaquant peut uploader massivement et saturer le disque. Quotas par user + alerte monitoring (app-dozzle).
- Rate limiting : activer dans la config pour éviter les abus sur l'endpoint
/api/upload. - Liste blanche d'extensions : bloquer
.exe,.bat,.scrsi exposition publique. - Antivirus : brancher app-clamav via l'API de scan.
- Logs :
./logscontient tous les uploads, à monitorer et à purger régulièrement. - Backups :
./uploadsest le cœur, à sauvegarder. La base SQLite./databasecontient les comptes.
Ressources
Pages Liées
- cat-file-management — Catégorie parente
- app-pico-share — Concurrent Go minimaliste
- app-zipline — Concurrent TypeScript moderne
- app-gokapi — Concurrent Go éphémère
- app-clamav — Antivirus à brancher
- app-sharex — Client compatible
- recettes-docker-compose — Templates Docker
- securisation-home-lab — Bonnes pratiques