Add handling for peers without private keys and update translations

This commit is contained in:
Eduardo Silva 2025-08-12 11:44:34 -03:00
parent 1f87e0bf25
commit d6843db9fb
13 changed files with 194 additions and 118 deletions

View File

@ -129,6 +129,7 @@ def peer_info(request):
'name': str(peer), 'name': str(peer),
'public_key': str(peer.public_key), 'public_key': str(peer.public_key),
'uuid': str(peer.uuid), 'uuid': str(peer.uuid),
'private_key_exists': bool(peer.private_key),
} }
return JsonResponse(data) return JsonResponse(data)

Binary file not shown.

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-12 10:36-0300\n" "POT-Creation-Date: 2025-08-12 11:30-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -1208,7 +1208,7 @@ msgid "Create Peer"
msgstr "Peer erstellen" msgstr "Peer erstellen"
#: templates/wireguard/wireguard_peer_list.html:106 #: templates/wireguard/wireguard_peer_list.html:106
#: templates/wireguard/wireguard_peer_list.html:617 #: templates/wireguard/wireguard_peer_list.html:637
msgid "Show extras" msgid "Show extras"
msgstr "Extras anzeigen" msgstr "Extras anzeigen"
@ -1272,7 +1272,15 @@ msgstr ""
msgid "Add WireGuard Instance" msgid "Add WireGuard Instance"
msgstr "WireGuardInstanz hinzufügen" msgstr "WireGuardInstanz hinzufügen"
#: templates/wireguard/wireguard_peer_list.html:570 #: templates/wireguard/wireguard_peer_list.html:304
msgid ""
"This configuration does not contain a private key. You must add the private "
"key manually in your client before using it."
msgstr ""
"Diese Konfiguration enthält keinen privaten Schlüssel. Sie müssen den "
"privaten Schlüssel manuell in Ihrem Client hinzufügen, bevor Sie ihn verwenden."
#: templates/wireguard/wireguard_peer_list.html:590
msgid "" msgid ""
"This address does not appear in the wg show command output, likely " "This address does not appear in the wg show command output, likely "
"indicating that another peer has an IP overlapping this network or that the " "indicating that another peer has an IP overlapping this network or that the "
@ -1282,7 +1290,7 @@ msgstr ""
"verwendet ein anderer Peer eine überlappende IP oder die Konfigurationsdatei " "verwendet ein anderer Peer eine überlappende IP oder die Konfigurationsdatei "
"ist veraltet." "ist veraltet."
#: templates/wireguard/wireguard_peer_list.html:585 #: templates/wireguard/wireguard_peer_list.html:605
msgid "" msgid ""
"At least one address does not appear in the wg show command output, which " "At least one address does not appear in the wg show command output, which "
"may indicate that another peer is using an overlapping IP or that the " "may indicate that another peer is using an overlapping IP or that the "
@ -1292,67 +1300,67 @@ msgstr ""
"Möglicherweise nutzt ein anderer Peer eine überlappende IP oder die " "Möglicherweise nutzt ein anderer Peer eine überlappende IP oder die "
"Konfiguration ist veraltet." "Konfiguration ist veraltet."
#: templates/wireguard/wireguard_peer_list.html:614 #: templates/wireguard/wireguard_peer_list.html:634
msgid "Hide extras" msgid "Hide extras"
msgstr "Extras ausblenden" msgstr "Extras ausblenden"
#: templates/wireguard/wireguard_peer_list.html:658 #: templates/wireguard/wireguard_peer_list.html:678
#: templates/wireguard/wireguard_peer_list.html:792 #: templates/wireguard/wireguard_peer_list.html:812
msgid "Access Password" msgid "Access Password"
msgstr "Zugangspasswort" msgstr "Zugangspasswort"
#: templates/wireguard/wireguard_peer_list.html:658 #: templates/wireguard/wireguard_peer_list.html:678
#: templates/wireguard/wireguard_peer_list.html:792 #: templates/wireguard/wireguard_peer_list.html:812
msgid "(Share this password via a separate secure channel)" msgid "(Share this password via a separate secure channel)"
msgstr "(Teilen Sie dieses Passwort über einen getrennten sicheren Kanal)" msgstr "(Teilen Sie dieses Passwort über einen getrennten sicheren Kanal)"
#: templates/wireguard/wireguard_peer_list.html:661 #: templates/wireguard/wireguard_peer_list.html:681
msgid "Unknown error" msgid "Unknown error"
msgstr "Unbekannter Fehler" msgstr "Unbekannter Fehler"
#: templates/wireguard/wireguard_peer_list.html:665 #: templates/wireguard/wireguard_peer_list.html:685
msgid "Error creating invite." msgid "Error creating invite."
msgstr "Fehler beim Erstellen der Einladung." msgstr "Fehler beim Erstellen der Einladung."
#: templates/wireguard/wireguard_peer_list.html:702 #: templates/wireguard/wireguard_peer_list.html:722
msgid "Invite text copied to clipboard." msgid "Invite text copied to clipboard."
msgstr "Einladungstext in die Zwischenablage kopiert." msgstr "Einladungstext in die Zwischenablage kopiert."
#: templates/wireguard/wireguard_peer_list.html:704 #: templates/wireguard/wireguard_peer_list.html:724
msgid "Failed to copy text." msgid "Failed to copy text."
msgstr "Text konnte nicht kopiert werden." msgstr "Text konnte nicht kopiert werden."
#: templates/wireguard/wireguard_peer_list.html:707 #: templates/wireguard/wireguard_peer_list.html:727
msgid "Clipboard API not supported." msgid "Clipboard API not supported."
msgstr "ClipboardAPI wird nicht unterstützt." msgstr "ClipboardAPI wird nicht unterstützt."
#: templates/wireguard/wireguard_peer_list.html:716 #: templates/wireguard/wireguard_peer_list.html:736
msgid "Please enter a valid phone number for WhatsApp." msgid "Please enter a valid phone number for WhatsApp."
msgstr "Bitte geben Sie eine gültige Telefonnummer für WhatsApp ein." msgstr "Bitte geben Sie eine gültige Telefonnummer für WhatsApp ein."
#: templates/wireguard/wireguard_peer_list.html:728 #: templates/wireguard/wireguard_peer_list.html:748
#: templates/wireguard/wireguard_peer_list.html:774 #: templates/wireguard/wireguard_peer_list.html:794
msgid "Invite data is not available." msgid "Invite data is not available."
msgstr "Einladungsdaten sind nicht verfügbar." msgstr "Einladungsdaten sind nicht verfügbar."
#: templates/wireguard/wireguard_peer_list.html:737 #: templates/wireguard/wireguard_peer_list.html:757
msgid "Please enter a valid email address." msgid "Please enter a valid email address."
msgstr "Bitte geben Sie eine gültige EMailAdresse ein." msgstr "Bitte geben Sie eine gültige EMailAdresse ein."
#: templates/wireguard/wireguard_peer_list.html:759 #: templates/wireguard/wireguard_peer_list.html:779
msgid "Error sending email." msgid "Error sending email."
msgstr "Fehler beim Senden der EMail." msgstr "Fehler beim Senden der EMail."
#: templates/wireguard/wireguard_peer_list.html:796 #: templates/wireguard/wireguard_peer_list.html:816
#: templates/wireguard/wireguard_peer_list.html:800 #: templates/wireguard/wireguard_peer_list.html:820
msgid "Error refreshing invite." msgid "Error refreshing invite."
msgstr "Fehler beim Aktualisieren der Einladung." msgstr "Fehler beim Aktualisieren der Einladung."
#: templates/wireguard/wireguard_peer_list.html:815 #: templates/wireguard/wireguard_peer_list.html:835
msgid "No invite data available to refresh." msgid "No invite data available to refresh."
msgstr "Keine Einladungsdaten zum Aktualisieren verfügbar." msgstr "Keine Einladungsdaten zum Aktualisieren verfügbar."
#: templates/wireguard/wireguard_peer_list.html:835 #: templates/wireguard/wireguard_peer_list.html:855
msgid "Error closing invite:" msgid "Error closing invite:"
msgstr "Fehler beim Schließen der Einladung:" msgstr "Fehler beim Schließen der Einladung:"

