mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 02:11:53 +00:00
task fix and keyboard fix (#3130)
* task fix and keyboard fix
* fixes for build scripts
* passthrough feature
* feat: inline domain health checks and improve address UX
- addPublicDomain returns DNS query + port check results (AddPublicDomainRes)
so frontend skips separate API calls after adding a domain
- addPrivateDomain returns check_dns result for the gateway
- Support multiple ports per domain in validation modal (deduplicated)
- Run port checks concurrently via futures::future::join_all
- Add note to add-domain dialog showing other interfaces on same host
- Add addXForwardedHeaders to knownProtocols in SDK Host.ts
- Add plugin filter kind, pluginId filter, matchesAny, and docs to
getServiceInterface.ts
- Add PassthroughInfo type and passthroughs field to NetworkInfo
- Pluralize "port forwarding rules" in i18n dictionaries
* feat: add shared host note to private domain dialog with i18n
* fix: scope public domain to single binding and return single port check
Accept internalPort in AddPublicDomainParams to target a specific
binding. Disable the domain on all other bindings. Return a single
CheckPortRes instead of Vec. Revert multi-port UI to singular port
display from 0f8a66b35.
* better shared hostname approach, and improve look-feel of addresses tables
* fix starttls
* preserve usb as top efi boot option
* fix race condition in wan ip check
* sdk beta.56
* various bug, improve smtp
* multiple bugs, better outbound gateway UX
* remove non option from smtp for better package compat
* bump sdk
---------
Co-authored-by: Aiden McClelland <me@drbonez.dev>
This commit is contained in:
1
web/projects/shared/assets/icons/letsencrypt.svg
Normal file
1
web/projects/shared/assets/icons/letsencrypt.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M22.7 17.21h-3.83v-1.975c0-1.572-1.3-2.86-2.86-2.86s-2.86 1.3-2.86 2.86v1.975H9.33v-1.975c0-3.708 3.023-6.7 6.7-6.7 3.708 0 6.7 3.023 6.7 6.7z" fill="#ffa400"/><path d="M24.282 17.21H7.758a1.27 1.27 0 0 0-1.29 1.29V30.7A1.27 1.27 0 0 0 7.758 32h16.524a1.27 1.27 0 0 0 1.29-1.29V18.5c-.04-.725-.605-1.3-1.3-1.3zm-7.456 8.02v1.652c0 .443-.363.846-.846.846-.443 0-.846-.363-.846-.846V25.23c-.524-.282-.846-.846-.846-1.49 0-.927.766-1.693 1.693-1.693s1.693.766 1.693 1.693c.04.645-.322 1.21-.846 1.49z" fill="#003a70"/><path d="M6.066 15.395h-4a1.17 1.17 0 0 1-1.169-1.169 1.17 1.17 0 0 1 1.169-1.169h4a1.17 1.17 0 0 1 1.169 1.169 1.17 1.17 0 0 1-1.169 1.169zm2.82-6.287a1.03 1.03 0 0 1-.725-.282l-3.144-2.58c-.484-.403-.564-1.128-.16-1.652.403-.484 1.128-.564 1.652-.16l3.144 2.58c.484.403.564 1.128.16 1.652-.282.282-.605.443-.927.443zm7.134-2.74a1.17 1.17 0 0 1-1.169-1.169V1.17A1.17 1.17 0 0 1 16.02 0a1.17 1.17 0 0 1 1.169 1.169V5.2a1.17 1.17 0 0 1-1.169 1.169zm7.093 2.74c-.322 0-.685-.16-.887-.443-.403-.484-.322-1.25.16-1.652l3.144-2.58c.484-.403 1.25-.322 1.652.16s.322 1.25-.16 1.652l-3.144 2.58a1.13 1.13 0 0 1-.766.282zm6.81 6.287h-4.03a1.17 1.17 0 0 1-1.169-1.169 1.17 1.17 0 0 1 1.169-1.169h4.03a1.17 1.17 0 0 1 1.169 1.169 1.17 1.17 0 0 1-1.169 1.169z" fill="#ffa400"/></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -16,7 +16,7 @@ export const VERSION = new InjectionToken<string>('VERSION')
|
||||
host: {
|
||||
target: '_blank',
|
||||
rel: 'noreferrer',
|
||||
'[href]': 'url()',
|
||||
'[attr.href]': 'url()',
|
||||
},
|
||||
})
|
||||
export class DocsLinkDirective {
|
||||
|
||||
@@ -360,7 +360,6 @@ export default {
|
||||
377: 'StartOS-Sicherungen erkannt',
|
||||
378: 'Keine StartOS-Sicherungen erkannt',
|
||||
379: 'StartOS-Version',
|
||||
381: 'SMTP-Zugangsdaten',
|
||||
382: 'Test-E-Mail senden',
|
||||
383: 'Senden',
|
||||
384: 'E-Mail wird gesendet',
|
||||
@@ -644,7 +643,6 @@ export default {
|
||||
706: 'Beibehalten',
|
||||
707: 'Überschreiben',
|
||||
708: 'Entsperren',
|
||||
709: 'Laufwerk',
|
||||
710: 'Übertragen',
|
||||
711: 'Die Liste ist leer',
|
||||
712: 'Jetzt neu starten',
|
||||
@@ -659,8 +657,6 @@ export default {
|
||||
721: 'Gateway für ausgehenden Datenverkehr auswählen',
|
||||
722: 'Der Typ des Gateways',
|
||||
723: 'Nur ausgehend',
|
||||
724: 'Als Standard für ausgehenden Verkehr festlegen',
|
||||
725: 'Gesamten ausgehenden Datenverkehr über dieses Gateway leiten',
|
||||
726: 'WireGuard-Konfigurationsdatei',
|
||||
727: 'Eingehend/Ausgehend',
|
||||
728: 'StartTunnel (Eingehend/Ausgehend)',
|
||||
@@ -669,7 +665,6 @@ export default {
|
||||
731: 'Öffentliche Domain',
|
||||
732: 'Private Domain',
|
||||
733: 'Ausblenden',
|
||||
734: 'Standard ausgehend',
|
||||
735: 'Zertifikat',
|
||||
736: 'Selbstsigniert',
|
||||
737: 'Portweiterleitung',
|
||||
@@ -704,4 +699,14 @@ export default {
|
||||
774: 'Der Portstatus kann nicht ermittelt werden, solange der Dienst nicht läuft',
|
||||
775: 'Diese Adresse funktioniert nicht aus Ihrem lokalen Netzwerk aufgrund einer Router-Hairpinning-Einschränkung',
|
||||
776: 'Aktion nicht gefunden',
|
||||
777: 'Diese Domain wird auch gelten für',
|
||||
778: 'Plugin',
|
||||
779: 'Öffentlich',
|
||||
780: 'Privat',
|
||||
781: 'Lokal',
|
||||
782: 'Unbekanntes Laufwerk',
|
||||
783: 'Muss eine gültige E-Mail-Adresse sein',
|
||||
786: 'Automatisch',
|
||||
787: 'Ausgehender Datenverkehr',
|
||||
788: 'Gateway verwenden',
|
||||
} satisfies i18n
|
||||
|
||||
@@ -359,7 +359,6 @@ export const ENGLISH: Record<string, number> = {
|
||||
'StartOS backups detected': 377,
|
||||
'No StartOS backups detected': 378,
|
||||
'StartOS Version': 379,
|
||||
'SMTP Credentials': 381,
|
||||
'Send test email': 382,
|
||||
'Send': 383,
|
||||
'Sending email': 384,
|
||||
@@ -644,7 +643,6 @@ export const ENGLISH: Record<string, number> = {
|
||||
'Preserve': 706,
|
||||
'Overwrite': 707,
|
||||
'Unlock': 708,
|
||||
'Drive': 709, // the noun, a storage device
|
||||
'Transfer': 710, // the verb
|
||||
'The list is empty': 711,
|
||||
'Restart now': 712,
|
||||
@@ -659,8 +657,6 @@ export const ENGLISH: Record<string, number> = {
|
||||
'Select the gateway for outbound traffic': 721,
|
||||
'The type of gateway': 722,
|
||||
'Outbound Only': 723,
|
||||
'Set as default outbound': 724,
|
||||
'Route all outbound traffic through this gateway': 725,
|
||||
'WireGuard Config File': 726,
|
||||
'Inbound/Outbound': 727,
|
||||
'StartTunnel (Inbound/Outbound)': 728,
|
||||
@@ -669,7 +665,6 @@ export const ENGLISH: Record<string, number> = {
|
||||
'Public Domain': 731,
|
||||
'Private Domain': 732,
|
||||
'Hide': 733,
|
||||
'default outbound': 734,
|
||||
'Certificate': 735,
|
||||
'Self signed': 736,
|
||||
'Port Forwarding': 737,
|
||||
@@ -704,4 +699,14 @@ export const ENGLISH: Record<string, number> = {
|
||||
'Port status cannot be determined while service is not running': 774,
|
||||
'This address will not work from your local network due to a router hairpinning limitation': 775,
|
||||
'Action not found': 776,
|
||||
'This domain will also apply to': 777,
|
||||
'Plugin': 778,
|
||||
'Public': 779, // as in, publicly accessible
|
||||
'Private': 780, // as in, privately accessible
|
||||
'Local': 781, // as in, locally accessible
|
||||
'Unknown Drive': 782,
|
||||
'Must be a valid email address': 783,
|
||||
'Auto': 786,
|
||||
'Outbound Traffic': 787,
|
||||
'Use gateway': 788,
|
||||
}
|
||||
|
||||
@@ -360,7 +360,6 @@ export default {
|
||||
377: 'Copias de seguridad de StartOS detectadas',
|
||||
378: 'No se detectaron copias de seguridad de StartOS',
|
||||
379: 'Versión de StartOS',
|
||||
381: 'Credenciales SMTP',
|
||||
382: 'Enviar correo de prueba',
|
||||
383: 'Enviar',
|
||||
384: 'Enviando correo',
|
||||
@@ -644,7 +643,6 @@ export default {
|
||||
706: 'Conservar',
|
||||
707: 'Sobrescribir',
|
||||
708: 'Desbloquear',
|
||||
709: 'Unidad',
|
||||
710: 'Transferir',
|
||||
711: 'La lista está vacía',
|
||||
712: 'Reiniciar ahora',
|
||||
@@ -659,8 +657,6 @@ export default {
|
||||
721: 'Selecciona la puerta de enlace para el tráfico saliente',
|
||||
722: 'El tipo de puerta de enlace',
|
||||
723: 'Solo saliente',
|
||||
724: 'Establecer como saliente predeterminado',
|
||||
725: 'Enrutar todo el tráfico saliente a través de esta puerta de enlace',
|
||||
726: 'Archivo de configuración WireGuard',
|
||||
727: 'Entrante/Saliente',
|
||||
728: 'StartTunnel (Entrante/Saliente)',
|
||||
@@ -669,7 +665,6 @@ export default {
|
||||
731: 'Dominio público',
|
||||
732: 'Dominio privado',
|
||||
733: 'Ocultar',
|
||||
734: 'saliente predeterminado',
|
||||
735: 'Certificado',
|
||||
736: 'Autofirmado',
|
||||
737: 'Reenvío de puertos',
|
||||
@@ -704,4 +699,14 @@ export default {
|
||||
774: 'El estado del puerto no se puede determinar mientras el servicio no está en ejecución',
|
||||
775: 'Esta dirección no funcionará desde tu red local debido a una limitación de hairpinning del router',
|
||||
776: 'Acción no encontrada',
|
||||
777: 'Este dominio también se aplicará a',
|
||||
778: 'Plugin',
|
||||
779: 'Público',
|
||||
780: 'Privado',
|
||||
781: 'Local',
|
||||
782: 'Unidad desconocida',
|
||||
783: 'Debe ser una dirección de correo electrónico válida',
|
||||
786: 'Automático',
|
||||
787: 'Tráfico saliente',
|
||||
788: 'Usar gateway',
|
||||
} satisfies i18n
|
||||
|
||||
@@ -360,7 +360,6 @@ export default {
|
||||
377: 'Sauvegardes StartOS détectées',
|
||||
378: 'Aucune sauvegarde StartOS détectée',
|
||||
379: 'Version de StartOS',
|
||||
381: 'Identifiants SMTP',
|
||||
382: 'Envoyer un email de test',
|
||||
383: 'Envoyer',
|
||||
384: 'Envoi de l’email',
|
||||
@@ -644,7 +643,6 @@ export default {
|
||||
706: 'Conserver',
|
||||
707: 'Écraser',
|
||||
708: 'Déverrouiller',
|
||||
709: 'Disque',
|
||||
710: 'Transférer',
|
||||
711: 'La liste est vide',
|
||||
712: 'Redémarrer maintenant',
|
||||
@@ -659,8 +657,6 @@ export default {
|
||||
721: 'Sélectionnez la passerelle pour le trafic sortant',
|
||||
722: 'Le type de passerelle',
|
||||
723: 'Sortant uniquement',
|
||||
724: 'Définir comme sortant par défaut',
|
||||
725: 'Acheminer tout le trafic sortant via cette passerelle',
|
||||
726: 'Fichier de configuration WireGuard',
|
||||
727: 'Entrant/Sortant',
|
||||
728: 'StartTunnel (Entrant/Sortant)',
|
||||
@@ -669,7 +665,6 @@ export default {
|
||||
731: 'Domaine public',
|
||||
732: 'Domaine privé',
|
||||
733: 'Masquer',
|
||||
734: 'sortant par défaut',
|
||||
735: 'Certificat',
|
||||
736: 'Auto-signé',
|
||||
737: 'Redirection de ports',
|
||||
@@ -704,4 +699,14 @@ export default {
|
||||
774: "L'état du port ne peut pas être déterminé tant que le service n'est pas en cours d'exécution",
|
||||
775: "Cette adresse ne fonctionnera pas depuis votre réseau local en raison d'une limitation de hairpinning du routeur",
|
||||
776: 'Action introuvable',
|
||||
777: "Ce domaine s'appliquera également à",
|
||||
778: 'Plugin',
|
||||
779: 'Public',
|
||||
780: 'Privé',
|
||||
781: 'Local',
|
||||
782: 'Lecteur inconnu',
|
||||
783: 'Doit être une adresse e-mail valide',
|
||||
786: 'Automatique',
|
||||
787: 'Trafic sortant',
|
||||
788: 'Utiliser la passerelle',
|
||||
} satisfies i18n
|
||||
|
||||
@@ -360,7 +360,6 @@ export default {
|
||||
377: 'Wykryto kopie zapasowe StartOS',
|
||||
378: 'Nie wykryto kopii zapasowych StartOS',
|
||||
379: 'Wersja StartOS',
|
||||
381: 'Dane logowania SMTP',
|
||||
382: 'Wyślij e-mail testowy',
|
||||
383: 'Wyślij',
|
||||
384: 'Wysyłanie e-maila',
|
||||
@@ -644,7 +643,6 @@ export default {
|
||||
706: 'Zachowaj',
|
||||
707: 'Nadpisz',
|
||||
708: 'Odblokuj',
|
||||
709: 'Dysk',
|
||||
710: 'Przenieś',
|
||||
711: 'Lista jest pusta',
|
||||
712: 'Uruchom ponownie teraz',
|
||||
@@ -659,8 +657,6 @@ export default {
|
||||
721: 'Wybierz bramę dla ruchu wychodzącego',
|
||||
722: 'Typ bramy',
|
||||
723: 'Tylko wychodzący',
|
||||
724: 'Ustaw jako domyślne wychodzące',
|
||||
725: 'Kieruj cały ruch wychodzący przez tę bramę',
|
||||
726: 'Plik konfiguracyjny WireGuard',
|
||||
727: 'Przychodzący/Wychodzący',
|
||||
728: 'StartTunnel (Przychodzący/Wychodzący)',
|
||||
@@ -669,7 +665,6 @@ export default {
|
||||
731: 'Domena publiczna',
|
||||
732: 'Domena prywatna',
|
||||
733: 'Ukryj',
|
||||
734: 'domyślne wychodzące',
|
||||
735: 'Certyfikat',
|
||||
736: 'Samopodpisany',
|
||||
737: 'Przekierowanie portów',
|
||||
@@ -704,4 +699,14 @@ export default {
|
||||
774: 'Status portu nie może być określony, gdy usługa nie jest uruchomiona',
|
||||
775: 'Ten adres nie będzie działać z Twojej sieci lokalnej z powodu ograniczenia hairpinning routera',
|
||||
776: 'Nie znaleziono akcji',
|
||||
777: 'Ta domena będzie również dotyczyć',
|
||||
778: 'Wtyczka',
|
||||
779: 'Publiczny',
|
||||
780: 'Prywatny',
|
||||
781: 'Lokalny',
|
||||
782: 'Nieznany dysk',
|
||||
783: 'Musi być prawidłowy adres e-mail',
|
||||
786: 'Automatycznie',
|
||||
787: 'Ruch wychodzący',
|
||||
788: 'Użyj bramy',
|
||||
} satisfies i18n
|
||||
|
||||
Reference in New Issue
Block a user