--- 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é) ```yaml 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 1. `git clone https://github.com/SinTan1729/chhoto-url.git` 2. Prérequis : Rust 1.74+, PostgreSQL 13+ (ou SQLite). 3. Compiler : `cargo build --release` 4. Lancer : `./target/release/chhoto-url` ## ⚙️ Configuration - `BIND_ADDRESS` : interface d'écoute (par défaut `0.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|URL Shortener]] — Catégorie complète - [[app-sink]] — Voisin Rust plus complet - [[app-slash]] — Voisin Go minimaliste - [[recettes-docker-compose]] — Templates Docker