Binary file not shown.

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-12 10:36-0300\n" "POT-Creation-Date: 2025-08-12 11:30-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -1200,7 +1200,7 @@ msgid "Create Peer"
msgstr "Crear peer" msgstr "Crear peer"
#: templates/wireguard/wireguard_peer_list.html:106 #: templates/wireguard/wireguard_peer_list.html:106
#: templates/wireguard/wireguard_peer_list.html:617 #: templates/wireguard/wireguard_peer_list.html:637
msgid "Show extras" msgid "Show extras"
msgstr "Mostrar extras" msgstr "Mostrar extras"
@ -1264,7 +1264,15 @@ msgstr ""
msgid "Add WireGuard Instance" msgid "Add WireGuard Instance"
msgstr "Añadir instancia WireGuard" msgstr "Añadir instancia WireGuard"
#: templates/wireguard/wireguard_peer_list.html:570 #: templates/wireguard/wireguard_peer_list.html:304
msgid ""
"This configuration does not contain a private key. You must add the private "
"key manually in your client before using it."
msgstr ""
"Esta configuración no contiene una clave privada. Debes agregar la clave "
"privada manualmente en tu cliente antes de usarla."
#: templates/wireguard/wireguard_peer_list.html:590
msgid "" msgid ""
"This address does not appear in the wg show command output, likely " "This address does not appear in the wg show command output, likely "
"indicating that another peer has an IP overlapping this network or that the " "indicating that another peer has an IP overlapping this network or that the "
@ -1273,7 +1281,7 @@ msgstr ""
"Esta dirección no aparece en la salida de 'wg show', lo que indica que otro " "Esta dirección no aparece en la salida de 'wg show', lo que indica que otro "
"peer tiene una IP solapada o el archivo de configuración está desactualizado." "peer tiene una IP solapada o el archivo de configuración está desactualizado."
#: templates/wireguard/wireguard_peer_list.html:585 #: templates/wireguard/wireguard_peer_list.html:605
msgid "" msgid ""
"At least one address does not appear in the wg show command output, which " "At least one address does not appear in the wg show command output, which "
"may indicate that another peer is using an overlapping IP or that the " "may indicate that another peer is using an overlapping IP or that the "
@ -1282,67 +1290,67 @@ msgstr ""
"Al menos una dirección no aparece en la salida de 'wg show', lo cual puede " "Al menos una dirección no aparece en la salida de 'wg show', lo cual puede "
"indicar un IP solapada o un archivo desactualizado." "indicar un IP solapada o un archivo desactualizado."
#: templates/wireguard/wireguard_peer_list.html:614 #: templates/wireguard/wireguard_peer_list.html:634
msgid "Hide extras" msgid "Hide extras"
msgstr "Ocultar extras" msgstr "Ocultar extras"
#: templates/wireguard/wireguard_peer_list.html:658 #: templates/wireguard/wireguard_peer_list.html:678
#: templates/wireguard/wireguard_peer_list.html:792 #: templates/wireguard/wireguard_peer_list.html:812
msgid "Access Password" msgid "Access Password"
msgstr "Contraseña de acceso" msgstr "Contraseña de acceso"
#: templates/wireguard/wireguard_peer_list.html:658 #: templates/wireguard/wireguard_peer_list.html:678
#: templates/wireguard/wireguard_peer_list.html:792 #: templates/wireguard/wireguard_peer_list.html:812
msgid "(Share this password via a separate secure channel)" msgid "(Share this password via a separate secure channel)"
msgstr "(Comparte esta contraseña por un canal seguro separado)" msgstr "(Comparte esta contraseña por un canal seguro separado)"
#: templates/wireguard/wireguard_peer_list.html:661 #: templates/wireguard/wireguard_peer_list.html:681
msgid "Unknown error" msgid "Unknown error"
msgstr "Error desconocido" msgstr "Error desconocido"
#: templates/wireguard/wireguard_peer_list.html:665 #: templates/wireguard/wireguard_peer_list.html:685
msgid "Error creating invite." msgid "Error creating invite."
msgstr "Error al crear invitación." msgstr "Error al crear invitación."
#: templates/wireguard/wireguard_peer_list.html:702 #: templates/wireguard/wireguard_peer_list.html:722
msgid "Invite text copied to clipboard." msgid "Invite text copied to clipboard."
msgstr "Texto de invitación copiado al portapapeles." msgstr "Texto de invitación copiado al portapapeles."
#: templates/wireguard/wireguard_peer_list.html:704 #: templates/wireguard/wireguard_peer_list.html:724
msgid "Failed to copy text." msgid "Failed to copy text."
msgstr "Error al copiar texto." msgstr "Error al copiar texto."
#: templates/wireguard/wireguard_peer_list.html:707 #: templates/wireguard/wireguard_peer_list.html:727
msgid "Clipboard API not supported." msgid "Clipboard API not supported."
msgstr "API del portapapeles no soportada." msgstr "API del portapapeles no soportada."
#: templates/wireguard/wireguard_peer_list.html:716 #: templates/wireguard/wireguard_peer_list.html:736
msgid "Please enter a valid phone number for WhatsApp." msgid "Please enter a valid phone number for WhatsApp."
msgstr "Ingresa un número de WhatsApp válido." msgstr "Ingresa un número de WhatsApp válido."
#: templates/wireguard/wireguard_peer_list.html:728 #: templates/wireguard/wireguard_peer_list.html:748
#: templates/wireguard/wireguard_peer_list.html:774 #: templates/wireguard/wireguard_peer_list.html:794
msgid "Invite data is not available." msgid "Invite data is not available."
msgstr "Datos de invitación no disponibles." msgstr "Datos de invitación no disponibles."
#: templates/wireguard/wireguard_peer_list.html:737 #: templates/wireguard/wireguard_peer_list.html:757
msgid "Please enter a valid email address." msgid "Please enter a valid email address."
msgstr "Ingresa un email válido." msgstr "Ingresa un email válido."
#: templates/wireguard/wireguard_peer_list.html:759 #: templates/wireguard/wireguard_peer_list.html:779
msgid "Error sending email." msgid "Error sending email."
msgstr "Error al enviar email." msgstr "Error al enviar email."
#: templates/wireguard/wireguard_peer_list.html:796 #: templates/wireguard/wireguard_peer_list.html:816
#: templates/wireguard/wireguard_peer_list.html:800 #: templates/wireguard/wireguard_peer_list.html:820
msgid "Error refreshing invite." msgid "Error refreshing invite."
msgstr "Error al actualizar invitación." msgstr "Error al actualizar invitación."
#: templates/wireguard/wireguard_peer_list.html:815 #: templates/wireguard/wireguard_peer_list.html:835
msgid "No invite data available to refresh." msgid "No invite data available to refresh."
msgstr "No hay datos de invitación para actualizar." msgstr "No hay datos de invitación para actualizar."
#: templates/wireguard/wireguard_peer_list.html:835 #: templates/wireguard/wireguard_peer_list.html:855
msgid "Error closing invite:" msgid "Error closing invite:"
msgstr "Error al cerrar invitación:" msgstr "Error al cerrar invitación:"

Binary file not shown.

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-12 10:36-0300\n" "POT-Creation-Date: 2025-08-12 11:30-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -1204,7 +1204,7 @@ msgid "Create Peer"
msgstr "Créer un peer" msgstr "Créer un peer"
#: templates/wireguard/wireguard_peer_list.html:106 #: templates/wireguard/wireguard_peer_list.html:106
#: templates/wireguard/wireguard_peer_list.html:617 #: templates/wireguard/wireguard_peer_list.html:637
msgid "Show extras" msgid "Show extras"
msgstr "Afficher les extras" msgstr "Afficher les extras"
@ -1268,7 +1268,15 @@ msgstr ""
msgid "Add WireGuard Instance" msgid "Add WireGuard Instance"
msgstr "Ajouter une instance WireGuard" msgstr "Ajouter une instance WireGuard"
#: templates/wireguard/wireguard_peer_list.html:570 #: templates/wireguard/wireguard_peer_list.html:304
msgid ""
"This configuration does not contain a private key. You must add the private "
"key manually in your client before using it."
msgstr ""
"Cette configuration ne contient pas de clé privée. Vous devez ajouter la "
"clé privée manuellement dans votre client avant de l'utiliser."
#: templates/wireguard/wireguard_peer_list.html:590
msgid "" msgid ""
"This address does not appear in the wg show command output, likely " "This address does not appear in the wg show command output, likely "
"indicating that another peer has an IP overlapping this network or that the " "indicating that another peer has an IP overlapping this network or that the "
@ -1278,7 +1286,7 @@ msgstr ""
"est probable quun autre peer utilise un IP chevauchant ce réseau ou que le " "est probable quun autre peer utilise un IP chevauchant ce réseau ou que le "
"fichier de configuration soit obsolète." "fichier de configuration soit obsolète."
#: templates/wireguard/wireguard_peer_list.html:585 #: templates/wireguard/wireguard_peer_list.html:605
msgid "" msgid ""
"At least one address does not appear in the wg show command output, which " "At least one address does not appear in the wg show command output, which "
"may indicate that another peer is using an overlapping IP or that the " "may indicate that another peer is using an overlapping IP or that the "
@ -1288,67 +1296,67 @@ msgstr ""
"signifier quun autre peer utilise un IP chevauchant ou que la configuration " "signifier quun autre peer utilise un IP chevauchant ou que la configuration "
"est obsolète." "est obsolète."
#: templates/wireguard/wireguard_peer_list.html:614 #: templates/wireguard/wireguard_peer_list.html:634
msgid "Hide extras" msgid "Hide extras"
msgstr "Masquer les extras" msgstr "Masquer les extras"
#: templates/wireguard/wireguard_peer_list.html:658 #: templates/wireguard/wireguard_peer_list.html:678
#: templates/wireguard/wireguard_peer_list.html:792 #: templates/wireguard/wireguard_peer_list.html:812
msgid "Access Password" msgid "Access Password"
msgstr "Mot de passe daccès" msgstr "Mot de passe daccès"
#: templates/wireguard/wireguard_peer_list.html:658 #: templates/wireguard/wireguard_peer_list.html:678
#: templates/wireguard/wireguard_peer_list.html:792 #: templates/wireguard/wireguard_peer_list.html:812
msgid "(Share this password via a separate secure channel)" msgid "(Share this password via a separate secure channel)"
msgstr "(Partagez ce mot de passe via un canal sécurisé distinct)" msgstr "(Partagez ce mot de passe via un canal sécurisé distinct)"
#: templates/wireguard/wireguard_peer_list.html:661 #: templates/wireguard/wireguard_peer_list.html:681
msgid "Unknown error" msgid "Unknown error"
msgstr "Erreur inconnue" msgstr "Erreur inconnue"
#: templates/wireguard/wireguard_peer_list.html:665 #: templates/wireguard/wireguard_peer_list.html:685
msgid "Error creating invite." msgid "Error creating invite."
msgstr "Erreur lors de la création de linvitation." msgstr "Erreur lors de la création de linvitation."
#: templates/wireguard/wireguard_peer_list.html:702 #: templates/wireguard/wireguard_peer_list.html:722
msgid "Invite text copied to clipboard." msgid "Invite text copied to clipboard."
msgstr "Texte dinvitation copié dans le pressepapiers." msgstr "Texte dinvitation copié dans le pressepapiers."
#: templates/wireguard/wireguard_peer_list.html:704 #: templates/wireguard/wireguard_peer_list.html:724
msgid "Failed to copy text." msgid "Failed to copy text."
msgstr "Échec de la copie du texte." msgstr "Échec de la copie du texte."
#: templates/wireguard/wireguard_peer_list.html:707 #: templates/wireguard/wireguard_peer_list.html:727
msgid "Clipboard API not supported." msgid "Clipboard API not supported."
msgstr "API Clipboard non prise en charge." msgstr "API Clipboard non prise en charge."
#: templates/wireguard/wireguard_peer_list.html:716 #: templates/wireguard/wireguard_peer_list.html:736
msgid "Please enter a valid phone number for WhatsApp." msgid "Please enter a valid phone number for WhatsApp."
msgstr "Veuillez saisir un numéro de téléphone WhatsApp valide." msgstr "Veuillez saisir un numéro de téléphone WhatsApp valide."
#: templates/wireguard/wireguard_peer_list.html:728 #: templates/wireguard/wireguard_peer_list.html:748
#: templates/wireguard/wireguard_peer_list.html:774 #: templates/wireguard/wireguard_peer_list.html:794
msgid "Invite data is not available." msgid "Invite data is not available."
msgstr "Les données dinvitation ne sont pas disponibles." msgstr "Les données dinvitation ne sont pas disponibles."
#: templates/wireguard/wireguard_peer_list.html:737 #: templates/wireguard/wireguard_peer_list.html:757
msgid "Please enter a valid email address." msgid "Please enter a valid email address."
msgstr "Veuillez saisir une adresse email valide." msgstr "Veuillez saisir une adresse email valide."
#: templates/wireguard/wireguard_peer_list.html:759 #: templates/wireguard/wireguard_peer_list.html:779
msgid "Error sending email." msgid "Error sending email."
msgstr "Erreur lors de lenvoi de lemail." msgstr "Erreur lors de lenvoi de lemail."
#: templates/wireguard/wireguard_peer_list.html:796 #: templates/wireguard/wireguard_peer_list.html:816
#: templates/wireguard/wireguard_peer_list.html:800 #: templates/wireguard/wireguard_peer_list.html:820
msgid "Error refreshing invite." msgid "Error refreshing invite."
msgstr "Erreur lors de lactualisation de linvitation." msgstr "Erreur lors de lactualisation de linvitation."
#: templates/wireguard/wireguard_peer_list.html:815 #: templates/wireguard/wireguard_peer_list.html:835
msgid "No invite data available to refresh." msgid "No invite data available to refresh."
msgstr "Aucune donnée dinvitation à actualiser." msgstr "Aucune donnée dinvitation à actualiser."
#: templates/wireguard/wireguard_peer_list.html:835 #: templates/wireguard/wireguard_peer_list.html:855
msgid "Error closing invite:" msgid "Error closing invite:"
msgstr "Erreur lors de la fermeture de linvitation:" msgstr "Erreur lors de la fermeture de linvitation:"

