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:
parent
701558f611
commit
a1a01b362b
@ -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
|
||||
|
||||
@ -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*
|
||||
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
Loading…
Reference in New Issue
Block a user