enabling support for wireguard and firewall (#2713)

* wip: enabling support for wireguard and firewall

* wip

* wip

* wip

* wip

* wip

* implement some things

* fix warning

* wip

* alpha.23

* misc fixes

* remove ufw since no longer required

* remove debug info

* add cli bindings

* debugging

* fixes

* individualized acme and privacy settings for domains and bindings

* sdk version bump

* migration

* misc fixes

* refactor Host::update

* debug info

* refactor webserver

* misc fixes

* misc fixes

* refactor port forwarding

* recheck interfaces every 5 min if no dbus event

* misc fixes and cleanup

* misc fixes
This commit is contained in:
Aiden McClelland
2025-01-09 16:34:34 -07:00
committed by GitHub
parent 45ca9405d3
commit 29e8210782
144 changed files with 4878 additions and 2398 deletions

View File

@@ -58,25 +58,28 @@
<ion-icon slot="icon-only" name="copy-outline"></ion-icon>
</ion-button>
</ion-item>
<ng-container *ngFor="let iface of server.ipInfo| keyvalue">
<ion-item *tuiLet="iface.value.ipv4 as ipv4">
<ion-label>
<h2>{{ iface.key }} (IPv4)</h2>
<p>{{ ipv4 || 'n/a' }}</p>
</ion-label>
<ion-button *ngIf="ipv4" slot="end" fill="clear" (click)="copy(ipv4)">
<ion-icon slot="icon-only" name="copy-outline"></ion-icon>
</ion-button>
</ion-item>
<ion-item *tuiLet="iface.value.ipv6 as ipv6">
<ion-label>
<h2>{{ iface.key }} (IPv6)</h2>
<p>{{ ipv6 || 'n/a' }}</p>
</ion-label>
<ion-button *ngIf="ipv6" slot="end" fill="clear" (click)="copy(ipv6)">
<ion-icon slot="icon-only" name="copy-outline"></ion-icon>
</ion-button>
</ion-item>
<ng-container *ngFor="let iface of server.networkInterfaces | keyvalue">
<ng-container *ngIf="(isLocalhost || iface.key !== 'lo') && iface.value.ipInfo">
<ng-container *ngFor="let ipnet of iface.value.ipInfo.subnets">
<ng-container *ngIf="!ipnet.includes('fe80::') || isLocalhost">
<ion-item *tuiLet="ipnet.split('/')[0] as ipAddr">
<ion-label>
<h2>{{ iface.key }} ({{ ipAddr.includes("::") ? "IPv6" : "IPv4" }})</h2>
<p>{{
ipAddr.includes("fe80::")
? "[" + ipAddr + "%" + iface.value.ipInfo.scopeId + "]"
: ipAddr.includes("::")
? "[" + ipAddr + "]"
: ipAddr
}}</p>
</ion-label>
<ion-button slot="end" fill="clear" (click)="copy(ipAddr)">
<ion-icon slot="icon-only" name="copy-outline"></ion-icon>
</ion-button>
</ion-item>
</ng-container>
</ng-container>
</ng-container>
</ng-container>
<ion-item-divider>Device Credentials</ion-item-divider>