mirror of
https://github.com/Noratrieb/vps.git
synced 2026-07-12 16:27:46 +02:00
Compare commits
No commits in common. "6c24213ec62315ae880bed26d09982a8902e17bb" and "d41530b65f62ffe45b7c1856a10e37db8f246f8b" have entirely different histories.
6c24213ec6
...
d41530b65f
49 changed files with 119 additions and 277 deletions
|
|
@ -4,28 +4,20 @@
|
||||||
|
|
||||||
set -eux
|
set -eux
|
||||||
|
|
||||||
check_single_dig_answer() {
|
|
||||||
dns="$1"
|
|
||||||
type="$2"
|
|
||||||
host="$3"
|
|
||||||
grep="$4"
|
|
||||||
|
|
||||||
dig "@$dns.infra.noratrieb.dev" "$type" "$host" +noall +answer | grep "$grep"
|
|
||||||
}
|
|
||||||
|
|
||||||
check_dig_answer() {
|
check_dig_answer() {
|
||||||
type="$1"
|
type="$1"
|
||||||
host="$2"
|
host="$2"
|
||||||
grep="$3"
|
grep="$3"
|
||||||
|
|
||||||
check_single_dig_answer "dns1" "$type" "$host" "$grep"
|
dig @dns1.infra.noratrieb.dev "$type" "$host" +noall +answer | grep "$grep"
|
||||||
check_single_dig_answer "dns2" "$type" "$host" "$grep"
|
dig @dns2.infra.noratrieb.dev "$type" "$host" +noall +answer | grep "$grep"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check DNS name servers
|
# Check DNS name servers
|
||||||
check_dig_answer A "dns1.infra.noratrieb.dev" "154.38.163.74"
|
check_dig_answer A "dns1.infra.noratrieb.dev" "154.38.163.74"
|
||||||
|
|
||||||
check_single_dig_answer "dns1" A "nilstrieb.dev" "161.97.165.1"
|
check_dig_answer A "nilstrieb.dev" "161.97.165.1"
|
||||||
|
|
||||||
# Check the NS records. The trailing dot matters!
|
# Check the NS records. The trailing dot matters!
|
||||||
check_dig_answer NS noratrieb.dev "noratrieb.dev..*3600.*IN.*NS.*ns1.noratrieb.dev."
|
check_dig_answer NS noratrieb.dev "noratrieb.dev..*3600.*IN.*NS.*ns1.noratrieb.dev."
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
wg = {
|
wg = {
|
||||||
privateIP = "10.0.1.1";
|
privateIP = "10.0.1.1";
|
||||||
publicKey = "7jy2q93xYBHG5yKqLmNuMWSuFMnUGWXVuKQ1yMmxoV4=";
|
publicKey = "7jy2q93xYBHG5yKqLmNuMWSuFMnUGWXVuKQ1yMmxoV4=";
|
||||||
peers = [ "minipc" "vps3" "vps5" ];
|
peers = [ "vps3" ];
|
||||||
};
|
};
|
||||||
tags = [ "dns" ];
|
tags = [ "dns" ];
|
||||||
};
|
};
|
||||||
|
|
@ -88,7 +88,7 @@
|
||||||
wg = {
|
wg = {
|
||||||
privateIP = "10.0.0.5";
|
privateIP = "10.0.0.5";
|
||||||
publicKey = "r1cwt63fcOR+FTqMTUpZdK4/MxpalkDYRHXyy7osWUk=";
|
publicKey = "r1cwt63fcOR+FTqMTUpZdK4/MxpalkDYRHXyy7osWUk=";
|
||||||
peers = [ "dns1" "vps1" "vps2" "vps3" "vps4" ];
|
peers = [ "vps1" "vps2" "vps3" "vps4" ];
|
||||||
};
|
};
|
||||||
tags = [ "apps" ];
|
tags = [ "apps" ];
|
||||||
};
|
};
|
||||||
|
|
@ -98,7 +98,7 @@
|
||||||
wg = {
|
wg = {
|
||||||
privateIP = "10.0.2.1";
|
privateIP = "10.0.2.1";
|
||||||
publicKey = "ecYfTot7RrJyNebSZTQ1wciOhvrpNSSbkR15twpSSl4=";
|
publicKey = "ecYfTot7RrJyNebSZTQ1wciOhvrpNSSbkR15twpSSl4=";
|
||||||
peers = [ "dns1" "vps3" ];
|
peers = [ "vps3" ];
|
||||||
noEndpoint = true;
|
noEndpoint = true;
|
||||||
};
|
};
|
||||||
tags = [ "home" ];
|
tags = [ "home" ];
|
||||||
|
|
@ -320,9 +320,7 @@
|
||||||
./modules/immich
|
./modules/immich
|
||||||
./modules/tailscale
|
./modules/tailscale
|
||||||
./modules/paperless
|
./modules/paperless
|
||||||
./modules/home-assistant
|
|
||||||
./modules/caddy-base
|
./modules/caddy-base
|
||||||
./modules/caddy-acme-dns
|
|
||||||
];
|
];
|
||||||
|
|
||||||
system.stateVersion = "25.05";
|
system.stateVersion = "25.05";
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
{ config, ... }: {
|
|
||||||
age.secrets.knot_dns_acme_dns_01_key_envvar.file = ../../secrets/knot_dns_acme_dns_01_key_envvar.age;
|
|
||||||
systemd.services.caddy.serviceConfig.EnvironmentFile = [ config.age.secrets.knot_dns_acme_dns_01_key_envvar.path ];
|
|
||||||
|
|
||||||
services.caddy.globalConfig = ''
|
|
||||||
acme_dns rfc2136 {
|
|
||||||
key_name "acme-dns-01"
|
|
||||||
key_alg "hmac-sha256"
|
|
||||||
key "{$CADDY_DNS_RFC2136_KEY}"
|
|
||||||
server "dns1.local:53"
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
|
@ -4,9 +4,8 @@ let
|
||||||
plugins = [
|
plugins = [
|
||||||
"github.com/noratrieb-mirrors/certmagic-s3@v1.1.3"
|
"github.com/noratrieb-mirrors/certmagic-s3@v1.1.3"
|
||||||
"github.com/sagikazarmark/caddy-fs-s3@v0.10.0"
|
"github.com/sagikazarmark/caddy-fs-s3@v0.10.0"
|
||||||
"github.com/caddy-dns/rfc2136@v1.0.0"
|
|
||||||
];
|
];
|
||||||
hash = "sha256-EGkboqppRr2xcZ+7ie+WrqdP8sHSoouX4STl4NajMYs=";
|
hash = "sha256-m5RHlrheqzoGqKQxixq+xTd2hlnCTets9zCT7aFka8g=";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
@ -32,7 +31,6 @@ in
|
||||||
format json
|
format json
|
||||||
'';
|
'';
|
||||||
globalConfig = ''
|
globalConfig = ''
|
||||||
email tls@noratrieb.dev
|
|
||||||
auto_https disable_redirects
|
auto_https disable_redirects
|
||||||
|
|
||||||
servers {
|
servers {
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@
|
||||||
systemd.services.caddy.after = [ "garage.service" ]; # the cert store depends on garage
|
systemd.services.caddy.after = [ "garage.service" ]; # the cert store depends on garage
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
globalConfig = ''
|
globalConfig = ''
|
||||||
|
email tls@noratrieb.dev
|
||||||
|
auto_https disable_redirects
|
||||||
|
|
||||||
storage s3 {
|
storage s3 {
|
||||||
host "localhost:3900"
|
host "localhost:3900"
|
||||||
bucket "caddy-store"
|
bucket "caddy-store"
|
||||||
|
|
@ -15,6 +18,10 @@
|
||||||
|
|
||||||
insecure true
|
insecure true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
servers {
|
||||||
|
metrics
|
||||||
|
}
|
||||||
'';
|
'';
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
"http://" = {
|
"http://" = {
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,6 @@
|
||||||
{ pkgs, lib, networkingConfig, config, name, ... }:
|
{ pkgs, lib, networkingConfig, ... }:
|
||||||
let metricsPort = 9433; in
|
let metricsPort = 9433; in
|
||||||
{
|
{
|
||||||
age.secrets.knot_dns_acme_dns_01_key_config = {
|
|
||||||
file =
|
|
||||||
../../secrets/knot_dns_acme_dns_01_key_config.age;
|
|
||||||
owner = "knot";
|
|
||||||
};
|
|
||||||
|
|
||||||
# get the package for the debugging tools
|
# get the package for the debugging tools
|
||||||
environment.systemPackages = with pkgs; [ knot-dns ];
|
environment.systemPackages = with pkgs; [ knot-dns ];
|
||||||
|
|
||||||
|
|
@ -27,57 +21,28 @@ let metricsPort = 9433; in
|
||||||
|
|
||||||
services.knot = {
|
services.knot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keyFiles = [ config.age.secrets.knot_dns_acme_dns_01_key_config.path ];
|
settingsFile = pkgs.writeTextFile {
|
||||||
settings = {
|
name = "knot.conf";
|
||||||
server.listen = [ "0.0.0.0@53" "::@53" ];
|
text = ''
|
||||||
acl = [
|
server:
|
||||||
{
|
listen: 0.0.0.0@53
|
||||||
id = "update_acl";
|
listen: ::@53
|
||||||
address = "10.0.0.0/16";
|
|
||||||
key = "acme-dns-01";
|
|
||||||
action = "update";
|
|
||||||
update-type = [ "TXT" ];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
zone = [
|
|
||||||
{
|
|
||||||
domain = "noratrieb.dev";
|
|
||||||
file = import ./noratrieb.dev.nix { inherit pkgs lib networkingConfig; };
|
|
||||||
}
|
|
||||||
|
|
||||||
] ++ (if name == "dns1" then [
|
zone:
|
||||||
{
|
- domain: noratrieb.dev
|
||||||
domain = "nilstrieb.dev";
|
storage: /var/lib/knot/zones/
|
||||||
file = import ./nilstrieb.dev.nix { inherit pkgs lib networkingConfig; };
|
file: ${import ./noratrieb.dev.nix { inherit pkgs lib networkingConfig; }}
|
||||||
}
|
- domain: nilstrieb.dev
|
||||||
{
|
storage: /var/lib/knot/zones/
|
||||||
domain = "noratrieb-acme-delegate.dev";
|
file: ${import ./nilstrieb.dev.nix { inherit pkgs lib networkingConfig; }}
|
||||||
storage = "/var/lib/knot/zones/";
|
log:
|
||||||
file = "noratrieb-acme-delegate.dev.zone";
|
- target: syslog
|
||||||
acl = "update_acl";
|
any: info
|
||||||
}
|
'';
|
||||||
] else [ ]);
|
|
||||||
log = [{
|
|
||||||
target = "syslog";
|
|
||||||
any = "info";
|
|
||||||
}];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.knot.preStart =
|
networking.firewall.interfaces.wg0.allowedTCPPorts = [ metricsPort ];
|
||||||
lib.mkIf (name == "dns1")
|
|
||||||
(lib.getExe
|
|
||||||
(pkgs.writeShellApplication {
|
|
||||||
name = "knot-prestart.sh";
|
|
||||||
text = ''
|
|
||||||
mkdir -p /var/lib/knot/zones/
|
|
||||||
cp ${
|
|
||||||
import ./noratrieb-acme-delegate.dev.nix { inherit pkgs lib networkingConfig; }
|
|
||||||
} /var/lib/knot/zones/noratrieb-acme-delegate.dev.zone
|
|
||||||
'';
|
|
||||||
}));
|
|
||||||
|
|
||||||
networking.firewall.interfaces.wg0.allowedTCPPorts = [ metricsPort 53 ];
|
|
||||||
services.prometheus.exporters.knot = {
|
services.prometheus.exporters.knot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
port = metricsPort;
|
port = metricsPort;
|
||||||
|
|
|
||||||
|
|
@ -29,11 +29,14 @@ let
|
||||||
];
|
];
|
||||||
|
|
||||||
NS = [
|
NS = [
|
||||||
"ns.nilstrieb.dev."
|
"ns1.nilstrieb.dev."
|
||||||
|
"ns2.nilstrieb.dev."
|
||||||
];
|
];
|
||||||
|
|
||||||
subdomains = {
|
subdomains = {
|
||||||
ns = dns1;
|
ns = dns1;
|
||||||
|
ns1 = dns1;
|
||||||
|
ns2 = dns2;
|
||||||
|
|
||||||
localhost.A = [ (a "127.0.0.1") ];
|
localhost.A = [ (a "127.0.0.1") ];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
# https://github.com/nix-community/dns.nix
|
|
||||||
{ pkgs, lib, networkingConfig, ... }:
|
|
||||||
let
|
|
||||||
data = with pkgs.nix-dns.lib.combinators;
|
|
||||||
let
|
|
||||||
hour1 = 3600;
|
|
||||||
hostsToDns = builtins.mapAttrs
|
|
||||||
(name: { publicIPv4, publicIPv6, ... }:
|
|
||||||
lib.optionalAttrs (publicIPv4 != null) { A = [ (a publicIPv4) ]; } //
|
|
||||||
lib.optionalAttrs (publicIPv6 != null) { AAAA = [ (aaaa publicIPv6) ]; })
|
|
||||||
networkingConfig;
|
|
||||||
in
|
|
||||||
with hostsToDns;
|
|
||||||
{
|
|
||||||
TTL = hour1;
|
|
||||||
SOA = {
|
|
||||||
nameServer = "ns.noratrieb-acme-delegate.dev.";
|
|
||||||
adminEmail = "void@noratrieb.dev";
|
|
||||||
serial = 2024072601;
|
|
||||||
};
|
|
||||||
|
|
||||||
CAA = [
|
|
||||||
{ issuerCritical = false; tag = "issue"; value = "letsencrypt.org"; }
|
|
||||||
{ issuerCritical = false; tag = "issue"; value = "sectigo.com"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
NS = [
|
|
||||||
"ns.noratrieb-acme-delegate.dev."
|
|
||||||
];
|
|
||||||
|
|
||||||
subdomains = {
|
|
||||||
ns = dns1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
pkgs.writeTextFile {
|
|
||||||
name = "noratrieb-acme-delegate.dev.zone";
|
|
||||||
text = pkgs.nix-dns.lib.toString "noratrieb-acme-delegate.dev" data;
|
|
||||||
}
|
|
||||||
|
|
@ -54,9 +54,6 @@ let
|
||||||
ns1 = dns1;
|
ns1 = dns1;
|
||||||
ns2 = dns2;
|
ns2 = dns2;
|
||||||
|
|
||||||
# --- ACME setup for caddy
|
|
||||||
_acme-challenge.CNAME = [ (cname "_acme-challenge.nilstrieb.dev.") ];
|
|
||||||
|
|
||||||
# --- website stuff
|
# --- website stuff
|
||||||
blog = vps1;
|
blog = vps1;
|
||||||
www = vps1;
|
www = vps1;
|
||||||
|
|
@ -97,15 +94,10 @@ let
|
||||||
infra.subdomains = hostsToDns;
|
infra.subdomains = hostsToDns;
|
||||||
|
|
||||||
# --- internal stuff
|
# --- internal stuff
|
||||||
internal.subdomains = builtins.listToAttrs (builtins.map
|
internal.subdomains = {
|
||||||
(name: {
|
immich = minipc;
|
||||||
inherit name;
|
paperless = minipc;
|
||||||
value = minipc // {
|
};
|
||||||
subdomains = {
|
|
||||||
_acme-challenge.CNAME = [ (cname "_acme-challenge.${name}.internal.noratrieb-acme-delegate.dev.") ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}) [ "immich" "paperless" "home-assistant" ]);
|
|
||||||
|
|
||||||
# --- other verification
|
# --- other verification
|
||||||
_discord.TXT = [ "dh=e0f7e99c70c4ce17f7afcce3be8bfda9cd363843" ];
|
_discord.TXT = [ "dh=e0f7e99c70c4ce17f7afcce3be8bfda9cd363843" ];
|
||||||
|
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
{ config, ... }: {
|
|
||||||
services.home-assistant = {
|
|
||||||
enable = true;
|
|
||||||
extraComponents = [
|
|
||||||
# Recommended for fast zlib compression
|
|
||||||
# https://www.home-assistant.io/integrations/isal
|
|
||||||
"isal"
|
|
||||||
"fronius"
|
|
||||||
"integration"
|
|
||||||
];
|
|
||||||
config = {
|
|
||||||
default_config = { };
|
|
||||||
http = {
|
|
||||||
use_x_forwarded_for = true;
|
|
||||||
trusted_proxies = [ "::1" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.caddy.virtualHosts."home-assistant.internal.noratrieb.dev" = {
|
|
||||||
extraConfig = ''
|
|
||||||
tls {
|
|
||||||
dns_challenge_override_domain "_acme-challenge.home-assistant.internal.noratrieb-acme-delegate.dev"
|
|
||||||
}
|
|
||||||
reverse_proxy * localhost:${builtins.toString config.services.home-assistant.config.http.server_port}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
environment = {
|
environment = {
|
||||||
IMMICH_TELEMETRY_INCLUDE = "all";
|
IMMICH_TELEMETRY_INCLUDE = "all";
|
||||||
};
|
};
|
||||||
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
|
|
@ -29,14 +30,5 @@
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
services.caddy.virtualHosts."immich.internal.noratrieb.dev" = {
|
|
||||||
extraConfig = ''
|
|
||||||
tls {
|
|
||||||
dns_challenge_override_domain "_acme-challenge.immich.internal.noratrieb-acme-delegate.dev"
|
|
||||||
}
|
|
||||||
reverse_proxy * localhost:${builtins.toString config.services.immich.port}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall.interfaces.wg0.allowedTCPPorts = [ 8081 8082 ];
|
networking.firewall.interfaces.wg0.allowedTCPPorts = [ 8081 8082 ];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ let nasDir = "/mnt/nas/HEY/_Nora/paperless"; in {
|
||||||
PAPERLESS_TIME_ZONE = "Europe/Zurich";
|
PAPERLESS_TIME_ZONE = "Europe/Zurich";
|
||||||
PAPERLESS_ADMIN_USER = "nora";
|
PAPERLESS_ADMIN_USER = "nora";
|
||||||
PAPERLESS_OCR_LANGUAGE = "deu+eng";
|
PAPERLESS_OCR_LANGUAGE = "deu+eng";
|
||||||
PAPERLESS_URL = "https://paperless.internal.noratrieb.dev";
|
|
||||||
};
|
};
|
||||||
exporter = {
|
exporter = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -21,12 +20,5 @@ let nasDir = "/mnt/nas/HEY/_Nora/paperless"; in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.caddy.virtualHosts."paperless.internal.noratrieb.dev" = {
|
networking.firewall.allowedTCPPorts = [ 8010 ];
|
||||||
extraConfig = ''
|
|
||||||
tls {
|
|
||||||
dns_challenge_override_domain "_acme-challenge.paperless.internal.noratrieb-acme-delegate.dev"
|
|
||||||
}
|
|
||||||
reverse_proxy * localhost:${builtins.toString config.services.paperless.port}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 qM6TYg UVJ4EkIz+aHGJHW/UWVOod/NSUrmLL4pNvK60KPWxzE
|
-> ssh-ed25519 qM6TYg 0u8KWoP0daJZA97H5KkNCSn839ObF87VYU4AChP2XVw
|
||||||
pQ3h/qZ8XfwCqb2QshUxuLs6F+YddX2QSp8MLQnxBR0
|
PqtYdZR3xokf7iIQ9khrz2pt7n6FipWn5y3bmzDfdEM
|
||||||
--- gox0jFVFKNb46LsZ/aOEpkxCWnx8sTe7Rvv+tdzkvq8
|
--- 3tTg1eoL9exHUTtn3Uww7xWecgmzf5EyyQEZ//Bbjic
|
||||||
Â×iB<69><'+ŒÌ½Å˨¸L‘Ydî6cÛ6B‹gé]UGôŠƒ»N€¥cª]4Y<
|
’|˜H¦ôLXñZºõ'v2"ÕóÈ<‘K#9ÿ$TÔûÇ Ó_Ì«
æ}^aoÜ4¤
|
||||||
Binary file not shown.
|
|
@ -1,6 +1,5 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 qM6TYg nMMawatvWfcdHyOTJu5UBTCZbB8MDbvdd5XaSCR9ARQ
|
-> ssh-ed25519 qM6TYg z5yLpu5zJ9m7Ukl3nEHZND8Ot2cYnADJidYjELzfr0k
|
||||||
iUI0FSTyjhx0xdfUn3ikxR3dcW8GQH1Flu2kwlkP1HA
|
qy1n6TSeWniRFXLc1Zkpvz1+pmjFaMga0BeSE1q6RSk
|
||||||
--- Fb7A45fAQY9VJN6Er23jTuEMvm5eDHJflTiiNFB4dYs
|
--- fe6vqb3f0bRvXlQG4JglZ0h/At5kUPIM+VkRh91BCtY
|
||||||
Û.Ÿ)!<21>$YQÊÏŽ$ß9i3—3b_z
|
†Ã"Ô.O†ë
J‰±º7ÄçªÝ6ÛàÜ~Ô¥SõñHÈø»ó-’4¡0’ýÍ[vA¶D‡ÐÜ=‰´²^T°ýy"@A¤‰@÷,§¼ÝáéüPÛÝ|¶q!ØŠM
|
||||||
©ÒTR˲qîhs|[®í¯óF(´m‰â¦I®Ž‰q1z÷^&÷& 'Á‹(¨g×<67>6<EFBFBD>’FÕ¾Š^.¸j]®DÉi
M5ýq<C3BD>
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 qM6TYg GE45kAK/hBIkfDcJ9T5KSf2ZlRuznfyCXNgyiROKSho
|
-> ssh-ed25519 qM6TYg jJSJ3eWbmwKqaqaH0nCAfJh6zG0wQ8NHYLch6MjVFiM
|
||||||
07IiEZYSR+BoaHsNOMfpTB7KvFI5erLqiLkxHeghNA0
|
nzMK9xuag1meleJVM6aNGK3Uj+LDiklWtAbEsEVaZrE
|
||||||
-> ssh-ed25519 91VHug I5YszjRHyHEIPSO9ATRx/hgSiBnq6CmQeCiEWyThKQY
|
-> ssh-ed25519 91VHug lgN/V9/OYL6qvoDo54bMwkRjgJx72ER4rwCyBLE7JBI
|
||||||
6cyqqeR7jyvWCC3yfxqVk9YtjhR8LmUISxoScoAl0Ac
|
KyqOc40/5iNubbk3vuF6e5qypscUNWGXSO+TvnE60Ug
|
||||||
-> ssh-ed25519 XzACZQ qqZvo9xbK4rQRDzCsyKD0NVYhk3960UW5FRfavIoI24
|
-> ssh-ed25519 XzACZQ MH28c1eBXCHnnmWeEiKbB7qnqIWb11ciYZopRwK1lzw
|
||||||
AjsMDfEzmGMCGekIAHPXkN2RRZHC4ZjACo3cNGx/iqc
|
kHr78ot/c9JS7L+uWk5XhCwZ8y41cEkCfjiv5ITHXpI
|
||||||
-> ssh-ed25519 51bcvA mvDGI9jBis304qlduEX3kDb2Y5E2fiNL70i110hdDUo
|
-> ssh-ed25519 51bcvA JbXk+iiHx+TkrosjfP28iGjQQ3lNFlo6L7ebmOmOJzs
|
||||||
OJl67yJ26ZZVLgobEbh63J9kku+whdmgawpPrlyAgFs
|
KQH6qVfm+48U6TzaomwPQJP3Xs8JCX1JDuVNu6+djUM
|
||||||
-> ssh-ed25519 vT7ExA NgHlD7tjMUF2kIeMmHyE/qsZI9VzIkg4drUCDj0GABs
|
-> ssh-ed25519 vT7ExA W/tG8Jk982TcvMP+ZVY1Jgtk/0ykGlKT471OloV68G8
|
||||||
kxwMjB9CBd5IRlh2SBHIQJSjCjARLMwOg40DSdbDO3k
|
9/ieFx+uf+zLUKfWtIYUiEyHHkwYLOhX8FtZP6oup/Y
|
||||||
--- hzXf515cyiJHjcIAg+kmCeZ4Hy2GI/b21F5O+Pq7r5A
|
--- Nr1pkXNHv0+lBg4J3QnK4f5kM3ZOWjwTCwjUYNMRABk
|
||||||
§=ä)€BTÁÖ¢ È(¯_±_ÃÛÈ2ì{¡EÇãdõÚι¥± wŒMSÛVs9TÈj_+˜q¸¦}‹™îføñ5Ä1ôÞ¿Ý^Ú>Q¹Fìg¿^Qvn²ZœÍ”dŽÎ˜ïõl=ÛåYȬ»Ù¾\!ëFú4v±ßt´÷ h·˜à!•AÿmÌ%'‘šnìר<W‚wiºghmÚ¬À/'í»á‚·¡¨Y|ACºÎ÷¨`zXŠ–£×»-µ3Œ
|
é•UsIó lNdLðÀò¥Ð^üÉÉq/P•D\Úé˜î%µÞýs4¡GCÌþϺքag¼¢÷¡|-ˆfŸ+,‹è²|vpj…]à„.ŽL“Êö=Œ¦ù<C2A6>UÊßä‹À_?§bG&Ywëí¨ò|f~4qRšõ*¢Lx¦$Ú‹³Y–PrEÿáÁÕN,˜jW¦Ž„zÉà«#KÉò@̧ó·#7¶"&™Îž=®äGx ÷N¦.„n‰O7ôc}fczT
|
||||||
|
|
@ -1,14 +1,13 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 qM6TYg NaiDsYFYQAZuJinDZ60OiPEZMsnmPOggyW/lKwLPWR0
|
-> ssh-ed25519 qM6TYg WSRKNimMa2qdIrTxZIsnybHi+gzOweCGmCx2D3DPciU
|
||||||
vLZKSA9iaFIdOjE7K9n7vtlF8UKCS+AKuSS3O8jlfbw
|
e6MO1QIL5FI0ATaR8hBUeE2ayLoyP4P7d5eO7liMBHg
|
||||||
-> ssh-ed25519 91VHug O5htAKX31xr2plcilbKy/AZ0xtyIDekjtr6GYeIXcns
|
-> ssh-ed25519 91VHug JZjoc5tcVSQjIpbVGVca4P2s80Rb7NTIEKPhlXx9wQ4
|
||||||
aK43EBfhqDCEtkB/1RephM7PK0tB0xHjS+GIDTFw2A8
|
QWqufjXwphL4Kes5Ky2tWozdusA5AJwqgzT5JWCQbvQ
|
||||||
-> ssh-ed25519 XzACZQ NRs3M2HrY9vZ94a+MccGZisn/cEyY9lg6l/ZiOaECgY
|
-> ssh-ed25519 XzACZQ ek1dpX4Lqf6hd13B0dX06tTTmNRhZswxV3W1gBLKkXk
|
||||||
aZ84NrESzU+yhsxXk+XiHEFJ+5/8B5wmFZVhPU5K8p4
|
LQMnAxrr3ZfUc3Brn39BzIdyBe8Jma8LSML+eaBuKJE
|
||||||
-> ssh-ed25519 51bcvA 74NdYVJKbbDBuhxqUUAgx4GpGbKFzL0/+KRXJKoxh0M
|
-> ssh-ed25519 51bcvA zA9GHEGOXETl9zX0yoHHB9B5On06KlEcYRba8eKGKEo
|
||||||
nXjmvzBfiq5Y7EUeUM5aoEColQa80JUCMwaLX36Scss
|
yPTcsFhDLiSLpWoZX0b7dNzZmBaLTUY8PSMVFCUzlRA
|
||||||
-> ssh-ed25519 vT7ExA buG7ZHfGrdKqobgouN2DHkOointeeSo3LbQ5TbXxMT4
|
-> ssh-ed25519 vT7ExA N7U+hiTEzwKvglQ0At36e/p0TTA7xVRb7UvuX/4Bbjs
|
||||||
v+CfO/1CDfu2d/Oy7LX1S/tPa25zaY6rWafpQB+yzdo
|
acP9zBODifOsHVmM7COfBX+tkxZIPnQCUR0TskHacQ8
|
||||||
--- 1urbgjL5IrFAQbt9FPGt+Hv5hJ99uiFaC3K3G4X5JSQ
|
--- tOLU9ascA2rI4R0oIg/0vsn2dEC1LBLFN6TFRcyrcvI
|
||||||
?
|
{ÏÄ‘<C384>‹q.忳U×ÙŽcO¹Å)¨ì|Â¥ü,+^]¥Ÿë?©PÄ»$3mº4©Ç¦|…cõø)ó.R6@r‘]ˆ½´
|
||||||
A€>•$-ťÉ>6<>ÁŘń<1F>ŇîÁǵÂÂčť Ü¬Č>/RZsŤYĹÉ®4Ă5ŁŃşR}ň<1B>a§9SŚXwŔúíËR9¨
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 XzACZQ io2AGztJepz/HVtDyyO5pplYumC+Ym95zUvjvzz3Twc
|
-> ssh-ed25519 XzACZQ jIs+NClvISjvJSkJlkkGX5ZJzFge/1Nj2Wi4en/viRw
|
||||||
mmJtTOkG/7HnUVKmpEMhRER1WhCbPMqsS09d3V76qr8
|
H1sfzg7cCWmCVg9GpFF5QNVVJjllxbmt7wBETRfM8hw
|
||||||
--- yquBIN4NRMcxCzpDb2N1MTf3d4S0riWumE+fVIkwx8U
|
--- hOo2vi9EjLwAa8PQzJGdzUZ/VIzfhM7TnPsQ+OYJzcY
|
||||||
¡Ç½Å»t^zñçΪ#t8Ûé<C39B> #UÛ&ÌB#<23>åpÜ<70>9ÉNoóŠR³ÎÿO¤´Ù¥']—ÝϤ÷¼¨ÊÅ9Äà·~EeFÒºc¯I<C2AF>ŒåËÄd5<64>,ü]” ]<5D>k¸Óõâ‰r<E280B0>
|
%¾f>8ëá¤ÅÃðÐÀuwª[ žl*´V(u”2‘ó)e&•äú’XÎ)
|
||||||
|
ƼåQÑ"ÂX|iOÕôÓ,'Û<16>;æä<C3A6>ItʽoÚZËÕ<C38B>kÕàÓE)ÐÉIÈ —0v/»ë?
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 qM6TYg kzaYC7OTJ7pOil0/e+q6+MwCBhyCu+O8pkRt0LtuzVY
|
-> ssh-ed25519 qM6TYg o9FlX/G7SotMq0hWJWsBnutiOuMu9pX6iY7w6xODUQA
|
||||||
9VM4lmMvJqaHB3WfzbzBfniO8oTHgUz1vZzK2c0TfTw
|
Q/AZ3tKlwi5rEV8mQSQF/7uBxy0RVEzajdKZuVGLzvg
|
||||||
--- PPkKzcyL6DezZfRPUvIVjn2gjT5AFtYRbXhabPIIq/E
|
--- FujHNw9RfcGuMYfpj5C9hoWs5iYaj+x7tDqJ74lqVsg
|
||||||
Üÿ"Ýu5ús£îxõ[Ün³‘(<28>£Ù+çyGc㦂ÂÄÉÖ=}´ž:Ä#ëõg@L7è¤P¢"7ê"ñ/¾¶ÜÛVÄ¥àJ¦=èõÖKÖÀðF6ª<02>ÿÜlÃß6!ä"øá¡‹ÏXî">Íý?‘¡•m)Ëv>†úhC'WˆëàKG*ïb‹õi£™=ÓßR?sKÝ1jÏòUw
|
ÉÂvP¥aŠ@¼®éQî<>³äR .›@,à@;þà{‚xtfçMsÔÇDFê#<23>u#,oä!$C5Сk«J<C2AB>¯–ÕOƒæbÈÒ®ÍÈ<i¡ wOÍeã^b6¯ f‡ö`?†òŠs¢
åóÊ•ahm†Ç`<>_k1<6B>Ä><3E>0î$kÆâ¬‘7; ííM
†ïAˆðÔÓ<C394>ê¦5¤
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 yMKb8Q ttfca/hqpWJm9dRJYWBXj9Of1rdWg2NbgfsAJFMUQTY
|
-> ssh-ed25519 yMKb8Q szKG8gw88EAiUx26fzY/pYMVb7Vb91FZC1FEQTYRZDY
|
||||||
qokH5RFlOmZMETgkqlWhcx41EtXtN2IxKpvP/WGz6mk
|
0jBl8757lsXnxWE90iZLJcO5VUXz+E2+7m/ZfNq87J0
|
||||||
--- vn3HoHqGBa02fSSeO8LGjhGb/7JK/tN/0Zh1Pjz25dY
|
--- huOResyzGVCip/Sdoyvid3TxFI01wiXNaHdZ/oGI5Zg
|
||||||
]?møÌõ±D“C:gà‹_klU×G¼¦ð¶Qù•ÈçJ+‹°g3àuê9FH"ìöÙ'g¨êáé‹d‡¡è߃
|
*c‘ÚlH¢àxôAhã5H(d‘çŸUé'ònÒ˜;M.Vx}‘À•"Öf· ø«§³9мfß~JvÍ9–
|
||||||
Binary file not shown.
|
|
@ -1,7 +0,0 @@
|
||||||
age-encryption.org/v1
|
|
||||||
-> ssh-ed25519 LZU5Eg REfGT+ZHVlXvO+6s9AgIGQCBS+AQYfAG012IfRipJhQ
|
|
||||||
V/O4nPGoAOpB/4DyBWuEV/GxoRJ7hdgVomIQwcxnSdg
|
|
||||||
-> ssh-ed25519 5bWSnQ vFGAKwm8eJ/Fqv+LxLo+1mnzg4ht1BLTA7zdJuWdlnI
|
|
||||||
Lhh3d9dWKyRcVTKeMOJb/cVzwnnqrBYNE0ijDgAxut0
|
|
||||||
--- Du4x4K3KsDMktwzmEMiFRxGXq63eP5x9CBowtGJWM+w
|
|
||||||
‹1÷{$Ôeü’9î»b”Âð`ëê+gÖüpœƒÆîÉD¥åx<1B>hK*/Zå~eAÔ¥æHö}lÖÝÐ0¾ý”ÎŒ««sì»Z…tî<74>ÁÚ¸ßÐ:!¼µ®kçjÅ!Iœ_×y«Ià[eÀûê<>é§FØéGˆ»Žî<C5BD>¨Cbûð¼xÜ’ì›Ê
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
age-encryption.org/v1
|
|
||||||
-> ssh-ed25519 vT7ExA UhRU412YTV9dkMkINM4xDQvQqwosWzIRGap+NxS7MFQ
|
|
||||||
FUlsU461cxI+2befwB1v3ygyYAeTwfpJft/EX7eCGCo
|
|
||||||
-> ssh-ed25519 yMKb8Q 2kpI3iQwInOH+TYnbvuyKyksGD9Q8UthqF1eBG5I+0g
|
|
||||||
Si5Q1xNovm8hBmSfHx6l4PsiFU/cPa52rLw8OAGWQl0
|
|
||||||
--- PO+gCtXKMloPmRAplw/pOAVPDHqh5PwzrQqrzSPN5Ng
|
|
||||||
_W÷ÿî[ƒ<>VNÅJÚÓ1×ÚÛD-ºž±:…ᔆ|Vžz¢ñlñÿŠS¢vÝ*{´žGø9V"òøºóŽ_ÊîG˜r¡öS\‘cÄ?sõ±Å&ê°¶öSöä
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,6 +1,7 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 qM6TYg 8JOs+ohdkwfpHfDO7hq07sJ8IGny1yupoCy5ucro2n4
|
-> ssh-ed25519 qM6TYg anB4Ljud6na0zsnFkNjgBcicE6kFUg0y2xTlohEUggI
|
||||||
2TWbFpYjg6k6fBgGmAhNQQ1hBd6k04wu9gcKD2iF/ZY
|
gUTv83/Mktm8CyXdKEf1eu7NpWJd/hmiGzKs91WyPCc
|
||||||
--- GO7BMFQgRi6aBsnhc64kRcslMo4ziPFbrFVgzubQ5Ww
|
--- zxoGip/R/tIH30MATCWht9P9oUxU//L/jnf6T/DwKEI
|
||||||
K°Ú&<26>1ÌÌ=c0Ù^$ÏLr‰«üÈó§0òG}‘è¡S5˜´Ç/òjµ
|
UĎÍŚ5ś¦f—śqˇ{¤ĂÎ!„ł´%ĺZóŔEŠűó;í¦
|
||||||
é ¯¢Ì6S¶1D×%¨ù³»%Q]”|‡!‚oqÜÏ<C39C>YÅíÚ§TÜÄlÂSüèvÊE¢BèdÊ Õ®H® —ãŒ(Í 9ö4RáG°MAð<SZñš¯ìK,JÛÐ{
|
xČ»é‰vËn´’k†Ź ŤľtéÄP\-ť1PŰşŔB}gMn{3ĄÄňo<C588>ąż *]łÚ¦Ä0<C384>—zŐU5Č2Ůß<C5AE>±Ęý@yär®UţgAé ŕ-4ă¬Ń)Fĺ
|
||||||
|
Ć>"ČUĄb‚
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -33,8 +33,6 @@ in
|
||||||
"does_it_build_private_key.age".publicKeys = [ vps4 ];
|
"does_it_build_private_key.age".publicKeys = [ vps4 ];
|
||||||
"immich_secrets.age".publicKeys = [ minipc ];
|
"immich_secrets.age".publicKeys = [ minipc ];
|
||||||
"paperless_env.age".publicKeys = [ minipc ];
|
"paperless_env.age".publicKeys = [ minipc ];
|
||||||
"knot_dns_acme_dns_01_key_config.age".publicKeys = [ dns1 dns2 ];
|
|
||||||
"knot_dns_acme_dns_01_key_envvar.age".publicKeys = [ vps5 minipc ];
|
|
||||||
"wg_private_dns1.age".publicKeys = [ dns1 ];
|
"wg_private_dns1.age".publicKeys = [ dns1 ];
|
||||||
"wg_private_dns2.age".publicKeys = [ dns2 ];
|
"wg_private_dns2.age".publicKeys = [ dns2 ];
|
||||||
"wg_private_vps1.age".publicKeys = [ vps1 ];
|
"wg_private_vps1.age".publicKeys = [ vps1 ];
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 LZU5Eg 8zZFvGVb6VIefxLJERJ16VqhKczWW2tcUEdSU4dIsC4
|
-> ssh-ed25519 LZU5Eg OKL541Y7HQSCBtUqWQVdIxZK9HiWeaPyAWwkcj/bsgs
|
||||||
5k+Qpn+ZloytTx4DhcgT3Il5lBlXIuNmwMvNKC1hvNY
|
PviTqNl4VLbQtErGDpXFEJSeRf59Mx0v3qcznEZ1tTo
|
||||||
--- rEDDdmvnau74yyYkVHKGx8kKi+Is/s/Ygt7PKfs4dv0
|
--- yRq8T7TGu/yBKFx2r+t8gbohrUHDkyXdvsB3n5csgpY
|
||||||
=@±_‘ýyçÿ\Åô<C385>Ô-*垣ªöF<ý¤KV^uíˆWCzZøl‰ª•}oo
©6äh"¡»EÿÜpÎòk#l••Õaʰ¡&
|
kMõQl?N'!œñ¦.LlL¹±BoDæ§Y‹<59>ï¼:¯¹Ö_¹‚Vù“cèàžðtì¬ci= ã3ärKv¹<1D>MÛfîDuúÑ
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 5bWSnQ K+8u0rnGv8MsfaRy0eeZTwOsKsRcPixxnp1X7VR9cFk
|
-> ssh-ed25519 5bWSnQ KNg5E8fLL/rDMbRGQDujv/NaSUVGY/HmxFgIVK7vox4
|
||||||
U9MsbgO1w5x91uqRxLdD94VmbuAk/nqv8e/b9B8QP8E
|
bH+Gywr/dDW3UPfQpLpWg9sVZq+LfE2aDs29chCpaDk
|
||||||
--- LzVg9wCJGFUNvtRLqwzMBTWNcJRJoy6FgRq7g0IQ7M8
|
--- mYTYZH2KoiKyxtfrxgIomqaaCyfnLVNwXkUzp+cDl7c
|
||||||
i メ<><EFBE92>!、貔8ソキニエ+Hホアク矛#:?v!飃
ニN'Aa%セ.ロY-N0S㍼<53>^モqIsワ轗lカセ}・擇."ヨ
|
ç«Q}ðBö¿.Š$bðŽqú¸ {4ù;5-;†²3ôJybleú÷ÌžÜdÞo¾³#i‡(ý{ï²Jè<C3A8>–¾ÒyÇ•<>>˨]Ô
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 yMKb8Q OK8Z0x1tfsdGQo0Acqxj99IDVwfRRO4nHmtBuwDXpEo
|
-> ssh-ed25519 yMKb8Q 8ESNEQZaTfjWl4qGZJV/GPN+tFozDmiZZtXCctRD8yE
|
||||||
FNfKD0EJ3FMQ8neRd5tNldCLp9Wk2K4/wlaEjKQPxPQ
|
w2+Pjzmotz2X0O8ehb3TTOLk9YCk8hqRqNKfNNnLQIw
|
||||||
--- y32/fNgc6fz2cAr76vUej99Xu5DMcmO8bDQepK04TRM
|
--- pfmBROvSCK/41HS44uMmwU5izVCyHrRirYjL/WBAhZQ
|
||||||
Ñ£`'mo¡HK{O¿Ö-Ÿ¥¤—Ð<>yýlœÖ,X49 Ú
'+¶t÷¤r&OKñ^â®Öçßš>
|
m í<>*QÀØv"›<>¢+˜…JQ®ñÔÄ€ý'òPø´hD·¡>G’¹ð Jû]§êÀÄ Ÿø‡×LÝ©¯ù¹¼ ÁN÷žÌ¤Û€
|
||||||
¿(°æ«GŸúð>æAç×n—
|
|
||||||
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 91VHug v7DD5jgO2eah7KvV9shAkyFRG1zce0kKKD6U/QBIzCk
|
-> ssh-ed25519 91VHug nuqwTTdoNOLWvbQAIhl9WguvArxG0jNfkFn3qM8VyjE
|
||||||
hKwCVfnc/5wKEs2ow0etWhet/8+AT318LOnrEgTVEdw
|
NvhMCreuxdWHezfH8cF4wXjO8ZbG7yQC8+sVnWFghFM
|
||||||
--- WWKcK5xf8FeUsA7atbz8r/ScBM857aXQA9mN9TdpRB8
|
--- OGewUdFWzL1PzHGBHB7ulJVi5eX6UXKLFUyfbvGErmY
|
||||||
Ђ¾Ó/ ?K!A>ü–9q¥mׂö¶ð,Ûl°Àþˆ÷^[pÄ»°!rûmMEÆýzÊ€“OÓ`„ÓãÞq>qý^cRòKí3Ã
|
Ê‹Ì.\†—ŅدiÒ›ÎóÒ~`êQ–,¿§W;m´‚<C2B4>pQóTY
TÅz?]¯£T-sÃ4)ÑZPý,6ŸH5bìÔ„7—ƒh
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 vT7ExA 1SyRWnZNW7piWgD9AhV3evIk5qmlPZw3vtaYysYPKUo
|
-> ssh-ed25519 vT7ExA 5Yp0GcAOQbgRlxiIBgDt2O5NK0zoEN3PdUQOFsKtSXc
|
||||||
vC2skZEXjrM2HgU6nhrzqZhwVtIZWrZyaVZwUp5PE5c
|
653+sJWsCeQpu6agZn85RU6GOrpMJY+TbzqRLbYvnaw
|
||||||
--- 46tHy1OYd8fqnjpLu+MVYrJyPaP6UdgubrsvhI7KO4A
|
--- SYT84Omvncdv4tQYH7Put8sXqqA3LBR4/DuVyVCVbNg
|
||||||
òÅJ¶·HJÍSívá}áù+ <17>‘¾jÐÇ/„Ô
ÄêÙMJ§’P“+~8Aéì›§üf™^Û„Õlj˜K–AbHóó5·U"@
|
øöòv_Ab¿‹ÓL"fªÉR6<52>W<EFBFBD>›¡6Áhep¸¿¬–KÉêeðg–,EÑâà¨;`Šñ"ýG
xu¿þV<C3BE>í©B^ø+kíç6¾äç
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 qM6TYg p+Rts+QHTmO+vPpCHEp2LTAdPF8UMq0BqoN3rAPzCgM
|
-> ssh-ed25519 qM6TYg qE/RX7sfudkaWg+9A1jRP84PnGCC8f7y2Ai308kN+zg
|
||||||
g5RaqS2rCOdp8/vllNb3Revq+bfDdHQkwYKsnNRN97c
|
LnySP1Ywe33ECGtFx3Un0+QcxH/IscCHao49nbuEvm8
|
||||||
--- Ws0i3nFuR6DNeO1RpdUvc3Irt4I3HuzBtPgxXsBaOvU
|
--- DYF2tyroJ1KnECqhUvzLyox9wULA/eEH5SdENW2fPVc
|
||||||
P¨ŒÚn_8ùPÿÆlJßìêÃP(<1A>lÊæ¾É*=V+QXù=ØR¸Ob±åf'l&çu‡UÑ=ºFßø«.†½î`sγ‰
·é_ø&<26>Â}šÎ¬-<Ï0€_-‚
|
)nˆCzL‚ËbŸ!šP[õò>jl(9Â<39>ÊÓèP@‡{îÂ÷½”;a#”B<E2809D>ÉÝq#0¡<30>+]óõ-‹µ–MÀ\5²‘{ÿƒ)‘laW–kù³RCE›tcÖ3¿²ë
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue