Add invite links with admin-configurable config creation limits.

Admins can create shareable links that allow redeeming a VPN config a set number of times (or unlimited).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
orohi
2026-07-26 01:23:16 +03:00
co-authored by Cursor
parent 5386c4d40e
commit 7b3d8aac34
11 changed files with 1197 additions and 0 deletions
+36
View File
@@ -1,6 +1,7 @@
{
"nav_servers": "Serveurs",
"nav_users": "Utilisateurs",
"nav_invites": "Liens d'invitation",
"nav_settings": "Paramètres",
"nav_connections": "Connexions",
"nav_logout": "Déconnexion",
@@ -194,6 +195,41 @@
"guest_not_found": "404 Introuvable",
"guest_not_found_desc": "Accès invité désactivé ou lien invalide.",
"wrong_guest_password": "Mauvais mot de passe",
"invites_title": "Liens d'invitation",
"invites_hint": "Créez des liens partageables. Le destinataire peut créer une config VPN — vous fixez le nombre d'utilisations.",
"invites_empty": "Aucun lien",
"invites_empty_desc": "Créez un lien à partager — sans inscription.",
"invite_create": "Créer un lien",
"invite_edit": "Modifier le lien",
"invite_active": "Actif",
"invite_expired": "Expiré",
"invite_exhausted": "Plus d'utilisations",
"invite_uses": "Utilisations",
"invite_name_label": "Nom du lien",
"invite_max_uses_label": "Configs max",
"invite_max_uses_hint": "Nombre de configs créables via ce lien. 0 = illimité.",
"invite_user_label": "Utilisateur de stockage",
"invite_user_hint": "Les configs créées sont attachées à cet utilisateur.",
"invite_user_required": "Choisissez un utilisateur",
"invite_password_label": "Mot de passe (optionnel)",
"invite_expires_label": "Expiration (optionnel)",
"invite_clear_expires": "Retirer l'expiration",
"invite_note_label": "Note (admin)",
"invite_note_placeholder": "Commentaire interne",
"invite_reset_used": "Réinitialiser le compteur",
"invite_created": "Lien créé (URL copiée)",
"invite_updated": "Lien mis à jour",
"invite_deleted": "Lien supprimé",
"invite_delete_confirm": "Supprimer ce lien ?",
"invite_public_title": "Invitation",
"invite_public_subtitle": "Obtenir une config VPN via invitation",
"invite_protected_desc": "Lien protégé par mot de passe.",
"invite_get_config_hint": "Chaque clic crée une config et compte comme une utilisation",
"invite_uses_left": "Restantes : {}",
"invite_uses_left_unlimited": "Créées : {} (illimité)",
"invite_not_found": "404 Introuvable",
"invite_not_found_desc": "Lien invalide ou supprimé.",
"wrong_invite_password": "Mauvais mot de passe",
"public_link_label": "Lien public",
"disabled": "Désactivé",
"out_of": "sur",