Initial vault setup
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user