mirror of
https://github.com/fosrl/pangolin.git
synced 2026-03-12 21:56:36 +00:00
Compare commits
87 Commits
1.16.2-s.1
...
1.16.2-s.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1cc5f59f66 | ||
|
|
4e2d88efdd | ||
|
|
4975cabb2c | ||
|
|
225591094f | ||
|
|
82f88f2cd3 | ||
|
|
99e6bd31b6 | ||
|
|
5c50590d7b | ||
|
|
42b9d5158d | ||
|
|
2ba225299e | ||
|
|
fa0818d3fa | ||
|
|
91b7ceb2cf | ||
|
|
d4b830b9bb | ||
|
|
14d6ff25a7 | ||
|
|
1f62f305ce | ||
|
|
cebcf3e337 | ||
|
|
4cfcc64481 | ||
|
|
1a2069a6d9 | ||
|
|
483d54a9f0 | ||
|
|
0ab6ff9148 | ||
|
|
c87b6872e5 | ||
|
|
f315c8bc43 | ||
|
|
20fa1519fd | ||
|
|
54430afc40 | ||
|
|
7990d08fee | ||
|
|
e9042d9e2e | ||
|
|
24a15841e4 | ||
|
|
bb8f6e09fd | ||
|
|
04bc8ab694 | ||
|
|
6ac8335cf2 | ||
|
|
4c6144f8fb | ||
|
|
255003794e | ||
|
|
119d5c79a0 | ||
|
|
8e2d7c25df | ||
|
|
753dee3023 | ||
|
|
cac0272952 | ||
|
|
ee5b74f9fc | ||
|
|
1362b72cd3 | ||
|
|
35b1566962 | ||
|
|
a4bcce5a0c | ||
|
|
c03f1946e8 | ||
|
|
c11e107758 | ||
|
|
3b4e49f63a | ||
|
|
ea7253f7e8 | ||
|
|
8a529f7946 | ||
|
|
e76612e018 | ||
|
|
e1f99985d8 | ||
|
|
e0c2735635 | ||
|
|
8e6b4e243d | ||
|
|
2623fa8f02 | ||
|
|
7ff92d32cd | ||
|
|
c7f691b20a | ||
|
|
db042e520e | ||
|
|
ed95f10fcc | ||
|
|
64bae5b142 | ||
|
|
19f9dda490 | ||
|
|
df53dfc936 | ||
|
|
8e2e09ab81 | ||
|
|
1eac7cbccd | ||
|
|
ddaaed65e4 | ||
|
|
8e633c21c7 | ||
|
|
e7c4ef44d8 | ||
|
|
3d71470bd2 | ||
|
|
dd627a222e | ||
|
|
62cc20fa1c | ||
|
|
0450fc9f57 | ||
|
|
c58aaf5ba6 | ||
|
|
655522d4e2 | ||
|
|
225475dcae | ||
|
|
ccb977fdfb | ||
|
|
280cbb6e22 | ||
|
|
c20babcb53 | ||
|
|
768eebe2cd | ||
|
|
27d52646a0 | ||
|
|
4dd8080c55 | ||
|
|
0b35d4f2e3 | ||
|
|
54a9fb9e54 | ||
|
|
60a9e68f02 | ||
|
|
ad374298e3 | ||
|
|
c5dc4e6127 | ||
|
|
291ad831c5 | ||
|
|
0a018f0ca8 | ||
|
|
6673eeb1bb | ||
|
|
4641f0b9ef | ||
|
|
a4487964e5 | ||
|
|
fe42fdd1ec | ||
|
|
81c1a1da9c | ||
|
|
52f26396ac |
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Прокси заявки чрез HTTPS, използвайки напълно квалифицирано име на домейн.",
|
"resourceHTTPDescription": "Прокси заявки чрез HTTPS, използвайки напълно квалифицирано име на домейн.",
|
||||||
"resourceRaw": "Суров TCP/UDP ресурс",
|
"resourceRaw": "Суров TCP/UDP ресурс",
|
||||||
"resourceRawDescription": "Прокси заявки чрез сурови TCP/UDP, използвайки порт номер.",
|
"resourceRawDescription": "Прокси заявки чрез сурови TCP/UDP, използвайки порт номер.",
|
||||||
|
"resourceRawDescriptionCloud": "Прокси заявките през суров TCP/UDP, използвайки номер на порт. ИЗИСКВА ИЗПОЛЗВАНЕ НА ОТДАЛЕЧЕН УЗЕЛ.",
|
||||||
"resourceCreate": "Създайте ресурс",
|
"resourceCreate": "Създайте ресурс",
|
||||||
"resourceCreateDescription": "Следвайте стъпките по-долу, за да създадете нов ресурс",
|
"resourceCreateDescription": "Следвайте стъпките по-долу, за да създадете нов ресурс",
|
||||||
"resourceSeeAll": "Вижте всички ресурси",
|
"resourceSeeAll": "Вижте всички ресурси",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "Получаване на потребител",
|
"actionGetUser": "Получаване на потребител",
|
||||||
"actionGetOrgUser": "Вземете потребител на организация",
|
"actionGetOrgUser": "Вземете потребител на организация",
|
||||||
"actionListOrgDomains": "Изброяване на домейни на организация",
|
"actionListOrgDomains": "Изброяване на домейни на организация",
|
||||||
|
"actionGetDomain": "Вземи домейн",
|
||||||
|
"actionCreateOrgDomain": "Създай домейн",
|
||||||
|
"actionUpdateOrgDomain": "Актуализирай домейн",
|
||||||
|
"actionDeleteOrgDomain": "Изтрий домейн",
|
||||||
|
"actionGetDNSRecords": "Вземи DNS записи",
|
||||||
|
"actionRestartOrgDomain": "Рестартирай домейн",
|
||||||
"actionCreateSite": "Създаване на сайт",
|
"actionCreateSite": "Създаване на сайт",
|
||||||
"actionDeleteSite": "Изтриване на сайта",
|
"actionDeleteSite": "Изтриване на сайта",
|
||||||
"actionGetSite": "Вземете сайт",
|
"actionGetSite": "Вземете сайт",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "Потребителят може да изпълнява само определени команди с sudo.",
|
"sshSudoModeCommandsDescription": "Потребителят може да изпълнява само определени команди с sudo.",
|
||||||
"sshSudo": "Разреши sudo",
|
"sshSudo": "Разреши sudo",
|
||||||
"sshSudoCommands": "Sudo команди",
|
"sshSudoCommands": "Sudo команди",
|
||||||
"sshSudoCommandsDescription": "Списък с команди, които потребителят е разрешено да изпълнява с sudo.",
|
"sshSudoCommandsDescription": "Списък, разделен със запетаи, с команди, които потребителят е позволено да изпълнява с sudo.",
|
||||||
"sshCreateHomeDir": "Създай начална директория",
|
"sshCreateHomeDir": "Създай начална директория",
|
||||||
"sshUnixGroups": "Unix групи",
|
"sshUnixGroups": "Unix групи",
|
||||||
"sshUnixGroupsDescription": "Unix групи, в които да добавите потребителя на целевия хост.",
|
"sshUnixGroupsDescription": "Списък, разделен със запетаи, с Unix групи, към които да се добави потребителят на целевия хост.",
|
||||||
"retryAttempts": "Опити за повторно",
|
"retryAttempts": "Опити за повторно",
|
||||||
"expectedResponseCodes": "Очаквани кодове за отговор",
|
"expectedResponseCodes": "Очаквани кодове за отговор",
|
||||||
"expectedResponseCodesDescription": "HTTP статус код, указващ здравословно състояние. Ако бъде оставено празно, между 200-300 се счита за здравословно.",
|
"expectedResponseCodesDescription": "HTTP статус код, указващ здравословно състояние. Ако бъде оставено празно, между 200-300 се счита за здравословно.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Proxy požadavky přes HTTPS pomocí plně kvalifikovaného názvu domény.",
|
"resourceHTTPDescription": "Proxy požadavky přes HTTPS pomocí plně kvalifikovaného názvu domény.",
|
||||||
"resourceRaw": "Surový TCP/UDP zdroj",
|
"resourceRaw": "Surový TCP/UDP zdroj",
|
||||||
"resourceRawDescription": "Proxy požadavky přes nezpracovaný TCP/UDP pomocí čísla portu.",
|
"resourceRawDescription": "Proxy požadavky přes nezpracovaný TCP/UDP pomocí čísla portu.",
|
||||||
|
"resourceRawDescriptionCloud": "Požadavky na proxy přes syrové TCP/UDP pomocí portového čísla. ŽÁDOSTI POUŽÍVAT POUŽITÍ Z REMOTE NODE.",
|
||||||
"resourceCreate": "Vytvořit zdroj",
|
"resourceCreate": "Vytvořit zdroj",
|
||||||
"resourceCreateDescription": "Postupujte podle níže uvedených kroků, abyste vytvořili a připojili nový zdroj",
|
"resourceCreateDescription": "Postupujte podle níže uvedených kroků, abyste vytvořili a připojili nový zdroj",
|
||||||
"resourceSeeAll": "Zobrazit všechny zdroje",
|
"resourceSeeAll": "Zobrazit všechny zdroje",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "Získat uživatele",
|
"actionGetUser": "Získat uživatele",
|
||||||
"actionGetOrgUser": "Získat uživatele organizace",
|
"actionGetOrgUser": "Získat uživatele organizace",
|
||||||
"actionListOrgDomains": "Seznam domén organizace",
|
"actionListOrgDomains": "Seznam domén organizace",
|
||||||
|
"actionGetDomain": "Získat doménu",
|
||||||
|
"actionCreateOrgDomain": "Vytvořit doménu",
|
||||||
|
"actionUpdateOrgDomain": "Aktualizovat doménu",
|
||||||
|
"actionDeleteOrgDomain": "Odstranit doménu",
|
||||||
|
"actionGetDNSRecords": "Získat záznamy DNS",
|
||||||
|
"actionRestartOrgDomain": "Restartovat doménu",
|
||||||
"actionCreateSite": "Vytvořit lokalitu",
|
"actionCreateSite": "Vytvořit lokalitu",
|
||||||
"actionDeleteSite": "Odstranění lokality",
|
"actionDeleteSite": "Odstranění lokality",
|
||||||
"actionGetSite": "Získat web",
|
"actionGetSite": "Získat web",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "Uživatel může spustit pouze zadané příkazy s sudo.",
|
"sshSudoModeCommandsDescription": "Uživatel může spustit pouze zadané příkazy s sudo.",
|
||||||
"sshSudo": "Povolit sudo",
|
"sshSudo": "Povolit sudo",
|
||||||
"sshSudoCommands": "Sudo příkazy",
|
"sshSudoCommands": "Sudo příkazy",
|
||||||
"sshSudoCommandsDescription": "Seznam příkazů, které může uživatel spouštět s sudo.",
|
"sshSudoCommandsDescription": "Čárkami oddělený seznam příkazů, které může uživatel spouštět s sudo.",
|
||||||
"sshCreateHomeDir": "Vytvořit domovský adresář",
|
"sshCreateHomeDir": "Vytvořit domovský adresář",
|
||||||
"sshUnixGroups": "Unixové skupiny",
|
"sshUnixGroups": "Unixové skupiny",
|
||||||
"sshUnixGroupsDescription": "Unix skupiny přidají uživatele do cílového hostitele.",
|
"sshUnixGroupsDescription": "Čárkou oddělené skupiny Unix přidají uživatele do cílového hostitele.",
|
||||||
"retryAttempts": "Opakovat pokusy",
|
"retryAttempts": "Opakovat pokusy",
|
||||||
"expectedResponseCodes": "Očekávané kódy odezvy",
|
"expectedResponseCodes": "Očekávané kódy odezvy",
|
||||||
"expectedResponseCodesDescription": "HTTP kód stavu, který označuje zdravý stav. Ponecháte-li prázdné, 200-300 je považováno za zdravé.",
|
"expectedResponseCodesDescription": "HTTP kód stavu, který označuje zdravý stav. Ponecháte-li prázdné, 200-300 je považováno za zdravé.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Proxy-Anfragen über HTTPS mit einem voll qualifizierten Domain-Namen.",
|
"resourceHTTPDescription": "Proxy-Anfragen über HTTPS mit einem voll qualifizierten Domain-Namen.",
|
||||||
"resourceRaw": "Direkte TCP/UDP Ressource (raw)",
|
"resourceRaw": "Direkte TCP/UDP Ressource (raw)",
|
||||||
"resourceRawDescription": "Proxy-Anfragen über rohes TCP/UDP mit einer Portnummer.",
|
"resourceRawDescription": "Proxy-Anfragen über rohes TCP/UDP mit einer Portnummer.",
|
||||||
|
"resourceRawDescriptionCloud": "Proxy-Anfragen über rohe TCP/UDP mit einer Portnummer. Erfordert die NUTZUNG eines REMOTE Knotens.",
|
||||||
"resourceCreate": "Ressource erstellen",
|
"resourceCreate": "Ressource erstellen",
|
||||||
"resourceCreateDescription": "Folgen Sie den Schritten unten, um eine neue Ressource zu erstellen",
|
"resourceCreateDescription": "Folgen Sie den Schritten unten, um eine neue Ressource zu erstellen",
|
||||||
"resourceSeeAll": "Alle Ressourcen anzeigen",
|
"resourceSeeAll": "Alle Ressourcen anzeigen",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "Benutzer abrufen",
|
"actionGetUser": "Benutzer abrufen",
|
||||||
"actionGetOrgUser": "Organisationsbenutzer abrufen",
|
"actionGetOrgUser": "Organisationsbenutzer abrufen",
|
||||||
"actionListOrgDomains": "Organisationsdomains auflisten",
|
"actionListOrgDomains": "Organisationsdomains auflisten",
|
||||||
|
"actionGetDomain": "Domain abrufen",
|
||||||
|
"actionCreateOrgDomain": "Domain erstellen",
|
||||||
|
"actionUpdateOrgDomain": "Domain aktualisieren",
|
||||||
|
"actionDeleteOrgDomain": "Domain löschen",
|
||||||
|
"actionGetDNSRecords": "DNS-Einträge abrufen",
|
||||||
|
"actionRestartOrgDomain": "Domain neu starten",
|
||||||
"actionCreateSite": "Standort erstellen",
|
"actionCreateSite": "Standort erstellen",
|
||||||
"actionDeleteSite": "Standort löschen",
|
"actionDeleteSite": "Standort löschen",
|
||||||
"actionGetSite": "Standort abrufen",
|
"actionGetSite": "Standort abrufen",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "Benutzer kann nur die angegebenen Befehle mit sudo ausführen.",
|
"sshSudoModeCommandsDescription": "Benutzer kann nur die angegebenen Befehle mit sudo ausführen.",
|
||||||
"sshSudo": "sudo erlauben",
|
"sshSudo": "sudo erlauben",
|
||||||
"sshSudoCommands": "Sudo-Befehle",
|
"sshSudoCommands": "Sudo-Befehle",
|
||||||
"sshSudoCommandsDescription": "Liste der Befehle, die der Benutzer mit sudo ausführen darf.",
|
"sshSudoCommandsDescription": "Kommagetrennte Liste von Befehlen, die der Benutzer mit sudo ausführen darf.",
|
||||||
"sshCreateHomeDir": "Home-Verzeichnis erstellen",
|
"sshCreateHomeDir": "Home-Verzeichnis erstellen",
|
||||||
"sshUnixGroups": "Unix-Gruppen",
|
"sshUnixGroups": "Unix-Gruppen",
|
||||||
"sshUnixGroupsDescription": "Unix-Gruppen, zu denen der Benutzer auf dem Ziel-Host hinzugefügt wird.",
|
"sshUnixGroupsDescription": "Durch Komma getrennte Unix-Gruppen, um den Benutzer auf dem Zielhost hinzuzufügen.",
|
||||||
"retryAttempts": "Wiederholungsversuche",
|
"retryAttempts": "Wiederholungsversuche",
|
||||||
"expectedResponseCodes": "Erwartete Antwortcodes",
|
"expectedResponseCodes": "Erwartete Antwortcodes",
|
||||||
"expectedResponseCodesDescription": "HTTP-Statuscode, der einen gesunden Zustand anzeigt. Wenn leer gelassen, wird 200-300 als gesund angesehen.",
|
"expectedResponseCodesDescription": "HTTP-Statuscode, der einen gesunden Zustand anzeigt. Wenn leer gelassen, wird 200-300 als gesund angesehen.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Proxy requests over HTTPS using a fully qualified domain name.",
|
"resourceHTTPDescription": "Proxy requests over HTTPS using a fully qualified domain name.",
|
||||||
"resourceRaw": "Raw TCP/UDP Resource",
|
"resourceRaw": "Raw TCP/UDP Resource",
|
||||||
"resourceRawDescription": "Proxy requests over raw TCP/UDP using a port number.",
|
"resourceRawDescription": "Proxy requests over raw TCP/UDP using a port number.",
|
||||||
|
"resourceRawDescriptionCloud": "Proxy requests over raw TCP/UDP using a port number. REQUIRES THE USE OF A REMOTE NODE.",
|
||||||
"resourceCreate": "Create Resource",
|
"resourceCreate": "Create Resource",
|
||||||
"resourceCreateDescription": "Follow the steps below to create a new resource",
|
"resourceCreateDescription": "Follow the steps below to create a new resource",
|
||||||
"resourceSeeAll": "See All Resources",
|
"resourceSeeAll": "See All Resources",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Proxy proporciona solicitudes sobre HTTPS usando un nombre de dominio completamente calificado.",
|
"resourceHTTPDescription": "Proxy proporciona solicitudes sobre HTTPS usando un nombre de dominio completamente calificado.",
|
||||||
"resourceRaw": "Recurso TCP/UDP sin procesar",
|
"resourceRaw": "Recurso TCP/UDP sin procesar",
|
||||||
"resourceRawDescription": "Proxy proporciona solicitudes sobre TCP/UDP usando un número de puerto.",
|
"resourceRawDescription": "Proxy proporciona solicitudes sobre TCP/UDP usando un número de puerto.",
|
||||||
|
"resourceRawDescriptionCloud": "Las peticiones de proxy sobre TCP/UDP crudas usando un número de puerto. REQUIERE EL USO DE UN NODO REMOTE.",
|
||||||
"resourceCreate": "Crear Recurso",
|
"resourceCreate": "Crear Recurso",
|
||||||
"resourceCreateDescription": "Siga los siguientes pasos para crear un nuevo recurso",
|
"resourceCreateDescription": "Siga los siguientes pasos para crear un nuevo recurso",
|
||||||
"resourceSeeAll": "Ver todos los recursos",
|
"resourceSeeAll": "Ver todos los recursos",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "Obtener usuario",
|
"actionGetUser": "Obtener usuario",
|
||||||
"actionGetOrgUser": "Obtener usuario de la organización",
|
"actionGetOrgUser": "Obtener usuario de la organización",
|
||||||
"actionListOrgDomains": "Listar dominios de la organización",
|
"actionListOrgDomains": "Listar dominios de la organización",
|
||||||
|
"actionGetDomain": "Obtener dominio",
|
||||||
|
"actionCreateOrgDomain": "Crear dominio",
|
||||||
|
"actionUpdateOrgDomain": "Actualizar dominio",
|
||||||
|
"actionDeleteOrgDomain": "Eliminar dominio",
|
||||||
|
"actionGetDNSRecords": "Obtener registros DNS",
|
||||||
|
"actionRestartOrgDomain": "Reiniciar dominio",
|
||||||
"actionCreateSite": "Crear sitio",
|
"actionCreateSite": "Crear sitio",
|
||||||
"actionDeleteSite": "Eliminar sitio",
|
"actionDeleteSite": "Eliminar sitio",
|
||||||
"actionGetSite": "Obtener sitio",
|
"actionGetSite": "Obtener sitio",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "El usuario sólo puede ejecutar los comandos especificados con sudo.",
|
"sshSudoModeCommandsDescription": "El usuario sólo puede ejecutar los comandos especificados con sudo.",
|
||||||
"sshSudo": "Permitir sudo",
|
"sshSudo": "Permitir sudo",
|
||||||
"sshSudoCommands": "Comandos Sudo",
|
"sshSudoCommands": "Comandos Sudo",
|
||||||
"sshSudoCommandsDescription": "Lista de comandos que el usuario puede ejecutar con sudo.",
|
"sshSudoCommandsDescription": "Lista separada por comas de comandos que el usuario puede ejecutar con sudo.",
|
||||||
"sshCreateHomeDir": "Crear directorio principal",
|
"sshCreateHomeDir": "Crear directorio principal",
|
||||||
"sshUnixGroups": "Grupos Unix",
|
"sshUnixGroups": "Grupos Unix",
|
||||||
"sshUnixGroupsDescription": "Grupos Unix para agregar el usuario en el host de destino.",
|
"sshUnixGroupsDescription": "Grupos Unix separados por comas para agregar el usuario en el host de destino.",
|
||||||
"retryAttempts": "Intentos de Reintento",
|
"retryAttempts": "Intentos de Reintento",
|
||||||
"expectedResponseCodes": "Códigos de respuesta esperados",
|
"expectedResponseCodes": "Códigos de respuesta esperados",
|
||||||
"expectedResponseCodesDescription": "Código de estado HTTP que indica un estado saludable. Si se deja en blanco, se considera saludable de 200 a 300.",
|
"expectedResponseCodesDescription": "Código de estado HTTP que indica un estado saludable. Si se deja en blanco, se considera saludable de 200 a 300.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Proxy les demandes sur HTTPS en utilisant un nom de domaine entièrement qualifié.",
|
"resourceHTTPDescription": "Proxy les demandes sur HTTPS en utilisant un nom de domaine entièrement qualifié.",
|
||||||
"resourceRaw": "Ressource TCP/UDP brute",
|
"resourceRaw": "Ressource TCP/UDP brute",
|
||||||
"resourceRawDescription": "Proxy les demandes sur TCP/UDP brut en utilisant un numéro de port.",
|
"resourceRawDescription": "Proxy les demandes sur TCP/UDP brut en utilisant un numéro de port.",
|
||||||
|
"resourceRawDescriptionCloud": "Requêtes de proxy sur TCP/UDP brute en utilisant un numéro de port. REQUISE L'UTILISATION D'UN Nœud DE REMOTE.",
|
||||||
"resourceCreate": "Créer une ressource",
|
"resourceCreate": "Créer une ressource",
|
||||||
"resourceCreateDescription": "Suivez les étapes ci-dessous pour créer une nouvelle ressource",
|
"resourceCreateDescription": "Suivez les étapes ci-dessous pour créer une nouvelle ressource",
|
||||||
"resourceSeeAll": "Voir toutes les ressources",
|
"resourceSeeAll": "Voir toutes les ressources",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "Obtenir l'utilisateur",
|
"actionGetUser": "Obtenir l'utilisateur",
|
||||||
"actionGetOrgUser": "Obtenir l'utilisateur de l'organisation",
|
"actionGetOrgUser": "Obtenir l'utilisateur de l'organisation",
|
||||||
"actionListOrgDomains": "Lister les domaines de l'organisation",
|
"actionListOrgDomains": "Lister les domaines de l'organisation",
|
||||||
|
"actionGetDomain": "Obtenir un domaine",
|
||||||
|
"actionCreateOrgDomain": "Créer un domaine",
|
||||||
|
"actionUpdateOrgDomain": "Mettre à jour le domaine",
|
||||||
|
"actionDeleteOrgDomain": "Supprimer le domaine",
|
||||||
|
"actionGetDNSRecords": "Récupérer les enregistrements DNS",
|
||||||
|
"actionRestartOrgDomain": "Redémarrer le domaine",
|
||||||
"actionCreateSite": "Créer un site",
|
"actionCreateSite": "Créer un site",
|
||||||
"actionDeleteSite": "Supprimer un site",
|
"actionDeleteSite": "Supprimer un site",
|
||||||
"actionGetSite": "Obtenir un site",
|
"actionGetSite": "Obtenir un site",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "L'utilisateur ne peut exécuter que les commandes spécifiées avec sudo.",
|
"sshSudoModeCommandsDescription": "L'utilisateur ne peut exécuter que les commandes spécifiées avec sudo.",
|
||||||
"sshSudo": "Autoriser sudo",
|
"sshSudo": "Autoriser sudo",
|
||||||
"sshSudoCommands": "Commandes Sudo",
|
"sshSudoCommands": "Commandes Sudo",
|
||||||
"sshSudoCommandsDescription": "Liste des commandes que l'utilisateur est autorisé à exécuter avec sudo.",
|
"sshSudoCommandsDescription": "Liste des commandes séparées par des virgules que l'utilisateur est autorisé à exécuter avec sudo.",
|
||||||
"sshCreateHomeDir": "Créer un répertoire personnel",
|
"sshCreateHomeDir": "Créer un répertoire personnel",
|
||||||
"sshUnixGroups": "Groupes Unix",
|
"sshUnixGroups": "Groupes Unix",
|
||||||
"sshUnixGroupsDescription": "Groupes Unix à ajouter à l'utilisateur sur l'hôte cible.",
|
"sshUnixGroupsDescription": "Groupes Unix séparés par des virgules pour ajouter l'utilisateur sur l'hôte cible.",
|
||||||
"retryAttempts": "Tentatives de réessai",
|
"retryAttempts": "Tentatives de réessai",
|
||||||
"expectedResponseCodes": "Codes de réponse attendus",
|
"expectedResponseCodes": "Codes de réponse attendus",
|
||||||
"expectedResponseCodesDescription": "Code de statut HTTP indiquant un état de santé satisfaisant. Si non renseigné, 200-300 est considéré comme satisfaisant.",
|
"expectedResponseCodesDescription": "Code de statut HTTP indiquant un état de santé satisfaisant. Si non renseigné, 200-300 est considéré comme satisfaisant.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Richieste proxy su HTTPS usando un nome di dominio completo.",
|
"resourceHTTPDescription": "Richieste proxy su HTTPS usando un nome di dominio completo.",
|
||||||
"resourceRaw": "Risorsa Raw TCP/UDP",
|
"resourceRaw": "Risorsa Raw TCP/UDP",
|
||||||
"resourceRawDescription": "Richieste proxy su TCP/UDP grezzo utilizzando un numero di porta.",
|
"resourceRawDescription": "Richieste proxy su TCP/UDP grezzo utilizzando un numero di porta.",
|
||||||
|
"resourceRawDescriptionCloud": "Richieste proxy su TCP/UDP grezzo utilizzando un numero di porta. RICHIEDE L'USO DI UN NODO REMOTO.",
|
||||||
"resourceCreate": "Crea Risorsa",
|
"resourceCreate": "Crea Risorsa",
|
||||||
"resourceCreateDescription": "Segui i passaggi seguenti per creare una nuova risorsa",
|
"resourceCreateDescription": "Segui i passaggi seguenti per creare una nuova risorsa",
|
||||||
"resourceSeeAll": "Vedi Tutte Le Risorse",
|
"resourceSeeAll": "Vedi Tutte Le Risorse",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "Ottieni Utente",
|
"actionGetUser": "Ottieni Utente",
|
||||||
"actionGetOrgUser": "Ottieni Utente Organizzazione",
|
"actionGetOrgUser": "Ottieni Utente Organizzazione",
|
||||||
"actionListOrgDomains": "Elenca Domini Organizzazione",
|
"actionListOrgDomains": "Elenca Domini Organizzazione",
|
||||||
|
"actionGetDomain": "Ottieni Dominio",
|
||||||
|
"actionCreateOrgDomain": "Crea Dominio",
|
||||||
|
"actionUpdateOrgDomain": "Aggiorna Dominio",
|
||||||
|
"actionDeleteOrgDomain": "Elimina Dominio",
|
||||||
|
"actionGetDNSRecords": "Ottieni Record DNS",
|
||||||
|
"actionRestartOrgDomain": "Riavvia Dominio",
|
||||||
"actionCreateSite": "Crea Sito",
|
"actionCreateSite": "Crea Sito",
|
||||||
"actionDeleteSite": "Elimina Sito",
|
"actionDeleteSite": "Elimina Sito",
|
||||||
"actionGetSite": "Ottieni Sito",
|
"actionGetSite": "Ottieni Sito",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "L'utente può eseguire solo i comandi specificati con sudo.",
|
"sshSudoModeCommandsDescription": "L'utente può eseguire solo i comandi specificati con sudo.",
|
||||||
"sshSudo": "Consenti sudo",
|
"sshSudo": "Consenti sudo",
|
||||||
"sshSudoCommands": "Comandi Sudo",
|
"sshSudoCommands": "Comandi Sudo",
|
||||||
"sshSudoCommandsDescription": "Elenco di comandi che l'utente può eseguire con sudo.",
|
"sshSudoCommandsDescription": "Elenco di comandi separati da virgole che l'utente può eseguire con sudo.",
|
||||||
"sshCreateHomeDir": "Crea Cartella Home",
|
"sshCreateHomeDir": "Crea Cartella Home",
|
||||||
"sshUnixGroups": "Gruppi Unix",
|
"sshUnixGroups": "Gruppi Unix",
|
||||||
"sshUnixGroupsDescription": "Gruppi Unix su cui aggiungere l'utente sull'host di destinazione.",
|
"sshUnixGroupsDescription": "Gruppi Unix separati da virgole per aggiungere l'utente sull'host di destinazione.",
|
||||||
"retryAttempts": "Tentativi di Riprova",
|
"retryAttempts": "Tentativi di Riprova",
|
||||||
"expectedResponseCodes": "Codici di Risposta Attesi",
|
"expectedResponseCodes": "Codici di Risposta Attesi",
|
||||||
"expectedResponseCodesDescription": "Codice di stato HTTP che indica lo stato di salute. Se lasciato vuoto, considerato sano è compreso tra 200-300.",
|
"expectedResponseCodesDescription": "Codice di stato HTTP che indica lo stato di salute. Se lasciato vuoto, considerato sano è compreso tra 200-300.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "완전한 도메인 이름을 사용해 RAW 또는 HTTPS로 프록시 요청을 수행합니다.",
|
"resourceHTTPDescription": "완전한 도메인 이름을 사용해 RAW 또는 HTTPS로 프록시 요청을 수행합니다.",
|
||||||
"resourceRaw": "원시 TCP/UDP 리소스",
|
"resourceRaw": "원시 TCP/UDP 리소스",
|
||||||
"resourceRawDescription": "포트 번호를 사용하여 RAW TCP/UDP로 요청을 프록시합니다.",
|
"resourceRawDescription": "포트 번호를 사용하여 RAW TCP/UDP로 요청을 프록시합니다.",
|
||||||
|
"resourceRawDescriptionCloud": "원시 TCP/UDP를 포트 번호를 사용하여 프록시 요청합니다. 원격 노드 사용이 필요합니다.",
|
||||||
"resourceCreate": "리소스 생성",
|
"resourceCreate": "리소스 생성",
|
||||||
"resourceCreateDescription": "아래 단계를 따라 새 리소스를 생성하세요.",
|
"resourceCreateDescription": "아래 단계를 따라 새 리소스를 생성하세요.",
|
||||||
"resourceSeeAll": "모든 리소스 보기",
|
"resourceSeeAll": "모든 리소스 보기",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "사용자 조회",
|
"actionGetUser": "사용자 조회",
|
||||||
"actionGetOrgUser": "조직 사용자 가져오기",
|
"actionGetOrgUser": "조직 사용자 가져오기",
|
||||||
"actionListOrgDomains": "조직 도메인 목록",
|
"actionListOrgDomains": "조직 도메인 목록",
|
||||||
|
"actionGetDomain": "도메인 가져오기",
|
||||||
|
"actionCreateOrgDomain": "도메인 생성",
|
||||||
|
"actionUpdateOrgDomain": "도메인 업데이트",
|
||||||
|
"actionDeleteOrgDomain": "도메인 삭제",
|
||||||
|
"actionGetDNSRecords": "DNS 레코드 가져오기",
|
||||||
|
"actionRestartOrgDomain": "도메인 재시작",
|
||||||
"actionCreateSite": "사이트 생성",
|
"actionCreateSite": "사이트 생성",
|
||||||
"actionDeleteSite": "사이트 삭제",
|
"actionDeleteSite": "사이트 삭제",
|
||||||
"actionGetSite": "사이트 가져오기",
|
"actionGetSite": "사이트 가져오기",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "사용자는 sudo로 지정된 명령만 실행할 수 있습니다.",
|
"sshSudoModeCommandsDescription": "사용자는 sudo로 지정된 명령만 실행할 수 있습니다.",
|
||||||
"sshSudo": "Sudo 허용",
|
"sshSudo": "Sudo 허용",
|
||||||
"sshSudoCommands": "Sudo 명령",
|
"sshSudoCommands": "Sudo 명령",
|
||||||
"sshSudoCommandsDescription": "사용자가 sudo로 실행할 수 있도록 허용된 명령 목록입니다.",
|
"sshSudoCommandsDescription": "사용자가 sudo로 실행할 수 있는 명령어의 쉼표로 구분된 목록입니다.",
|
||||||
"sshCreateHomeDir": "홈 디렉터리 생성",
|
"sshCreateHomeDir": "홈 디렉터리 생성",
|
||||||
"sshUnixGroups": "유닉스 그룹",
|
"sshUnixGroups": "유닉스 그룹",
|
||||||
"sshUnixGroupsDescription": "대상 호스트에서 사용자를 추가할 유닉스 그룹입니다.",
|
"sshUnixGroupsDescription": "대상 호스트에서 사용자에게 추가할 유닉스 그룹의 쉼표로 구분된 목록입니다.",
|
||||||
"retryAttempts": "재시도 횟수",
|
"retryAttempts": "재시도 횟수",
|
||||||
"expectedResponseCodes": "예상 응답 코드",
|
"expectedResponseCodes": "예상 응답 코드",
|
||||||
"expectedResponseCodesDescription": "정상 상태를 나타내는 HTTP 상태 코드입니다. 비워 두면 200-300이 정상으로 간주됩니다.",
|
"expectedResponseCodesDescription": "정상 상태를 나타내는 HTTP 상태 코드입니다. 비워 두면 200-300이 정상으로 간주됩니다.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Proxy forespørsler over HTTPS ved å bruke et fullstendig kvalifisert domenenavn.",
|
"resourceHTTPDescription": "Proxy forespørsler over HTTPS ved å bruke et fullstendig kvalifisert domenenavn.",
|
||||||
"resourceRaw": "Rå TCP/UDP-ressurs",
|
"resourceRaw": "Rå TCP/UDP-ressurs",
|
||||||
"resourceRawDescription": "Proxy forespørsler over rå TCP/UDP ved å bruke et portnummer.",
|
"resourceRawDescription": "Proxy forespørsler over rå TCP/UDP ved å bruke et portnummer.",
|
||||||
|
"resourceRawDescriptionCloud": "Proxy ber om et portnummer. Om du vil bruke et sportsnummer.",
|
||||||
"resourceCreate": "Opprett ressurs",
|
"resourceCreate": "Opprett ressurs",
|
||||||
"resourceCreateDescription": "Følg trinnene nedenfor for å opprette en ny ressurs",
|
"resourceCreateDescription": "Følg trinnene nedenfor for å opprette en ny ressurs",
|
||||||
"resourceSeeAll": "Se alle ressurser",
|
"resourceSeeAll": "Se alle ressurser",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "Hent bruker",
|
"actionGetUser": "Hent bruker",
|
||||||
"actionGetOrgUser": "Hent organisasjonsbruker",
|
"actionGetOrgUser": "Hent organisasjonsbruker",
|
||||||
"actionListOrgDomains": "List opp organisasjonsdomener",
|
"actionListOrgDomains": "List opp organisasjonsdomener",
|
||||||
|
"actionGetDomain": "Få Domene",
|
||||||
|
"actionCreateOrgDomain": "Opprett domene",
|
||||||
|
"actionUpdateOrgDomain": "Oppdater domene",
|
||||||
|
"actionDeleteOrgDomain": "Slett domene",
|
||||||
|
"actionGetDNSRecords": "Hent DNS-oppføringer",
|
||||||
|
"actionRestartOrgDomain": "Omstart Domene",
|
||||||
"actionCreateSite": "Opprett område",
|
"actionCreateSite": "Opprett område",
|
||||||
"actionDeleteSite": "Slett område",
|
"actionDeleteSite": "Slett område",
|
||||||
"actionGetSite": "Hent område",
|
"actionGetSite": "Hent område",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "Brukeren kan bare kjøre de angitte kommandoene med sudo.",
|
"sshSudoModeCommandsDescription": "Brukeren kan bare kjøre de angitte kommandoene med sudo.",
|
||||||
"sshSudo": "Tillat sudo",
|
"sshSudo": "Tillat sudo",
|
||||||
"sshSudoCommands": "Sudo kommandoer",
|
"sshSudoCommands": "Sudo kommandoer",
|
||||||
"sshSudoCommandsDescription": "Liste av kommandoer brukeren har lov til å kjøre med sudo.",
|
"sshSudoCommandsDescription": "Kommaseparert liste med kommandoer brukeren kan kjøre med sudo.",
|
||||||
"sshCreateHomeDir": "Opprett hjemmappe",
|
"sshCreateHomeDir": "Opprett hjemmappe",
|
||||||
"sshUnixGroups": "Unix grupper",
|
"sshUnixGroups": "Unix grupper",
|
||||||
"sshUnixGroupsDescription": "Unix grupper for å legge til brukeren til målverten.",
|
"sshUnixGroupsDescription": "Kommaseparerte Unix grupper for å legge brukeren til på mål-verten.",
|
||||||
"retryAttempts": "Forsøk på nytt",
|
"retryAttempts": "Forsøk på nytt",
|
||||||
"expectedResponseCodes": "Forventede svarkoder",
|
"expectedResponseCodes": "Forventede svarkoder",
|
||||||
"expectedResponseCodesDescription": "HTTP-statuskode som indikerer sunn status. Hvis den blir stående tom, regnes 200-300 som sunn.",
|
"expectedResponseCodesDescription": "HTTP-statuskode som indikerer sunn status. Hvis den blir stående tom, regnes 200-300 som sunn.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Proxyverzoeken via HTTPS met een volledig gekwalificeerde domeinnaam.",
|
"resourceHTTPDescription": "Proxyverzoeken via HTTPS met een volledig gekwalificeerde domeinnaam.",
|
||||||
"resourceRaw": "TCP/UDP bron",
|
"resourceRaw": "TCP/UDP bron",
|
||||||
"resourceRawDescription": "Proxyverzoeken via ruwe TCP/UDP met een poortnummer.",
|
"resourceRawDescription": "Proxyverzoeken via ruwe TCP/UDP met een poortnummer.",
|
||||||
|
"resourceRawDescriptionCloud": "Proxy vraagt om onbewerkte TCP/UDP met behulp van een poortnummer. VEREIST HET GEBRUIK VAN EEN AFSTANDSBEDIENING NODE.",
|
||||||
"resourceCreate": "Bron maken",
|
"resourceCreate": "Bron maken",
|
||||||
"resourceCreateDescription": "Volg de onderstaande stappen om een nieuwe bron te maken",
|
"resourceCreateDescription": "Volg de onderstaande stappen om een nieuwe bron te maken",
|
||||||
"resourceSeeAll": "Alle bronnen bekijken",
|
"resourceSeeAll": "Alle bronnen bekijken",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "Gebruiker ophalen",
|
"actionGetUser": "Gebruiker ophalen",
|
||||||
"actionGetOrgUser": "Krijg organisatie-gebruiker",
|
"actionGetOrgUser": "Krijg organisatie-gebruiker",
|
||||||
"actionListOrgDomains": "Lijst organisatie domeinen",
|
"actionListOrgDomains": "Lijst organisatie domeinen",
|
||||||
|
"actionGetDomain": "Domein verkrijgen",
|
||||||
|
"actionCreateOrgDomain": "Domein aanmaken",
|
||||||
|
"actionUpdateOrgDomain": "Domein bijwerken",
|
||||||
|
"actionDeleteOrgDomain": "Domein verwijderen",
|
||||||
|
"actionGetDNSRecords": "Krijg DNS Records",
|
||||||
|
"actionRestartOrgDomain": "Domein opnieuw starten",
|
||||||
"actionCreateSite": "Site aanmaken",
|
"actionCreateSite": "Site aanmaken",
|
||||||
"actionDeleteSite": "Site verwijderen",
|
"actionDeleteSite": "Site verwijderen",
|
||||||
"actionGetSite": "Site ophalen",
|
"actionGetSite": "Site ophalen",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "Gebruiker kan alleen de opgegeven commando's uitvoeren met de sudo.",
|
"sshSudoModeCommandsDescription": "Gebruiker kan alleen de opgegeven commando's uitvoeren met de sudo.",
|
||||||
"sshSudo": "sudo toestaan",
|
"sshSudo": "sudo toestaan",
|
||||||
"sshSudoCommands": "Sudo Commando's",
|
"sshSudoCommands": "Sudo Commando's",
|
||||||
"sshSudoCommandsDescription": "Lijst van commando's die de gebruiker mag uitvoeren met een sudo.",
|
"sshSudoCommandsDescription": "Komma's gescheiden lijst van commando's waar de gebruiker een sudo mee mag uitvoeren.",
|
||||||
"sshCreateHomeDir": "Maak Home Directory",
|
"sshCreateHomeDir": "Maak Home Directory",
|
||||||
"sshUnixGroups": "Unix groepen",
|
"sshUnixGroups": "Unix groepen",
|
||||||
"sshUnixGroupsDescription": "Unix groepen om de gebruiker toe te voegen aan de doel host.",
|
"sshUnixGroupsDescription": "Door komma's gescheiden Unix-groepen om de gebruiker toe te voegen aan de doelhost.",
|
||||||
"retryAttempts": "Herhaal Pogingen",
|
"retryAttempts": "Herhaal Pogingen",
|
||||||
"expectedResponseCodes": "Verwachte Reactiecodes",
|
"expectedResponseCodes": "Verwachte Reactiecodes",
|
||||||
"expectedResponseCodesDescription": "HTTP-statuscode die gezonde status aangeeft. Indien leeg wordt 200-300 als gezond beschouwd.",
|
"expectedResponseCodesDescription": "HTTP-statuscode die gezonde status aangeeft. Indien leeg wordt 200-300 als gezond beschouwd.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Proxy zapytań przez HTTPS przy użyciu w pełni kwalifikowanej nazwy domeny.",
|
"resourceHTTPDescription": "Proxy zapytań przez HTTPS przy użyciu w pełni kwalifikowanej nazwy domeny.",
|
||||||
"resourceRaw": "Surowy zasób TCP/UDP",
|
"resourceRaw": "Surowy zasób TCP/UDP",
|
||||||
"resourceRawDescription": "Proxy zapytań przez surowe TCP/UDP przy użyciu numeru portu.",
|
"resourceRawDescription": "Proxy zapytań przez surowe TCP/UDP przy użyciu numeru portu.",
|
||||||
|
"resourceRawDescriptionCloud": "Proxy żądania przesyłania danych nad surowym TCP/UDP przy użyciu numeru portu. Wymaga UŻYTKOWANIA PALIWA węzła.",
|
||||||
"resourceCreate": "Utwórz zasób",
|
"resourceCreate": "Utwórz zasób",
|
||||||
"resourceCreateDescription": "Wykonaj poniższe kroki, aby utworzyć nowy zasób",
|
"resourceCreateDescription": "Wykonaj poniższe kroki, aby utworzyć nowy zasób",
|
||||||
"resourceSeeAll": "Zobacz wszystkie zasoby",
|
"resourceSeeAll": "Zobacz wszystkie zasoby",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "Pobierz użytkownika",
|
"actionGetUser": "Pobierz użytkownika",
|
||||||
"actionGetOrgUser": "Pobierz użytkownika organizacji",
|
"actionGetOrgUser": "Pobierz użytkownika organizacji",
|
||||||
"actionListOrgDomains": "Lista domen organizacji",
|
"actionListOrgDomains": "Lista domen organizacji",
|
||||||
|
"actionGetDomain": "Pobierz domenę",
|
||||||
|
"actionCreateOrgDomain": "Utwórz domenę",
|
||||||
|
"actionUpdateOrgDomain": "Aktualizuj domenę",
|
||||||
|
"actionDeleteOrgDomain": "Usuń domenę",
|
||||||
|
"actionGetDNSRecords": "Pobierz rekordy DNS",
|
||||||
|
"actionRestartOrgDomain": "Zrestartuj domenę",
|
||||||
"actionCreateSite": "Utwórz witrynę",
|
"actionCreateSite": "Utwórz witrynę",
|
||||||
"actionDeleteSite": "Usuń witrynę",
|
"actionDeleteSite": "Usuń witrynę",
|
||||||
"actionGetSite": "Pobierz witrynę",
|
"actionGetSite": "Pobierz witrynę",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "Użytkownik może uruchamiać tylko określone polecenia z sudo.",
|
"sshSudoModeCommandsDescription": "Użytkownik może uruchamiać tylko określone polecenia z sudo.",
|
||||||
"sshSudo": "Zezwól na sudo",
|
"sshSudo": "Zezwól na sudo",
|
||||||
"sshSudoCommands": "Komendy Sudo",
|
"sshSudoCommands": "Komendy Sudo",
|
||||||
"sshSudoCommandsDescription": "Lista poleceń, które użytkownik może uruchamiać z sudo.",
|
"sshSudoCommandsDescription": "Lista poleceń oddzielonych przecinkami, które użytkownik może uruchamiać z sudo.",
|
||||||
"sshCreateHomeDir": "Utwórz katalog domowy",
|
"sshCreateHomeDir": "Utwórz katalog domowy",
|
||||||
"sshUnixGroups": "Grupy Unix",
|
"sshUnixGroups": "Grupy Unix",
|
||||||
"sshUnixGroupsDescription": "Grupy Unix do dodania użytkownika do docelowego hosta.",
|
"sshUnixGroupsDescription": "Oddzielone przecinkami grupy Unix, aby dodać użytkownika do docelowego hosta.",
|
||||||
"retryAttempts": "Próby Ponowienia",
|
"retryAttempts": "Próby Ponowienia",
|
||||||
"expectedResponseCodes": "Oczekiwane Kody Odpowiedzi",
|
"expectedResponseCodes": "Oczekiwane Kody Odpowiedzi",
|
||||||
"expectedResponseCodesDescription": "Kod statusu HTTP, który wskazuje zdrowy status. Jeśli pozostanie pusty, uznaje się 200-300 za zdrowy.",
|
"expectedResponseCodesDescription": "Kod statusu HTTP, który wskazuje zdrowy status. Jeśli pozostanie pusty, uznaje się 200-300 za zdrowy.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Proxies requests sobre HTTPS usando um nome de domínio totalmente qualificado.",
|
"resourceHTTPDescription": "Proxies requests sobre HTTPS usando um nome de domínio totalmente qualificado.",
|
||||||
"resourceRaw": "Recurso TCP/UDP bruto",
|
"resourceRaw": "Recurso TCP/UDP bruto",
|
||||||
"resourceRawDescription": "Proxies solicitações sobre TCP/UDP bruto usando um número de porta.",
|
"resourceRawDescription": "Proxies solicitações sobre TCP/UDP bruto usando um número de porta.",
|
||||||
|
"resourceRawDescriptionCloud": "Proxy solicita sobre TCP/UDP bruto usando um número de porta. OBRIGATÓRIO O USO DE UMA NOTA REMOTA.",
|
||||||
"resourceCreate": "Criar Recurso",
|
"resourceCreate": "Criar Recurso",
|
||||||
"resourceCreateDescription": "Siga os passos abaixo para criar um novo recurso",
|
"resourceCreateDescription": "Siga os passos abaixo para criar um novo recurso",
|
||||||
"resourceSeeAll": "Ver todos os recursos",
|
"resourceSeeAll": "Ver todos os recursos",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "Obter Usuário",
|
"actionGetUser": "Obter Usuário",
|
||||||
"actionGetOrgUser": "Obter Utilizador da Organização",
|
"actionGetOrgUser": "Obter Utilizador da Organização",
|
||||||
"actionListOrgDomains": "Listar Domínios da Organização",
|
"actionListOrgDomains": "Listar Domínios da Organização",
|
||||||
|
"actionGetDomain": "Obter domínio",
|
||||||
|
"actionCreateOrgDomain": "Criar domínio",
|
||||||
|
"actionUpdateOrgDomain": "Atualizar domínio",
|
||||||
|
"actionDeleteOrgDomain": "Excluir domínio",
|
||||||
|
"actionGetDNSRecords": "Obter registros de DNS",
|
||||||
|
"actionRestartOrgDomain": "Reiniciar domínio",
|
||||||
"actionCreateSite": "Criar Site",
|
"actionCreateSite": "Criar Site",
|
||||||
"actionDeleteSite": "Eliminar Site",
|
"actionDeleteSite": "Eliminar Site",
|
||||||
"actionGetSite": "Obter Site",
|
"actionGetSite": "Obter Site",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "Usuário só pode executar os comandos especificados com sudo.",
|
"sshSudoModeCommandsDescription": "Usuário só pode executar os comandos especificados com sudo.",
|
||||||
"sshSudo": "Permitir sudo",
|
"sshSudo": "Permitir sudo",
|
||||||
"sshSudoCommands": "Comandos Sudo",
|
"sshSudoCommands": "Comandos Sudo",
|
||||||
"sshSudoCommandsDescription": "Lista de comandos com permissão de executar com o sudo.",
|
"sshSudoCommandsDescription": "Lista separada por vírgulas de comandos que o usuário pode executar com sudo.",
|
||||||
"sshCreateHomeDir": "Criar Diretório Inicial",
|
"sshCreateHomeDir": "Criar Diretório Inicial",
|
||||||
"sshUnixGroups": "Grupos Unix",
|
"sshUnixGroups": "Grupos Unix",
|
||||||
"sshUnixGroupsDescription": "Grupos Unix para adicionar o usuário no host de destino.",
|
"sshUnixGroupsDescription": "Grupos Unix separados por vírgulas para adicionar o usuário no host alvo.",
|
||||||
"retryAttempts": "Tentativas de Repetição",
|
"retryAttempts": "Tentativas de Repetição",
|
||||||
"expectedResponseCodes": "Códigos de Resposta Esperados",
|
"expectedResponseCodes": "Códigos de Resposta Esperados",
|
||||||
"expectedResponseCodesDescription": "Código de status HTTP que indica estado saudável. Se deixado em branco, 200-300 é considerado saudável.",
|
"expectedResponseCodesDescription": "Código de status HTTP que indica estado saudável. Se deixado em branco, 200-300 é considerado saudável.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Проксировать запросы через HTTPS с использованием полного доменного имени.",
|
"resourceHTTPDescription": "Проксировать запросы через HTTPS с использованием полного доменного имени.",
|
||||||
"resourceRaw": "Сырой TCP/UDP-ресурс",
|
"resourceRaw": "Сырой TCP/UDP-ресурс",
|
||||||
"resourceRawDescription": "Проксировать запросы по сырому TCP/UDP с использованием номера порта.",
|
"resourceRawDescription": "Проксировать запросы по сырому TCP/UDP с использованием номера порта.",
|
||||||
|
"resourceRawDescriptionCloud": "Прокси-запросы через необработанный TCP/UDP с использованием номера порта. ТРЕБУЕТЕСЬ ИСПОЛЬЗОВАТЬ НЕОБХОДИМЫ.",
|
||||||
"resourceCreate": "Создание ресурса",
|
"resourceCreate": "Создание ресурса",
|
||||||
"resourceCreateDescription": "Следуйте инструкциям ниже для создания нового ресурса",
|
"resourceCreateDescription": "Следуйте инструкциям ниже для создания нового ресурса",
|
||||||
"resourceSeeAll": "Посмотреть все ресурсы",
|
"resourceSeeAll": "Посмотреть все ресурсы",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "Получить пользователя",
|
"actionGetUser": "Получить пользователя",
|
||||||
"actionGetOrgUser": "Получить пользователя организации",
|
"actionGetOrgUser": "Получить пользователя организации",
|
||||||
"actionListOrgDomains": "Список доменов организации",
|
"actionListOrgDomains": "Список доменов организации",
|
||||||
|
"actionGetDomain": "Получить домен",
|
||||||
|
"actionCreateOrgDomain": "Создать домен",
|
||||||
|
"actionUpdateOrgDomain": "Обновить домен",
|
||||||
|
"actionDeleteOrgDomain": "Удалить домен",
|
||||||
|
"actionGetDNSRecords": "Получить записи DNS",
|
||||||
|
"actionRestartOrgDomain": "Перезапустить домен",
|
||||||
"actionCreateSite": "Создать сайт",
|
"actionCreateSite": "Создать сайт",
|
||||||
"actionDeleteSite": "Удалить сайт",
|
"actionDeleteSite": "Удалить сайт",
|
||||||
"actionGetSite": "Получить сайт",
|
"actionGetSite": "Получить сайт",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "Пользователь может запускать только указанные команды с помощью sudo.",
|
"sshSudoModeCommandsDescription": "Пользователь может запускать только указанные команды с помощью sudo.",
|
||||||
"sshSudo": "Разрешить sudo",
|
"sshSudo": "Разрешить sudo",
|
||||||
"sshSudoCommands": "Sudo Команды",
|
"sshSudoCommands": "Sudo Команды",
|
||||||
"sshSudoCommandsDescription": "Список команд, которые пользователю разрешено запускать с помощью sudo.",
|
"sshSudoCommandsDescription": "Список команд, разделенных запятыми, которые пользователю разрешено запускать с помощью sudo.",
|
||||||
"sshCreateHomeDir": "Создать домашний каталог",
|
"sshCreateHomeDir": "Создать домашний каталог",
|
||||||
"sshUnixGroups": "Unix группы",
|
"sshUnixGroups": "Unix группы",
|
||||||
"sshUnixGroupsDescription": "Unix группы для добавления пользователя на целевой хост.",
|
"sshUnixGroupsDescription": "Группы Unix через запятую, чтобы добавить пользователя на целевой хост.",
|
||||||
"retryAttempts": "Количество попыток повторного запроса",
|
"retryAttempts": "Количество попыток повторного запроса",
|
||||||
"expectedResponseCodes": "Ожидаемые коды ответов",
|
"expectedResponseCodes": "Ожидаемые коды ответов",
|
||||||
"expectedResponseCodesDescription": "HTTP-код состояния, указывающий на здоровое состояние. Если оставить пустым, 200-300 считается здоровым.",
|
"expectedResponseCodesDescription": "HTTP-код состояния, указывающий на здоровое состояние. Если оставить пустым, 200-300 считается здоровым.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "Tam nitelikli bir etki alanı adı kullanarak HTTPS üzerinden proxy isteklerini yönlendirin.",
|
"resourceHTTPDescription": "Tam nitelikli bir etki alanı adı kullanarak HTTPS üzerinden proxy isteklerini yönlendirin.",
|
||||||
"resourceRaw": "Ham TCP/UDP Kaynağı",
|
"resourceRaw": "Ham TCP/UDP Kaynağı",
|
||||||
"resourceRawDescription": "Port numarası kullanarak ham TCP/UDP üzerinden proxy isteklerini yönlendirin.",
|
"resourceRawDescription": "Port numarası kullanarak ham TCP/UDP üzerinden proxy isteklerini yönlendirin.",
|
||||||
|
"resourceRawDescriptionCloud": "Bir port numarası kullanarak ham TCP/UDP üzerinden istekleri proxy ile yönlendirin. UZAKTAN BİR DÜĞÜM KULLANIMINI GEREKTİRİR.",
|
||||||
"resourceCreate": "Kaynak Oluştur",
|
"resourceCreate": "Kaynak Oluştur",
|
||||||
"resourceCreateDescription": "Yeni bir kaynak oluşturmak için aşağıdaki adımları izleyin",
|
"resourceCreateDescription": "Yeni bir kaynak oluşturmak için aşağıdaki adımları izleyin",
|
||||||
"resourceSeeAll": "Tüm Kaynakları Gör",
|
"resourceSeeAll": "Tüm Kaynakları Gör",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "Kullanıcıyı Getir",
|
"actionGetUser": "Kullanıcıyı Getir",
|
||||||
"actionGetOrgUser": "Kuruluş Kullanıcısını Al",
|
"actionGetOrgUser": "Kuruluş Kullanıcısını Al",
|
||||||
"actionListOrgDomains": "Kuruluş Alan Adlarını Listele",
|
"actionListOrgDomains": "Kuruluş Alan Adlarını Listele",
|
||||||
|
"actionGetDomain": "Alan Adını Al",
|
||||||
|
"actionCreateOrgDomain": "Alan Adı Oluştur",
|
||||||
|
"actionUpdateOrgDomain": "Alan Adını Güncelle",
|
||||||
|
"actionDeleteOrgDomain": "Alan Adını Sil",
|
||||||
|
"actionGetDNSRecords": "DNS Kayıtlarını Al",
|
||||||
|
"actionRestartOrgDomain": "Alanı Yeniden Başlat",
|
||||||
"actionCreateSite": "Site Oluştur",
|
"actionCreateSite": "Site Oluştur",
|
||||||
"actionDeleteSite": "Siteyi Sil",
|
"actionDeleteSite": "Siteyi Sil",
|
||||||
"actionGetSite": "Siteyi Al",
|
"actionGetSite": "Siteyi Al",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "Kullanıcı sadece belirtilen komutları sudo ile çalıştırabilir.",
|
"sshSudoModeCommandsDescription": "Kullanıcı sadece belirtilen komutları sudo ile çalıştırabilir.",
|
||||||
"sshSudo": "Sudo'ya izin ver",
|
"sshSudo": "Sudo'ya izin ver",
|
||||||
"sshSudoCommands": "Sudo Komutları",
|
"sshSudoCommands": "Sudo Komutları",
|
||||||
"sshSudoCommandsDescription": "Kullanıcının sudo ile çalıştırmasına izin verilen komutların listesi.",
|
"sshSudoCommandsDescription": "Kullanıcının sudo ile çalıştırmasına izin verilen komutların virgülle ayrılmış listesi.",
|
||||||
"sshCreateHomeDir": "Ev Dizini Oluştur",
|
"sshCreateHomeDir": "Ev Dizini Oluştur",
|
||||||
"sshUnixGroups": "Unix Grupları",
|
"sshUnixGroups": "Unix Grupları",
|
||||||
"sshUnixGroupsDescription": "Hedef ana bilgisayarda kullanıcıya eklemek için Unix grupları.",
|
"sshUnixGroupsDescription": "Hedef konakta kullanıcıya eklenecek Unix gruplarının virgülle ayrılmış listesi.",
|
||||||
"retryAttempts": "Tekrar Deneme Girişimleri",
|
"retryAttempts": "Tekrar Deneme Girişimleri",
|
||||||
"expectedResponseCodes": "Beklenen Yanıt Kodları",
|
"expectedResponseCodes": "Beklenen Yanıt Kodları",
|
||||||
"expectedResponseCodesDescription": "Sağlıklı durumu gösteren HTTP durum kodu. Boş bırakılırsa, 200-300 arası sağlıklı kabul edilir.",
|
"expectedResponseCodesDescription": "Sağlıklı durumu gösteren HTTP durum kodu. Boş bırakılırsa, 200-300 arası sağlıklı kabul edilir.",
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
"resourceHTTPDescription": "通过使用完全限定的域名的HTTPS代理请求。",
|
"resourceHTTPDescription": "通过使用完全限定的域名的HTTPS代理请求。",
|
||||||
"resourceRaw": "TCP/UDP 资源",
|
"resourceRaw": "TCP/UDP 资源",
|
||||||
"resourceRawDescription": "通过使用端口号的原始TCP/UDP代理请求。",
|
"resourceRawDescription": "通过使用端口号的原始TCP/UDP代理请求。",
|
||||||
|
"resourceRawDescriptionCloud": "正在使用端口号的 TCP/UDP 代理请求。请使用一个REMOTE",
|
||||||
"resourceCreate": "创建资源",
|
"resourceCreate": "创建资源",
|
||||||
"resourceCreateDescription": "按照下面的步骤创建新资源",
|
"resourceCreateDescription": "按照下面的步骤创建新资源",
|
||||||
"resourceSeeAll": "查看所有资源",
|
"resourceSeeAll": "查看所有资源",
|
||||||
@@ -1101,6 +1102,12 @@
|
|||||||
"actionGetUser": "获取用户",
|
"actionGetUser": "获取用户",
|
||||||
"actionGetOrgUser": "获取组织用户",
|
"actionGetOrgUser": "获取组织用户",
|
||||||
"actionListOrgDomains": "列出组织域",
|
"actionListOrgDomains": "列出组织域",
|
||||||
|
"actionGetDomain": "获取域",
|
||||||
|
"actionCreateOrgDomain": "创建域",
|
||||||
|
"actionUpdateOrgDomain": "更新域",
|
||||||
|
"actionDeleteOrgDomain": "删除域",
|
||||||
|
"actionGetDNSRecords": "获取 DNS 记录",
|
||||||
|
"actionRestartOrgDomain": "重新启动域",
|
||||||
"actionCreateSite": "创建站点",
|
"actionCreateSite": "创建站点",
|
||||||
"actionDeleteSite": "删除站点",
|
"actionDeleteSite": "删除站点",
|
||||||
"actionGetSite": "获取站点",
|
"actionGetSite": "获取站点",
|
||||||
@@ -1669,10 +1676,10 @@
|
|||||||
"sshSudoModeCommandsDescription": "用户只能用 sudo 运行指定的命令。",
|
"sshSudoModeCommandsDescription": "用户只能用 sudo 运行指定的命令。",
|
||||||
"sshSudo": "允许Sudo",
|
"sshSudo": "允许Sudo",
|
||||||
"sshSudoCommands": "Sudo 命令",
|
"sshSudoCommands": "Sudo 命令",
|
||||||
"sshSudoCommandsDescription": "允许用户使用 sudo 运行的命令列表。",
|
"sshSudoCommandsDescription": "逗号分隔的用户允许使用 sudo 运行的命令列表。",
|
||||||
"sshCreateHomeDir": "创建主目录",
|
"sshCreateHomeDir": "创建主目录",
|
||||||
"sshUnixGroups": "Unix 组",
|
"sshUnixGroups": "Unix 组",
|
||||||
"sshUnixGroupsDescription": "将用户添加到目标主机的Unix组。",
|
"sshUnixGroupsDescription": "用逗号分隔了Unix组,将用户添加到目标主机上。",
|
||||||
"retryAttempts": "重试次数",
|
"retryAttempts": "重试次数",
|
||||||
"expectedResponseCodes": "期望响应代码",
|
"expectedResponseCodes": "期望响应代码",
|
||||||
"expectedResponseCodesDescription": "HTTP 状态码表示健康状态。如留空,200-300 被视为健康。",
|
"expectedResponseCodesDescription": "HTTP 状态码表示健康状态。如留空,200-300 被视为健康。",
|
||||||
|
|||||||
3934
package-lock.json
generated
3934
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
36
package.json
36
package.json
@@ -33,7 +33,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@asteasolutions/zod-to-openapi": "8.4.1",
|
"@asteasolutions/zod-to-openapi": "8.4.1",
|
||||||
"@aws-sdk/client-s3": "3.989.0",
|
"@aws-sdk/client-s3": "3.1004.0",
|
||||||
"@faker-js/faker": "10.3.0",
|
"@faker-js/faker": "10.3.0",
|
||||||
"@headlessui/react": "2.2.9",
|
"@headlessui/react": "2.2.9",
|
||||||
"@hookform/resolvers": "5.2.2",
|
"@hookform/resolvers": "5.2.2",
|
||||||
@@ -80,16 +80,16 @@
|
|||||||
"d3": "7.9.0",
|
"d3": "7.9.0",
|
||||||
"drizzle-orm": "0.45.1",
|
"drizzle-orm": "0.45.1",
|
||||||
"express": "5.2.1",
|
"express": "5.2.1",
|
||||||
"express-rate-limit": "8.2.1",
|
"express-rate-limit": "8.3.0",
|
||||||
"glob": "13.0.6",
|
"glob": "13.0.6",
|
||||||
"helmet": "8.1.0",
|
"helmet": "8.1.0",
|
||||||
"http-errors": "2.0.1",
|
"http-errors": "2.0.1",
|
||||||
"input-otp": "1.4.2",
|
"input-otp": "1.4.2",
|
||||||
"ioredis": "5.9.3",
|
"ioredis": "5.10.0",
|
||||||
"jmespath": "0.16.0",
|
"jmespath": "0.16.0",
|
||||||
"js-yaml": "4.1.1",
|
"js-yaml": "4.1.1",
|
||||||
"jsonwebtoken": "9.0.3",
|
"jsonwebtoken": "9.0.3",
|
||||||
"lucide-react": "0.563.0",
|
"lucide-react": "0.577.0",
|
||||||
"maxmind": "5.0.5",
|
"maxmind": "5.0.5",
|
||||||
"moment": "2.30.1",
|
"moment": "2.30.1",
|
||||||
"next": "15.5.12",
|
"next": "15.5.12",
|
||||||
@@ -99,21 +99,21 @@
|
|||||||
"node-cache": "5.1.2",
|
"node-cache": "5.1.2",
|
||||||
"nodemailer": "8.0.1",
|
"nodemailer": "8.0.1",
|
||||||
"oslo": "1.2.1",
|
"oslo": "1.2.1",
|
||||||
"pg": "8.19.0",
|
"pg": "8.20.0",
|
||||||
"posthog-node": "5.26.0",
|
"posthog-node": "5.28.0",
|
||||||
"qrcode.react": "4.2.0",
|
"qrcode.react": "4.2.0",
|
||||||
"react": "19.2.4",
|
"react": "19.2.4",
|
||||||
"react-day-picker": "9.13.2",
|
"react-day-picker": "9.14.0",
|
||||||
"react-dom": "19.2.4",
|
"react-dom": "19.2.4",
|
||||||
"react-easy-sort": "1.8.0",
|
"react-easy-sort": "1.8.0",
|
||||||
"react-hook-form": "7.71.2",
|
"react-hook-form": "7.71.2",
|
||||||
"react-icons": "5.5.0",
|
"react-icons": "5.6.0",
|
||||||
"recharts": "2.15.4",
|
"recharts": "2.15.4",
|
||||||
"reodotdev": "1.0.0",
|
"reodotdev": "1.1.0",
|
||||||
"resend": "6.9.2",
|
"resend": "6.9.2",
|
||||||
"semver": "7.7.4",
|
"semver": "7.7.4",
|
||||||
"sshpk": "^1.18.0",
|
"sshpk": "^1.18.0",
|
||||||
"stripe": "20.3.1",
|
"stripe": "20.4.1",
|
||||||
"swagger-ui-express": "5.0.1",
|
"swagger-ui-express": "5.0.1",
|
||||||
"tailwind-merge": "3.5.0",
|
"tailwind-merge": "3.5.0",
|
||||||
"topojson-client": "3.1.0",
|
"topojson-client": "3.1.0",
|
||||||
@@ -131,10 +131,10 @@
|
|||||||
"zod-validation-error": "5.0.0"
|
"zod-validation-error": "5.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@dotenvx/dotenvx": "1.52.0",
|
"@dotenvx/dotenvx": "1.54.1",
|
||||||
"@esbuild-plugins/tsconfig-paths": "0.1.2",
|
"@esbuild-plugins/tsconfig-paths": "0.1.2",
|
||||||
"@react-email/preview-server": "5.2.8",
|
"@react-email/preview-server": "5.2.8",
|
||||||
"@tailwindcss/postcss": "4.1.18",
|
"@tailwindcss/postcss": "4.2.1",
|
||||||
"@tanstack/react-query-devtools": "5.91.3",
|
"@tanstack/react-query-devtools": "5.91.3",
|
||||||
"@types/better-sqlite3": "7.6.13",
|
"@types/better-sqlite3": "7.6.13",
|
||||||
"@types/cookie-parser": "1.4.10",
|
"@types/cookie-parser": "1.4.10",
|
||||||
@@ -146,10 +146,10 @@
|
|||||||
"@types/jmespath": "0.15.2",
|
"@types/jmespath": "0.15.2",
|
||||||
"@types/js-yaml": "4.0.9",
|
"@types/js-yaml": "4.0.9",
|
||||||
"@types/jsonwebtoken": "9.0.10",
|
"@types/jsonwebtoken": "9.0.10",
|
||||||
"@types/node": "25.2.3",
|
"@types/node": "25.3.5",
|
||||||
"@types/nodemailer": "7.0.11",
|
"@types/nodemailer": "7.0.11",
|
||||||
"@types/nprogress": "0.2.3",
|
"@types/nprogress": "0.2.3",
|
||||||
"@types/pg": "8.16.0",
|
"@types/pg": "8.18.0",
|
||||||
"@types/react": "19.2.14",
|
"@types/react": "19.2.14",
|
||||||
"@types/react-dom": "19.2.3",
|
"@types/react-dom": "19.2.3",
|
||||||
"@types/semver": "7.7.1",
|
"@types/semver": "7.7.1",
|
||||||
@@ -167,10 +167,14 @@
|
|||||||
"postcss": "8.5.6",
|
"postcss": "8.5.6",
|
||||||
"prettier": "3.8.1",
|
"prettier": "3.8.1",
|
||||||
"react-email": "5.2.8",
|
"react-email": "5.2.8",
|
||||||
"tailwindcss": "4.1.18",
|
"tailwindcss": "4.2.1",
|
||||||
"tsc-alias": "1.8.16",
|
"tsc-alias": "1.8.16",
|
||||||
"tsx": "4.21.0",
|
"tsx": "4.21.0",
|
||||||
"typescript": "5.9.3",
|
"typescript": "5.9.3",
|
||||||
"typescript-eslint": "8.55.0"
|
"typescript-eslint": "8.56.1"
|
||||||
|
},
|
||||||
|
"overrides": {
|
||||||
|
"esbuild": "0.27.3",
|
||||||
|
"dompurify": "3.3.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -328,6 +328,14 @@ export const approvals = pgTable("approvals", {
|
|||||||
.notNull()
|
.notNull()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export const bannedEmails = pgTable("bannedEmails", {
|
||||||
|
email: varchar("email", { length: 255 }).primaryKey(),
|
||||||
|
});
|
||||||
|
|
||||||
|
export const bannedIps = pgTable("bannedIps", {
|
||||||
|
ip: varchar("ip", { length: 255 }).primaryKey(),
|
||||||
|
});
|
||||||
|
|
||||||
export type Approval = InferSelectModel<typeof approvals>;
|
export type Approval = InferSelectModel<typeof approvals>;
|
||||||
export type Limit = InferSelectModel<typeof limits>;
|
export type Limit = InferSelectModel<typeof limits>;
|
||||||
export type Account = InferSelectModel<typeof account>;
|
export type Account = InferSelectModel<typeof account>;
|
||||||
|
|||||||
@@ -283,6 +283,7 @@ export const users = pgTable("user", {
|
|||||||
dateCreated: varchar("dateCreated").notNull(),
|
dateCreated: varchar("dateCreated").notNull(),
|
||||||
termsAcceptedTimestamp: varchar("termsAcceptedTimestamp"),
|
termsAcceptedTimestamp: varchar("termsAcceptedTimestamp"),
|
||||||
termsVersion: varchar("termsVersion"),
|
termsVersion: varchar("termsVersion"),
|
||||||
|
marketingEmailConsent: boolean("marketingEmailConsent").default(false),
|
||||||
serverAdmin: boolean("serverAdmin").notNull().default(false),
|
serverAdmin: boolean("serverAdmin").notNull().default(false),
|
||||||
lastPasswordChange: bigint("lastPasswordChange", { mode: "number" })
|
lastPasswordChange: bigint("lastPasswordChange", { mode: "number" })
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -318,6 +318,15 @@ export const approvals = sqliteTable("approvals", {
|
|||||||
.notNull()
|
.notNull()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
export const bannedEmails = sqliteTable("bannedEmails", {
|
||||||
|
email: text("email").primaryKey()
|
||||||
|
});
|
||||||
|
|
||||||
|
export const bannedIps = sqliteTable("bannedIps", {
|
||||||
|
ip: text("ip").primaryKey()
|
||||||
|
});
|
||||||
|
|
||||||
export type Approval = InferSelectModel<typeof approvals>;
|
export type Approval = InferSelectModel<typeof approvals>;
|
||||||
export type Limit = InferSelectModel<typeof limits>;
|
export type Limit = InferSelectModel<typeof limits>;
|
||||||
export type Account = InferSelectModel<typeof account>;
|
export type Account = InferSelectModel<typeof account>;
|
||||||
|
|||||||
@@ -314,6 +314,9 @@ export const users = sqliteTable("user", {
|
|||||||
dateCreated: text("dateCreated").notNull(),
|
dateCreated: text("dateCreated").notNull(),
|
||||||
termsAcceptedTimestamp: text("termsAcceptedTimestamp"),
|
termsAcceptedTimestamp: text("termsAcceptedTimestamp"),
|
||||||
termsVersion: text("termsVersion"),
|
termsVersion: text("termsVersion"),
|
||||||
|
marketingEmailConsent: integer("marketingEmailConsent", {
|
||||||
|
mode: "boolean"
|
||||||
|
}).default(false),
|
||||||
serverAdmin: integer("serverAdmin", { mode: "boolean" })
|
serverAdmin: integer("serverAdmin", { mode: "boolean" })
|
||||||
.notNull()
|
.notNull()
|
||||||
.default(false),
|
.default(false),
|
||||||
|
|||||||
@@ -85,9 +85,7 @@ export async function deleteOrgById(
|
|||||||
deletedNewtIds.push(deletedNewt.newtId);
|
deletedNewtIds.push(deletedNewt.newtId);
|
||||||
await trx
|
await trx
|
||||||
.delete(newtSessions)
|
.delete(newtSessions)
|
||||||
.where(
|
.where(eq(newtSessions.newtId, deletedNewt.newtId));
|
||||||
eq(newtSessions.newtId, deletedNewt.newtId)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -121,33 +119,38 @@ export async function deleteOrgById(
|
|||||||
eq(clientSitesAssociationsCache.clientId, client.clientId)
|
eq(clientSitesAssociationsCache.clientId, client.clientId)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await trx.delete(resources).where(eq(resources.orgId, orgId));
|
||||||
|
|
||||||
const allOrgDomains = await trx
|
const allOrgDomains = await trx
|
||||||
.select()
|
.select()
|
||||||
.from(orgDomains)
|
.from(orgDomains)
|
||||||
.innerJoin(domains, eq(domains.domainId, orgDomains.domainId))
|
.innerJoin(domains, eq(orgDomains.domainId, domains.domainId))
|
||||||
.where(
|
.where(
|
||||||
and(
|
and(
|
||||||
eq(orgDomains.orgId, orgId),
|
eq(orgDomains.orgId, orgId),
|
||||||
eq(domains.configManaged, false)
|
eq(domains.configManaged, false)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
logger.info(`Found ${allOrgDomains.length} domains to delete`);
|
||||||
const domainIdsToDelete: string[] = [];
|
const domainIdsToDelete: string[] = [];
|
||||||
for (const orgDomain of allOrgDomains) {
|
for (const orgDomain of allOrgDomains) {
|
||||||
const domainId = orgDomain.domains.domainId;
|
const domainId = orgDomain.domains.domainId;
|
||||||
const orgCount = await trx
|
const [orgCount] = await trx
|
||||||
.select({ count: sql<number>`count(*)` })
|
.select({ count: count() })
|
||||||
.from(orgDomains)
|
.from(orgDomains)
|
||||||
.where(eq(orgDomains.domainId, domainId));
|
.where(eq(orgDomains.domainId, domainId));
|
||||||
if (orgCount[0].count === 1) {
|
logger.info(`Found ${orgCount.count} orgs using domain ${domainId}`);
|
||||||
|
if (orgCount.count === 1) {
|
||||||
domainIdsToDelete.push(domainId);
|
domainIdsToDelete.push(domainId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
logger.info(`Found ${domainIdsToDelete.length} domains to delete`);
|
||||||
if (domainIdsToDelete.length > 0) {
|
if (domainIdsToDelete.length > 0) {
|
||||||
await trx
|
await trx
|
||||||
.delete(domains)
|
.delete(domains)
|
||||||
.where(inArray(domains.domainId, domainIdsToDelete));
|
.where(inArray(domains.domainId, domainIdsToDelete));
|
||||||
}
|
}
|
||||||
await trx.delete(resources).where(eq(resources.orgId, orgId));
|
|
||||||
|
|
||||||
await usageService.add(orgId, FeatureId.ORGINIZATIONS, -1, trx); // here we are decreasing the org count BEFORE deleting the org because we need to still be able to get the org to get the billing org inside of here
|
await usageService.add(orgId, FeatureId.ORGINIZATIONS, -1, trx); // here we are decreasing the org count BEFORE deleting the org because we need to still be able to get the org to get the billing org inside of here
|
||||||
|
|
||||||
@@ -231,15 +234,13 @@ export function sendTerminationMessages(result: DeleteOrgByIdResult): void {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
for (const olmId of result.olmsToTerminate) {
|
for (const olmId of result.olmsToTerminate) {
|
||||||
sendTerminateClient(
|
sendTerminateClient(0, OlmErrorCodes.TERMINATED_REKEYED, olmId).catch(
|
||||||
0,
|
(error) => {
|
||||||
OlmErrorCodes.TERMINATED_REKEYED,
|
logger.error(
|
||||||
olmId
|
"Failed to send termination message to olm:",
|
||||||
).catch((error) => {
|
error
|
||||||
logger.error(
|
);
|
||||||
"Failed to send termination message to olm:",
|
}
|
||||||
error
|
);
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { NextFunction, Request, Response } from "express";
|
import { NextFunction, Request, Response } from "express";
|
||||||
import { db, users } from "@server/db";
|
import { bannedEmails, bannedIps, db, users } from "@server/db";
|
||||||
import HttpCode from "@server/types/HttpCode";
|
import HttpCode from "@server/types/HttpCode";
|
||||||
import { email, z } from "zod";
|
import { email, z } from "zod";
|
||||||
import { fromError } from "zod-validation-error";
|
import { fromError } from "zod-validation-error";
|
||||||
@@ -66,6 +66,30 @@ export async function signup(
|
|||||||
skipVerificationEmail
|
skipVerificationEmail
|
||||||
} = parsedBody.data;
|
} = parsedBody.data;
|
||||||
|
|
||||||
|
const [bannedEmail] = await db
|
||||||
|
.select()
|
||||||
|
.from(bannedEmails)
|
||||||
|
.where(eq(bannedEmails.email, email))
|
||||||
|
.limit(1);
|
||||||
|
if (bannedEmail) {
|
||||||
|
return next(
|
||||||
|
createHttpError(HttpCode.FORBIDDEN, "Signup blocked. Do not attempt to continue to use this service.")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (req.ip) {
|
||||||
|
const [bannedIp] = await db
|
||||||
|
.select()
|
||||||
|
.from(bannedIps)
|
||||||
|
.where(eq(bannedIps.ip, req.ip))
|
||||||
|
.limit(1);
|
||||||
|
if (bannedIp) {
|
||||||
|
return next(
|
||||||
|
createHttpError(HttpCode.FORBIDDEN, "Signup blocked. Do not attempt to continue to use this service.")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const passwordHash = await hashPassword(password);
|
const passwordHash = await hashPassword(password);
|
||||||
const userId = generateId(15);
|
const userId = generateId(15);
|
||||||
|
|
||||||
@@ -189,6 +213,7 @@ export async function signup(
|
|||||||
dateCreated: moment().toISOString(),
|
dateCreated: moment().toISOString(),
|
||||||
termsAcceptedTimestamp: termsAcceptedTimestamp || null,
|
termsAcceptedTimestamp: termsAcceptedTimestamp || null,
|
||||||
termsVersion: "1",
|
termsVersion: "1",
|
||||||
|
marketingEmailConsent: marketingEmailConsent ?? false,
|
||||||
lastPasswordChange: new Date().getTime()
|
lastPasswordChange: new Date().getTime()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ export async function buildTargetConfigurationForNewtClient(siteId: number) {
|
|||||||
!target.hcMethod
|
!target.hcMethod
|
||||||
) {
|
) {
|
||||||
logger.debug(
|
logger.debug(
|
||||||
`Skipping target ${target.targetId} due to missing health check fields`
|
`Skipping adding target health check ${target.targetId} due to missing health check fields`
|
||||||
);
|
);
|
||||||
return null; // Skip targets with missing health check fields
|
return null; // Skip targets with missing health check fields
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -223,6 +223,20 @@ async function createHttpResource(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Prevent creating resource with same domain as dashboard
|
||||||
|
const dashboardUrl = config.getRawConfig().app.dashboard_url;
|
||||||
|
if (dashboardUrl) {
|
||||||
|
const dashboardHost = new URL(dashboardUrl).hostname;
|
||||||
|
if (fullDomain === dashboardHost) {
|
||||||
|
return next(
|
||||||
|
createHttpError(
|
||||||
|
HttpCode.CONFLICT,
|
||||||
|
"Resource domain cannot be the same as the dashboard domain"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (build != "oss") {
|
if (build != "oss") {
|
||||||
const existingLoginPages = await db
|
const existingLoginPages = await db
|
||||||
.select()
|
.select()
|
||||||
|
|||||||
@@ -101,6 +101,49 @@ const updateHttpResourceBodySchema = z
|
|||||||
{
|
{
|
||||||
error: "Invalid custom Host Header value. Use domain name format, or save empty to unset custom Host Header."
|
error: "Invalid custom Host Header value. Use domain name format, or save empty to unset custom Host Header."
|
||||||
}
|
}
|
||||||
|
)
|
||||||
|
.refine(
|
||||||
|
(data) => {
|
||||||
|
if (data.headers) {
|
||||||
|
// HTTP header names must be valid token characters (RFC 7230)
|
||||||
|
const validHeaderName = /^[a-zA-Z0-9!#$%&'*+\-.^_`|~]+$/;
|
||||||
|
return data.headers.every((h) => validHeaderName.test(h.name));
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
error: "Header names may only contain valid HTTP token characters (letters, digits, and !#$%&'*+-.^_`|~)."
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.refine(
|
||||||
|
(data) => {
|
||||||
|
if (data.headers) {
|
||||||
|
// HTTP header values must be visible ASCII or horizontal whitespace, no control chars (RFC 7230)
|
||||||
|
const validHeaderValue = /^[\t\x20-\x7E]*$/;
|
||||||
|
return data.headers.every((h) => validHeaderValue.test(h.value));
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
error: "Header values may only contain printable ASCII characters and horizontal whitespace."
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.refine(
|
||||||
|
(data) => {
|
||||||
|
if (data.headers) {
|
||||||
|
// Reject Traefik template syntax {{word}} in names or values
|
||||||
|
const templatePattern = /\{\{[^}]+\}\}/;
|
||||||
|
return data.headers.every(
|
||||||
|
(h) =>
|
||||||
|
!templatePattern.test(h.name) &&
|
||||||
|
!templatePattern.test(h.value)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
error: "Header names and values must not contain template expressions such as {{value}}."
|
||||||
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export type UpdateResourceResponse = Resource;
|
export type UpdateResourceResponse = Resource;
|
||||||
@@ -310,6 +353,20 @@ async function updateHttpResource(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Prevent updating resource with same domain as dashboard
|
||||||
|
const dashboardUrl = config.getRawConfig().app.dashboard_url;
|
||||||
|
if (dashboardUrl) {
|
||||||
|
const dashboardHost = new URL(dashboardUrl).hostname;
|
||||||
|
if (fullDomain === dashboardHost) {
|
||||||
|
return next(
|
||||||
|
createHttpError(
|
||||||
|
HttpCode.CONFLICT,
|
||||||
|
"Resource domain cannot be the same as the dashboard domain"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (build != "oss") {
|
if (build != "oss") {
|
||||||
const existingLoginPages = await db
|
const existingLoginPages = await db
|
||||||
.select()
|
.select()
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ import { DockerManager, DockerState } from "@app/lib/docker";
|
|||||||
import { orgQueries } from "@app/lib/queries";
|
import { orgQueries } from "@app/lib/queries";
|
||||||
import { finalizeSubdomainSanitize } from "@app/lib/subdomain-utils";
|
import { finalizeSubdomainSanitize } from "@app/lib/subdomain-utils";
|
||||||
import { zodResolver } from "@hookform/resolvers/zod";
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
|
import { build } from "@server/build";
|
||||||
import { Resource } from "@server/db";
|
import { Resource } from "@server/db";
|
||||||
import { isTargetValid } from "@server/lib/validators";
|
import { isTargetValid } from "@server/lib/validators";
|
||||||
import { ListTargetsResponse } from "@server/routers/target";
|
import { ListTargetsResponse } from "@server/routers/target";
|
||||||
@@ -292,7 +293,7 @@ export default function Page() {
|
|||||||
{
|
{
|
||||||
id: "raw" as ResourceType,
|
id: "raw" as ResourceType,
|
||||||
title: t("resourceRaw"),
|
title: t("resourceRaw"),
|
||||||
description: t("resourceRawDescription")
|
description: build == "saas" ? t("resourceRawDescriptionCloud") : t("resourceRawDescription")
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
];
|
];
|
||||||
@@ -558,7 +559,7 @@ export default function Page() {
|
|||||||
toast({
|
toast({
|
||||||
variant: "destructive",
|
variant: "destructive",
|
||||||
title: t("resourceErrorCreate"),
|
title: t("resourceErrorCreate"),
|
||||||
description: t("resourceErrorCreateMessageDescription")
|
description: formatAxiosError(e, t("resourceErrorCreateMessageDescription"))
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ const CredenzaContent = ({ className, children, ...props }: CredenzaProps) => {
|
|||||||
return (
|
return (
|
||||||
<CredenzaContent
|
<CredenzaContent
|
||||||
className={cn(
|
className={cn(
|
||||||
"overflow-y-auto max-h-[100dvh] md:max-h-screen md:top-[clamp(1.5rem,12vh,200px)] md:translate-y-0",
|
"overflow-y-auto max-h-[100dvh] md:max-h-[calc(100vh-clamp(3rem,24vh,400px))] md:top-[clamp(1.5rem,12vh,200px)] md:translate-y-0",
|
||||||
className
|
className
|
||||||
)}
|
)}
|
||||||
{...props}
|
{...props}
|
||||||
|
|||||||
Reference in New Issue
Block a user