4.8 KiB
title: Chhoto URL created: 2026-06-08 updated: 2026-06-08 type: app tags: [catalogue, url-shortener, self-hosted] confidence: high contested: false sources: [https://selfh.st/apps/?tag=42, https://github.com/SinTan1729/chhoto-url]
🔗 Chhoto URL
Chhoto URL est un raccourcisseur d'URL ultra-léger écrit en Rust, conçu pour être "blazingly fast" et tourner sur des configurations très modestes (RPi, NanoPi, vieux laptop).
📋 Informations Générales
| Métadonnée | Valeur |
|---|---|
| Site web | https://github.com/SinTan1729/chhoto-url |
| GitHub | https://github.com/SinTan1729/chhoto-url |
| License | MIT |
| Langage principal | Rust |
| Étoiles GitHub | 856 |
| Dernière MAJ | 2026-06-07 |
| Catégorie | cat-url-shortener |
📝 Description
Chhoto URL (chhoto signifie "petit" en bengali) est un raccourcisseur d'URL minimaliste écrit en Rust, dont la philosophie est la simplicité radicale et la performance. Le binaire compilé pèse quelques mégaoctets, consomme peu de RAM et démarre en quelques millisecondes, ce qui en fait un choix idéal pour les utilisateurs qui veulent auto-héberger un shortener sur du matériel modeste.
L'application couvre l'essentiel : raccourcissement avec slugs personnalisés, gestion de liens, support multi-domaine, protection par mot de passe, expiration, et un mode "API" simple. Elle inclut également une page de statistiques par lien affichant les visites de manière anonyme. L'UI est volontairement simple (HTML/CSS statique) et n'embarque pas de framework JS lourd.
Le projet est activement maintenu par SinTan1729. C'est le choix de la sobriété logicielle : pour ceux qui trouvent Kutt ou Dub trop lourds, Chhoto URL fait le job en consommant 1/10e des ressources. Idéal en RPi, en NAS, ou comme service de bord sur un serveur déjà chargé.
🚀 Installation
Docker Compose (recommandé)
services:
chhoto-url:
image: ghcr.io/sintan1729/chhoto-url:latest
container_name: chhoto-url
restart: unless-stopped
networks:
- web
- internal
environment:
- DATABASE_URL=postgresql://chhoto:***@db:5432/chhoto
- BIND_ADDRESS=0.0.0.0:4567
- SLUG_LENGTH=6
- SITE_URL=https:...om
- SECRET=*** labels:
- "traefik.enable=true"
- "traefik.http.routers.chhoto.rule=Host(`go.example.com`)"
- "traefik.http.routers.chhoto.tls.certresolver=letsencrypt"
- "traefik.http.services.chhoto.loadbalancer.server.port=4567"
depends_on:
- db
db:
image: postgres:16-alpine
restart: unless-stopped
networks:
- internal
environment:
- POSTGRES_USER=chhoto
- POSTGRES_PASSWORD=*** - POSTGRES_DB=chhoto
volumes:
- chhoto-db:/var/lib/postgresql/data
networks:
web:
external: true
internal:
volumes:
chhoto-db:
Installation manuelle
git clone https://github.com/SinTan1729/chhoto-url.git- Prérequis : Rust 1.74+, PostgreSQL 13+ (ou SQLite).
- Compiler :
cargo build --release - Lancer :
./target/release/chhoto-url
⚙️ Configuration
BIND_ADDRESS: interface d'écoute (par défaut0.0.0.0:4567).SLUG_LENGTH: longueur des slugs générés (5-8 recommandé).SITE_URL: URL publique pour les liens et l'UI.SECRET: chaîne aléatoire pour signer les sessions.- Activer le rate-limiting côté reverse proxy (Traefik, Caddy).
🔄 Alternatives
Open Source
- app-sink — autre Rust, plus riche (analytics, multi-domaine).
- app-shlink — PHP mature, REST API, géoloc GeoLite2.
- app-kutt — TypeScript, UI plus moderne, plus lourd.
- app-slash — Go, single binary, simple.
Propriétaires (ce que cette app remplace)
- bit.ly — leader freemium.
- tinyurl.com — historique, UI vieillissante.
- is.gd — minimaliste, sans analytics.
- t.co (Twitter) — intégré mais opaque.
🔐 Sécurité
- SECRET : chaîne aléatoire longue, à protéger.
- HTTPS strict : service exposé, ne jamais servir en HTTP.
- Rate limit : Traefik/Caddy middleware pour bloquer les abus de création.
- Backups DB : la table des liens est petite mais critique.
- Mises à jour Rust : l'image upstream est régulièrement rebuildée, suivre les releases.
📚 Ressources
- Site officiel : https://github.com/SinTan1729/chhoto-url
- Code source : https://github.com/SinTan1729/chhoto-url
- Documentation : https://github.com/SinTan1729/chhoto-url#readme
- Releases : https://github.com/SinTan1729/chhoto-url/releases
- Communauté : https://github.com/SinTan1729/chhoto-url/discussions
Pages Liées
- cat-url-shortener — Catégorie complète
- app-sink — Voisin Rust plus complet
- app-slash — Voisin Go minimaliste
- recettes-docker-compose — Templates Docker