Je vous parlais hier d'une autre application pour raccourcir un lien. Peut-être auriez-vous envie de faire tourner un service de raccourcissement de liens sur un serveur peu puissant ou que vous soyez économe en ressources, Chhoto URL est très léger vu qu'il utilise quelques petits MB de RAM.
Aujourd'hui nous allons parler de Chhoto URL! Une application minimaliste qui permet de raccourcir les liens et de gérer ceux-ci par une interface simple et qui va à l'essentiel.
⚡ Caractéristiques
- Raccourcit les URL de n’importe quelle longueur en un lien généré aléatoirement.
- Vous permet de spécifier l'URL raccourcie au lieu de celle générée.
- L'ouverture de l'URL raccourcie dans votre navigateur vous redirigera instantanément vers l'URL longue correcte. (Donc pas de pages de redirection stupides.)
- Super léger et vif. (L'image Docker ne fait qu'environ 6 Mo et l'utilisation de la RAM reste inférieure à 5 Mo dans des conditions normales d'utilisation.)
- Compte le nombre de hits pour chaque lien court dans le respect de la confidentialité, c'est-à-dire que seul le hit est enregistré, et rien d'autre.
- Possède une interface utilisateur adaptée aux mobiles.
- Dispose d'un mode public, où n'importe qui peut ajouter des liens sans authentification.
- Permet de définir l'URL de votre site Web, au cas où vous souhaiteriez générer facilement des liens courts localement.
- Les liens sont stockés dans une base de données SQLite.
💾 L'installation
- Nous allons créer le network, tapez cette commande dans votre terminal:
docker network create "proxy"
- Créez votre compose.yml dans le dossier ou vous comptez installer Chhoto URL:
sudo nano compose.yml
- Collez ça dedans en prenant soin d'adapter ports et volumes suivant votre configuration:
version: '3.9'
services:
chhoto-url:
image: sintan1729/chhoto-url:latest
restart: unless-stopped
container_name: chhoto-url
ports:
- 4567:4567
environment:
# - db_url=/urls.sqlite
- site_url=https://chhoto.mondomaine.com
- password=test
# Pass the redirect method, if needed. TEMPORARY and PERMANENT
# are accepted values, defaults to PERMANENT.
# - redirect_method=TEMPORARY
# By default, the auto-generated pairs are adjective-name pairs.
# If you want UIDs, please change slug_style to UID.
# Supported values for slug_style are Pair and UID.
# The length is 8 by default, and a minimum of 4 is allowed.
# - slug_style=Pair
# - slug_length=8
- public_mode=Disable
# headers instead.
# - cache_control_header=no-cache, private
volumes:
- db:/urls.sqlite
networks:
- proxy
volumes:
db:
Veillez à changer:
- - site_url=https://chhoto.mondomaine.com => Replacez https://chhoto.mondomaine.com par votre domaine complet.
- - password=test => Si vous voulez rendre votre instance Chhoto URL accessible au public, il peut-être judicieux de désactiver l'authentification. Commentez la ligne, c'est à dire ajoutez un # en début de ligne, comme ceci:
- - public_mode=Disable => Si vous souhaitez rendre votre instance publique, remplacez Disable par Enable.
On va déployer l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
Rendez-vous sur votre domaine/sous-domaine:
https://chhoto.mondomaine.com
👤 Authentification
Si vous avez activé l'authentification, lorsque vous allez sur votre instance, cela se présente comme ceci:
Entrez le mot de passe choisi dans le compose.yml et cliquez sur Log in, vous arriverez sur votre instance:
🔗 Créer un lien raccourci
Raccourcir un lien avec Chhoto URL est un exercice facile:
- Long URL => Indiquez le lien à raccourcir.
- Short URL => Optionnel, si vous n'ajoutez pas un code personnalisé, il s'en chargera lui-même.
Cliquez sur Shorten! et voici le résultat:
Il suffira de partager le lien sous Short URL, un simple clic sur le lien le copie dans votre souris magique.
❌ Supprimer un lien
Rien de plus simple, cliquez sur la croix correspondante au lien à supprimer, en fin de ligne:
📊 Hits
Il vous est loisible de consulter le nombre de fois où on a cliqué sur votre lien tout en respectant l'anonymat de la personne qui l'a fait. Ce n'est qu'un simple compteur de cliques: