feat(alerte-depot): Add SecuBox Users HTTP authentication

- Fix auth for Streamlit container (no ubus access)
- Use HTTP JSON-RPC to /ubus endpoint for authentication
- Add ALERTE.DEPOT app source to repo
- Update HISTORY.md with VoIP and auth fixes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
CyberMind-FR 2026-02-25 14:54:33 +01:00
parent 701558f611
commit a1a01b362b
4 changed files with 1180 additions and 0 deletions

View File

@ -3669,3 +3669,30 @@ git checkout HEAD -- index.html
- `/srv/streamlit/apps/alerte_depot/app.py`: Full whistleblower platform
- `/srv/secubox/mesh/alertes-chain.json`: Audit blockchain
- `/usr/sbin/alerte-depot-cron`: Deadline monitor
37. **VoIP Voice Recorder Configuration (2026-02-25)**
- **Voice Recorder Mode:**
- All incoming calls sent directly to voicemail
- Automatic email notification with WAV attachment
- OVH SIP trunk integration for official number
- **Email Integration:**
- Created voicemail@secubox.in account in mailserver
- Configured msmtp in VoIP container
- Email subject template with caller ID
- **Files:**
- `/srv/lxc/voip/rootfs/etc/asterisk/voicemail.conf`
- `/srv/lxc/voip/rootfs/etc/asterisk/extensions.conf`
- `/srv/lxc/voip/rootfs/etc/msmtprc`
38. **ALERTE.DEPOT Authentication Fix (2026-02-25)**
- **Container HTTP Auth:**
- Streamlit container cannot access host `ubus` directly
- Changed authenticate_admin() from subprocess to HTTP API
- Uses http://127.0.0.1/ubus JSON-RPC endpoint
- **SecuBox Users Integration:**
- Admin login validates via luci.secubox-users RPCD
- Session tokens stored in /tmp/secubox-sessions/
- 24-hour token expiry
- **Test Credentials:**
- gk2 / Gk2Test2026
- ragondin / Secubox@2026

View File

@ -0,0 +1,107 @@
# 🚨 ALERTE.DEPOT — Formulaire Citoyen de Signalement
> Dispositif KISS de dépôt d'alertes pour non-professionnels
> Conforme **Loi Waserman n°2022-401** · **Directive UE 2019/1937**
> Intégration **Gitea** native · QR Code d'attestation · RIB SEPA
---
## 🚀 Installation rapide
```bash
# Cloner / télécharger le projet
cd alerte_streamlit
# Installer les dépendances
pip install -r requirements.txt
# Configurer les secrets Gitea
cp .streamlit/secrets.toml.example .streamlit/secrets.toml
nano .streamlit/secrets.toml # renseigner vos valeurs
# Lancer l'application
streamlit run app.py
```
L'application sera disponible sur `http://localhost:8501`
---
## ⚙️ Configuration Gitea
### Créer un token API dans Gitea
1. Connectez-vous à votre instance Gitea
2. `Paramètres``Applications``Générer un token`
3. Permissions nécessaires : **Issues** (write) + **Contents** (write)
4. Copiez le token dans `.streamlit/secrets.toml`
### Créer le dépôt récepteur
```
gitea.votredomaine.fr/<owner>/alertes
```
Le dépôt peut être **privé** — seul l'accès API est nécessaire.
---
## 🗂️ Structure des signalements dans Gitea
Chaque signalement crée :
- **Une Issue** : titre = `🚨 [type] gravité — TOKEN`
- **Un fichier Markdown** : `signalements/YYYY/MM/TOKEN.md` (optionnel)
- **Un label** : `🚨 alerte` (créé automatiquement)
---
## 📋 Fonctionnalités
| Fonctionnalité | Détail |
|---|---|
| 🕵️ **Anonymat** | 3 modes : anonyme / pseudo / identité protégée |
| 🎲 **Pseudonyme** | Génération aléatoire ou personnalisé |
| 📂 **8 catégories** | Fraude, Santé, Environnement, RGPD, Travail... |
| ⚡ **4 niveaux de gravité** | Faible → Critique |
| 📡 **5 canaux légaux** | Interne, AFA, DDD, Parquet, Public |
| 🔑 **Token de suivi** | Généré et téléchargeable en QR code |
| 📱 **QR Attestation** | PNG téléchargeable, encodage ECC niveau H |
| 🏦 **QR SEPA EPC** | Virement pré-rempli, montant sélectionnable |
| 📄 **Export Markdown** | Signalement complet téléchargeable |
| 🌿 **Gitea** | Issues + fichiers .md dans le dépôt |
---
## 🔒 Cadre légal intégré
- **Loi Sapin II** (2016) : fondements du dispositif
- **Directive UE 2019/1937** : délais (7j accusé, 3 mois retour)
- **Loi Waserman n°2022-401** (vigueur 01/09/2022) :
- Libre choix canal interne/externe
- Suppression désintéressement obligatoire
- Extension aux personnes morales (facilitateurs)
---
## 🏦 RIB — Soutien participatif
```
Bénéficiaire : Gérald Kerma
IBAN : FR76 2823 3000 0100 4454 7823 788
BIC : REVOFRP2
Banque : Revolut Bank UAB — 10 av. Kléber, 75116 Paris
```
---
## 🐛 Déploiement production
```bash
# Avec Docker
docker build -t alerte-depot .
docker run -p 8501:8501 -v $(pwd)/.streamlit:/app/.streamlit alerte-depot
# Avec systemd (Linux)
# Voir alerte.service
```
---
*CyberMind.FR — Usage éducatif et démonstratif*

View File

@ -0,0 +1,5 @@
streamlit>=1.35.0
requests>=2.31.0
qrcode[pil]>=7.4.2
Pillow>=10.0.0
python-dotenv>=1.0.0