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": "Servers",
"nav_users": "Users",
"nav_invites": "Invite links",
"nav_settings": "Settings",
"nav_connections": "Connections",
"nav_logout": "Logout",
@@ -196,6 +197,41 @@
"guest_not_found": "404 Not Found",
"guest_not_found_desc": "Guest access is disabled or the link is invalid.",
"wrong_guest_password": "Wrong password",
"invites_title": "Invite links",
"invites_hint": "Create shareable links. Anyone with the link can create a VPN config — you set how many times.",
"invites_empty": "No invite links yet",
"invites_empty_desc": "Create a link and share it — no registration needed.",
"invite_create": "Create link",
"invite_edit": "Edit link",
"invite_active": "Active",
"invite_expired": "Expired",
"invite_exhausted": "No uses left",
"invite_uses": "Uses",
"invite_name_label": "Link name",
"invite_max_uses_label": "Max configs",
"invite_max_uses_hint": "How many configs can be created via this link. 0 = unlimited.",
"invite_user_label": "Store configs under user",
"invite_user_hint": "Created configs are attached to this panel user (for management).",
"invite_user_required": "Select a user to store configs under",
"invite_password_label": "Password (optional)",
"invite_expires_label": "Expires at (optional)",
"invite_clear_expires": "Remove expiration",
"invite_note_label": "Note (admin only)",
"invite_note_placeholder": "Internal comment",
"invite_reset_used": "Reset used counter to 0",
"invite_created": "Invite link created (URL copied)",
"invite_updated": "Invite link updated",
"invite_deleted": "Invite link deleted",
"invite_delete_confirm": "Delete this invite link?",
"invite_public_title": "Invite",
"invite_public_subtitle": "Get a VPN config via invite link",
"invite_protected_desc": "This invite link is password protected.",
"invite_get_config_hint": "Each click creates one new config and counts as a use",
"invite_uses_left": "Remaining uses: {}",
"invite_uses_left_unlimited": "Created so far: {} (unlimited)",
"invite_not_found": "404 Not Found",
"invite_not_found_desc": "Invite link is invalid or was deleted.",
"wrong_invite_password": "Wrong password",
"public_link_label": "Public link",
"disabled": "Disabled",
"out_of": "Of",