--- title: Flink 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://gitlab.com/rtraceio/web/flink] --- # 🔗 Flink > **Flink** est un raccourcisseur d'URL "zero-config" Ă©crit en Go, gĂ©nĂ©rant automatiquement des QR codes et offrant des analytics de base, sans base de donnĂ©es externe. ## 📋 Informations GĂ©nĂ©rales | MĂ©tadonnĂ©e | Valeur | | :--- | :--- | | **Site web** | https://gitlab.com/rtraceio/web/flink | | **GitLab** | https://gitlab.com/rtraceio/web/flink | | **License** | MIT | | **Langage principal** | Go | | **Étoiles GitHub** | 19 | | **DerniĂšre MAJ** | 2026-06-05 | | **CatĂ©gorie** | [[cat-url-shortener]] | ## 📝 Description Flink est un petit raccourcisseur d'URL Ă©crit en Go et hĂ©bergĂ© sur GitLab par rtraceio. Sa philosophie est le **"zero-config"** : on tĂ©lĂ©charge le binaire, on le lance, et il tourne. Pas de base de donnĂ©es externe (SQLite embarquĂ©), pas de fichier de configuration complexe, pas de dĂ©pendance tierce. L'application couvre l'essentiel : raccourcissement, gĂ©nĂ©ration automatique de **QR codes** pour chaque lien, suivi des visites (analytics basiques par compteur), slugs personnalisĂ©s, et exposition d'une page de statistiques par lien. L'UI est volontairement simple, sans fioritures. C'est un projet de niche, avec une communautĂ© restreinte, mais c'est un choix solide pour les amateurs de Go qui veulent un shortener qu'ils peuvent **lire et comprendre en une heure**. IdĂ©al pour un home-lab, un serveur perso, ou un test d'auto-hĂ©bergement. Pour un usage en production Ă  grande Ă©chelle, mieux vaut se tourner vers Shlink ou Dub. ## 🚀 Installation ### Docker Compose (recommandĂ©) ```yaml services: flink: image: registry.gitlab.com/rtraceio/web/flink:latest container_name: flink restart: unless-stopped networks: - web environment: - LISTEN_ADDR=0.0.0.0:8080 - BASE_URL=https://go.example.com - SHORT_CODE_LENGTH=6 labels: - "traefik.enable=true" - "traefik.http.routers.flink.rule=Host(`go.example.com`)" - "traefik.http.routers.flink.tls.certresolver=letsencrypt" - "traefik.http.services.flink.loadbalancer.server.port=8080" volumes: - flink-data:/data networks: web: external: true volumes: flink-data: ``` ### Installation manuelle (single binary) 1. TĂ©lĂ©charger le binaire depuis la page Releases GitLab. 2. `chmod +x flink && ./flink` 3. L'application Ă©coute par dĂ©faut sur `:8080` et stocke tout dans un fichier SQLite local. ## ⚙ Configuration - `BASE_URL` : URL publique servant les liens. - `SHORT_CODE_LENGTH` : longueur des slugs gĂ©nĂ©rĂ©s (5-8). - `LISTEN_ADDR` : interface d'Ă©coute. - Le projet Ă©tant minimaliste, la configuration se limite Ă  ces variables d'environnement. ## 🔄 Alternatives ### Open Source - [[app-sink]] — autre Rust minimaliste, plus rapide. - [[app-slash]] — autre Go, plus complet. - [[app-chhoto-url]] — Rust ultra-lĂ©ger. - [[app-kutt]] — TypeScript moderne, plus riche. ### PropriĂ©taires (ce que cette app remplace) - **bit.ly** — leader freemium. - **tinyurl.com** — historique, sans analytics. - **is.gd** — minimaliste. - **t.co** (Twitter) — intĂ©grĂ© mais opaque. ## 🔐 SĂ©curitĂ© - **HTTPS strict** : service exposĂ©, ne jamais servir en HTTP. - **Reverse proxy** : Traefik/Caddy en frontal, Flink reste en interne. - **Backups SQLite** : copier le fichier DB rĂ©guliĂšrement (il est petit). - **Rate limit** : Ă  mettre en place cĂŽtĂ© reverse proxy. - **Updates Go** : peu de failles en Go, mais suivre les releases upstream. ## 📚 Ressources - Site officiel : https://gitlab.com/rtraceio/web/flink - Code source : https://gitlab.com/rtraceio/web/flink - Documentation : https://gitlab.com/rtraceio/web/flink#readme - Releases : https://gitlab.com/rtraceio/web/flink/-/releases ## Pages LiĂ©es - [[cat-url-shortener|URL Shortener]] — CatĂ©gorie complĂšte - [[app-slash]] — Voisin Go plus complet - [[app-sink]] — Voisin Rust - [[recettes-docker-compose]] — Templates Docker