Initial vault setup
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
---
|
||||
title: Slash
|
||||
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/yourselfhosted/slash]
|
||||
---
|
||||
|
||||
# 🔗 Slash
|
||||
|
||||
> **Slash** est un raccourcisseur d'URL minimaliste écrit en Go par l'équipe yourselfhosted, pensé pour être déployé en single binary et offrir une expérience de partage simple.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Métadonnée | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | https://github.com/yourselfhosted/slash |
|
||||
| **GitHub** | https://github.com/yourselfhosted/slash |
|
||||
| **License** | AGPL-3.0 |
|
||||
| **Langage principal** | Go |
|
||||
| **Étoiles GitHub** | 3 161 |
|
||||
| **Dernière MAJ** | 2025-12-22 |
|
||||
| **Catégorie** | [[cat-url-shortener]] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
Slash est un raccourcisseur d'URL léger développé par **yourselfhosted**, collectif qui maintient plusieurs outils simples de self-hosting. L'application est écrite en Go, ce qui se traduit par un **single binary** de quelques mégaoctets, une empreinte mémoire minimale et un démarrage quasi-instantané — idéal pour un RPi ou un home-lab modeste.
|
||||
|
||||
L'interface propose l'essentiel : création de lien court avec slug personnalisé ou généré, gestion des liens (édition, suppression), QR code automatique, et un mode "partage" qui crée des liens enrichis avec un titre et un aperçu. L'application supporte plusieurs utilisateurs avec authentification email/password, et expose une **API REST** simple pour la création programmatique de liens.
|
||||
|
||||
L'UI web est volontairement sobre, sans Analytics complexes. C'est le choix de la simplicité et de la sobriété logicielle : pas de redondance avec des outils déjà déployés (Matomo, Plausible), pas de tracking caché. Le projet étant moins étoffé que Shlink ou Kutt, il est surtout adapté à un usage personnel ou en petit groupe privé.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Docker Compose (recommandé)
|
||||
|
||||
```yaml
|
||||
services:
|
||||
slash:
|
||||
image: ghcr.io/yourselfhosted/slash:latest
|
||||
container_name: slash
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- web
|
||||
- internal
|
||||
environment:
|
||||
- HOST=0.0.0.0
|
||||
- PORT=8080
|
||||
- BASE_URL=https://go.example.com
|
||||
- DB_TYPE=sqlite
|
||||
- DB_PATH=/data/slash.db
|
||||
- SECRET=*** labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.slash.rule=Host(`go.example.com`)"
|
||||
- "traefik.http.routers.slash.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.slash.loadbalancer.server.port=8080"
|
||||
volumes:
|
||||
- slash-data:/data
|
||||
|
||||
networks:
|
||||
web:
|
||||
external: true
|
||||
internal:
|
||||
|
||||
volumes:
|
||||
slash-data:
|
||||
```
|
||||
|
||||
### Installation manuelle
|
||||
|
||||
1. `git clone https://github.com/yourselfhosted/slash.git`
|
||||
2. Prérequis : Go 1.22+, SQLite (par défaut) ou Postgres.
|
||||
3. Compiler : `go build -o slash .`
|
||||
4. Lancer : `./slash` (écoute par défaut sur `:8080`).
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
- `BASE_URL` : URL publique servant les liens courts.
|
||||
- `DB_TYPE` : `sqlite` (par défaut, sans dépendance) ou `postgres`.
|
||||
- `SECRET` : chaîne aléatoire pour signer les sessions.
|
||||
- Créer le premier compte admin via l'inscription initiale.
|
||||
- `MAX_VISITS_PER_LINK` (optionnel) : limite de visites par lien.
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
### Open Source
|
||||
- [[app-sink]] — Rust, edge-ready, no-tracking, plus rapide à l'usage.
|
||||
- [[app-shlink]] — PHP mature, REST API, géoloc GeoLite2.
|
||||
- [[app-kutt]] — TypeScript, UI plus moderne et complète.
|
||||
- [[app-yourls]] — pionnier PHP, riche en plugins.
|
||||
|
||||
### Propriétaires (ce que cette app remplace)
|
||||
- **bit.ly** — leader freemium.
|
||||
- **short.io** — custom domain, freemium.
|
||||
- **ow.ly** (Hootsuite) — orienté social media.
|
||||
- **t.co** (Twitter) — intégré mais opaque.
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- **SECRET** : chaîne aléatoire longue, à régénérer si compromise.
|
||||
- **HTTPS strict** : service exposé, ne jamais servir en HTTP.
|
||||
- **HTTPS reverse proxy** : Traefik doit gérer le TLS, pas Slash directement.
|
||||
- **Backups SQLite/Postgres** : sauvegarder la base régulièrement.
|
||||
- **Updates fréquentes** : Go est rarement vulnérable, mais l'image upstream doit être suivie.
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- Site officiel : https://github.com/yourselfhosted/slash
|
||||
- Code source : https://github.com/yourselfhosted/slash
|
||||
- Documentation : https://github.com/yourselfhosted/slash#readme
|
||||
- API : https://github.com/yourselfhosted/slash#api
|
||||
- Communauté : https://github.com/yourselfhosted/slash/discussions
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-url-shortener|URL Shortener]] — Catégorie complète
|
||||
- [[app-sink]] — Voisin Rust
|
||||
- [[app-shlink]] — Alternative mature
|
||||
- [[recettes-docker-compose]] — Templates Docker
|
||||
Reference in New Issue
Block a user