99 lines
4.5 KiB
Markdown
99 lines
4.5 KiB
Markdown
---
|
|
title: UniFi Voucher Site
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, networking, unifi, hotspot, voucher, php, wifi]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=networking, https://github.com/davidmbyers/ubiquity-unifi-voucher-site]
|
|
---
|
|
|
|
# UniFi Voucher Site 🎟️
|
|
|
|
> Générateur de vouchers hotspot pour routeurs/pare-feux UniFi (Ubiquiti) avec interface PHP simple et impression facile.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://github.com/davidmbyers/ubiquity-unifi-voucher-site |
|
|
| **GitHub** | https://github.com/davidmbyers/ubiquity-unifi-voucher-site |
|
|
| **License** | MIT |
|
|
| **Langage** | PHP |
|
|
| **Étoiles** | 33 ⭐ |
|
|
| **Dernière MAJ** | 2023 |
|
|
| **Catégorie** | [[cat-networking]] |
|
|
|
|
## Description
|
|
|
|
**UniFi Voucher Site** est une application PHP légère qui s'interface avec un **contrôleur UniFi** (UniFi Network Application) pour générer des **vouchers hotspot** (codes d'accès invités). Le but : remplacer la console d'administration officielle par une page web simplifiée, accessible à des non-techniciens (réception d'hôtel, accueil d'une association, gérant de café), pour créer et imprimer des codes temporaires.
|
|
|
|
L'interface propose typiquement : choix de la durée (1h, 1 jour, 1 semaine), du débit (limité ou non), du nombre de vouchers à générer, et un bouton « imprimer » qui sort une feuille A4 prête à découper. Les vouchers générés apparaissent immédiatement dans l'UniFi Controller et fonctionnent avec n'importe quel AP UniFi configuré en mode hotspot.
|
|
|
|
Idéal pour les **petites structures d'hébergement** (gîtes, chambres d'hôtes, coworkings, fablabs) qui veulent offrir un Wi-Fi invité propre sans former le personnel à l'admin UniFi complète. Le code est volontairement minimal pour pouvoir être modifié facilement.
|
|
|
|
## Installation
|
|
|
|
### Docker Compose (recommandé)
|
|
|
|
```yaml
|
|
services:
|
|
unifi-voucher:
|
|
image: ghcr.io/davidmbyers/unifi-voucher-site:latest
|
|
container_name: unifi-voucher
|
|
restart: unless-stopped
|
|
environment:
|
|
- UNIFI_URL=https://unifi-controller.local:8443
|
|
- UNIFI_USER=admin
|
|
- UNIFI_PASS=changeme
|
|
- UNIFI_SITE=default
|
|
ports:
|
|
- "8086:80"
|
|
```
|
|
|
|
> ⚠️ L'image Docker n'est pas officielle : construire depuis les sources si nécessaire (`docker build .`).
|
|
|
|
### Manuelle (PHP + Apache/Nginx)
|
|
|
|
```bash
|
|
git clone https://github.com/davidmbyers/ubiquity-unifi-voucher-site.git
|
|
cd ubiquity-unifi-voucher-site
|
|
cp config.example.php config.php # éditer les credentials UniFi
|
|
# Servir le dossier via Apache/Nginx + PHP 7.4+
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Dans `config.php` (ou variables d'environnement en mode Docker) :
|
|
|
|
- **UNIFI_URL** : URL du contrôleur UniFi (souvent `https://controller.local:8443`)
|
|
- **UNIFI_USER/PASS** : compte admin local (pas un compte UniFi Cloud)
|
|
- **UNIFI_SITE** : nom du site (par défaut `default`)
|
|
- Le contrôleur UniFi doit être accessible depuis le conteneur (même réseau ou routage).
|
|
|
|
## Alternatives
|
|
|
|
- **Open Source** : [unifi-voucher-generator](https://github.com/rrbz/unifi-voucher-generator) (Python, plus complet), [UniFi-API-browser](https://github.com/Art-of-WiFi/UniFi-API-browser) (browser de l'API complète)
|
|
- **UniFi officiel** : la console du contrôleur permet déjà de générer des vouchers, mais sans la simplicité d'une page dédiée imprimable.
|
|
- **Propriétaire** : portail captif Ubiquiti intégré (déjà natif, mais interface plus complexe).
|
|
- **Autres portails captifs** : [CoovaChilli](https://coova.github.io/CoovaChilli/), [pfSense Captive Portal](https://docs.netgate.com/pfsense/en/latest/captiveportal/index.html).
|
|
|
|
## Sécurité
|
|
|
|
- **Compte admin UniFi** : créer un compte dédié à l'app avec droits limités (et non le compte admin principal).
|
|
- **HTTPS obligatoire** : placer derrière un reverse-proxy (Traefik, Nginx Proxy Manager) avec certificat Let's Encrypt.
|
|
- **Stockage des credentials** : variables d'environnement, jamais en clair dans le repo.
|
|
- **Logs** : surveiller l'accès à l'interface, car elle permet de générer des accès réseau.
|
|
- **Durée des vouchers** : limiter volontairement (ex. 24h) pour éviter l'abus.
|
|
|
|
## Ressources
|
|
|
|
- [selfh.st — Networking](https://selfh.st/apps/?tag=networking)
|
|
- [GitHub davidmbyers/ubiquity-unifi-voucher-site](https://github.com/davidmbyers/ubiquity-unifi-voucher-site)
|
|
- [UniFi API documentation](https://developer.ui.com/)
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-networking]]
|
|
- [[recettes-docker-compose]]
|
|
- [[app-unifi-poller]] — métriques UniFi (autre outil du même écosystème)
|