Binary file not shown.

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-12 10:36-0300\n" "POT-Creation-Date: 2025-08-12 11:30-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -1210,7 +1210,7 @@ msgid "Create Peer"
msgstr "Criar Peer" msgstr "Criar Peer"
#: templates/wireguard/wireguard_peer_list.html:106 #: templates/wireguard/wireguard_peer_list.html:106
#: templates/wireguard/wireguard_peer_list.html:617 #: templates/wireguard/wireguard_peer_list.html:637
msgid "Show extras" msgid "Show extras"
msgstr "Exibir extras" msgstr "Exibir extras"
@ -1274,7 +1274,15 @@ msgstr ""
msgid "Add WireGuard Instance" msgid "Add WireGuard Instance"
msgstr "Adicionar Instância do WireGuard" msgstr "Adicionar Instância do WireGuard"
#: templates/wireguard/wireguard_peer_list.html:570 #: templates/wireguard/wireguard_peer_list.html:304
msgid ""
"This configuration does not contain a private key. You must add the private "
"key manually in your client before using it."
msgstr ""
"Esta configuração não contém uma chave privada. Você deve adicionar a chave "
"privada manualmente no seu cliente antes de usá-la."
#: templates/wireguard/wireguard_peer_list.html:590
msgid "" msgid ""
"This address does not appear in the wg show command output, likely " "This address does not appear in the wg show command output, likely "
"indicating that another peer has an IP overlapping this network or that the " "indicating that another peer has an IP overlapping this network or that the "
@ -1284,7 +1292,7 @@ msgstr ""
"indicando que outro peer tem um IP sobrepondo esta rede ou que o arquivo de " "indicando que outro peer tem um IP sobrepondo esta rede ou que o arquivo de "
"configuração está desatualizado." "configuração está desatualizado."
#: templates/wireguard/wireguard_peer_list.html:585 #: templates/wireguard/wireguard_peer_list.html:605
msgid "" msgid ""
"At least one address does not appear in the wg show command output, which " "At least one address does not appear in the wg show command output, which "
"may indicate that another peer is using an overlapping IP or that the " "may indicate that another peer is using an overlapping IP or that the "
@ -1294,67 +1302,67 @@ msgstr ""
"indicar que outro peer está usando um IP sobreposto ou que o arquivo de " "indicar que outro peer está usando um IP sobreposto ou que o arquivo de "
"configuração está desatualizado." "configuração está desatualizado."
#: templates/wireguard/wireguard_peer_list.html:614 #: templates/wireguard/wireguard_peer_list.html:634
msgid "Hide extras" msgid "Hide extras"
msgstr "Ocultar extras" msgstr "Ocultar extras"
#: templates/wireguard/wireguard_peer_list.html:658 #: templates/wireguard/wireguard_peer_list.html:678
#: templates/wireguard/wireguard_peer_list.html:792 #: templates/wireguard/wireguard_peer_list.html:812
msgid "Access Password" msgid "Access Password"
msgstr "Senha de Acesso" msgstr "Senha de Acesso"
#: templates/wireguard/wireguard_peer_list.html:658 #: templates/wireguard/wireguard_peer_list.html:678
#: templates/wireguard/wireguard_peer_list.html:792 #: templates/wireguard/wireguard_peer_list.html:812
msgid "(Share this password via a separate secure channel)" msgid "(Share this password via a separate secure channel)"
msgstr "(Compartilhe esta senha por um canal seguro separado)" msgstr "(Compartilhe esta senha por um canal seguro separado)"
#: templates/wireguard/wireguard_peer_list.html:661 #: templates/wireguard/wireguard_peer_list.html:681
msgid "Unknown error" msgid "Unknown error"
msgstr "Erro desconhecido" msgstr "Erro desconhecido"
#: templates/wireguard/wireguard_peer_list.html:665 #: templates/wireguard/wireguard_peer_list.html:685
msgid "Error creating invite." msgid "Error creating invite."
msgstr "Erro ao criar convite." msgstr "Erro ao criar convite."
#: templates/wireguard/wireguard_peer_list.html:702 #: templates/wireguard/wireguard_peer_list.html:722
msgid "Invite text copied to clipboard." msgid "Invite text copied to clipboard."
msgstr "Texto do convite copiado para a área de transferência." msgstr "Texto do convite copiado para a área de transferência."
#: templates/wireguard/wireguard_peer_list.html:704 #: templates/wireguard/wireguard_peer_list.html:724
msgid "Failed to copy text." msgid "Failed to copy text."
msgstr "Falha ao copiar o texto." msgstr "Falha ao copiar o texto."
#: templates/wireguard/wireguard_peer_list.html:707 #: templates/wireguard/wireguard_peer_list.html:727
msgid "Clipboard API not supported." msgid "Clipboard API not supported."
msgstr "A API de área de transferência não é suportada." msgstr "A API de área de transferência não é suportada."
#: templates/wireguard/wireguard_peer_list.html:716 #: templates/wireguard/wireguard_peer_list.html:736
msgid "Please enter a valid phone number for WhatsApp." msgid "Please enter a valid phone number for WhatsApp."
msgstr "Por favor, insira um número de telefone válido para o WhatsApp." msgstr "Por favor, insira um número de telefone válido para o WhatsApp."
#: templates/wireguard/wireguard_peer_list.html:728 #: templates/wireguard/wireguard_peer_list.html:748
#: templates/wireguard/wireguard_peer_list.html:774 #: templates/wireguard/wireguard_peer_list.html:794
msgid "Invite data is not available." msgid "Invite data is not available."
msgstr "Dados do convite não estão disponíveis." msgstr "Dados do convite não estão disponíveis."
#: templates/wireguard/wireguard_peer_list.html:737 #: templates/wireguard/wireguard_peer_list.html:757
msgid "Please enter a valid email address." msgid "Please enter a valid email address."
msgstr "Por favor, insira um endereço de email válido." msgstr "Por favor, insira um endereço de email válido."
#: templates/wireguard/wireguard_peer_list.html:759 #: templates/wireguard/wireguard_peer_list.html:779
msgid "Error sending email." msgid "Error sending email."
msgstr "Erro ao enviar o email." msgstr "Erro ao enviar o email."
#: templates/wireguard/wireguard_peer_list.html:796 #: templates/wireguard/wireguard_peer_list.html:816
#: templates/wireguard/wireguard_peer_list.html:800 #: templates/wireguard/wireguard_peer_list.html:820
msgid "Error refreshing invite." msgid "Error refreshing invite."
msgstr "Erro ao atualizar o convite." msgstr "Erro ao atualizar o convite."
#: templates/wireguard/wireguard_peer_list.html:815 #: templates/wireguard/wireguard_peer_list.html:835
msgid "No invite data available to refresh." msgid "No invite data available to refresh."
msgstr "Não há dados de convite disponíveis para atualizar." msgstr "Não há dados de convite disponíveis para atualizar."
#: templates/wireguard/wireguard_peer_list.html:835 #: templates/wireguard/wireguard_peer_list.html:855
msgid "Error closing invite:" msgid "Error closing invite:"
msgstr "Erro ao fechar o convite:" msgstr "Erro ao fechar o convite:"

