SAMM — SecuryTik Active Mikrotik
Manager — est une plateforme complète de gestion FAI pour les réseaux MikroTik PPPoE
& Hotspot. Un seul installateur transforme un serveur Linux nu en un système complet AAA,
de facturation et de gestion d'abonnés.
À qui s'adresse SAMM
SAMM est conçu pour les FAI sans fil, les opérateurs de fibre optique et les fournisseurs de points d'accès exécutant MikroTik RouterOS . Si vous authentifiez des abonnés via PPPoE, Hotspot ou IPoE/DHCP et que vous devez
imposez des niveaux de vitesse, des plafonds de données, des dates d'expiration et la facturation – SAMM fait tout cela à partir de
un écran.
Les abonnés IPoE/DHCP sont identifiés par leur identifiant de circuit DHCP Option 82 (l'identifiant physique
port d'accès - la manière professionnelle du FAI) ou le périphérique MAC, et le mot de passe de rayon du serveur DHCP est
simplement le secret partagé RADIUS du routeur, il n'y a donc rien de plus à fournir.
IPv6 double pile est une option facultative : chaque abonné peut bénéficier d'IPv6
aux côtés d’IPv4. Activez-le dans l'assistant du routeur et choisissez le préfixe délégué (DHCPv6-PD)
longueur – un /56 par défaut, ou entre /48 et /64 – et les blocs IPv6 à distribuer. Sur chaque
Access-Accept SAMM renvoie un pool WAN IPv6 plus un préfixe routé délégué au compte de l'abonné.
LAN, de sorte que le propre routeur du client (en mode route) le subdivise en /64 et exécute SLAAC pour
leurs appareils – le modèle standard de délégation de préfixe du FAI. Il fonctionne avec PPPoE, Hotspot et IPoE,
et un préfixe IPv6 statique peut être épinglé par abonné pour les clients professionnels.
Comment ça fonctionne
SAMM garde le chemin critique proche de la base de données. FreeRADIUS traite chaque
paquet d'authentification et de comptabilité ; à chaque Interim-Update de comptabilité, il appelle
directement les fonctions PostgreSQL pour accumuler l'utilisation et évaluer les limites — il n'y a aucun
aller-retour Python tant que les abonnés sont en ligne.
Quatre surfaces d'exécution coopèrent via la base de données unique :
FreeRADIUS (unlang + rlm_sql) — authenticates
every packet; on each Interim-Update it accumulates bytes/uptime and evaluates limits inside Postgres.
samm-radius — runs time-driven sweeps (expiry, daily reset, speed
windows) and is the only process that sends Change-of-Authorization packets.
samm-worker — pings routers and syncs MikroTik device metadata over the API.
samm-api — the admin & customer portals; admin actions are queued
to the database and applied by samm-radius, never sent as CoAs directly.
Les cinq services
Service
Rôle
samm-api
Portail admin + portail libre-service client + REST API
samm-radius
Vide la boîte d'envoi CoA ; effectue les balayages d'expiration/réinitialisation quotidienne/fenêtre de vitesse
samm-worker
Pings les routeurs ; synchronise les métadonnées des appareils MikroTik via l'API
samm-notification
Livre des notifications par e-mail & Telegram via une file d'attente limitée
samm-telegram
Exécute le bot Telegram interactif en libre-service
Ce que fait SAMM
Cœur AAA
Authentification PPPoE & Hotspot, application de la vitesse par utilisateur, CoA hybride.
Forfaits & limites
Niveaux de vitesse plus quatre limites indépendantes et fenêtres de vitesse planifiées.
Abonnés
Utilisateurs PPPoE, Hotspot et IPoE/DHCP, ainsi que des cartes de coupons Hotspot prépayées avec PDF imprimables.
Facturation
Tarification par forfait, factures automatiques, grand livre à double entrée pour reçus/paiements/dépenses.
Libre-service
Un portail web client et un bot Telegram pour l'utilisation, les factures et les tickets.
Opérations
Inventaire MikroTik en direct, administrateurs basés sur les rôles, sauvegarde & restauration, outils en masse.
Alertes de renouvellement, d'expiration, de quota et de reçu par e-mail et Telegram.
Le reste de ce manuel est un guide pratique pour chacun de ces domaines. Utilisez le menu de
gauche, ou commencez par Installation.
Premiers pas
Installation
SAMM installe tout ce dont il a besoin — FreeRADIUS, PostgreSQL, nginx, WireGuard,
cloudflared et les cinq services SAMM — en une seule étape. L'installateur est
idempotent : le réexécuter met à niveau une installation existante sur place et
n'écrase jamais votre configuration ni ne régénère votre mot de passe de base de données.
SAMM s'exécute n'importe où : choisissez le chemin d'installation qui correspond à votre réseau :
Ce script bootstrap télécharge le dernier bundle de version SAMM depuis GitHub, l'extrait
et exécute automatiquement l'installateur complet. Terminé en quelques minutes.
Si github.com est bloqué dans votre pays, utilisez le miroir hébergé sur Cloudflare — même installateur, rien n'est récupéré depuis GitHub. (La commande standard ci-dessus détecte aussi un GitHub bloqué et bascule d'elle-même sur ce miroir.)
Ou clonez le dépôt vers /opt/samm et exécutez sudo bash /opt/samm/install.sh.
Dans les deux cas, une fois l'installation terminée, ouvrez le portail d'administration et connectez-vous avec ces identifiants :
URL de connexionhttp://<your-server>/admin·Nom d'utilisateuradmin·Mot de passeadmin
Changez le mot de passe administrateur immédiatement après votre première connexion.
Installation
Option C : installer avec Docker Compose
Si vous préférez exécuter SAMM en tant que conteneurs (même produit, emballé différemment)\n utilisez la distribution Docker Compose sur github.com/mhdhaidarah/samm-docker .\n Sur n'importe quel hôte avec Docker disponible :
Cela installe Docker s'il manque, dépose un docker-compose.yml dans /opt/samm-docker/ avec un mot de passe de base de données aléatoire fort déjà renseigné, et démarre la pile. L'image mhdhaidarah/samm est construite à partir du même bundle compilé que l'installation bare-OS — closed source par construction.
Multi-arch — le même tag est publié pour linux/amd64 et linux/arm64, et la bonne variante est sélectionnée automatiquement depuis le tag : docker pull sur tout hôte Docker (Intel/AMD, serveur ARM, Mac Apple Silicon) et MikroTik RouterOS 7.23+ sur le routeur lui-même. Un fichier, toutes les plateformes.
Sur les hôtes où le transfert de curl vers bash n'est pas autorisé (boîtes verrouillées,
politiques de sortie strictes), vous pouvez récupérer directement le fichier de composition prêt à l'emploi :
git clone https://github.com/mhdhaidarah/samm-docker.git
cd samm-docker
# optional: edit docker-compose.yml and replace change-me-strong-random-string
docker compose up -d
Quelques fonctionnalités ne sont pas encore dans la variante Docker (verrouillage de licence par étapes, rechargement dynamique FreeRADIUS ).\n Les pages d'administration intégrées WireGuard et Cloudflare Tunnel sont intentionnellement masquées dans la variante Docker : elles gèrent les services systemd au niveau de l'hôte qui ne sont pas accessibles depuis l'intérieur du conteneur. Choisissez l'option A ou B ci-dessus si vous avez besoin de celles intégrées, ou exécutez cloudflared / wg-quick sur l'hôte Docker directement à côté de SAMM . Voir le\n README de la variante Docker pour les mises en garde complètes de la v1 et le chemin d'installation manuelle.
Sous Windows ( Docker Desktop ) : évaluation uniquement
Non recommandé pour la production. Windows veille/hibernation/fermeture du couvercle
arrête les conteneurs ; boot-restart ne se déclenche qu'au démarrage de WSL (pas au démarrage de Windows) ; le
Le cron de mise à jour automatique quotidienne ne s'exécute que lorsque WSL est actif. Utilisez-le pour une évaluation/démo, puis
déployer la production sur une VM Linux (Hyper-V, Proxmox, ESXi) ou un petit boîtier physique (par exemple un
NUC exécutant le serveur Ubuntu ).
Installer Docker Desktop pour Windows (permet de configurer le backend WSL2 au premier lancement).\n Ensuite, à partir de PowerShell — aucun terminal WSL nécessaire — récupérez le bundle de composition et démarrez la pile :
mkdir C:\samm-docker
cd C:\samm-docker
curl.exe -fLO https://github.com/mhdhaidarah/samm-docker/releases/latest/download/docker-compose.yml
# optional: notepad docker-compose.yml — replace change-me-strong-random-string with your own password
docker compose pull
docker compose up -d
Regardez le démarrage de la pile dans Docker Desktop → Conteneurs : le groupe samm se développe en 8 services. Une fois qu'ils sont tous verts, ouvrez le portail d'administration et connectez-vous avec ces informations d'identification :
URL de connexionhttp://localhost:8000/admin·Nom d'utilisateuradmin·Mot de passeadmin
Changez le mot de passe administrateur immédiatement après votre première connexion.
Si un vrai NAS MikroTik atteint cet hôte Windows pour RADIUS, autorisez UDP 1812 + 1813 via le pare-feu Windows :
Démonter : docker compose down -v à partir du répertoire d'installation
(le -v efface le volume postgres et la clé Fernet — sauvegardez-les d'abord si vous avez ajouté des données).
Installation
Option D — installer sur un routeur MikroTik (RouterOS 7.23+)
Le même SAMM, sans machine Linux. Si votre appareil MikroTik prend en charge le paquet container et dispose d'une clé USB ou d'une microSD, vous pouvez exécuter toute la pile directement sur le routeur — avec le même docker-compose.yml qu'ailleurs. RouterOS 7.23+ télécharge automatiquement la bonne architecture depuis les tags multi-arch, donc rien de spécifique au routeur à télécharger.
Pris en charge : tous les routeurs MikroTik compatibles avec les conteneurs : RB5009, hAP ax², CCR2004-1G-12S+2XS, CCR2116, CCR2216, L009 et similaires (arm64), plus x86 RouterOS et CHR (amd64). Non pris en charge : appareils armv7/mipsbe/smips/tile/ppc (hEX, RB750, anciens modèles RB) – pas de prise en charge des conteneurs ou trop peu de RAM/CPU pour la pile de SAMM . RouterOS 7.23 ou version ultérieure est requis (les anciennes versions ne peuvent pas sélectionner l'architecture à partir d'une balise multi-arch).
1. Préparez le routeur
Installez le paquet container (depuis extra_packages.zip sur mikrotik.com/download — téléversez le container-*.npk correspondant via Files, puis redémarrez). Activez ensuite le mode conteneur (une seule fois — il ne s'active qu'après une coupure d'alimentation physique, pas un simple redémarrage) :
/system device-mode update container=yes
# HARD reboot the router (unplug the power) — a soft /system reboot
# will NOT activate the container feature
2. Formatez et montez le disque (ext4)
Insérez une clé USB ou une carte microSD (≥ 8 Go recommandés – Postgres + les calques d'image s'additionnent). Sur le routeur :
/disk print
# note the disk slot, e.g. "usb1-part1" or "disk1"
/disk format-drive usb1-part1 file-system=ext4 label=samm
Après le formatage, vérifiez que le disque est monté et qu'il est accessible en écriture :
/disk print detail
# look for "type=ext4" and a mount point like "/usb1-part1"
3. Copiez le fichier compose
Un seul fichier pour toutes les plateformes. Remplacez change-me-strong-random-string (le mot de passe Postgres — la même valeur forte partout) et change-me-random-token. Puis dans WebFig/WinBox : Container → Apps → + New → YAML, collez, définissez le disque ext4 de l'étape 2 comme stockage et validez. RouterOS 7.23+ télécharge automatiquement la bonne architecture depuis les tags d'image.
Bloqué sur "waiting for reverse proxy" ? Sur RouterOS 7.23+, décochez Use HTTPS dans la boîte de dialogue Apps et redéployez — cette option contrôle le proxy de l'interface web de l'app, pas le téléchargement des images.
Une fois les conteneurs SAMM exécutés, ouvrez le portail d'administration dans un navigateur et connectez-vous avec ces informations d'identification :
URL de connexionhttp://<router-ip>:8000/admin·Nom d'utilisateuradmin·Mot de passeadmin
Changez immédiatement le mot de passe administrateur. L'authentification RADIUS + la comptabilité sont exposées sur UDP 1812 + 1813 sur le routeur lui-même, de sorte que le client RADIUS MikroTik peut pointer vers 127.0.0.1 avec le secret partagé que vous avez défini dans Système → RADIUS.
Chemin de déploiement expérimental. La fonctionnalité de conteneur de RouterOS est plus simple que celle de Docker Compose : le DNS du nom de service, l'ordre des dépendances ( depends_on ) et les redémarrages en direct se comportent différemment. Si la pile se comporte mal sur votre matériel, revenez à exécuter Docker sur un petit boîtier Linux (NUC, Pi 4, Linux VM) à côté du MikroTik . Le même fichier de composition y fonctionne avec la sémantique complète de Compose.
5. Mise à jour : sauvegarde et restauration manuelle
La mise à jour d'une application conteneur MikroTik supprime votre base de données. RouterOS ne peut pas modifier la version d'une application installée. Le seul moyen est de supprimer le
app et ajoutez-le à nouveau, et sa suppression supprime tout ce que l'application a stocké, y compris les SAMM base de données. Effectuez une sauvegarde et téléchargez-la sur votre ordinateur AVANT de supprimer le
application. Une sauvegarde laissée sur le routeur est supprimée avec tout le reste.
Pour déplacer une installation de conteneur MikroTik vers une nouvelle version :
Dans SAMM , accédez à Outils → Sauvegarde , créez une sauvegarde, puis téléchargez le fichier sur votre ordinateur .
Sur le routeur, supprimez l'application et ajoutez-la à nouveau avec la nouvelle
version.
Ouvrez le nouveau SAMM , accédez à Outils → Sauvegarde et restaurez le
fichier que vous avez téléchargé.
Cela s'applique uniquement au conteneur MikroTik . Le Docker ( Linux , Windows ou une VM Linux ) une mise à jour est docker compose pull alors docker compose up -d , et vos données restent intactes : les volumes se trouvent en dehors du
conteneurs et survivre.
Installation
Option E — SAMM Server ISO (installation appliance)
La SAMM Server ISO transforme toute machine ou VM vierge en serveur SAMM prêt à l'emploi : démarrez, choisissez DHCP ou IP statique sur le seul écran affiché, confirmez, et laissez faire. Elle installe Ubuntu Server 24.04 LTS (minimisé), nomme l'hôte samm-server, puis télécharge et installe automatiquement la dernière version de SAMM au premier démarrage — l'ISO ne devient jamais obsolète. La console affiche un écran de démarrage SAMM et une bannière de connexion avec l'IP du serveur, l'adresse du panneau d'administration et les identifiants par défaut, et la commande samm-tools donne un accès direct aux outils de maintenance (bilan de santé, sauvegarde/restauration de la base, réinitialisation du mot de passe admin).
L'ISO efface le premier disque de la machine. Ne la démarrez que sur du matériel ou une VM dédiés à SAMM. Si la machine est hors ligne pendant l'installation, la configuration se termine d'elle-même dès que l'internet est disponible.
Écrivez-la sur une clé USB (Rufus, balenaEtcher ou dd) ou attachez-la à une VM, démarrez et répondez à la question réseau. Identifiants par défaut après installation — panneau : admin / admin, OS : samm / samm ou root / samm — changez-les tous.
L'installateur s'exécute avec un affichage de progression en direct et coloré — une barre de pourcentage et une
liste de contrôle par phase. La sortie brute de chaque phase est capturée dans
/var/log/samm-install.log ; en cas d'échec, les 30 dernières lignes sont imprimées.
Composant
Détails
FreeRADIUS 3
Configuré avec un backend PostgreSQL et des clients NAS dynamiques ; validé avec freeradius -CX
PostgreSQL
Base de données, schéma et toutes les migrations SQL appliquées — chaque fichier de migration est idempotent
Python venv
Toutes les dépendances sont installées depuis requirements.txt ; les catalogues de traduction sont compilés. Si le Python de la distribution ne correspond pas au paquet compilé, l'installateur télécharge automatiquement un interpréteur autonome compatible dans /opt/samm/runtime
nginx
Proxy inverse ajouté de manière additive — les sites existants ne sont jamais supprimés. Utilise le port 80 s'il est libre ; sinon, demande un port alternatif
5 services
samm-api, samm-radius, samm-worker, samm-notification, samm-telegram — tous activés en tant qu'unités systemd
WireGuard
Paquets installés ; configurés ultérieurement depuis Système → VPN
cloudflared
Binaire toujours installé ; le jeton du tunnel est optionnel à l'installation ou ajouté ultérieurement depuis Système → Tunnel Cloudflare
Tous les identifiants — le mot de passe de la base de données et les clés de signature de session — sont
générés automatiquement à la première installation.
Invites interactives
Toutes les invites se produisent en amont, avant le début de l'installation :
Jeton Cloudflare — collez un jeton de connecteur Zero Trust pour publier
SAMM en ligne sans port ouvert, ou appuyez sur Entrée pour passer et le configurer plus tard.
Port HTTP — si le port 80 est déjà utilisé, l'installateur laisse
ces sites intacts et demande un port alternatif (par défaut 8080).
Résumé de l'installation
Lorsque l'installateur se termine, il imprime un résumé avec l'URL d'administration, l'identifiant par
défaut, le port HTTP choisi, les identifiants de la base de données et les chemins des fichiers de configuration :
============================================================
SAMM is installed and running.
Admin portal : http://localhost/admin/login
Default login : admin / admin <- CHANGE AFTER FIRST LOGIN
Config files : /etc/samm/samm.yaml /etc/samm/api.env
============================================================
Mise à niveau
Pour mettre à niveau, récupérez la nouvelle source et réexécutez l'installateur :
git -C /opt/samm pull # or unpack a newer release bundle
sudo bash /opt/samm/install.sh
La réexécution resynchronise la source, met à niveau le venv, réapplique toutes les migrations,
recharge les configurations FreeRADIUS et nginx, et redémarre chaque service. Vos fichiers
de configuration et le port HTTP choisi à la première installation sont préservés.
Conseil
SAMM peut aussi se mettre à jour lui-même — voir Licence & mises à jour.
Activez les mises à jour automatiques, ou appliquez-les à la demande, depuis Système → Licence.
Air-gap & BD distante
SAMM ne livre que SAMM — FreeRADIUS, PostgreSQL, nginx et le reste sont récupérés au
moment de l'installation depuis les dépôts apt en amont, donc les installations en air-gap doivent pré-installer ces
paquets. Pour un PostgreSQL distant, définissez le DSN dans /etc/samm/samm.yaml
après l'installation.
Premiers pas
Premières étapes
Cinq courtes tâches amènent une nouvelle installation au point où les abonnés peuvent se connecter et être facturés.
1 · Première connexion
Ouvrez http://<your-server>/admin/ (utilisez le port HTTP du
résumé de l'installation s'il n'est pas 80), ou l'URL de votre tunnel Cloudflare .
Connectez-vous avec admin / admin.
Changez immédiatement le mot de passe depuis Système → Administrateurs,
ou depuis le menu de profil dans la barre supérieure.
2 · Ajouter votre premier routeur
Allez dans MikroTik → NAS et cliquez sur Ajouter un routeur.
Entrez l'IP du routeur, un nom court et un secret partagé RADIUS. Pour les appareils
MikroTik, ajoutez éventuellement les identifiants API pour la synchronisation en direct de l'appareil.
Sur le MikroTik, ajoutez un serveur RADIUS pointant vers l'hôte SAMM (ports 1812/1813)
avec le même secret partagé, et activez RADIUS pour PPP / Hotspot.
Aucun redémarrage de FreeRADIUS n'est nécessaire — SAMM résout les clients NAS dynamiquement depuis la
base de données. Voir Routeurs (NAS) pour la procédure complète,
ou laissez l'assistant de configuration configurer le
MikroTik pour vous.
3 · Créer un forfait
Un forfait définit la vitesse, les limites et le prix que vous vendez. Allez dans
Utilisateurs → Forfaits → Nouveau forfait. Référence complète des champs :
Forfaits & limites.
4 · Ajouter un abonné
Allez dans Utilisateurs → Nouveau client, remplissez les identifiants de
connexion et choisissez un forfait. L'abonné peut se connecter immédiatement. Pour un accès hotspot
prépayé, générez plutôt des cartes-bons.
5 · Activer votre licence
Une installation neuve s'exécute non enregistrée à un palier minimum. Ouvrez
Système → Licence et activez pour lever les limites — voir
Licence & paliers.
Rythme quotidien
Ajoutez des routeurs → créez des forfaits → ajoutez des abonnés ou des cartes → surveillez le
tableau de bord → enregistrez les paiements sous
Comptabilité.
Premiers pas
Migrer depuis un autre système
Vous utilisez déjà un autre système de facturation RADIUS ? SAMM lit ses données et recrée vos forfaits et vos abonnés, sans que vous ayez à ressaisir quoi que ce soit. Les abonnés conservent leur mot de passe de service et leur date d'expiration, et continuent donc à se connecter exactement comme avant.
Allez dans Outils → Export / Import et choisissez votre ancien système sous Migrer depuis un autre système. Comme le reste des Outils, la fonction est réservée aux superadmins.
Ce qu'il faut envoyer
Ancien système
Fichier
D'où il provient
SAS4 / Radius Manager
.sql ou .sql.gz
Une sauvegarde MySQL de l'ancienne base de données
Super Speed Radius
.sql ou .sql.gz
Une sauvegarde MySQL de l'ancienne base de données
Pro Radius
.xlsx ou .csv
Sa liste d'abonnés exportée — ce système ne propose aucune sauvegarde
Les sauvegardes de bases de données pèsent souvent plusieurs gigaoctets ; ce n'est pas un problème, envoyez le fichier tel quel. Les sauvegardes compressées n'ont pas besoin d'être décompressées au préalable.
Comment ça fonctionne
Envoyez le fichier. Rien n'est encore écrit.
Examinez l'aperçu. Il liste les forfaits et les abonnés qui seraient créés, signale tout ce qu'il a dû ignorer ou corriger, et vérifie le total au regard de votre licence avant que vous ne validiez.
Choisissez ce qu'il advient des noms d'utilisateur déjà présents dans SAMM — les ignorer et conserver la fiche SAMM, ou mettre à jour son nom et ses coordonnées depuis l'ancien système.
Importez. Chaque ligne est écrite indépendamment : une seule ligne défectueuse n'annule jamais les autres.
Ce qui est transféré
Forfaits — nom, débits, prix, durée et quota de trafic lorsque l'ancien système les enregistre.
Abonnés — identifiant, mot de passe de service, nom, coordonnées, date d'expiration, forfait, IP statique et MAC.
Les abonnés désactivés dans l'ancien système restent désactivés.
La facturation, les factures, les cartes prépayées, les tickets, la comptabilité et les journaux d'administration ne sont pas importés, délibérément : ils relèvent du modèle de données de l'ancien système et se transposent rarement proprement.
Les valeurs qui ne correspondent pas à leur colonne
Les bases de données réelles sont désordonnées : une adresse saisie dans le champ e-mail, une note dans le champ mobile, un numéro de téléphone écrit au clavier arabe. SAMM vérifie chaque valeur au regard de ce que sa colonne est censée contenir. Tout ce qui ne convient pas est laissé en dehors de ce champ et enregistré à la place dans les notes internes de l'abonné, avec l'indication de sa provenance — ainsi rien n'est perdu et aucun champ n'est pollué. L'aperçu vous indique combien de valeurs sont concernées.
Pro Radius en détail
Pro Radius exporte les abonnés mais pas les forfaits ; SAMM déduit donc les forfaits du niveau de service de chaque abonné, en tirant le débit de son nom (un service nommé « 4MBPS » devient un forfait à 4 Mbps). Trois éléments sont tout simplement absents de ce fichier et reçoivent des valeurs par défaut raisonnables que vous devriez revoir ensuite :
Durée — fixée à 1 mois. La véritable date d'expiration de chaque abonné est importée telle quelle : cela n'affecte donc que les renouvellements futurs.
Débit montant — aligné sur le débit descendant.
Prix — fixé à 0.
Revoyez les forfaits avant de facturer
Après un import Pro Radius, ouvrez Forfaits et définissez le prix et la période réels de chacun. Tant que vous ne l'aurez pas fait, ces forfaits factureront zéro.
Bon à savoir
Vous pouvez le relancer sans risque. Réimporter le même fichier ignore tous ceux qui sont déjà présents au lieu de les dupliquer.
Votre licence s'applique toujours. Si le fichier contient plus d'abonnés que votre offre ne l'autorise, l'aperçu vous le dit d'emblée et vous indique combien tiendraient — vous pouvez passer à une offre supérieure, ou importer un sous-ensemble.
Faites d'abord une sauvegarde si vous importez dans une installation qui contient déjà de vraies données.
Abonnés & forfaits
Forfaits & limites
Un forfait est la définition de service attribuée aux abonnés — il définit
la vitesse, les limites et le prix. Créez des forfaits avant d'ajouter des utilisateurs.
Une installation neuve embarque déjà 9 offres prêtes à l'emploi — huit paliers de vitesse mensuels plus une offre de bridage « Expired » — vous pouvez vendre immédiatement ou créer les vôtres. L'amorçage ne s'exécute qu'à la première installation et n'écrase jamais vos offres.
Créer un forfait
Allez dans Utilisateurs → Forfaits.
Cliquez sur Nouveau forfait.
Remplissez le formulaire et cliquez sur Enregistrer le forfait.
Chaque limite est un interrupteur — n'activez que celles dont vous avez besoin. La même fenêtre modale modifie un forfait existant (ouvrez le menu ⋮ de la ligne → Modifier).
Champs du forfait
Champ
Signification
Nom
Nom unique de forfait, p. ex. Home-50M
Prix
Facturé par période de facturation lorsque la facturation est utilisée
Vitesse de téléchargement / envoi
p. ex. 50M, 512K, 1G — appliqué comme limite de débit MikroTik
Sessions simultanées
Combien d'appareils peuvent être connectés en même temps sur ce forfait. 1 par défaut — une deuxième connexion est refusée tant que la première est active. Mettez 0 pour illimité. Une session qui ne remonte plus rien est ignorée, si bien qu'une coupure ne bloque jamais l'abonné
Limite : Expiration
L'abonnement se termine une période fixe après l'activation (jours/mois/heures/minutes)
Limite : Quota
Un plafond de données total (combiné, téléchargement seul, ou envoi seul) pour tout l'abonnement
Limite : Disponibilité
Un plafond sur le temps de connexion cumulé — la somme de toutes les durées de session
Limite : Utilisation quotidienne
Un plafond de données qui se réinitialise chaque jour à l'heure de réinitialisation quotidienne configurée
Fenêtre illimitée
Ajout rapide d'une fenêtre de vitesse — l'éditeur complet se trouve sur la page Fenêtres de vitesse du forfait
Pool d'adresses IP
Nom optionnel de Framed-Pool RADIUS pour l'attribution d'adresse
Renouvellement automatique
Démarrer une nouvelle période à l'expiration au lieu de changer de forfait ou de déconnecter
Les quatre limites
Chaque limite est indépendante et optionnelle. Lorsque plusieurs sont définies, SAMM les vérifie dans un
ordre fixe — expiration → quota → temps en ligne → quotidien — et la première
épuisée décide de l'action.
Limite
Suit
À l'épuisement
Expiration
Temps calendaire depuis l'activation
Passer à un autre forfait ou déconnecter
Quota
Total d'octets utilisés
Passer à un autre forfait ou déconnecter
Disponibilité
Secondes de session cumulées
Passer à un autre forfait ou déconnecter
Quotidien
Octets depuis la dernière réinitialisation quotidienne
Bridage — aux vitesses saisies, ou via une offre plus lente — jusqu'à la prochaine remise à zéro quotidienne
Pour chaque limite, vous choisissez ce qui se passe à l'épuisement : choisissez une offre suivante vers laquelle basculer l'abonné, ou laissez — déconnexion —. La limite quotidienne bride au lieu de déconnecter : par défaut vous saisissez directement les vitesses de bridage (champs téléchargement / envoi), ou choisissez une offre « suivante » plus lente — dans les deux cas l'abonné revient automatiquement à son offre d'origine à la prochaine remise à zéro quotidienne.
Fenêtres de vitesse
Une fenêtre de vitesse remplace la vitesse de base du forfait pendant des heures définies — par
exemple une fenêtre à vitesse illimitée après minuit. Cliquez sur une ligne de forfait pour ouvrir son
éditeur de Fenêtres de vitesse, qui ajoute le contrôle par jour de la semaine et prend en charge
les fenêtres qui traversent minuit. Lorsque plusieurs fenêtres correspondent, celle à la
plus haute vitesse l'emporte.
Remarque
Les abonnés bridés ou ayant épuisé leur limite sont exclus des fenêtres
de vitesse — SAMM ne lève jamais la vitesse tant qu'une limite est en vigueur.
Deux notions d'utilisation
SAMM conserve l'utilisation à deux endroits, et ne les confond jamais :
Compteurs réinitialisables — l'état par limite. Remis à zéro par une réinitialisation
admin et par la réinitialisation quotidienne.
Compteurs de facturation — totaux à vie non réinitialisables. Jamais remis à zéro,
afin que les rapports et les factures restent exacts.
Gestion des forfaits
La liste des forfaits affiche la vitesse de chaque forfait, le nombre d'abonnés, les limites actives et les fenêtres
de vitesse. Depuis le menu ⋮ d'une ligne, vous pouvez modifier, ouvrir ses fenêtres de vitesse, l'activer/le désactiver,
accéder à ses abonnés ou le supprimer (uniquement lorsqu'il n'a pas d'abonnés). La modification
du renouvellement automatique propose de propager le changement à tous les abonnés actuels.
Dupliquer copie exactement un plan : vitesses, limites, fenêtres de vitesse et
prix - sous un nouveau nom, ce qui est beaucoup plus rapide que de reconstruire un tarif à la main pour en changer un
numéro. Si le nom que vous donnez est déjà pris, le prochain numéro libre est utilisé.
Abonnés & forfaits
Abonnés
Un abonné (client / utilisateur) est un compte PPPoE ou Hotspot qui
s'authentifie auprès de SAMM. Chaque abonné se voit attribuer exactement un forfait.
Créer un abonné
Allez dans Utilisateurs et cliquez sur Nouveau client.
Remplissez le formulaire et sauvegardez — l'abonné peut se connecter immédiatement.
Champ
Signification
Nom d'utilisateur *
Le nom de connexion PPPoE / Hotspot — doit être unique
Mot de passe *
Le mot de passe de connexion (stocké pour l'auth RADIUS PAP/CHAP)
Prénom / Nom
Le nom de l'abonné
Mobile / E-mail / Adresse
Coordonnées — utilisées pour les notifications et les factures
Forfait *
Le forfait de service à attribuer
Remplacement de l'expiration
Date d'expiration manuelle optionnelle au lieu de celle calculée par le forfait
Renouvellement automatique
Renouveler automatiquement la période du forfait à l'expiration
Créez plusieurs abonnés à la fois
Les nouveaux utilisateurs par lots créent une série de comptes numérotés en une seule passe :
la manière habituelle de remettre un bloc de connexions à un déploiement de village, à un hôtel ou à un revendeur.
Choisissez combien, à quel numéro commencer et combien de chiffres compléter (3 donne 001 , 002 , …); tout le reste (plan, expiration, renouvellement automatique) est
rempli une seule fois et appliqué à chacun d’eux. Ils partagent un mot de passe.
Le choix de facture s'applique à chaque utilisateur du lot séparément , donc une série de cinquante génère soit cinquante factures, soit aucune, et le
le total est affiché avant de vous engager.
La liste des abonnés
La page Utilisateurs liste chaque abonné avec un point de statut visible d'un coup d'œil, le forfait
attribué et ce qui reste de chaque limite — utilisation quotidienne avec une barre de progression, quota
restant, temps en ligne restant et jours restants. Filtrez par statut (Tous / Actifs / Suspendus
/ Expirés / En ligne) ou recherchez par nom d'utilisateur, nom ou mobile.
Le badge d'échange de forfait
Un seul badge correspond au forfait de l'abonné. Deux badges reliés par une flèche
signifient que l'abonné a atteint sa limite quotidienne et est temporairement placé sur un forfait
de bridage — il revient à l'original à la prochaine réinitialisation quotidienne.
Gestion d'un abonné
Cliquez-droit sur une ligne — ou utilisez le menu ⋮ — pour chaque action par abonné :
Action
Ce qu'il fait
Voir / Modifier
Ouvrir la page de détail, ou modifier les coordonnées, le mot de passe et l'expiration
Activer / Désactiver
Suspendre le compte — les abonnés en ligne sont déconnectés
Renouveler l'expiration
Ajoute la durée du forfait au temps restant ; génère une facture si le forfait a un prix
Réinitialiser la disponibilité / le quota / le quotidien
Mettre à zéro le compteur de limite choisi
Utilisation
Ouvrir les graphiques d'utilisation et l'historique des sessions
Supprimer
Supprimer l'abonné et tout son historique — les sessions actives sont d'abord déconnectées
Comment les actions prennent effet
Les réinitialisations, changements de forfait et renouvellements sont mis en file d'attente dans un journal d'audit et appliqués par le
tick samm-radius — généralement en quelques secondes. Si l'abonné est
en ligne, SAMM envoie également un rafraîchissement en direct. Voir
CoA & changements en direct.
La page de détail peut aussi révéler le mot de passe de connexion de l'abonné derrière un bouton œil (copie en un clic) — pratique quand un client demande ses identifiants.
La vue d'utilisation
L'action Utilisation ouvre une page de trafic détaillée pour un abonné,
avec un sélecteur de période 7j/14j/30j/90j. Il rapporte trois grands chiffres : Trafic d'aujourd'hui (avec la répartition téléchargement/téléchargement et les minutes en ligne), trafic de ce mois et temps de connexion cumulé pour le mois. En dessous se trouve un graphique du trafic quotidien des mises en ligne par rapport
téléchargement et un tableau complet de l' historique de session : l'heure de début et de fin,
durée, octets vers le bas et vers le haut, le NAS et la cause de fin de chaque session.
Opérations en masse
Pour changer le propriétaire, l'expiration, le statut ou le renouvellement automatique de plusieurs abonnés à la fois — ou
pour en supprimer plusieurs — utilisez les outils Modifications en masse et
Suppression en masse. Pour créer des abonnés en masse depuis une feuille de calcul, utilisez Export / Import.
Restreindre un abonné à des routeurs spécifiques
Un abonné (ou un groupe de cartes entier) peut être épinglé sur un NAS spécifique
routers à partir de son formulaire d'édition. Sans aucun routeur sélectionné, le compte fonctionne sur n'importe quel
NAS ; avec un ou plusieurs sélectionnés, l'authentification est acceptée seulement parmi ceux
routeurs - fermeture en cas d'échec appliquée à l'intérieur de RADIUS lui-même. Le changement d'appareil déconnecte tout
session en direct sur un routeur désormais interdit. Combiné avec l'administrateur By-NAS
cadrage, c'est ainsi que les configurations multi-agences et franchises conservent les abonnés de chaque agence
sur les routeurs de cette branche.
Abonnés & forfaits
Cartes Hotspot
Pour un accès Hotspot prépayé, générez un lot de cartes-bons
au lieu d'abonnés individuels. Chaque carte est une paire nom d'utilisateur/mot de passe avec sa propre
vitesse et ses propres limites, générée par milliers et imprimée pour distribution.
Créer un groupe de cartes
Allez dans Utilisateurs → Cartes Hotspot et cliquez sur Nouveau groupe.
Remplissez le formulaire ci-dessous et cliquez sur Créer le groupe — SAMM génère
automatiquement les identifiants de chaque carte.
Section
Champs
Identité
Nom unique de groupe, description, préfixe de nom d'utilisateur optionnel, nombre de cartes à générer (jusqu'à 10 000)
Identifiants
Format et longueur du nom d'utilisateur et du mot de passe (chiffres / lettres / alphanumérique)
Limite de vitesse
Vitesse de téléchargement et d'envoi — 256k, 6M, 1G ; 0 = illimité
Limite de transfert
Illimité, plafond combiné, ou plafonds séparés de téléchargement/envoi (Mo / Go / To)
Limites de temps
Plafond de temps en ligne, expiration après la première connexion, et une date "valable jusqu'au" pour le groupe
L'expiration se compte à partir de la première connexion de chaque carte, tandis que
valable jusqu'au est une date butoir ferme — les cartes ne peuvent pas être utilisées après,
qu'elles aient été activées ou non.
Gérer un groupe
Ouvrez le menu ⋮ d'un groupe pour activer ou désactiver toutes les cartes d'un coup, prolonger la date « valable jusqu'au », ajouter des cartes au lot, ou modifier ses détails. Une carte individuelle peut être réinitialisée (quota, durée ou expiration) ou désactivée depuis sa page de détail.
Le groupe en double copie exactement chaque paramètre et génère le même
nombre de cartes avec nouveaux codes : un code de carte ne peut appartenir qu'à une seule carte,
une copie est donc un nouveau tirage, pas un clone de l'ancien. C'est le moyen rapide de réorganiser un
lot de bons d'achat épuisé.
Statuts des cartes
Statut
Signification
Non utilisé
Généré mais jamais connecté
Actif
En cours d'utilisation, dans ses limites
Épuisé
Une limite (quota, disponibilité ou expiration) a été atteinte
Désactivé
Désactivé manuellement
Impression & suivi
Ouvrez un groupe pour voir ses cartes, imprimez-les en PDF pour distribution
(la mise en page d'impression utilise votre logo FAI depuis les Paramètres), et examinez l'utilisation par carte. Le trafic
des cartes apparaît également dans Rapports sous l'onglet
Cartes, et chaque groupe a sa propre vue comptable.
Abonnés & forfaits
Libre-service : les invités se connectent eux-mêmes
Le contraire d'un bon : personne n'imprime rien et personne
se tient à un bureau. Un visiteur se connecte à votre point d'accès, appuie sur S'inscrire sur la page de connexion, saisit son nom et son numéro de portable, et SAMM lui envoie un
mot de passe par SMS, WhatsApp ou e-mail. Ils le saisissent sur la même page et ils sont
en ligne - et vous conservez un enregistrement nominatif et exportable de toutes les personnes qui ont utilisé l'invité
réseau.
Lieux typiques : restaurants et cafés, hôtels et chambres d'hôtes,
expositions et foires commerciales, conférences, centres commerciaux, cliniques et salles d'attente,
gymnases, espaces de coworking, salons, salons d'aéroport, stades, campus, bibliothèques,
salles d'exposition automobiles, lieux de mariage, centres de villégiature et campings.
L'allumer
Commencez par configurer un canal de diffusion. Centre de notifications → activer les SMS ou WhatsApp et
envoyez-vous un message test. Rien d'autre ne fonctionne jusqu'à ce qu'un canal le fasse.
Libre-service → Paramètres : cochez Autoriser les invités à s'inscrire eux-mêmes , choisir les chaînes sur lesquelles
offre et définissez la durée de validité d'un mot de passe et la durée pendant laquelle un invité doit attendre
avant d'en demander un autre.
Laissez les codes d'accès proviennent de sur le libre-service
groupe de cartes, sauf si vous avez une raison de le changer - ce groupe décide de la vitesse
et combien d'appareils peuvent partager un même mot de passe.
Activez l'onglet S'inscrire pour chaque modèle de connexion que vous utilisez - voir ci-dessous. C’est l’étape que les gens manquent.
La page de connexion – l'étape que les gens manquent
L'onglet S'inscrire est par modèle de connexion et il est désactivé
par défaut. Ouvrez MikroTik Manager → le routeur → Page de connexion ,
modifiez le design que vous utilisez et cochez Autoriser le libre-service . Vous pouvez reformuler
chaque phrase qu'un invité voit sur le même écran - l'étiquette de l'onglet S'inscrire, l'intro
ligne, les deux étiquettes de champ, le bouton et les cinq réponses (« votre mot de passe est activé »).
son chemin », « vous en avez déjà un », « veuillez réessayer plus tard », « nous n'avons pas pu l'envoyer »,
"l'inscription n'est pas disponible").
Appuyez ensuite sur Push – et appuyez à nouveau après chaque SAMM mise à niveau.
Les pages de connexion Hotspot sont disponibles sur le propre stockage flash du routeur ,
pas sur SAMM . La mise à niveau de SAMM ne les repousse pas, donc un routeur continue de servir ses anciens
page - sans onglet Enregistrer dessus - jusqu'à ce que vous appuyiez à nouveau. SAMM vous avertit lors de la connexion
Onglet Page lorsqu'un routeur sert des pages plus anciennes que votre version installée, et l'onglet
La page Self Service nomme tous les routeurs qui ne peuvent pas afficher l'onglet et propose de les réparer
tout à la fois.
Les règles qui mettent fin aux abus
Un code secret actif par numéro. Demander à nouveau pendant qu'un
le code est toujours valide indique au client de vérifier ses messages au lieu de les envoyer
un autre.
Puis une période d'attente que vous avez définie, avant ce nombre
peut en demander un nouveau.
La validité compte à partir du moment où le code secret est envoyé ,
pas dès la première connexion – donc un code qui est resté inutilisé pendant une semaine ne le fait toujours pas
travail.
Un plafond quotidien défini par votre licence (voir ci-dessous). Une fois
il est épuisé, les invités sont invités à réessayer plus tard et les codes d'accès sont déjà émis
continuez à travailler.
Chaque tentative est enregistrée par rapport à l'adresse MAC de l'appareil comme
le routeur l'a signalé — ce qu'un invité ne peut pas simuler depuis son navigateur.
La licence
Le libre-service est sous licence séparément de votre forfait , selon le nombre de codes d'accès par jour pour l'installation\n peut émettre, et il se renouvelle à sa propre date — vous pouvez donc être gratuit avec un module complémentaire payant,\n ou sur Pro Max sans aucun. Chaque installation reçoit 10 par jour sans frais ;\n Light l'augmente à 50, Heavy à 200 et Max supprime la limite. Voir tarifs .
La page Libre-service affiche les utilisés/autorisés pour aujourd'hui et
dit clairement quand l'allocation a disparu. Achetez ou renouvelez depuis votre tableau de bord sur
securytik.com, ou demandez depuis Système → Licence et un
L'administrateur SecuryTik l'approuve. Un mot de passe qui n'a pas pu être délivré n'est pas utilisé
votre allocation.
Réseau & routeurs
Routeurs (NAS)
Un NAS (Network Access Server) est un routeur qui authentifie
les abonnés auprès de SAMM via RADIUS. Chaque routeur qui transporte du trafic d'abonnés
a besoin d'un enregistrement NAS.
Ajouter un routeur
Allez dans MikroTik → NAS et cliquez sur Ajouter un routeur.
Remplissez les champs ci-dessous et sauvegardez.
Champ
Signification
IP NAS / nom d'hôte
L'adresse du routeur, telle que vue par l'hôte SAMM
Nom court
Un label convivial affiché dans toute l'interface
Type
mikrotik débloque la synchronisation en direct de l'appareil et le push de configuration ; les autres types sont RADIUS uniquement
Secret
Le secret partagé RADIUS — doit correspondre exactement au routeur, sinon l'authentification échoue
Port CoA
Port UDP auquel SAMM envoie les paquets Change-of-Authorization (3799 par défaut sur MikroTik)
Port API / utilisateur / mot de passe
Identifiants API MikroTik que SAMM utilise pour lire les informations de l'appareil et pousser la configuration
Aucun redémarrage nécessaire
SAMM résout les clients NAS dynamiquement depuis la base de données — ajouter ou supprimer un
routeur ne nécessite jamais de redémarrage de FreeRADIUS.
La liste NAS
Chaque routeur s'affiche dans un seul tableau — ID, IP NAS / nom d'hôte, nom court, type, un
secret masqué (cliquez sur la cellule pour le révéler), les ports CoA et API, et un
résultat ping en direct avec le temps d'aller-retour. La boîte de recherche filtre par IP,
nom court ou description.
Le menu ⋮ de chaque ligne contient les actions par routeur — Voir l'appareil et
Actualiser les infos (MikroTik uniquement), Modifier, Pousser
la configuration RADIUS (MikroTik uniquement) et Supprimer. Ouvrir une
ligne de type mikrotik vous emmène directement à sa
page d'appareil.
Découvrir les voisins
Cliquez Discover neighbors pour balayer le réseau à la recherche d'appareils MikroTik (via le protocole de découverte de voisins MikroTik) et les ajouter comme enregistrements NAS sans saisir chaque adresse. Un routeur découvert peut être ajouté par IP, ou auto-ajouté — un amorçage en un clic qui crée un utilisateur de gestion SAMM sur le routeur, pousse une IP de gestion et supprime le pont d'usine.
L'auto-ajout est pour les routeurs vierges
L'amorçage en un clic est destiné aux appareils sortis d'usine (ou réinitialisés) — sur un routeur déjà configuré, il peut écraser ou casser la configuration existante.
Pousser la configuration RADIUS vers le routeur
Pour les enregistrements NAS MikroTik, le menu ⋮ de la ligne propose Pousser la configuration RADIUS
— SAMM configure le routeur pour vous via l'API au lieu que vous le tapiez à la main. Vous
confirmez l'IP du serveur SAMM (elle doit être accessible depuis le routeur) et les ports auth,
accounting et CoA ; SAMM crée ou remplace alors une entrée RADIUS sur le routeur :
Paramètre
Valeur
Commentaire
SAMM — l'étiquette que SAMM utilise pour trouver et mettre à jour cette entrée ultérieurement
Service
hotspot, ppp
Adresse / secret
L'hôte SAMM, avec le secret partagé de cet enregistrement NAS
Délai d'attente
3000 ms
CoA entrant
Accepté, sur le port CoA que vous avez confirmé
Le dialogue affiche un journal de résultats lorsque le push se termine.
Configurer le côté MikroTik
Si vous configurez le routeur manuellement :
Ajoutez un serveur RADIUS pointant vers l'hôte SAMM, avec le même secret
partagé, activé pour PPP / Hotspot.
Utilisez le port d'authentification 1812, le port de comptabilité 1813.
Acceptez les CoA entrants sur le port 3799.
Réglez l'intervalle Interim-Update de la comptabilité à environ 5 minutes (défaut de l'assistant SAMM) — c'est la fréquence à laquelle SAMM cumule l'usage et évalue les limites ; des intervalles plus courts réduisent la latence des limites au prix de plus de trafic de comptabilité.
Appareils de surveillance uniquement
Un routeur ajouté en tant que moniteur apparaît dans l'inventaire MikroTik et
est pingé et synchronisé, mais n'a aucun rôle RADIUS — il ne peut pas authentifier les abonnés. Utilisez-le
pour surveiller les routeurs qui ne sont pas des NAS d'abonnés.
Réseau & routeurs
Gestionnaire MikroTik
Lorsqu'un routeur dispose d'informations d'identification API, SAMM le gère directement via le MikroTik API – pas de WinBox, pas de SSH. Le MikroTik La section est un inventaire en direct de chaque routeur, et chaque appareil ouvre une page de détail avec
quinze onglets qui configurent presque toutes les parties de RouterOS depuis votre navigateur.
Moniteur MikroTik
MikroTik → Le moniteur affiche une carte par routeur, disposée
comme une grille. Rapports de chaque carte — actualisés par samm-worker et interrogés en direct
toutes les 30 secondes : le point d'accessibilité, la version RouterOS , la charge du processeur et le nombre de cœurs,
utilisation de la mémoire, nombre de sessions actives, temps de disponibilité et heure du dernier échantillon.
Une carte est étiquetée soit NAS (un routeur qui authentifie également
abonnés via RADIUS) ou moniteur (un appareil ajouté pour la surveillance
seulement). Ajouter MikroTik enregistre un nouvel appareil ; Actualiser maintenant impose un scrutin immédiat. Les cartes réservées au moniteur comportent un menu contextuel : Ouvrir, Modifier,
Actualiser les informations, Supprimer.
La page de l'appareil — quinze onglets
Ouvrez n'importe quel appareil pour sa page de gestion complète. Les onglets se répartissent en quatre groupes.
Surveillance
Onglet
Ce qu'il montre
Aperçu
Informations sur l'appareil, informations sur le système et graphiques d'historique des performances (CPU, mémoire, sessions au fil du temps)
Interfaces
Chaque interface avec son état actif, ainsi que l'historique du trafic par interface
Sites et applications
Trois sous-vues : Monitor (sites et applications vus sur le routeur avec historique de trafic), QoS (priorité par application, ci-dessous) et App Filter (blocage de contenu DNS depuis le catalogue)
Gestionnaire
L'onglet Gestionnaire → Général est la page de maintenance de l'appareil : Identité (le nom du routeur), Heure (horloge, fuseau horaire et
NTP) et Outils (redémarrage, ping et autres actions du routeur en un clic).
Configuration réseau
Onglet
Ce que vous configurez
Bridge
Créez des ponts LAN et choisissez quelles interfaces physiques (ports) appartiennent à chacun
VLAN
Ajouter et gérer des interfaces VLAN
IP
Trois sous-onglets : Statique (adresses statiques et dynamiques), Client DHCP (extraire une adresse en amont), Serveur DHCP (distribuer des adresses, avec une table de location en direct)
DNS
Sites et applications
WiFi / CAPsMAN
Interfaces Wi-Fi avec leurs configurations et profils de sécurité ; et le contrôleur CAPsMAN — configurations, règles de provisionnement et CAP distants
Services & maintenance
Onglet
Ce que vous configurez
PPPoE
Serveurs PPPoE, profils PPP, pools IP et intervalle de mise à jour intermédiaire de la comptabilité RADIUS
Hotspot
Serveurs hotspot, profils de hotspot et profils utilisateur, pools DHCP/IP et page de connexion au portail captif
Internet
Liaisons montantes WAN : WAN gérés par SAMM et routes par défaut, avec tous les WAN non SAMM existants affichés en lecture seule
Pare-feu
Règles de filtrage, analyse de sécurité du routeur, connectivité et cibles, modules de sécurité et sauvegardes du pare-feu — Auto-Security prend un instantané avant d'appliquer et peut armer un retour arrière temporisé : un jeu de règles qui vous enferme dehors est restauré automatiquement
Mise à jour
RouterOS mises à jour : choisissez un canal de mise à jour, vérifiez et appliquez, puis examinez les packages installés
Assistant
La première configuration guidée, ci-dessous
L'intervalle de mise à jour intermédiaire PPPoE
Dans l'onglet PPPoE , Mise à jour intermédiaire définit la fréquence à laquelle
Le routeur envoie des paquets de mise à jour intermédiaire de comptabilité RADIUS à SAMM . SAMM utilise ces paquets pour
accumuler des compteurs d'octets et de disponibilité et évaluer les limites de quota, quotidiennes et de disponibilité - sans eux, limitez l'application et les compteurs de sessions en direct se bloquent .
La valeur recommandée est 5m .
La page de connexion Hotspot
Depuis l'onglet Hotspot , vous gérez la page de connexion au portail captif :
conserver les MikroTik pages par défaut, appliquer l'un des modèles intégrés ,
ou appliquez l'un de vos designs enregistrés . SAMM inclut une conception visuelle
éditeur et une galerie de modèles - personnalisez une page de connexion et transférez-la directement vers le
point d'accès du routeur.
QoS par application
La vue QoS (un sous-onglet de Sites Web et applications) affiche les applications et les sites SAMM voit déjà sur le routeur un plan de priorité de téléchargement. Faites glisser chaque application du pool vers
l'un des huit emplacements prioritaires : l'emplacement 1 est servi en premier en cas de conflit, l'emplacement 8
dernier; les applications laissées dans le pool ne sont pas façonnées. Limitez éventuellement la vitesse de téléchargement de n'importe quelle application (par exemple 10M ) et définissez un plafond total de téléchargement pour lequel vous pourrez concourir en priorité. Distribution automatique
par catégorie organise tout en un clic : la messagerie d'abord, puis les services d'IA, puis
magasins, avec tout le reste ci-dessous.
Lorsque vous l'envoyez, SAMM compile les emplacements en un arbre de files d'attente MikroTik
(étiqueté SAMM:qos, parent=global) avec des règles de pare-feu de marquage de paquets correspondantes,
la priorité la plus élevée en premier. Il repose sur le même catalogue Sites web et applications
qui alimente la surveillance, de sorte que seules les applications réellement vues sur le routeur apparaissent — et la suppression
de SAMM QoS retire du routeur tous les objets SAMM:qos, en laissant vos compteurs
intacts.
L'assistant de configuration
L'onglet Assistant rassemble tout en dix courtes étapes et pousse la configuration complète vers le routeur en un lot à la fin. Rien n'est envoyé avant votre confirmation à l'étape de revue finale.
Bienvenue et détecter — SAMM sonde le routeur et montre ce qui se passe
déjà configuré, vous pouvez donc ignorer ces éléments dans le push.
Interface de pont : nommez le pont LAN.
Ports de pont : choisissez les interfaces physiques qui rejoignent le pont.
DNS : définissez des résolveurs en amont (préréglages en un clic pour Google , Cloudflare , Quad9 et plus), la taille du cache et éventuellement un filtre de contenu DNS.
NTP — définissez la source d'horloge du routeur (client NTP, et éventuellement servir l'heure au LAN).
Internet : ajoutez une ou plusieurs liaisons montantes WAN (statique/DHCP/PPPoE).
RADIUS vers SAMM : pointez le routeur vers votre hôte SAMM pendant
authentification, comptabilité et CoA.
Services : choisissez si l'assistant crée un serveur PPPoE, un
Serveur Hotspot, ou un service IPoE/DHCP, et éventuellement allumer IPv6 double pile (opt-in, désactivé par défaut) : sélectionnez le délégué (DHCPv6-PD)
la longueur du préfixe et les blocs IPv6 et l'assistant crée les pools et les attache au
Profil PPP.
Détails PPPoE / Hotspot et pare-feu — pools, profils, durées de bail, règles de pare-feu et NAT, plus un pool Expiré et blocage internet optionnel qui redirige les abonnés expirés vers la page « abonnement expiré » de SAMM au lieu d'une connexion morte.
Examiner et push — voir la liste exacte des commandes qui seront\n envoyés, puis envoyez-les tous au routeur.
La vitesse par utilisateur vient de RADIUS
L'assistant crée un seul profil PPPoE/hotspot — il ne pousse pas par niveau
profils. La vitesse de chaque abonné est fournie par SAMM dans la réponse RADIUS lors de la connexion,
les modifications de plan ne nécessitent donc jamais de modification du routeur.
Réseau & routeurs
CoA & changements en direct
CoA (Change-of-Authorization) est la façon dont SAMM modifie l'identité d'un abonné
session pendant qu'ils sont en ligne - pour augmenter ou diminuer leur vitesse, ou pour les déconnecter -
sans attendre qu'ils se reconnectent.
Comment un changement atteint un abonné actif
SAMM ne pousse jamais un changement de routeur directement à partir d'un clic sur un bouton. Chaque action d'administrateur suit un chemin sécurisé :
L'action est enregistrée dans un journal d'audit en tant que commande mise en file d'attente.
Le service samm-radius vide la file d'attente lors de son prochain tick, s'applique
le changement et, si l'abonné est en ligne, met en file d'attente un CoA.
La boîte d'envoi CoA est vidée et le paquet est envoyé au routeur.
Les événements temporels (expiration, bords de fenêtre rapide, réinitialisations quotidiennes) alimentent la même boîte d'envoi.\n La limite supérieure de la latence est d'un tick de samm-radius (30 s par défaut ; inférieure\n dans Paramètres pour une application plus stricte).
CoA hybride
SAMM envoie d'abord une CoA-Update pour modifier la session en place. Si
le routeur le rejette après les tentatives configurées, SAMM revient automatiquement à un Demande de déconnexion : l'abonné se reconnecte et récupère le nouveau
paramètres. Cette stratégie hybride fonctionne sur MikroTik versions de micrologiciel.
La page de la boîte d'envoi CoA
Utilisateurs → CoA Outbox est la vue en direct de cette file d'attente. samm-radius est le seul expéditeur – le panneau d'administration ne transmet jamais de CoA
directement - et il vide la file d'attente à chaque tick. La page s'actualise automatiquement tous les
30 secondes.
Six compteurs sont en tête de la page : En attente, Envoyé, NACK (nouvelle tentative), Terminé,
Échec et Total . Filtrer le tableau par statut, par action
( update ou disconnect ), ou effectuez une recherche par nom d'utilisateur, IP NAS ou
raison.
Statut
Signification
en attente
En file d'attente, en attente du prochain tick de samm-radius
envoyé
Expédié (transitoire — l'envoi et son résultat sont enregistrés dans le même tick, les lignes restent rarement dans cet état)
nack
Le routeur a rejeté la mise à jour CoA – SAMM réessaye, puis revient à une déconnexion
terminé
Candidature réussie
échoué
A abandonné après la limite de tentatives – survolez le badge pour la dernière erreur
Chaque ligne affiche l'utilisateur, le routeur, l'action, le nombre de tentatives, la raison, ainsi que les éléments créés et
heures d'envoi. Les actions par ligne vous permettent de réessayer un paquet ayant échoué ou échoué, Annulez un encore en vol ou ouvrez Attributs pour
inspectez les attributs RADIUS exacts que le paquet transporte. Le badge de la barre latérale compte
lignes en attente ; le tableau de bord suit les pannes sur 24 heures. Un système sain maintient cette file d'attente
presque vide.
Reaper de session obsolète
Si un routeur tombe en panne ou perd la connectivité, ses paquets Accounting-Stop peuvent être perdus :
et sur de nombreux systèmes, ces abonnés restent « en ligne » pour toujours. SAMM balayages pour les sessions
qui ont cessé d'envoyer des mises à jour intermédiaires et les ferme automatiquement (terminer
cause Reaped-Stale ), donc la liste des sessions en direct, les comptes d'utilisation simultanée et
les chiffres d'utilisation restent véridiques. Le délai d'expiration est de stale_session_timeout_seconds réglage (par défaut 900 s = 15 minutes ; définir 0 pour désactiver), et il prend effet en direct – non
redémarrage nécessaire.
Opérations quotidiennes
Tableau de bord & sessions en direct
Les deux écrans sous Présentation sont votre point de départ.
chaque quart de travail - le tableau de bord pour la santé de l'ensemble du système, les sessions en direct pour
exactement qui est connecté en ce moment.
Tableau de bord
Présentation → Tableau de bord est l'écran d'accueil de l'opérateur. Un
sélecteur de période en haut — Aujourd'hui, 7j, 14j, 30j, 90j — définit le
fenêtre pour le graphique de tendance et les chiffres limités par date.
Les six tuiles KPI
Chaque vignette est un compteur en direct et un raccourci : cliquez dessus pour accéder directement à la liste filtrée derrière le numéro.
Tuile
Affiche
Ouvre
En ligne maintenant
Abonnés avec une session RADIUS active en ce moment
Utilisateurs filtrés vers En ligne
Abonnés actifs
Comptes actifs avec le nombre total d'abonnés en dessous
Utilisateurs filtrés sur Actifs
Expiré
Abonnés dont l'abonnement a expiré sans forfait suivant défini
Utilisateurs filtrés sur Expirés
Tickets ouverts
Tickets d'assistance non résolus (hors terminés et fermés)
Utilisateurs → Tickets d'assistance
Routeurs
Total des enregistrements NAS, plus le nombre actuellement inaccessible
Le moniteur MikroTik
Factures impayées
Factures nécessitant encore un suivi de paiement
Factures filtrées sur Impayées
Graphique des utilisateurs & sessions en direct
Un graphique linéaire instantané quotidien trace trois séries sur la période sélectionnée : utilisateurs actifs , sessions en ligne et utilisateurs expirés : la croissance et le taux de désabonnement sont donc visibles en un coup d'œil.
Santé du pipeline
Ce panneau est le cœur du moteur d’application. Sur un système sain, le
les files d'attente sont égales ou proches de zéro - un nombre qui reste élevé indique un service bloqué ou un
le routeur rejette les modifications.
Métrique
Ce que ça signifie
samm-radius file d'attente
Les CoA en attente attendant le prochain tick – devraient être effacés en quelques secondes
CoA échoués (24h)
Zéro sur un système sain ; un nombre différent de zéro signifie qu'un routeur rejette les CoA
Journal d'audit en attente
Actions d'administration en file d'attente non encore appliquées par samm-radius
Sessions limitées
Abonnés actuellement limités à une vitesse réduite – attendu, pas une erreur
Instantané des sessions
Le nombre de sessions en direct – devrait suivre En ligne maintenant
Forfaits actifs
La taille de votre catalogue de plans
Le chemin d'application
Les actions d'administration sont mises en file d'attente vers samm.audit_log ; le samm-radius tick les draine et émet des CoA dans samm.coa_outbox . Le chemin complet est\n dans CoA & changements en direct .
Tableaux d'activité récente
Quatre tableaux sous le graphique donnent une vue dynamique de ce qui vient de se passer, chacun avec un Afficher tous les liens vers sa page complète :
Boîte d'envoi CoA récente : action, utilisateur, état (terminé/en attente/nack/échec), nombre de tentatives, motif et heure.
Actions d'administration récentes : action, cible, acteur qui l'a déclenchée, si elle a déjà été appliquée et heure.
Abonnés récents : les comptes les plus récents avec leur statut et l'heure de la dernière authentification.
Routeurs : chaque NAS doté d'un point de santé accessible/inaccessible/sans données.
Sessions en direct
Présentation → Sessions en direct répertorie tous les abonnés
les routeurs sont actuellement déclarés en ligne via la comptabilité RADIUS. La page s'actualise automatiquement toutes les 30 secondes ; un manuel Actualiser Le bouton se trouve dans l’en-tête.
Filtrer la liste
Recherche : correspond au nom d'utilisateur, à l'adresse IP encadrée ou à l'adresse IP du NAS, en soumettant au fur et à mesure que vous tapez.
Routeur : limitez la liste aux sessions sur un seul NAS.
Limité uniquement : affiche uniquement les abonnés auxquels une limite est maintenue à une vitesse réduite.
Par page : 20, 50, 100 ou 200 lignes.
Ce que chaque ligne montre
Colonne
Signification
Utilisateur
Nom d'utilisateur : liens vers la page de détails de l'abonné
IP attribuée
L'adresse attribuée par le routeur à cette session
Routeur
Le nom court du NAS et son adresse IP
Forfait
Le forfait actuel de l'abonné
Vitesse effective
La vitesse appliquée actuellement sur le routeur – la vitesse du plan ajustée par n'importe quelle fenêtre de vitesse active. Un badge limité signifie qu'une limite maintient l'abonné à une vitesse réduite.
Descendant / Montant
Compteurs d'octets en direct pour la session
En ligne
Combien de temps dure la session
Démarré
Quand la session a commencé
Déconnecter une session
Le bouton Déconnecter sur une ligne met en file d'attente un CoA-Disconnect pour cette session exacte (raison admin_manual ) après une invite de confirmation.\n L'abonné abandonne immédiatement ; si leur compte est toujours actif, ils sont libres de\n reconnecter. Suivez le paquet dans la Boîte d'envoi CoA .
Opérations quotidiennes
Rapports & analyses
Présentation → Rapports est la vue analytique – abonné
les tendances, le trafic au fil du temps et les utilisateurs et cartes les plus importants de votre réseau.
Choisir la plage
Chaque chiffre de la page est lié à une plage de dates. Choisissez un préréglage – 7d, 14d, 30d, 90d – ou tapez explicite start et terminez dates et cliquez sur Appliquer . Une superposition de chargement couvre
la page pendant qu'une requête à longue portée telle que 90d s'exécute.
Tendances abonnés & sessions
Un graphique linéaire avec trois séries sur la plage choisie : Actif abonnés, sessions en ligne et expirées abonnés. Utilisez-le pour repérer la croissance, le taux de désabonnement et les heures chargées de votre réseau.
Trafic quotidien
Un graphique à barres empilées de téléchargements et téléchargements octets
par jour. Le survol d'un jour affiche les chiffres de téléchargement et de téléchargement ainsi qu'un total au total dans le pied de page de l'info-bulle.
Listes Top 10
Quatre tableaux présentent vos comptes à trafic le plus important, chacun classé par volume en Go :
Liste
Classements
Top 10 téléchargement aujourd'hui
Plus grand téléchargement depuis la dernière réinitialisation quotidienne
Top 10 envoi aujourd'hui
Plus grand envoi depuis la dernière réinitialisation quotidienne
Top 10 téléchargement mensuel
Plus grand téléchargement ce mois calendaire
Top 10 envoi mensuel
Plus grand envoi ce mois calendaire
Trafic par entité
Un tableau paginé et consultable du trafic par compte. Deux onglets changent ce qu'il répertorie :
Utilisateurs : chaque abonné avec son nom, son forfait, le jour du jour
téléchargement/téléchargement en Mo, et téléchargement/téléchargement de ce mois-ci en Go.
Cartes : chaque carte de point d'accès avec son groupe, son statut et les mêmes
Répartition du trafic aujourd'hui/mois.
La zone de recherche filtre le tableau au fur et à mesure que vous tapez ; le
Le sélecteur par page prend entre 20 et 200 lignes. Chaque ligne renvoie à
la page de détails de cet abonné ou de cette carte.
Export
Les rapports sont une vue analytique à l'écran. Pour que les lignes brutes soient analysées dans une feuille de calcul,\n utilisez Outils → Exporter/Importer pour télécharger\n utilisateurs, forfaits ou NAS au format CSV / XLSX.
Opérations quotidiennes
Comptabilité & facturation
SAMM dispose d'un système complet de comptabilité en partie double intégré :
factures, dépenses, reçus, paiements, revendeurs, immobilisations et finances complètes
déclarations. Il n'y a pas de produit de facturation distinct à intégrer, ni de comptable
nécessaire de garder les livres clairs.
Vous ne touchez jamais aux débits et crédits
Chaque action — enregistrer un paiement, ajouter une dépense, vendre un groupe de cartes —
comptabilise automatiquement une écriture de journal équilibrée dans le grand livre. Vous
travailler en termes clairs (factures, dépenses, reçus) ; SAMM conserve la double entrée
livres dans les coulisses et prouve qu'ils s'équilibrent dans la balance de vérification.
La page Comptabilité est organisée en onze onglets.
Aperçu
Le portrait financier. Quatre grands chiffres figurent en tête :
Chiffre
Signification
Trésorerie disponible
Solde total sur tous les comptes de caisse & bancaires
L'argent qui vous est dû
Créances — factures clients et revendeurs impayées
Argent que vous devez
Dettes — dépenses impayées
Bénéfice ce mois
Revenus moins dépenses pour le mois en cours
Ci-dessous : un tableau de chaque cash & compte bancaire avec son solde, et un
Tableau des revenus par rapport aux dépenses au cours des 1, 2, 3, 6 ou 12 derniers mois.
Factures
Une facture est une note que vous émettez. Cliquez sur Nouvelle facture et remplissez :
Champ
Signification
Client
Recherche par saisie anticipée du compte facturé
Catégorie de revenus
Sur quel compte de revenus la vente est enregistrée
Date d'émission / d'échéance
Date d'émission vierge = aujourd'hui ; date d'échéance vide = la date d'émission
Taux d'imposition % / groupe de taxe
La valeur par défaut est le tarif dans Paramètres → Facturation ; attribuer un groupe de taxe pour appliquer plusieurs taux (TVA/TPS et plus) à la fois, chaque imputation sur son propre compte de taxe
Lignes de commande
Une ou plusieurs lignes de description/quantité/prix unitaire — calcul du sous-total, des taxes et du total en direct
Combien facturer : complet, segmenté ou rien
Partout où SAMM est sur le point de facturer un abonné : activation, renouvellement, modification d'un
plan, prolonger une expiration ou effectuer l'une de ces opérations en masse - la même chose
L' sélecteur de factures apparaît et affiche l'argent avant votre engagement :
Choix
Ce qu'il facture
Facture complète
Périodes entières du plan uniquement : une période partielle est arrondie à une période entière.
Facture segmentée
L'heure exacte, au prorata de la dernière période partielle. Le total est arrondi au montant entier le plus proche, la différence étant comptabilisée sous forme d'ajustement d'arrondi afin que les livres restent équilibrés.
Pas de facture
Changez de service et ne facturez rien : une extension de bonne volonté, une migration, une correction.
Définissez la durée avec le multiplicateur de périodes pour des périodes entières du plan,
ou tapez une date exacte et laissez SAMM déterminer ce que cela coûte. Dans tous les cas, le panneau affiche le
les éléments de campagne, la taxe et le total au fur et à mesure que vous les modifiez, et Payé enregistre un paiement en espèces
paiement immédiat du montant total.
"Pas de facture" c'est un droit, pas une case à cocher
Ne rien facturer est une décision financière, elle est donc limitée par une autorisation par rôle dans Paramètres → Administrateurs . C'est le plus important avec agents : un agent dont les abonnés facturent sur leur propre solde prépayé
pourrait autrement renouveler, modifier les forfaits et prolonger les expirations toute la journée sans jamais payer
eux. Les nouveaux rôles obtiennent le droit désactivé .
Relance et portefeuille prépayé
Au-delà des factures uniques, SAMM automatise l'ensemble du cycle de recouvrement. Un programme de relance définit un jour de facturation, un jour d'échéance et un jour de blocage automatique :
avec des frais de retard facultatifs — afin que les abonnés en retard soient rappelés, puis coupés, sans vous
regarder une feuille de calcul. Un mode portefeuille prépayé permet aux abonnés de détenir un
solde qui règle automatiquement les factures au renouvellement ; ils le rechargent eux-mêmes à partir du
portail client par carte ou crypto, et chaque recharge et déduction est publiée dans le grand livre.
Les factures sont également générées automatiquement lorsque le forfait d'un abonné
est renouvelé (à partir de l'action Renouveler l'expiration de l'utilisateur ou par renouvellement automatique), à condition que
le plan a un prix. La liste filtre par statut : impayé, partiel, dû,
payé — et recherche par numéro de facture ou client. Ouvrez n'importe quelle facture pour son
page de détail et un PDF imprimable ; les abonnés peuvent télécharger leurs propres copies à partir du
portail client et bot Telegram .
Dépenses
Une dépense est l’argent dépensé pour faire fonctionner le FAI. Nouvelle dépense enregistre un
catégorie (le compte de dépenses), le fournisseur payé, le montant, la date engagée et un
date d'échéance facultative. Chaque dépense a le même impayé / partiel / dû / payé cycle de vie sous forme de facture, de page de détails et de bon PDF imprimable.
Reçus & Paiements
Ces deux onglets enregistrent les liquidités réellement en mouvement, distinctes de la facture ou de la dépense.
c'est qui l'a causé .
Reçus : argent dans : espèces reçues d'un client, d'un
revendeur, ou d'autres revenus, atterrissant sur l'un de vos comptes de trésorerie. Une facture est le
facture; le reçu est l'argent qui arrive contre lui.
Paiements – argent sorti : espèces payées pour une dépense ou
à un revendeur.
L'enregistrement d'un reçu ou d'un paiement déplace la facture ou la dépense correspondante vers a payé et publie l'écriture comptable correspondante.
Clients & Ventes de cartes
L'onglet Clients répertorie le solde courant de chaque client : ce qu'il
je vous dois. Les ventes de cartes couvrent les revenus des points d'accès prépayés : elles suivent les ventes groupes de cartes et revendeurs . Un revendeur achète la carte entière
groupe votre demande sur une facture, puis revend les cartes individuelles aux utilisateurs finaux ; leur solde dû est ce qu'ils doivent encore vous payer.
Agents — facturation en gros
Un agent revend votre service aux clients finaux selon un modèle de gros prépayé — pensez à une franchise ou à un sous-distributeur qui gère son propre portefeuille d'abonnés tout en s'appuyant sur votre réseau. C'est entièrement facultatif : si vous ne créez jamais d'agent, la facturation fonctionne exactement comme avant.
Deux dettes, clairement séparées
L'agent vous doit à vous le prix de gros (dans vos livres, c'est votre revenu) ; le client doit à l'agent le prix de détail (hors de vos livres — c'est la créance propre de l'agent). Votre commission est l'écart entre les deux, comptabilisé comme une remise commerciale, jamais comme une charge.
Créez un agent dans Paramètres → Administrateurs en attribuant à un nouvel administrateur le rôle intégré Agent. Un agent est un compte administrateur à portée limitée doté de :
Paramètre
Signification
Commission %
La part de l'agent sur le prix de détail (p. ex. 40% — vous conservez 60% en revenu de gros). Modifiable par agent, à tout moment.
Limite de crédit
Jusqu'où le solde prépayé de l'agent peut devenir négatif avant que les renouvellements soient refusés. Mettez 0 pour un prépayé strict.
Solde prépayé
Rechargez-le quand l'agent vous paie ; chaque renouvellement y prélève le prix de gros.
Lorsqu'un abonné de l'agent est renouvelé, SAMM prélève le prix de gros sur le solde de l'agent, comptabilise votre revenu et émet une vraie facture de détail au client final, payable à l'agent et hors de votre grand livre. Le recouvrement côté agent — avec son propre interrupteur sous Paramètres → Facturation, activé par défaut, avec un délai de grâce modifiable — suspend automatiquement un client non payeur (en envoyant une déconnexion CoA) ; quand l'agent enregistre le paiement du client, l'abonné est réactivé aussitôt.
Un agent se connecte à une vue à portée limitée : son propre tableau de bord, une page portefeuille Mon solde, une liste Mes clients avec les factures et paiements de chaque client, et un Mon relevé — le tout limité à son propre portefeuille. Les livres de toute votre entreprise, les autres agents et les clients des autres administrateurs restent masqués.
Actifs & Comptes de caisse
Actifs : enregistrez immobilisations (routeurs,
véhicules, équipements). SAMM suit leur valeur et leur dépréciation au fil du temps.
Cash : gérez votre cash et votre compte. comptes bancaires ,
et vos comptes de capital : capitaux propres, où un apport est
l'argent que le propriétaire met dans l'entreprise et un retrait est de l'argent retiré. Capitale
n'est pas un revenu et n'apparaît jamais dans Profit & Perte.
Rapports — les états financiers
L'onglet Rapports est la vue du comptable. Cinq déclarations, chacune
plage de dates et exportable au format PDF :
Rapport
Répond à
Profits & Pertes
Revenus par rapport aux dépenses et bénéfice net sur une plage de dates. Base d'exercice : les revenus comptent lorsqu'ils sont facturés, les dépenses lorsqu'elles sont engagées, et non lorsque les liquidités sont transférées.
Bilan
À compter d'une date : ce que vous possédez (actifs) par rapport à ce que vous devez (passif) plus les capitaux propres. Un badge équilibré confirme la correspondance des deux côtés.
Flux de trésorerie
Par compte de trésorerie : solde d'ouverture, entrée d'argent, sortie d'argent, solde de clôture sur une plage.
Vieillissement
Les créances et dettes impayées sont triées par tranches d'âge, afin que vous puissiez rechercher les factures en retard et garder une longueur d'avance sur les factures.
Avancé
Les livres bruts : le grand livre général (chaque ligne d'un compte avec un solde courant), la balance de vérification (le contrôle des livres équilibrés), le journal et un journal d'activité.
La vérification d'équilibre
Dans la Balance de vérification , les colonnes de débit et de crédit de chaque compte doivent
l'égalité totale — c'est la preuve que les livres sont solides. Si jamais il est déséquilibré,
cela indique une erreur de publication qui mérite d'être étudiée.
Exporter vers un logiciel de comptabilité
Sous Comptabilité → Rapports → Exporter, téléchargez les livres en CSV pour QuickBooks, Xero ou tout tableur : Journal général, Plan comptable, Factures, Balance de vérification, Pertes & Profits et Bilan. Le Journal général, les Factures et le P&P utilisent la plage de dates ; le reste est à la date du jour. Les mêmes données sont disponibles via l'API sur GET /api/v1/accounting/export/{kind} (format=json|csv, portée accounting:read) pour les pipelines BI et Zapier. Les exports excluent les écritures annulées, si bien qu'un téléchargement correspond toujours aux rapports affichés.
Opérations quotidiennes
Annuler et approbations
La plupart des erreurs dans un panel de FAI sont des erreurs financières : le mauvais abonné a été renouvelé,
un paiement enregistré deux fois, un forfait modifié sur le mauvais compte. SAMM vous donne un fenêtre d'annulation de cinq minutes sur ces actions, et - lorsqu'une action rapporte de l'argent
retour – une porte d'approbation du superadministrateur avant qu'elle ne prenne effet.
La fenêtre d'annulation
Chaque action administrative qui déplace de l’argent ou un état est enregistrée au fur et à mesure. Pour le
Dans les cinq minutes suivantes , la barre supérieure comporte un bouton Annuler et un
Liste Historique des actions : cliquez sur la flèche pour annuler la dernière action ou ouvrez la liste
historique et revenir à n’importe quel point de la fenêtre. Rétablir le remet en place.
Pourquoi seulement cinq minutes
Une annulation n'est pas une machine à voyager dans le temps, c'est un filet de sécurité pour le clic que vous venez d'effectuer.
Au-delà de quelques minutes, le monde a changé : l'abonné est en ligne, une facture
a été payé, quelqu'un d'autre a modifié l'enregistrement. SAMM préfère refuser plutôt que discrètement
réécrivez l'historique, de sorte que l'étape quitte simplement votre historique lorsque la fenêtre se ferme.
Une annulation refuse - avec la raison à l'écran - alors que l'inverser détruirait quelque chose qu'elle n'a pas créé :
Refus
Ce que ça signifie
Ce dossier n'existe plus
L'abonné, la facture ou le paiement ont été supprimés après votre action, il n'y a plus rien à remettre.
Ce disque existe à nouveau
Quelque chose a été recréé à sa place ; l’annulation écraserait l’enregistrement le plus récent.
L'annulation est une inversion de , pas une suppression : l'action d'origine et son annulation
les deux restent dans le Journal d'audit , donc l'enregistrement de ce qui s'est passé est
jamais perdu. Les actions qui créent quelque chose vous avertissent clairement : annuler cette opération supprimera
ce qu'il a créé - avant leur exécution.
La porte d'approbation des agents
Un agent paie lui-même pour un abonné
solde prépayé au moment où ils en activent un. Cela fait de l'inversion de une action
un moyen de récupérer de l'argent — et un moyen de tricher : activez un abonné, laissez-le utiliser le
mois entier, puis supprimez-les le dernier jour et récupérez les frais.
Ainsi, SAMM divise les actions d'un agent selon la manière dont l'argent circule :
Direction
Exemples
Comportement
Coûte de l’argent à l’agent
Activer, renouveler, changer de forfait, encaisser un paiement client
Immédiat. Le travail quotidien d'un agent n'attend jamais personne.
Rembourse l'argent
Annuler, supprimer un abonné, supprimer une facture, annuler une collecte
Garé sur demande. Rien ne change jusqu'à ce qu'un superadministrateur l'approuve.
Les actions fermées ne se produisent pas à moitié. La demande est stockée avec tout le nécessaire pour
l'effectuer plus tard, et l'approbation de le rejoue via le même code que l'agent
avoir exécuté — jamais une deuxième implémentation qui pourrait s'écarter de la première. Rejeter
laisse le monde exactement tel qu'il était et l'agent conserve la charge.
Travailler la file d'attente
Les demandes arrivent dans Comptabilité → Approbation des agents avec le
agent, l'action, à quoi elle fait référence et combien d'argent elle rapporte — le
numéro qui prend la décision. Filtrez par agent ou statut, recherchez, cochez plusieurs et approuvez ou rejetez ensemble ; un rejet peut être court
raison, que l'agent voit.
Déléguez-le
Examiner les agents toute la journée est rarement le travail du superadministrateur. Le
Le droit Approbation des agents peut être accordé à n'importe quel rôle dans Paramètres → Administrateurs , donc la personne qui effectue réellement la révision
obtient exactement ce pouvoir – et rien d’autre. Création de et gestion des séjours d'agents
réservé aux super-administrateurs. Personne ne peut décider de sa propre demande.
Ce que voit l'agent
Un agent obtient une page Mon compte → Approbations en attente .
énumérant tout ce qu'ils ont demandé : ce qui est toujours en attente et ce qui a été approuvé ou
rejeté - avec la raison de l'examinateur. Sans cela, un refus serait impossible à distinguer
d'une demande qui avait disparu, et ils demanderaient simplement à nouveau.
Ils peuvent retirer leurs propres demandes en attente, une par une ou
plusieurs à la fois – parce que demander quelque chose que vous ne pouvez pas refuser est son propre piège. Un retraité
la demande n'a jamais été exécutée, donc rien ne change ; une décision est l'histoire et reste. Une facture
en attente de révision l'indique également sur sa propre page, donc un agent qui a cliqué sur Supprimer et
je n'ai rien vu se passer et je comprends pourquoi.
Pour vos abonnés
Paiements en ligne
SAMM peut permettre à vos abonnés de payer leurs propres factures en ligne, par carte bancaire
( Stripe ou PayPal ) ou avec crypto / USDT ( Binance ).
Lorsqu'un abonné
paie, SAMM marque la facture payée, l'enregistre dans vos livres et - si elle a été interrompue pour
non-paiement — les reconnecte automatiquement. Vous n'êtes jamais facturé : chaque passerelle utilise votre propre compte , afin que l'argent vous soit versé directement.
Allumez-le (n'importe quelle passerelle)
Ouvrez Finances → Paiements en ligne (superadministrateur uniquement).
Cliquez sur une passerelle pour la développer : Stripe , PayPal ou Binance / USDT .
Remplissez ses champs, cochez Activer cette passerelle et cliquez sur Enregistrer . SAMM ne vous permettra pas d'enregistrer tant que les champs obligatoires ne seront pas remplis.
Cliquez sur Exécuter le test pour confirmer que vos informations d'identification fonctionnent.
Terminé : vos abonnés voient désormais un bouton Payer sur leurs factures impayées dans le portail (et sur la page "abonnement expiré").
Vous pouvez activer plusieurs passerelles : l'abonné choisit laquelle utiliser.
Stripe – cartes bancaires, dans le monde entier
Créez un compte gratuit sur stripe.com . Gardez le mode Test activé pendant que vous l'essayez.
Accédez à Développeurs → Clés API et copiez la Clé secrète (elle commence par sk_ ).
Dans SAMM , développez Stripe , collez la clé secrète, choisissez la devise et le compte cash qui la reçoit, puis Enregistrer et Exécuter le test .
Recommandé : ajoutez un webhook pour que les paiements soient confirmés de manière fiable. Dans Stripe , accédez à Développeurs → Webhooks → Ajouter un point de terminaison , définissez l'URL sur https://YOUR-SAMM/pay/webhook/stripe , choisissez l'événement checkout.session.completed , puis copiez son secret de signature ( whsec_… ) dans le champ Secret de signature du Webhook de SAMM .
En direct
Le mode test fonctionne partout. Recevoir de l'argent réel via Stripe nécessite un support pris en charge par Stripe pays et un compte bancaire lié.
PayPal – cartes et amp ; PayPal solde
Créez un compte PayPal Business , puis sur Developer.paypal.com créez une application REST et copiez son ID client et son secret .
Dans SAMM , développez PayPal , collez l' ID client et le Secret client , choisissez Sandbox (test) ou Live , puis Enregistrer et Exécuter le test .
Recommandé : ajoutez un webhook sur Developer.paypal.com → votre application → Webhooks , URL https://YOUR-SAMM/pay/webhook/paypal , abonnez-vous à CHECKOUT.ORDER.APPROVED et PAYMENT.CAPTURE.COMPLETED , puis collez l' ID du Webhook dans SAMM afin que les notifications entrantes soient vérifiées cryptographiquement.
C'est la meilleure option lorsque les cartes et PayPal ne sont pas disponibles. Vos abonnés envoient USDT ; SAMM surveille votre compte Binance et marque automatiquement la facture payée.
Vous avez besoin de trois éléments : une clé API , un secret API et un emplacement pour
recevoir : une adresse de portefeuille et/ou un Binance identifiant de paiement .
Étape 1 : créez une clé API en lecture seule
La sécurité avant tout
Créez la clé avec accès en lecture uniquement . N'activez jamais le retrait ou l'échange - SAMM n'a besoin que de lire vos paiements entrants, sans jamais déplacer de fonds.
Connectez-vous à Binance → ouvrez Compte → Gestion des API (ou recherchez "Gestion des API").
Cliquez sur Créer une API → choisissez Généré par le système → nommez-le, par exemple : " SAMM " → terminer le contrôle de sécurité.
Binance affiche la clé API et la clé secrète : copiez les deux maintenant (le secret n'est affiché qu'une seule fois).
Cliquez sur Modifier les restrictions et laissez uniquement "Activer la lecture" coché. Laissez le trading au comptant et les retraits désactivés. (Facultatif : limitez la clé à l'adresse IP de votre serveur.)
Collez la clé API et le secret API dans la carte Binance de SAMM (la clé d'abord, puis le secret – le même ordre Binance les montre).
Étape 2 : obtenez l'adresse de votre portefeuille de réception
Dans Binance , accédez à Wallet → Spot → Deposit (Deposit Crypto).
Choisissez la pièce USDT .
Choisissez le réseau : TRC20 est le moins cher et le plus courant ; BEP20 et ERC20 fonctionnent également. Utilisez le même que celui que vous sélectionnez dans SAMM .
Copiez l' adresse de dépôt et collez-la dans le champ Adresse du portefeuille de réception en chaîne de SAMM . Assurez-vous que le menu déroulant Réseau de SAMM correspond au réseau que vous avez choisi.
Étape 3 : (facultatif) Binance ID de paiement
Pour les abonnés qui préfèrent Binance Payer (instantané, sans frais de réseau) : dans le
Application Binance , ouvrez Pay et notez votre identifiant Pay (votre e-mail ou votre téléphone fonctionne également). Collez-le
dans le champ Binance Pay ID de SAMM . Les abonnés peuvent alors payer par Pay ID ainsi que
en chaîne.
Enfin, cochez Activer , cliquez sur Enregistrer , puis sur Exécuter le test .
(il vérifie que la clé peut lire votre compte). Vous êtes en direct.
Montant exact, réseau correct
Un abonné doit envoyer le montant exact que SAMM affiche (les derniers petits chiffres
identifier sa facture) sur le bon réseau . Un montant différent ou erroné
Le réseau retardera ou perdra le paiement.
Ce que voit l'abonné
Il se connecte au portail client → Mes factures .
Sur une facture impayée, ils cliquent sur Payer (ou " Payer · Stripe " / " Payer · Binance " si plusieurs sont activés).
Carte : ils sont redirigés vers la page sécurisée de la passerelle. USDT : ils voient le montant exact, votre adresse avec un code QR et/ou votre identifiant Pay.
Une fois payée, la facture devient Payée , elle est publiée sur vos livres et, si les livres ont expiré, ils sont reconnectés automatiquement : les abonnés expirés reçoivent même un bouton "Payer et se reconnecter" sur la page expirée.
Vos livres restent exacts
Chaque paiement en ligne affiche une double entrée équilibrée (Dr Cash / Cr Accounts Receivable) et
enregistre le mode ( Stripe / Binance ) sur la facture, dans l'historique des paiements et sur le PDF — afin que vous
sachez toujours comment chaque paiement est arrivé.
Opérations quotidiennes
Tickets de support
SAMM dispose d'un service d'assistance intégré. Les abonnés génèrent des tickets depuis le portail client ou
le bot Telegram , un administrateur peut en ouvrir un au nom d'un abonné et votre équipe travaille
tous depuis Utilisateurs → Tickets d'assistance .
La file d'attente des tickets
La file d'attente répertorie chaque ticket : numéro, client, sujet, priorité, statut, le
les dates d'ouverture et de dernière mise à jour, ainsi que le nombre de messages. Filtrez-le avec :
Jetons de statut : un par statut de ticket, chacun portant un live
compte, de sorte que la charge de travail est visible en un coup d'œil.
Priorité : normale, modérée ou critique.
Actif/Retiré : un client peut retirer un billet qu'il n'a pas
besoin plus long ; les tickets retirés sont grisés et masqués par défaut.
Recherchez : par numéro de ticket, sujet ou client.
Le badge de la barre latérale compte les tickets ouverts afin que rien ne soit oublié.
Ouvrir un ticket
Nouveau ticket permet à un administrateur de créer un ticket pour un client choisi :
choisissez le client, puis définissez un sujet, une priorité et une description. Les abonnés ouvrent également
le leur depuis le portail client ou le bot Telegram .
Travailler sur un ticket
Ouvrez un ticket pour lire le fil de conversation complet. À partir de là, vous pouvez :
Répondre au client : un message public que l'abonné voit sur
leur portail et via le bot Telegram .
Ajoutez une note interne : un message réservé au personnel, masqué du
client, pour les notes de transfert entre votre équipe.
Modifiez le statut et la priorité du ticket.
Cliquez avec le bouton droit sur n'importe quelle ligne - ou utilisez son bouton ⋮ - pour le même statut, priorité, réponse
et des actions de notes internes sans quitter la file d'attente.
Opérations quotidiennes
Centre de notifications
SAMM tient les abonnés informés automatiquement – par e-mail , Telegram , SMS et WhatsApp – et vous permet de diffuser des messages. Le
Le service samm-notification fournit tout via une file d'attente limitée.
La page Système → Centre de notifications comporte six onglets.
Aperçu
L'onglet d'arrivée – comptes en direct (en file d'attente, envoi, envoyé aujourd'hui, échec, ignoré,
désinscrit), l'état de chaque canal de diffusion et un flux des informations les plus récentes
notifications.
Canaux
Configurez la façon dont les messages partent SAMM . L'e-mail utilise sa propre notification\n compte, séparé du SMTP de récupération de mot de passe dans Paramètres . Telegram utilise un jeton de bot, SMS passe par une passerelle HTTP générique ou Twilio, et WhatsApp utilise l'API officielle Meta WhatsApp Cloud (créée dans Meta pour\n Développeurs), avec un pont non officiel lié à QR en option à vos propres risques — le pont\n s'installe en un clic sur un serveur nu-OS et est livré sous forme de conteneur prêt à fonctionner sur Docker .\n Tous les secrets des chaînes sont stockés\n Chiffré par Fernet. Chaque abonné, depuis le portail client, choisit les chaînes qu'il souhaite\n souhaitez et pouvez vous désinscrire complètement.
Messages
Les modèles de messages , un ensemble par événement. Modifier le libellé de tout
notification - rappels de renouvellement, reçus et le reste - afin que chaque message soit envoyé
avec votre propre voix et votre propre langage.
Règles & Minuteries
Cet onglet détermine quand et comment les notifications automatiques se déclenchent. Pour chaque événement que vous contrôlez :
Si la règle est sur .
Ignorer la désinscription : une fois défini, le message parvient à tous les abonnés
même s'ils se sont retirés. Réservez-le pour les messages transactionnels importants.
Délai : par exemple, combien de jours avant l'expiration d'un renouvellement
un rappel est envoyé.
Livraison et livraison limitation — le travailleur vide la file d'attente
lot par tick ; la taille du lot et l'intervalle de coche rythment ensemble la vitesse des messages
sortez, afin qu'une diffusion massive n'inonde jamais votre serveur de messagerie.
Les événements que SAMM peut émettre seul incluent le rappel de renouvellement .
(avant l'expiration d'un abonnement), le avis d'expiration (à son expiration),
l'avertissement de quota (lorsque le plafond de données est faible), le paiement
reçu (lorsqu'un paiement est enregistré) et forfait renouvelé .
Diffusion
Envoyez un message ponctuel (une fenêtre de maintenance, un changement de prix) à un ensemble choisi de
abonnés. La diffusion circule dans la même file d'attente limitée que la diffusion automatique.
notifications.
Boîte d'envoi
Chaque message SAMM a été mis en file d'attente ou envoyé, avec son état de livraison par message. Vous pouvez donc
peut confirmer qu'une notification est parvenue à l'abonné ou voir pourquoi ce n'est pas le cas.
Système
VPN WireGuard
SAMM peut exécuter un WireGuard serveur VPN sur l'hôte SAMM – généralement
pour un accès administrateur à distance dans la case SAMM et un accès de gestion aux MikroTiks
derrière. Il est entièrement géré depuis Système → VPN ; non
coque nécessaire.
Onglet Serveur
Cliquez sur Générer des clés pour créer la paire de clés du serveur. Le
La clé publique du serveur apparaît une fois générée : les clients en ont besoin.
Définissez le port d'écoute (UDP, par défaut 51820 ), le Adresse du tunnel du serveur (le CIDR sur l'interface wg0 ,
par défaut 10.254.254.1/24 ), et la plage d'adresses IP client :
les adresses de début et de fin SAMM sont automatiquement distribuées aux nouveaux pairs.
Activez Activer WireGuard VPN et cliquez sur Enregistrer : SAMM fait apparaître l'interface wg0 . La bascule est verrouillée jusqu'à ce que les clés du serveur
exister.
Onglet Clients
Cliquez sur Ajouter un client , donnez un nom au homologue et SAMM lui attribue le
prochaine adresse de la plage client. Pour chaque homologue vous pouvez télécharger son fichier de configuration,
scannez un code QR avec l'application mobile WireGuard ou copiez-le prêt à l'emploi MikroTik RouterOS commandes pour amener un routeur sur le VPN. Les pairs peuvent être
activé/désactivé ou supprimé ; les couleurs d'état indiquent si chacun est connecté, obsolète ou
jamais vu.
La régénération des clés est destructive
Régénérer les clés modifie la paire de clés du serveur . Chaque client déjà déployé
config contient l'ancienne clé publique du serveur et cessera de se connecter jusqu'à ce que vous
redistribuez la configuration mise à jour. L'interface utilisateur gère cela derrière une boîte de dialogue de type à confirmer.
Système
Tunnel Cloudflare
Un tunnel Cloudflare Zero Trust publie SAMM sur l'Internet public sans ouvrir de ports de pare-feu – utile lorsque l'hôte SAMM est assis
derrière NAT. Il est géré depuis Système → Cloudflare Tunnel .
Statut du service
La page s'ouvre sur une carte d'état qui rapporte l'état du connecteur :
État
Signification
En cours
Le tunnel est actif et achemine le trafic
Arrêté
Configuré mais pas actuellement en cours d'exécution
Non configuré
Le binaire est présent — collez un jeton pour le configurer
Non installé
Réexécutez install.sh pour installer le binaire cloudflared
Il montre également la version de cloudflared et si le
le connecteur est défini sur démarrage automatique au démarrage .
Configurer le tunnel
Dans le tableau de bord Cloudflare Zero Trust
( one.dash.cloudflare.com ), ouvrez Réseaux → Tunnels et Créer un tunnel .
Choisissez le connecteur Cloudflared , nommez le tunnel et enregistrez. Sur
l'étape d'installation, copiez uniquement le jeton — la longue chaîne après --token .
Collez-le dans SAMM et cliquez sur Configurer le tunnel . SAMM tend le
jeton à cloudflared et démarre le connecteur.
De retour dans Cloudflare , ajoutez un Nom d'hôte public : l'adresse que vous avez choisie,
tapez HTTP , URL localhost:80 (proxy par nginx —
recommandé) ou localhost:8000 (directement vers l'API).
En quelques secondes, le badge d'état devient vert et SAMM est accessible sur le
nom d'hôte public. Une fois configuré, des actions en un clic vous permettent de Démarrer , Arrêtez ou Redémarrez le connecteur, Remplacez
Jeton pour le faire pivoter, ou Supprimer le tunnel (un type - REMOVE -pour confirmer
actions).
Aucun port ouvert, jeton jamais dans la base de données
Le tunnel établit une connexion sortante vers le bord de Cloudflare – non
le port du pare-feu est toujours ouvert sur le serveur. Le jeton est transmis à cloudflared et stocké sous /etc/cloudflared/ ; SAMM jamais
le conserve dans la base de données. TLS se termine au bord de Cloudflare , donc SAMM lui-même s'exécute
HTTP simple sur le bouclage.
Système
Paramètres
Système → Paramètres contient les informations en direct et rechargeables à chaud.
accordables. Les démons les relisent lors de leur prochain tick — aucun redémarrage du service n'est
nécessaire . Les paramètres sont organisés en onglets.
Paramètres généraux
Paramètre
Par défaut
Contrôles
samm-radius interval
30 s
Fréquence d'évaluation des événements temporels et d'envoi des CoA
samm-worker interval
5 s
Cadence de ping routeur + synchronisation API MikroTik
Intervalle comptable intermédiaire
60 s
L'intervalle de comptabilité poussé vers les routeurs
Heure de réinitialisation quotidienne
00:00
Quand les compteurs d’utilisation quotidienne s’inversent
Fuseau horaire du serveur
UTC
Fuseau horaire pour les fenêtres de vitesse et la réinitialisation quotidienne
Port CoA par défaut
3799
Port UDP par défaut pour les paquets CoA
Nombre max de tentatives CoA
3
Nouvelles tentatives avant le repli de la demande de déconnexion
Réduisez l’intervalle du rayon samm pour une application plus stricte ; soulevez-le pour réduire la charge.
Identité du FAI, logo, devise et facturation (onglet FAI)
Tout ce que les opérateurs demandent « où changer ceci ? » se trouve dans System → Settings → ISP. Modifiez un champ et cliquez sur Enregistrer — le changement est immédiat (sans redémarrage) et se répercute sur les factures, reçus, PDF et le portail client.
Ce que vous changez
Où cela apparaît
Nom du FAI
Factures, reçus, cartes hotspot, en-tête du portail
Téléphone et e-mail du support
Factures et cartes hotspot imprimées
Numéro fiscal / d'enregistrement
Imprimé sur les factures
Logo du FAI (téléverser PNG/JPEG)
Redimensionné automatiquement ; apparaît sur les PDF de factures/reçus et les cartes hotspot imprimées. Utilisez le ✕ sur l'aperçu pour le retirer.
Code de devise (p. ex. USD)
La devise ISO sur les factures et le grand livre
Symbole de devise (p. ex. $)
Chaque montant affiché dans l'interface admin, le portail client et les PDF
Taxe activée/désactivée, libellé et taux
Ajoute une ligne TVA/GST aux factures (p. ex. libellé VAT, taux 11 = 11 %)
Changer le symbole monétaire
Pour changer la devise affichée partout (p. ex. de $ à £ ou un symbole local), réglez Symbole de devise dans l'onglet FAI et Enregistrez — cela met à jour le panneau admin, le portail client et tous les PDF d'un coup. Réglez à côté le Code de devise (USD, EUR, …) pour le code ISO imprimé sur les factures.
Lorsque SAMM recherche des mises à jour, il peut envoyer SecuryTik un identifiant d'installation aléatoire, la version SAMM , votre niveau de forfait et un pays approximatif (à partir de votre adresse IP, via Cloudflare ) – aucune donnée d'abonné ou de client . Cela nous aide uniquement à compter les installations actives et à prioriser le support et les langues. Désactivez-le à tout moment sous Système → Paramètres → Confidentialité ; consultez la politique de confidentialité .
Onglet E-mail
Configurez le serveur SMTP utilisé pour les codes de récupération de mot de passe envoyés à
administrateurs et clients (hôte, port, SSL/STARTTLS, nom d'utilisateur, adresse d'expéditeur, mot de passe).
Cliquez sur Tester la connexion pour vérifier les informations d'identification sans envoyer d'e-mail.
Deux comptes e-mail
L'onglet E-mail ici est uniquement destiné à la récupération d'OTP/mot de passe. The account used for\n les notifications client sont configurées séparément dans le Centre de notifications .
Système
Administrateurs & rôles
Système → Administrateurs gère qui peut se connecter à l'administrateur
portail et ce que chacun peut faire. Il comporte deux onglets : Administrateurs et Rôles .
Comptes admin
Créez un admin avec un identifiant, un mot de passe, un e-mail facultatif et un rôle. Depuis le menu ⋮ vous pouvez modifier le rôle ou le mot de passe, désactiver le compte ou le supprimer. Seul un superadmin peut gérer les autres admins — et trois zones (Admins, Outils et API) sont réservées au superadmin : elles ne peuvent jamais être accordées à un rôle personnalisé et s'affichent verrouillées dans la matrice.
Rôles & autorisations
Un rôle accorde un accès par zone. Le superadministrateur intégré
le rôle a toujours un accès complet et ne peut pas être modifié. Créez des rôles personnalisés pour un nombre limité
accès : un nouveau rôle démarre sans accès jusqu'à ce que vous définissiez ses autorisations.
Un second rôle intégré, Agent, est verrouillé et ne peut être ni modifié ni supprimé : il transforme l'administrateur en revendeur en gros doté d'un solde prépayé, d'une part de commission et d'un portefeuille de clients limité à ses seuls abonnés. Voir Comptabilité et facturation → Agents pour le modèle complet.
Pour chaque zone de SAMM (abonnés, offres, NAS, comptabilité, réglages, etc.) un rôle est réglé sur l'un de trois niveaux :
Niveau
Signification
Non autorisé
La zone est entièrement masquée dans la barre latérale
Voir
Accès en lecture seule
Modifier
Accès complet — créer, modifier, supprimer
Deux droits se situent à côté des niveaux de zone, car chacun est une décision financière plutôt qu’un écran :
Droite
Ce qu'il permet
Autoriser "Aucune facture"
Modifiez le service d'un abonné – renouvelez, changez de forfait, prolongez – et ne facturez rien pour cela. Désactivé par défaut à chaque nouveau rôle.
Autoriser l'approbation des agents
Examinez et décidez des demandes déposées par les agents pour annuler une charge. La création et la gestion des agents restent réservées aux super-administrateurs. Voir Annuler et approbations .
Le tableau de bord n'est jamais enlevé
Quel que soit le rôle refusé, chaque administrateur conserve son propre tableau de bord et son propre profil :
une connexion qui aboutit à une erreur d'autorisation est une connexion interrompue et non sécurisée.
Portée de visibilité des données
Chaque rôle a également une portée. Voir tous les clients et tous les clients. cartes signifie le
le rôle voit chaque enregistrement. Si cette case est décochée, le rôle est de portée By-NAS : a
le superadmin attribue des routeurs spécifiques à chaque admin ("Accès NAS" dans le menu ⋮ de l'admin),
et cet administrateur ne voit que les abonnés et les groupes de cartes épinglés sur ces routeurs —
idéal pour les succursales, franchises ou revendeurs. Les abonnés créés par un administrateur By-NAS sont
automatiquement épinglés à leurs routeurs.
La licence est toujours accessible
La page System → License est un bloc de permission normal — mais dès que l'appareil est en état de verrouillage (grâce, souple ou dur) SAMM la rend accessible à chaque admin connecté quel que soit son rôle, pour que la voie de récupération ne soit jamais bloquée.
Système
Outils
La section Tools regroupe les utilitaires de masse et de maintenance. Elle agit sur l'ensemble des données et n'est donc accessible qu'aux superadmins.
Sauvegarde & Restauration
Créez un instantané complet de la base de données avant tout changement majeur. Une sauvegarde est un fichier compressé
Archive pg_dump stockée sur le serveur, chacune avec un en-tête SAMM .
Créer une sauvegarde : ajoutez éventuellement une note ; cochez Ignorer l'utilisation et l'utilisation.
history pour un vidage plus petit et plus rapide qui omet les tables de journaux volumineuses.
Téléchargez une sauvegarde sur votre PC ou téléchargez un
sauvegarde SAMM précédente sur le serveur.
La restauration écrase la base de données actuelle - contrôlée par un
tapez RESTORE pour confirmer la boîte de dialogue.
Haute disponibilité
Pour un déploiement sans point de défaillance unique, exécutez SAMM sur deux nœuds : Réplication en streaming PostgreSQL (une réplication principale avec une seconde derrière
veille) plus un nœud AAA de veille, et promotion + repointage en cas d'échec. L'opérateur complet
runbook : configuration de la réplication, basculement planifié et non planifié, restauration automatique, option
mode de réplication synchrone et une liste de contrôle de vérification après basculement - livrés en tant que docs/HA.md avec la source. Notez que la réplication n'est pas une sauvegarde (une mauvaise suppression
se réplique instantanément), alors continuez à exécuter les sauvegardes planifiées ci-dessus également.
Nettoyeur d'historique
Supprimez définitivement les anciennes lignes de journal et d'historique pour récupérer de l'espace dans la base de données. Choisissez un
préréglage de rétention et confirmer. Le nettoyeur coupe les sessions RADIUS fermées, post-authentification
enregistrements, cumuls d'utilisation quotidienne, historique du routeur/interface, journaux de limitations, audit appliqué
entrées et lignes CoA terminées. Il ne touche jamais aux sessions en direct, en file d'attente
commandes, CoA en attente ou totaux d'utilisation à vie non réinitialisables.
Effectuez d'abord une sauvegarde
History Cleaner supprime définitivement. Exécutez une sauvegarde avant de nettoyer si vous le souhaitez
les données plus tard.
Export / Import
Exportation et importation groupées pour utilisateurs, forfaits et NAS en tant que .csv ou .xlsx . Téléchargez un modèle (les colonnes de droite plus un
exemple de ligne) ou un instantané des données actuelles, remplissez-le et téléchargez-le à nouveau. Chaque ligne est
validé et affiché sur un écran d'aperçu – doublons et lignes non valides
sont apparus et vous choisissez d'ignorer les doublons ou de les mettre à jour sur place - avant
tout est écrit.
Modifications en masse
Appliquer une seule modification : propriétaire, date d'expiration, statut, renouvellement automatique ou forfait complet
périodes – à chaque abonné correspondant à un filtre, en une seule fois. Choisissez le changement, construisez le
filtrez (statut / forfait / propriétaire / recherche), examinez la liste correspondante et confirmez.
Ajouter des périodes entières de forfait est l'option de renouvellement groupé : chaque
l'abonné gagne autant de périodes de son propre forfait , donc un forfait de 7 jours gagne 7 jours par
période et un forfait mensuel gagne un mois civil - sur la même exécution, sans diviser le
listez d'abord par plan. Les abonnés dont le forfait n'a pas de période d'expiration sont ignorés plutôt que
deviné. Ajouter des jours reste disponible là où vous souhaitez un nombre fixe de jours
et pas de réinitialisation du compteur.
Augmentation de vitesse
Augmentez ou réduisez la vitesse de plans entiers à la fois d'un pourcentage :
un week-end de vacances à double vitesse, ou un accélérateur d'urgence alors qu'un backhaul est dégradé.
Elle prend effet immédiatement, pour les nouvelles connexions et pour les sessions déjà en ligne.
Contrôle
Ce qu'il fait
Pourcentage
Multiplications positives, divisions négatives : +100 % → double vitesse, −100 % → demi-vitesse, −500 % → un sixième de celle-ci. La vitesse n’atteint jamais zéro.
Des projets pour booster
Cochez n'importe quel nombre de plans ; chaque ligne indique le taux prévu, l'augmentation de la force et la vitesse effective actuelle.
Revenir automatiquement après
Quelques heures jusqu'à ce que le boost disparaisse tout seul. 0 le conserve jusqu'à ce que vous le réinitialisiez manuellement.
Un boost dépasse une fenêtre de vitesse
L'augmentation est mesurée à partir du tarif du forfait et remplace tout fenêtre de vitesse pendant qu'il est en direct – un plan sur une fenêtre de nuit de 20 M ne le fait pas
devenu 40M, il devient quelle que soit l'augmentation du taux de son forfait. Windows reprend le moment
le boost expire.
Un abonné qui a épuisé une limite n'est jamais rétabli au maximum.
vitesse par un boost. Pour la même raison, un plan utilisé comme cible de limitation est
ignoré par Sélectionner tout et étiqueté comme tel — le booster accélérerait exactement le
les personnes que vous étranglez. Vous pouvez toujours le cocher à la main si c'est ce que vous souhaitez. Tout réinitialiser à la normale supprime chaque boost et réactive les sessions en direct
la vitesse de leur plan.
Suppression en masse
Supprimez définitivement plusieurs abonnés ou cartes de point d'accès à la fois, sélectionnés par filtre.
La suppression d'un abonné supprime également son historique d'utilisation, ses sessions, sa comptabilité RADIUS et
factures et déconnecte toute session en direct. Gated par une boîte de dialogue de type DELETE pour confirmer.
Système
Langues & thèmes
Langues
Les portails administrateur et client sont entièrement traduisibles. Huit langues intégrées : anglais, arabe (de droite à gauche), russe, persan (de droite à gauche), turc, français, espagnol et allemand . Chaque utilisateur choisit son
la langue de la barre supérieure ou de leur profil ; le choix est mémorisé par compte.
L'éditeur de traduction
Un superadministrateur peut modifier les traductions en direct depuis Système → Traductions : pas de redémarrage, pas de modification de fichier.
L'éditeur crée également des langues entièrement nouvelles et importe/exporte des traductions.
classeurs au format .xlsx , afin que vous puissiez localiser SAMM dans n'importe quelle langue que vous servez.
Thèmes
SAMM propose 16 thèmes visuels , clairs et sombres. Chaque utilisateur choisit un
thème de la barre supérieure ; l'aperçu se met à jour instantanément et est enregistré par compte. informatique
la terminologie n'est jamais traduite, les écrans techniques restent donc précis dans chaque langue.
Système
Journal d'audit
Système → Journal d'audit est l'enregistrement des actions de l'administrateur :
et la file d'attente de commandes qui les exécute. Lorsque vous réinitialisez un compteur, changez de forfait,
ou renouveler un abonné, SAMM écrit l'action ici plutôt que de toucher un routeur en direct
directement.
Chaque entrée montre l'action, sa cible, l'administrateur qui l'a déclenchée, quand elle
s'est produit et s'il a déjà été appliqué . Le
Le service samm-radius draine les entrées en attente lors de son prochain tick et, où
nécessaire, émet un CoA pour actualiser une session en direct. Le badge de la barre latérale compte toujours les entrées
en attente ; Le panneau d'état du pipeline du tableau de bord suit l'arriéré.
Pourquoi une file d'attente
Le routage de chaque action d'administration via le journal d'audit signifie que les modifications sont appliquées exactement par
un processus dans un ordre prévisible — il n'y a jamais de course entre le portail Web et
un routeur.
Licences
Licences & niveaux
Chaque SAMM installation est soumise à une licence par appareil : le plan perdure
cette installation, vous pouvez donc exécuter plusieurs serveurs SAMM , chacun sur son propre niveau. Les ensembles de niveaux
trois majuscules numériques.
Niveau
Utilisateurs AAA
Cartes Hotspot
NAS / routeurs
Non enregistré
25
200
1
Free
100
500
2
Plus
500
2,000
3
Pro
2,000
5,000
5
Pro Max
illimité
illimité
illimité
Une nouvelle installation s'exécute non enregistrée au niveau minimum. Chaque fonctionnalité est
disponible à chaque niveau – le niveau ne fixe que les plafonds. Création d'un abonné, d'une carte ou
Le NAS au-delà du plafond est bloqué jusqu'à la mise à niveau ; aucune donnée n'est jamais perdue .
Activer & mettre à niveau
Ouvrez Système → Licence .
Activez-le en vous connectant avec votre compte SecuryTik – ou utilisez Associez cet appareil , qui affiche un code sur lequel vous approuvez samm.securytik.com sans taper\n votre mot de passe sur le serveur. L'appareil s'active sur Gratuit .
Pour aller plus haut, demandez Pro ou Pro Max auprès du
même page : un administrateur SecuryTik l'examine et l'approuve.
La page Licence revérifie également la licence sur demande et affiche votre
utilisation contre chaque capuchon. Dissocier l'appareil ramène l'installation sur le
niveau non enregistré sans supprimer aucune donnée.
Si une licence payante expire
SAMM ne supprime jamais les données. Une licence expirée se retire gracieusement :
Étape
Ce qui se passe
Avertissement
Une bannière de rappel ; tout continue de fonctionner
Grâce
Une courte fenêtre pour réactiver ; les abonnés restent en ligne
Verrouillage partiel
Les services d'arrière-plan s'arrêtent ; RADIUS continue de s'authentifier pendant environ 7 jours
Verrouillage complet
Les services s'arrêtent sauf la page de réactivation
La réactivation à tout moment redémarre automatiquement chaque service : toutes les données et l'historique des abonnés sont intacts.
Mises à jour automatiques
La mise à jour automatique est indépendante de la licence : chaque mise à jour de niveau et une licence expirée
ne le bloque jamais. SAMM recherche quotidiennement une nouvelle version signée. De Système → Licence , vous pouvez basculer entre notifier (par défaut : une bannière avec un bouton Appliquer maintenant ) et auto (appliquer sans surveillance). Chaque mise à jour est vérifiée, sauvegardée et appliquée dans
lieu. Vous pouvez également réexécuter le programme d’installation à tout moment : il se met à niveau de manière idempotente.
Pour vos abonnés
Portail client & bot
SAMM offre à chaque abonné deux surfaces en libre-service : un portail Web et un Telegram bot – afin qu'ils puissent vérifier l'utilisation et payer sans vous contacter.
Le portail client
Les abonnés se connectent à la racine du site SAMM ( / ) avec leur nom d'utilisateur SAMM et mot de passe. Le portail dispose de :
Page
Ce que voit l'abonné
Aperçu
Statut du compte, forfait, expiration, utilisation d'aujourd'hui et de ce mois-ci, toute facture impayée
Utilisation et séances
Total téléchargé/téléchargé, budget de disponibilité et historique complet des sessions
Mes forfaits
Le forfait actuel plus le catalogue des forfaits disponibles
Mes factures
Historique de facturation avec téléchargement PDF en un clic
Tickets de support
Ouvrir et suivre les tickets d'assistance
Profil
Modifiez les coordonnées, changez le mot de passe, définissez la langue et la langue. thème, gérer les notifications
Depuis le profil , un abonné connecte son compte Telegram , commande\n leurs canaux de notification préférés, ou se désengage complètement des notifications. S'ils\n oubliez leur mot de passe, un code OTP leur est envoyé par e-mail (cela nécessite le Onglet E-mail configuré).
Le bot Telegram
Le service samm-telegram exécute un robot en libre-service interactif. Un
l'abonné envoie /start , vérifie une fois avec son nom d'utilisateur SAMM et
mot de passe (le bot supprime immédiatement le message de mot de passe), et peut alors, entièrement
depuis le chat :
Vérifiez leur forfait, leur quota, leur utilisation et leur date d'expiration
Afficher et télécharger les factures au format PDF
Mettre à jour son profil et changer son mot de passe
Ouvrir et suivre les tickets d'assistance
Le bot délivre également les notifications automatiques : rappels de renouvellement, expiration
notifications, avertissements de quota et reçus — aux abonnés qui se sont connectés à Telegram .
La page d'accueil des abonnés expirés
Quand un abonné expire, le routeur (configuré par le « pool Expiré et blocage internet » de l'assistant) redirige son navigateur vers une page « abonnement expiré » conviviale servie par SAMM sur le port 81 — avec votre logo de FAI et un bouton de connexion au portail — au lieu d'une connexion morte en silence.
Système
REST API
System → API gère l'interface publique /api/v1. L'API reste inactive jusqu'à la création du premier jeton : une installation qui ne l'utilise jamais n'expose rien. Tout ce qui suit est aussi disponible en documentation OpenAPI interactive — console d'essai et schémas complets — sur votre propre installation à /api/v1/docs.
Documentation interactive (Swagger UI)
Chaque installation propose une console API en direct sur /api/v1/docs, accessible directement depuis le panneau API du portail d'administration. Cliquez sur Authorize, collez un jeton, et n'importe quel point de terminaison peut être exécuté sur vos propres données avec Try it out ; chaque appel affiche la réponse réelle ainsi qu'une commande curl prête à copier.
Chaque point de terminaison déclare un schéma complet et typé — corps de requête comme réponses — de sorte que les noms de champs, les types et les exemples sont visibles sans rien appeler. Le même schéma est servi au format OpenAPI lisible par machine sur /api/v1/openapi.json, ce qui génère un client entièrement typé dans le langage de votre choix :
Ouvrez System → API (superadmin uniquement), choisissez un nom, une expiration et les portées nécessaires à l'intégration, puis cliquez sur Créer un jeton.
Copiez le secret immédiatement — il n'est affiché qu'une seule fois et seul son condensat est stocké sur le serveur.
Vérifiez qu'il fonctionne et voyez ce que le jeton peut faire :
Chaque requête envoie Authorization: Bearer <token>. Un jeton porte un nom, une limite de débit par minute, une expiration (30–360 jours ou jamais) et un ensemble de portées — des droits lecture/écriture par ressource ; une portée write inclut automatiquement la portée read correspondante. Le secret n'est affiché qu'une seule fois ; le serveur ne conserve qu'un condensat. Un jeton peut être révoqué (les appels échouent immédiatement, réversible) ou supprimé définitivement.
Les réponses suivent un seul ensemble de conventions : les points de liste acceptent limit/offset et renvoient {"total", "items"} ; les erreurs utilisent les codes standard — 401 jeton manquant/invalide/expiré, 403 portée manquante, 404 introuvable, 409 doublon, 422 erreur de validation, et 429 à la limite de débit (avec Retry-After et X-RateLimit-*).
Référence des points de terminaison
Domaine
Points de terminaison
Portée
Introspection
GET /me · GET /commands
tout jeton
Statistiques du tableau de bord
GET /stats/overview
stats:read
Abonnés
GET/POST /customers · GET/PATCH/DELETE /customers/{id} ·
POST …/suspend · …/activate · …/renew · …/reset-limit · …/assign-plan ·
GET …/usage
customers:read/write
Déconnexion
POST /customers/{id}/disconnect · POST /sessions/disconnect · /sessions/reconnect
coa:write
Offres
GET/POST /plans · GET/PATCH /plans/{id}
plans:read/write
Factures
GET/POST /invoices · GET /invoices/{id} ·
GET /invoices/{id}/pdf · POST …/pay · …/unpay
billing:read/write
Livres comptables
GET /accounting/export · GET /accounting/export/{kind}
accounting:read
Séances en direct
GET /sessions · GET /coa-outbox
sessions:read
Routeurs
GET /routers
routers:read
Cartes Hotspot
GET/POST /cards/groups · GET /cards/groups/{id} ·
GET …/cards · …/print.pdf ·
POST …/cards · …/enable · …/disable · …/extend ·
GET /cards/{id} · POST /cards/{id}/enable · …/disable · …/reset/{kind}
Les modifications qui touchent l'état comptable en direct — réinitialisations de limites, activation/désactivation de cartes et de groupes, prolongations — ne sont pas appliquées dans la requête. Elles sont mises en file dans la file de commandes auditée et appliquées par samm-radius en un tick (quelques secondes), exactement comme les mêmes clics dans le portail. Ces points renvoient {"queued": true} ; interrogez GET /commands pour voir vos commandes passer à applied.
Webhooks
Enregistrez une URL de point de terminaison et choisissez les événements (abonné créé/modifié/renouvelé/expiré, limite épuisée, facture créée/payée, événements de session optionnels). Le secret de signature est renvoyé une seule fois à la création. Les livraisons sont retentées avec délai croissant, et un point qui échoue en continu est désactivé automatiquement — réactivez-le avec POST /webhooks/{id}/enable ou envoyez-vous un événement d'exemple avec POST /webhooks/{id}/test.
Chaque livraison porte X-SAMM-Event et X-SAMM-Signature: sha256=HMAC(body). Vérifiez avant de faire confiance :
Les mêmes règles que le portail
Les modifications via l'API passent par la même file de commandes auditée et la même couche de services que le portail d'administration — une réinitialisation ou un changement d'offre via l'API se comporte exactement comme un clic dans l'interface, CoA compris.
Référence
Exploitation de SAMM
Presque tout se fait depuis le portail d'administration. Cette page est la référence shell pour les rares fois où vous en avez besoin.
Gestion des services
# Restart all SAMM services
systemctl restart samm-api samm-radius samm-worker samm-notification samm-telegram
# Live logs for one service
journalctl -u samm-api -f
journalctl -u samm-radius -f
# Validate the FreeRADIUS config after any change
freeradius -CX
# Port 8000 stuck after a crash (admin portal unreachable)
kill -9 $(lsof -ti:8000); systemctl restart samm-api
CLI Admin
Pour des opérations rapides d’abonné à partir du shell. Chaque commande est mise en file d'attente pour l'audit
log et appliqué au prochain tick samm-radius - exactement comme les actions de l'interface utilisateur.
CLI="sudo -u samm /opt/samm/venv/bin/python -m samm_radius.cli"
$CLI reset-quota alice # reset a limit counter
$CLI reset-daily alice
$CLI reset-uptime alice
$CLI reset-expiration alice
$CLI change-plan alice home-50M # switch a subscriber's plan
$CLI encrypt-pw # encrypt a router API password for the DB
Fichiers de configuration
Fichier
Contient
/etc/samm/samm.yaml
Le DSN de la base de données, la taille du pool de connexions, le niveau de journalisation
/etc/samm/api.env
Secrets de session du portail et paramètres SMTP de récupération de mot de passe
/etc/samm/secret.key
La clé de cryptage pour les mots de passe API du routeur stockés
Ces fichiers sont conservés lors des mises à niveau et ne sont jamais écrasés par\n une réexécution du programme d'installation. Paramètres d'exécution (cadences de boucle, temps de réinitialisation quotidienne, CoA\n ports) se trouvent plutôt dans Paramètres , et\n appliquer sans redémarrage.
Mise à jour de SAMM
Soit laissez SAMM se mettre à jour depuis Système → Licence ,\n ou réexécutez le programme d'installation — voir Installation →\n Mise à niveau de . Les deux chemins réappliquent les migrations et redémarrent les services ; votre configuration et\n les données sont intactes.
Sauvegarde & récupération
Utilisez Outils → Sauvegarde et Restaurez pour un\n instantané de la base de données avant tout changement majeur. Pour reconstruire sur un nouvel hôte, installez SAMM et\n puis restaurez la sauvegarde.
Outils de maintenance (externes)
Certaines tâches de maintenance sont suffisamment destructrices pour ne pas appartenir à l'administration.
panneau, où un clic parasite pourrait détruire une entreprise en direct. SAMM les conserve de manière autonome,
des scripts root uniquement que vous téléchargez et exécutez délibérément à partir du shell – jamais sous forme de bouton.
Ils vivent dans le référentiel de distribution publique sous outils/ .
Réinitialiser le mot de passe d'un administrateur verrouillé
Verrouillé hors du panneau d'administration ? Définissez un nouveau mot de passe pour un compte superadmin directement dans la base — aucun login fonctionnel requis. Le compte est réactivé s'il était désactivé, rien d'autre n'est touché.
curl -fsSL -o samm-reset-admin-password.sh \
https://raw.githubusercontent.com/mhdhaidarah/samm/main/tools/samm-reset-admin-password.sh
sudo bash samm-reset-admin-password.sh --list # list the superadmin accounts
sudo bash samm-reset-admin-password.sh # reset (prompts for the new password, twice)
Exécutez-le en root sur le serveur SAMM. S'il existe plusieurs superadmins, passez --user <name> pour en choisir un.
Réinitialiser les livres (effacer les données financières)
Efface chaque transaction financière afin qu'un FAI puisse recommencer sa comptabilité à zéro,
tout en laissant toutes les données des abonnés et AAA complètement intactes. Utile lors de la reprise d'un
installer, ou après une période d'essai/test, lorsque les livres sont pleins de données, l'opérateur
veut disparaître, mais la clientèle doit rester exactement telle qu'elle est.
Danger — perte de données irréversible Cette opération détruit définitivement toutes les factures, paiements, reçus et soldes de portefeuille.
et l'historique du grand livre. Il n'y a pas d'annulation. Le seul moyen de revenir en arrière est une sauvegarde de la base de données. Jamais
exécutez-le sur une installation de production que vous n’avez pas sauvegardée et vérifiée au préalable.
Supprimé: les factures et leurs postes, le grand livre en partie double
(paiements, reçus, ajustements, recharges et retraits de portefeuille), paiement en ligne
les transactions, les dépenses, les immobilisations et le journal d'activité comptable. Numérotation des factures
se réinitialise, donc la facture suivante commence au n°1.
Gardé: chaque abonné, forfait, fenêtre de vitesse, limite, compteur d'utilisation,
l'historique du plan, la carte de point d'accès, le routeur, la session et l'enregistrement comptable RADIUS — ainsi que votre
paramétrage comptable (plan comptable, comptes de caisse, groupes de taxes, paiement
passerelles). Les soldes de trésorerie, de portefeuille et de créances sont dérivés du grand livre, ils
lisez simplement zéro après.
Téléchargez-le, lisez-le, puis exécutez-le. Effectuez toujours un essai à sec en premier :
curl -fsSL -o samm-wipe-financials.sh \
https://raw.githubusercontent.com/mhdhaidarah/samm/main/tools/samm-wipe-financials.sh
sudo bash samm-wipe-financials.sh --dry-run # show what would be deleted, change nothing
sudo bash samm-wipe-financials.sh # do it
Ne le placez pas directement dans une coque
Ne l'exécutez jamais en tant que curl … | sudo bash . Pour un script qui détruit les données que vous
je veux le lire en premier, et un téléchargement tronqué ne doit pas pouvoir exécuter la moitié d'un
essuyer. Téléchargez, inspectez, puis exécutez.
Le script refuse de s'exécuter en tant qu'utilisateur non root, imprime exactement ce qu'il s'apprête à faire
supprimer, puis vous demande de taper YES pour confirmer que vous détenez une sauvegarde vérifiée et WIPE pour continuer. Il propose d'effectuer d'abord son propre dump de base de données (dans /var/backups/samm/ ) et abandonne si ce vidage échoue. La lingette fonctionne comme un
transaction unique tout ou rien, et RADIUS est délibérément laissé en cours d'exécution, donc
les abonnés restent en ligne pendant que les livres sont effacés.
Référence
FAQ & dépannage
Quels systèmes d'exploitation SAMM est-il pris en charge ?
Ubuntu 22.04/24.04/26.04 LTS et Debian 12/13. Qualité serveur Linux uniquement :
les variantes de bureau ne sont pas prises en charge. L'installateur attend systemd, un nouveau
Installation de PostgreSQL (une est configurée pour vous) et accès root.
Ai-je besoin d'une connexion Internet pour exécuter SAMM ?
Non. SAMM fonctionne entièrement sur votre propre serveur et authentifie les abonnés localement
sur RAYON. Le seul trafic sortant est un battement de cœur de licence périodique vers le SecuryTik serveur de licences pour que votre plan reste validé.
Puis-je exécuter SAMM dans le cloud, ou doit-il être sur site ?
L’un ou l’autre fonctionne. La plupart des opérateurs fonctionnent sur site à côté de leurs routeurs principaux ; certains courent
sur une petite VM cloud avec un tunnel Cloudflare Zero Trust en arrière. La seule exigence
est que les routeurs MikroTik peuvent atteindre le serveur SAMM sur les ports RADIUS
(1812/1813 UDP) et que SAMM peut atteindre les routeurs via l'API MikroTik .
Dois-je redémarrer FreeRADIUS lorsque j'ajoute ou supprime un routeur ?
Non. SAMM résout les clients NAS de manière dynamique à partir de la base de données, ajoutant ainsi :
modifier ou supprimer un routeur dans MikroTik → NAS prend effet sans redémarrage.
À quelle vitesse un changement de plan ou une réinitialisation de compteur prend-il effet ?
Les actions d'administration sont mises en file d'attente et appliquées par le service samm-radius sur
son prochain tick – dans les 30 secondes par défaut. Si l'abonné est en ligne, SAMM envoie également un CoA en direct pour actualiser la session. Réduisez l'intervalle du rayon samm dans Système → Paramètres pour un timing plus serré.
Qu'arrive-t-il à mes données si une licence payante expire ?
Rien n'est jamais supprimé. Une licence expirée est annulée par un avertissement, une grâce, un
verrouillage doux (RADIUS continue de s'authentifier pendant environ une semaine) et enfin un verrouillage dur
confinement. La réactivation à tout moment redémarre chaque service avec toutes les données intactes.
Est-ce que SAMM est gratuit ? Qu'est-ce que Pro ajoute ?
Le niveau gratuit est gratuit pour toujours et comprend toutes les fonctionnalités. Plus, Pro et Pro Max ne déverrouillent pas de fonctionnalités — ils augmentent les plafonds d'utilisateurs AAA, de cartes hotspot et de routeurs. Voir Licences & niveaux.
Un abonné ne peut pas s'authentifier : par où commencer ?
Vérifiez que le secret partagé RADIUS du routeur correspond exactement à l'enregistrement NAS,
que le routeur est activé pour PPP / Hotspot RADIUS et que l'abonné
le compte est actif et n’a pas expiré. Regarder journalctl -u samm-api -f et le journal FreeRADIUS , et confirmez que le routeur peut atteindre l'hôte SAMM sur UDP
1812/1813.
Besoin d'aide supplémentaire ?
Envoyez un e-mail à [email protected] pour signaler un bug ou\n demander une fonctionnalité.