Binary file not shown.

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-12 10:36-0300\n" "POT-Creation-Date: 2025-08-12 11:30-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -1204,7 +1204,7 @@ msgid "Create Peer"
msgstr "Vytvoriť peer" msgstr "Vytvoriť peer"
#: templates/wireguard/wireguard_peer_list.html:106 #: templates/wireguard/wireguard_peer_list.html:106
#: templates/wireguard/wireguard_peer_list.html:617 #: templates/wireguard/wireguard_peer_list.html:637
msgid "Show extras" msgid "Show extras"
msgstr "Zobraziť dodatky" msgstr "Zobraziť dodatky"
@ -1268,7 +1268,15 @@ msgstr ""
msgid "Add WireGuard Instance" msgid "Add WireGuard Instance"
msgstr "Pridať WireGuard inštanciu" msgstr "Pridať WireGuard inštanciu"
#: templates/wireguard/wireguard_peer_list.html:570 #: templates/wireguard/wireguard_peer_list.html:304
msgid ""
"This configuration does not contain a private key. You must add the private "
"key manually in your client before using it."
msgstr ""
"Táto konfigurácia neobsahuje súkromný kľúč. Musíte pridať súkromný kľúč "
"manuálne vo vašom klientovi pred jeho použitím."
#: templates/wireguard/wireguard_peer_list.html:590
msgid "" msgid ""
"This address does not appear in the wg show command output, likely " "This address does not appear in the wg show command output, likely "
"indicating that another peer has an IP overlapping this network or that the " "indicating that another peer has an IP overlapping this network or that the "
@ -1278,7 +1286,7 @@ msgstr ""
"naznačuje, že iný peer má IP prekrývajúcu túto sieť alebo že konfiguračný " "naznačuje, že iný peer má IP prekrývajúcu túto sieť alebo že konfiguračný "
"súbor je zastaraný." "súbor je zastaraný."
#: templates/wireguard/wireguard_peer_list.html:585 #: templates/wireguard/wireguard_peer_list.html:605
msgid "" msgid ""
"At least one address does not appear in the wg show command output, which " "At least one address does not appear in the wg show command output, which "
"may indicate that another peer is using an overlapping IP or that the " "may indicate that another peer is using an overlapping IP or that the "
@ -1288,67 +1296,67 @@ msgstr ""
"naznačovať, že iný peer používa prekrývajúcu IP adresu alebo že konfiguračný " "naznačovať, že iný peer používa prekrývajúcu IP adresu alebo že konfiguračný "
"súbor je zastaraný." "súbor je zastaraný."
#: templates/wireguard/wireguard_peer_list.html:614 #: templates/wireguard/wireguard_peer_list.html:634
msgid "Hide extras" msgid "Hide extras"
msgstr "Skryť dodatky" msgstr "Skryť dodatky"
#: templates/wireguard/wireguard_peer_list.html:658 #: templates/wireguard/wireguard_peer_list.html:678
#: templates/wireguard/wireguard_peer_list.html:792 #: templates/wireguard/wireguard_peer_list.html:812
msgid "Access Password" msgid "Access Password"
msgstr "Prístupové heslo" msgstr "Prístupové heslo"
#: templates/wireguard/wireguard_peer_list.html:658 #: templates/wireguard/wireguard_peer_list.html:678
#: templates/wireguard/wireguard_peer_list.html:792 #: templates/wireguard/wireguard_peer_list.html:812
msgid "(Share this password via a separate secure channel)" msgid "(Share this password via a separate secure channel)"
msgstr "(Zdieľajte toto heslo cez samostatný bezpečný kanál)" msgstr "(Zdieľajte toto heslo cez samostatný bezpečný kanál)"
#: templates/wireguard/wireguard_peer_list.html:661 #: templates/wireguard/wireguard_peer_list.html:681
msgid "Unknown error" msgid "Unknown error"
msgstr "Neznáma chyba" msgstr "Neznáma chyba"
#: templates/wireguard/wireguard_peer_list.html:665 #: templates/wireguard/wireguard_peer_list.html:685
msgid "Error creating invite." msgid "Error creating invite."
msgstr "Chyba pri vytváraní pozvánky." msgstr "Chyba pri vytváraní pozvánky."
#: templates/wireguard/wireguard_peer_list.html:702 #: templates/wireguard/wireguard_peer_list.html:722
msgid "Invite text copied to clipboard." msgid "Invite text copied to clipboard."
msgstr "Text pozvánky bol skopírovaný do schránky." msgstr "Text pozvánky bol skopírovaný do schránky."
#: templates/wireguard/wireguard_peer_list.html:704 #: templates/wireguard/wireguard_peer_list.html:724
msgid "Failed to copy text." msgid "Failed to copy text."
msgstr "Nepodarilo sa skopírovať text." msgstr "Nepodarilo sa skopírovať text."
#: templates/wireguard/wireguard_peer_list.html:707 #: templates/wireguard/wireguard_peer_list.html:727
msgid "Clipboard API not supported." msgid "Clipboard API not supported."
msgstr "API schránky nie je podporované." msgstr "API schránky nie je podporované."
#: templates/wireguard/wireguard_peer_list.html:716 #: templates/wireguard/wireguard_peer_list.html:736
msgid "Please enter a valid phone number for WhatsApp." msgid "Please enter a valid phone number for WhatsApp."
msgstr "Prosím zadajte platné telefónne číslo pre WhatsApp." msgstr "Prosím zadajte platné telefónne číslo pre WhatsApp."
#: templates/wireguard/wireguard_peer_list.html:728 #: templates/wireguard/wireguard_peer_list.html:748
#: templates/wireguard/wireguard_peer_list.html:774 #: templates/wireguard/wireguard_peer_list.html:794
msgid "Invite data is not available." msgid "Invite data is not available."
msgstr "Údaje pozvánky nie sú dostupné." msgstr "Údaje pozvánky nie sú dostupné."
#: templates/wireguard/wireguard_peer_list.html:737 #: templates/wireguard/wireguard_peer_list.html:757
msgid "Please enter a valid email address." msgid "Please enter a valid email address."
msgstr "Prosím zadajte platnú e-mailovú adresu." msgstr "Prosím zadajte platnú e-mailovú adresu."
#: templates/wireguard/wireguard_peer_list.html:759 #: templates/wireguard/wireguard_peer_list.html:779
msgid "Error sending email." msgid "Error sending email."
msgstr "Chyba pri odosielaní e-mailu." msgstr "Chyba pri odosielaní e-mailu."
#: templates/wireguard/wireguard_peer_list.html:796 #: templates/wireguard/wireguard_peer_list.html:816
#: templates/wireguard/wireguard_peer_list.html:800 #: templates/wireguard/wireguard_peer_list.html:820
msgid "Error refreshing invite." msgid "Error refreshing invite."
msgstr "Chyba pri obnovovaní pozvánky." msgstr "Chyba pri obnovovaní pozvánky."
#: templates/wireguard/wireguard_peer_list.html:815 #: templates/wireguard/wireguard_peer_list.html:835
msgid "No invite data available to refresh." msgid "No invite data available to refresh."
msgstr "Žiadne údaje pozvánky na obnovenie." msgstr "Žiadne údaje pozvánky na obnovenie."
#: templates/wireguard/wireguard_peer_list.html:835 #: templates/wireguard/wireguard_peer_list.html:855
msgid "Error closing invite:" msgid "Error closing invite:"
msgstr "Chyba pri zatváraní pozvánky:" msgstr "Chyba pri zatváraní pozvánky:"

View File

@ -130,8 +130,8 @@
{% endif %} {% endif %}
</div> </div>
<div class="button-group"> <div class="button-group">
<a href="/invite/download_config/?token={{ peer_invite.uuid }}&password={{ password }}" target="_blank" class="btn btn-primary">Download Config</a> <a href="/invite/download_config/?token={{ peer_invite.uuid }}&password={{ password }}" target="_blank" class="btn btn-primary" id="downloadConfigButton">Download Config</a>
<a href="#" id="viewQrButton" class="btn btn-secondary">View QR Code</a> <a href="#" id="viewQrButton" class="btn btn-secondary"{% if not peer_invite.peer.private_key %} style="opacity: 0.5; cursor: not-allowed;"{% endif %}>View QR Code</a>
</div> </div>
<div class="qr-code" id="qrCodeContainer"> <div class="qr-code" id="qrCodeContainer">
<!-- QR Code will be loaded here when the button is clicked --> <!-- QR Code will be loaded here when the button is clicked -->
@ -149,9 +149,15 @@
<script> <script>
document.addEventListener("DOMContentLoaded", function() { document.addEventListener("DOMContentLoaded", function() {
var viewQrButton = document.getElementById("viewQrButton"); var viewQrButton = document.getElementById("viewQrButton");
var downloadConfigButton = document.getElementById("downloadConfigButton");
var qrCodeContainer = document.getElementById("qrCodeContainer"); var qrCodeContainer = document.getElementById("qrCodeContainer");
var hasPrivateKey = {% if peer_invite.peer.private_key %}true{% else %}false{% endif %};
viewQrButton.addEventListener("click", function(event) { viewQrButton.addEventListener("click", function(event) {
event.preventDefault(); event.preventDefault();
if (!hasPrivateKey) {
return false;
}
if (qrCodeContainer.style.display === "none" || qrCodeContainer.style.display === "") { if (qrCodeContainer.style.display === "none" || qrCodeContainer.style.display === "") {
if (qrCodeContainer.getElementsByTagName("img").length === 0) { if (qrCodeContainer.getElementsByTagName("img").length === 0) {
var img = document.createElement("img"); var img = document.createElement("img");
@ -164,6 +170,15 @@
qrCodeContainer.style.display = "none"; qrCodeContainer.style.display = "none";
} }
}); });
downloadConfigButton.addEventListener("click", function(event) {
if (!hasPrivateKey) {
if (!confirm("This configuration does not contain a private key. You must add the private key manually in your client before using it.")) {
event.preventDefault();
return false;
}
}
});
}); });
</script> </script>
{% endif %} {% endif %}

View File

@ -281,6 +281,9 @@
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {
$("#qrcodeButton").on("click", function(e) { $("#qrcodeButton").on("click", function(e) {
e.preventDefault(); e.preventDefault();
if ($(this).hasClass('disabled')) {
return false;
}
var uuid = $("#peerPreviewModal").data("peer-uuid"); var uuid = $("#peerPreviewModal").data("peer-uuid");
$("#qrCodeImg").attr("src", "/tools/download_peer_config/?uuid=" + uuid + "&format=qrcode"); $("#qrCodeImg").attr("src", "/tools/download_peer_config/?uuid=" + uuid + "&format=qrcode");
$(".info-content").hide(); $(".info-content").hide();
@ -293,6 +296,16 @@
$(".qr-code-content").hide(); $(".qr-code-content").hide();
$(".info-content").show(); $(".info-content").show();
}); });
$("#downloadConfigButton").on("click", function(e) {
var hasPrivateKey = $("#peerPreviewModal").data("has-private-key");
if (!hasPrivateKey) {
if (!confirm("{% trans 'This configuration does not contain a private key. You must add the private key manually in your client before using it.' %}")) {
e.preventDefault();
return false;
}
}
});
}); });
</script> </script>
@ -335,7 +348,14 @@
if (data.name) { if (data.name) {
$('#peerPreviewModalLabel').text(data.name); $('#peerPreviewModalLabel').text(data.name);
} }
// Future additional peer information can be handled here. // Check if peer has private_key and enable/disable buttons accordingly
if (!data.private_key_exists) {
$('#qrcodeButton').addClass('disabled').attr('aria-disabled', 'true');
$('#peerPreviewModal').data('has-private-key', false);
} else {
$('#qrcodeButton').removeClass('disabled').removeAttr('aria-disabled');
$('#peerPreviewModal').data('has-private-key', true);
}
}, },
error: function(xhr, status, error) { error: function(xhr, status, error) {
console.error("Error fetching peer info:", error); console.error("Error fetching peer info:", error);