forked from mirrors_public/oddlama_nix-config
feat: add other mail domains, autogenerate argon hashes
This commit is contained in:
parent
a128dd5f40
commit
76163bad98
51 changed files with 284 additions and 51 deletions
|
@ -42,6 +42,22 @@
|
|||
|| die "Failure while aggregating basic auth hashes"
|
||||
'');
|
||||
|
||||
age.generators.argon2id = {
|
||||
pkgs,
|
||||
lib,
|
||||
decrypt,
|
||||
deps,
|
||||
...
|
||||
}: let
|
||||
dep = builtins.head deps;
|
||||
in ''
|
||||
echo " -> Deriving argon2id hash from [32m"${lib.escapeShellArg dep.host}":[m[33m"${lib.escapeShellArg dep.name}"[m" >&2
|
||||
${decrypt} ${lib.escapeShellArg dep.file} \
|
||||
| tr -d '\n' \
|
||||
| ${pkgs.libargon2}/bin/argon2 "$(${pkgs.openssl}/bin/openssl rand -base64 16)" -id \
|
||||
|| die "Failure while generating argon2id hash"
|
||||
'';
|
||||
|
||||
# Just before switching, remove the agenix directory if it exists.
|
||||
# This can happen when a secret is used in the initrd because it will
|
||||
# then be copied to the initramfs under the same path. This materializes
|
||||
|
|
|
@ -4,26 +4,47 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
mailDomains = globals.domains.mail;
|
||||
primaryDomain = mailDomains.primary;
|
||||
primaryDomain = globals.mail.primary;
|
||||
idmailDomain = "alias.${primaryDomain}";
|
||||
in {
|
||||
# Not needed, we store stuff in stalwart's directory
|
||||
#environment.persistence."/persist".directories = [
|
||||
# {
|
||||
# directory = "/var/lib/idmail";
|
||||
# user = "idmail";
|
||||
# group = "idmail";
|
||||
# mode = "0700";
|
||||
# }
|
||||
#];
|
||||
|
||||
age.secrets.idmail-admin-hash = {
|
||||
rekeyFile = ./secrets/idmail-admin-hash.age;
|
||||
mkRandomSecret = {
|
||||
generator.script = "alnum";
|
||||
mode = "000";
|
||||
};
|
||||
|
||||
mkArgon2id = secret: {
|
||||
generator.dependencies = [config.age.secrets.${secret}];
|
||||
generator.script = "argon2id";
|
||||
mode = "440";
|
||||
group = "stalwart-mail";
|
||||
};
|
||||
|
||||
shortHash = x: lib.substring 0 16 (builtins.hashString "sha256" "${globals.salt}:${x}");
|
||||
in {
|
||||
environment.persistence."/persist".directories = [
|
||||
{
|
||||
directory = "/var/lib/idmail";
|
||||
user = "idmail";
|
||||
group = "idmail";
|
||||
mode = "0700";
|
||||
}
|
||||
];
|
||||
|
||||
age.secrets = lib.mergeAttrsList (
|
||||
[
|
||||
{
|
||||
idmail-user-pw_admin = mkRandomSecret;
|
||||
idmail-user-hash_admin = mkArgon2id "idmail-user-pw_admin";
|
||||
}
|
||||
]
|
||||
++ lib.forEach (lib.attrNames globals.mail.domains) (
|
||||
domain: {
|
||||
"idmail-mailbox-pw_catch-all@${shortHash domain}" = mkRandomSecret;
|
||||
"idmail-mailbox-hash_catch-all@${shortHash domain}" = mkArgon2id "idmail-mailbox-pw_catch-all@${shortHash domain}";
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
globals.services.idmail.domain = idmailDomain;
|
||||
globals.monitoring.http.idmail = {
|
||||
url = "https://${idmailDomain}";
|
||||
|
@ -31,6 +52,11 @@ in {
|
|||
network = "internet";
|
||||
};
|
||||
|
||||
#systemd.tmpfiles.settings."50-idmail"."${dataDir}".d = {
|
||||
# user = "idmail";
|
||||
# mode = "0750";
|
||||
#};
|
||||
|
||||
services.idmail = {
|
||||
enable = true;
|
||||
user = "stalwart-mail";
|
||||
|
@ -39,12 +65,20 @@ in {
|
|||
enable = true;
|
||||
users.admin = {
|
||||
admin = true;
|
||||
password_hash = "%{file:${config.age.secrets.idmail-admin-hash.path}}%";
|
||||
password_hash = "%{file:${config.age.secrets.idmail-user-hash_admin.path}}%";
|
||||
};
|
||||
domains = lib.genAttrs mailDomains.all (_: {
|
||||
domains = lib.flip lib.mapAttrs globals.mail.domains (domain: domainCfg: {
|
||||
owner = "admin";
|
||||
public = true;
|
||||
catch_all = "catch-all@${domain}";
|
||||
inherit (domainCfg) public;
|
||||
});
|
||||
mailboxes = lib.flip lib.mapAttrs' globals.mail.domains (
|
||||
domain: _domainCfg:
|
||||
lib.nameValuePair "catch-all@${domain}" {
|
||||
password_hash = "%{file:${config.age.secrets."idmail-mailbox-hash_catch-all@${shortHash domain}".path}}%";
|
||||
owner = "admin";
|
||||
}
|
||||
);
|
||||
};
|
||||
};
|
||||
systemd.services.idmail.serviceConfig.RestartSec = "60"; # Retry every minute
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
icfg = config.repo.secrets.local.networking.interfaces.wan;
|
||||
in {
|
||||
networking.hostId = config.repo.secrets.local.networking.hostId;
|
||||
networking.domain = globals.domains.mail.primary;
|
||||
networking.hosts."127.0.0.1" = ["mail.${globals.domains.mail.primary}"];
|
||||
networking.domain = globals.mail.primary;
|
||||
networking.hosts."127.0.0.1" = ["mail.${globals.mail.primary}"];
|
||||
|
||||
globals.monitoring.ping.envoy = {
|
||||
hostv4 = lib.net.cidr.ip icfg.hostCidrv4;
|
||||
|
|
Binary file not shown.
|
@ -1,11 +0,0 @@
|
|||
age-encryption.org/v1
|
||||
-> X25519 t0FJIrbn5q7oX4+1tHvjDnWDCiD6NMkNw7Aq2MfSXw4
|
||||
W6aq9jnVOH9W+pjsrSCZG1BJXSNojhiUrTgzANFpM9w
|
||||
-> piv-p256 xqSe8Q A3qjOwYgwBFDf0beUSyw3nHhkO9ZhsJzGHBh4BTw7+tS
|
||||
ffyaSOMoOHiIXfXvCJY/apYkEc7wZgkhOGTNT9O7oJ0
|
||||
-> n[k#S-grease /{ w79 (TV$':-8 4E
|
||||
hxVz/9v74X2gEt9y0yvKMClVgId3mAl5PVisyL0r8WUn4extTHoh8qj2fSFl++54
|
||||
c0aRZZ5Y+Pdqu/7FyignIhV4WbUtverMWhWdRAhGsXqFm/8ejLqPfELQ54w
|
||||
--- rTgyJNg/7gotGoTSMt5jDxSFE0tM8CP+azNlDTRjCow
|
||||
LiÀºÝ“kþÃñ.?�N@1�l·H΢æÐ�m°@8N�^òU•u• Ô
|
||||
¦Ïƒ/íò¬ØÇ³§FIHÍÂk+*è+;#3ÒvÖx×~¯3¢Ú‚VZ߯‡ïî¿oó£Ñ’ZC|ñßÂÕ›T*ˆÛ‡“^-ªÑ .71Ñé€cÐ÷+g¬±‘†»Å�
|
|
@ -5,8 +5,7 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
mailDomains = globals.domains.mail;
|
||||
primaryDomain = mailDomains.primary;
|
||||
primaryDomain = globals.mail.primary;
|
||||
stalwartDomain = "mail.${primaryDomain}";
|
||||
dataDir = "/var/lib/stalwart-mail";
|
||||
in {
|
||||
|
@ -19,8 +18,14 @@ in {
|
|||
}
|
||||
];
|
||||
|
||||
age.secrets.stalwart-admin-pw = {
|
||||
generator.script = "alnum";
|
||||
mode = "000";
|
||||
};
|
||||
|
||||
age.secrets.stalwart-admin-hash = {
|
||||
rekeyFile = ./secrets/stalwart-admin-hash.age;
|
||||
generator.dependencies = [config.age.secrets.stalwart-admin-pw];
|
||||
generator.script = "argon2id";
|
||||
mode = "440";
|
||||
group = "stalwart-mail";
|
||||
};
|
||||
|
|
|
@ -108,6 +108,11 @@ in {
|
|||
}));
|
||||
};
|
||||
|
||||
salt = mkOption {
|
||||
type = types.str;
|
||||
description = "A salt value to use for hashes. Not secret, but also not public so you sneaky little buggers can't brute force my mail domains.";
|
||||
};
|
||||
|
||||
services = mkOption {
|
||||
type = types.attrsOf (types.submodule {
|
||||
options = {
|
||||
|
@ -214,6 +219,26 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
mail = {
|
||||
domains = mkOption {
|
||||
default = {};
|
||||
description = "All domains on which we receive mail.";
|
||||
type = types.attrsOf (types.submodule {
|
||||
options = {
|
||||
public = mkOption {
|
||||
type = types.bool;
|
||||
description = "Whether the domain should be available for use by any user";
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
primary = mkOption {
|
||||
type = types.str;
|
||||
description = "The primary mail domain.";
|
||||
};
|
||||
};
|
||||
|
||||
domains = {
|
||||
me = mkOption {
|
||||
type = types.str;
|
||||
|
@ -224,16 +249,6 @@ in {
|
|||
type = types.str;
|
||||
description = "My personal domain.";
|
||||
};
|
||||
|
||||
mail.all = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = "All domains to configure on the mail server.";
|
||||
};
|
||||
|
||||
mail.primary = mkOption {
|
||||
type = types.str;
|
||||
description = "The primary mail domain.";
|
||||
};
|
||||
};
|
||||
|
||||
macs = mkOption {
|
||||
|
|
|
@ -34,10 +34,12 @@
|
|||
hetzner
|
||||
kanidm
|
||||
macs
|
||||
mail
|
||||
monitoring
|
||||
myuser
|
||||
net
|
||||
root
|
||||
salt
|
||||
services
|
||||
;
|
||||
};
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,9 @@
|
|||
age-encryption.org/v1
|
||||
-> X25519 Fmh3QK1rauE4Yy1F9uvzGtMumQfTHPsZpB/mFHyTik4
|
||||
uQZQ9AeMHIDYKOdSNJDY8yyr+vmFvfJYLe0F7bhPDIs
|
||||
-> piv-p256 xqSe8Q Ap39opLW1MU2pC+UmNliHT/p9+Ktlh+Er0SBz481KE94
|
||||
iy1JR54/vixGF4KgHXq19vKKNlTUEtf7soKdG8jOnwE
|
||||
-> Qb{iiDl-grease e/(Ds5o{
|
||||
qixGDiCAz/9W5rqKL8H0rjTGknJ0
|
||||
--- Xb6CEtGUamg7Rlt3gImrGyHgnztP0C6ZvOVtS1pUddM
|
||||
r«§Kf»³:ÿªÜhTØ6¦^lóÉmî/¢šryÙÒ�:!k¯ª/Ó$)ákdBææ¦ÕQ�ÚŒÕdO�c’+¤ÞüsCZØw§nP´Ä%4ƈ–Ö…"²».öÎŽ]ó}î–€ØY-˜Y`9 M3„JQzþ¢o`n¼÷¸•‰ÃÚ³e«¸‰ØÄ¶©û�骙Zh}àç›óøbE.
D`]Zûˆ¤5ÁÂ2:5æL¶ŒÇêÿ"`Â?¶±®âf&RIÞð&eŽ~85ÙúóÄçéj]¥§”¥ì7ñ
ÚuõÞ®r®fvÐXHKIÆŸ ¼d¦rÛp>—À#hÞŸñáÆä{ŠGýé——EÇHðî±ÕzgƪVSù< pCå�¬…‚ê÷6ÊwM.wG»£:C<
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,9 @@
|
|||
age-encryption.org/v1
|
||||
-> X25519 hwiSO2uHMPYqzcHJe+fJNZQthIheNV+z8QzNRR19f30
|
||||
gJ2hYbFPvENqg2UtwgdCFKRlNB7pksSipl61IYD6NlI
|
||||
-> piv-p256 xqSe8Q AxLma+4Ap7aFLCZb6gt/VdbL78lMwp7zw9Y9E2yyi80A
|
||||
GvLv0n/kqC6xksv+nn1AEuwtGqd+vT5ivwo1yvMg+h4
|
||||
-> XJ0-grease
|
||||
Njn6lpWsxPRwkFg9asSo986W1Cd0Lhj4VpGbXyBkg2TgdxLPZKN580tgk3e6jwc
|
||||
--- mFCHJ/g5E3KqSoGdYMA4+6NnbaHYMoTmWnO+AeQuRwY
|
||||
oŸiÀêˆ)$æ7ô§µXÜzÙrÝÇ©õÕ?£E
!œc#u½=C-/]Ÿ{RXþÀëºàRĆ@ÍÇ.ÕMµžÊC`àÔí¹qH™
Dú@
|
|
@ -0,0 +1,10 @@
|
|||
age-encryption.org/v1
|
||||
-> X25519 Ied4Rc6fx3Wrkq4DAEjr3KTqnrR3VgzZ3uHZsbTUr3w
|
||||
1kMMehvutM7wCedlVYg7Sys2Q7aEYxRO8Ajqp4bYXIQ
|
||||
-> piv-p256 xqSe8Q Ah9bkx79XWlb/zW/gVRtTmOcsOcTCaU027jz/vxBjp74
|
||||
fi8FQ+rQILsnlxTC1/MoagAL7D4lqyR0QYaefAi9m3s
|
||||
-> KW5K]-grease [K{/LCm5 s2
|
||||
TcDYJHaundRXKi8+K50c8FY/fIv2m28daA
|
||||
--- Km5TCqqCFoiI0CmtBwTFNOjKtJ7tXKZfzTJocBIeH9Y
|
||||
rÇrWé¨
|
||||
bzàäcÉ'/kàw±Šô�dle×Ö[ašl˜7¨ÉO�§g“§AZÔù%çꣅC¢’tzjÚÄɼîhú-ädG’
|
Binary file not shown.
|
@ -0,0 +1,10 @@
|
|||
age-encryption.org/v1
|
||||
-> X25519 TbcDtTD07pJ/Hxs+1wWcvk+fB5oPYAD9wklnyAcEJ08
|
||||
Q+YwFN8oKy3I18z4/pLEnsvA/yfnYun+Bz4M1WEV+hY
|
||||
-> piv-p256 xqSe8Q AuLtBYkwIATPvcb3Se1yR7BL2qgeigjLtl5+rF+pPFVV
|
||||
CmE6/5sj+Fie3hZqIWI7vtw+FQeVIh4q1xDkIAlGaV4
|
||||
-> }PFmeQ-grease N=(Zr
|
||||
M/UiKZLS9K6xgn9mfMXC/akO7cWtbWDoG68GF7LDOT3khbvuG+Ol7+Mw8r321P7v
|
||||
fLrjgfqCug
|
||||
--- 3GiwrF82wC51ln1ZoPr8heBKPG3smcTHrpn3QwuP1SA
|
||||
Óív¶Mê¾â£ê®ŽvŒ$iò’Ô‹È÷;(ÿ¥‘L»‹‰›Ä9¹Ï¸s…-1¢²[Bq×§5÷뚥Ì8>KbálÉ(šŸ¸ç( 1þäH˜
|
|
@ -0,0 +1,10 @@
|
|||
age-encryption.org/v1
|
||||
-> X25519 lAFGflmWdJh9wzYqQF75W9A7yWnJpatVTSYL+UnShmc
|
||||
5G176dn4/b0hBFMNxged8HQTJc6/i/kiWG9U2We3Z3I
|
||||
-> piv-p256 xqSe8Q ArchEEGFmxin8qORVYBYG76Ta11kuVWQoEwA3VnF6+ev
|
||||
/KSenFW6R0mzA8rdYX10O0QlE/pJj1P9+R3oLULuev0
|
||||
-> Wm:Yith-grease bk`Ui9y M9L
|
||||
hZ1ei31xfhAZisW6DXlo5+4919PYx5QtDTgL0IbHbnWXYr+NSls7KPyE
|
||||
--- NChUIl35wGl5r/FYvovD8x+RWuVilpqsm5xqvOr/FH8
|
||||
÷aR…Q9Æhæä×où+Mãé%3šÝ•Ï�}Ë|)
|
||||
¦¢3ÉK†œÇõw'Dá5:‘÷¢�€+6%ûÍœ³måÁÂUØÕ±Ãõ�m4¶F
|
Binary file not shown.
|
@ -0,0 +1,10 @@
|
|||
age-encryption.org/v1
|
||||
-> X25519 jwLw0ZQDE0oPK1pfI+SE6pPHFmXTjBBR9bKGlwpRxg4
|
||||
9cvfMwxS/e0xRIUA4/bzFhBT/qu4yStCWs3NKnr7n5o
|
||||
-> piv-p256 xqSe8Q Aklmj780XFjRXB6hP5HICrYvnqpHxI4V3XKBoCVGV2i0
|
||||
LJ1Ugx1hTOo/0USFYGM4KGv54qyi/6V7wDv1czFCT4E
|
||||
-> gC-grease
|
||||
|
||||
--- 2J6EqVCz9ZYUkyEGMbUraHE+SknGrsanAFBeFivNmJ8
|
||||
Bgz‰yUmt Hǫ̃ðnÛ*í¤çZ¯Uw (%$Ï4Ö—gT:Cžcâ&â
|
||||
ÉD)Ýþ¬3¬ÜÂÃ%.¥ŽÀ/¸ÅСh3í=Îóè³~ß²
|
|
@ -0,0 +1,11 @@
|
|||
age-encryption.org/v1
|
||||
-> X25519 tHxG6fGgWTc55QntSpCGlHlLmoybQBm5uySO0JDFlFs
|
||||
keCZTsYnm9PpxLFbqT318W9O26MQPrLgSoIO2ZZBkts
|
||||
-> piv-p256 xqSe8Q Aho/0opoUZGV/WfRsZ1q/EWhW5yjB4EP94DrKaDGcjBg
|
||||
WLdqd0YwFDLTYGSMeMww0Mgqw3MZBqh2rdJJSo9jifs
|
||||
-> (F7y+-grease PHIp60-
|
||||
5krq5aozR08UQTSWVpeiYV6imrnMw2yeeY3lhUpAG5UPdIWVwWxvut22cAr0f4/T
|
||||
fs/OB6IYy7wBhzfd1Ba/hXZNxwHwM6ohBpU
|
||||
--- sikO0jRf7KcPPuQz6Fs4EQRozL8++s/F9pXQGw+qKRA
|
||||
&‡m™m*êÉ8ɘUOÕ
|
||||
Ùòìw7ßz68OS¨tê®®@ͨÁ_EÃÁ� Ô[ꜾÄM6Ü9BãXGà} µ?ÊüÞ#À¹¨Per
|
10
secrets/generated/envoy/idmail-user-hash_admin.age
Normal file
10
secrets/generated/envoy/idmail-user-hash_admin.age
Normal file
|
@ -0,0 +1,10 @@
|
|||
age-encryption.org/v1
|
||||
-> X25519 LvYxfujP+6Q6NC/2ebtVnnRphiM3oEUGMmDBEuHCHFw
|
||||
/ew4mPbRht3v+yhWPT5HdlQGnELJZWPhSoUIW1z0z1I
|
||||
-> piv-p256 xqSe8Q Amu9UjGXIFylvwWA7hJCNd90zy171sjawkLV330vte26
|
||||
33kHGMIyuxGnUpF5Q9Ap5/rTC5ooe95tNA0Z/hWnlYU
|
||||
-> f8_>qB")-grease
|
||||
Vh2DLuANNDIq9O7gddvYRKcgMmg1vqcsjxkUFO4Xaf15yoZQJbvybeiVbRP99umV
|
||||
VfClhMnMeeTVwmRYutgpS2+yuw
|
||||
--- cfE8lNGxFWSd/UnoNOrdrGV3U90/7e1ZZpGtrUgrhto
|
||||
5#Ć5ľĆGfĘNĎŁ0Żŕdj˘,Ąůy *sąŁĆŠľ;]Ű
ZS”5&32Ĩqq‚ÁĘkĺöIfĄ'B¤’rJť€ČJu7 {v:'H
|
BIN
secrets/generated/envoy/idmail-user-pw_admin.age
Normal file
BIN
secrets/generated/envoy/idmail-user-pw_admin.age
Normal file
Binary file not shown.
BIN
secrets/generated/envoy/stalwart-admin-hash.age
Normal file
BIN
secrets/generated/envoy/stalwart-admin-hash.age
Normal file
Binary file not shown.
10
secrets/generated/envoy/stalwart-admin-pw.age
Normal file
10
secrets/generated/envoy/stalwart-admin-pw.age
Normal file
|
@ -0,0 +1,10 @@
|
|||
age-encryption.org/v1
|
||||
-> X25519 6sJBGxU146bj34dJ29XjGY5n2XzeYG2Coy8fuQ/nmnQ
|
||||
GoaSv5YXPFTOoeiRc9vLZOEd+ON1KM4IhF5pdFMRz68
|
||||
-> piv-p256 xqSe8Q A/JZvoPMzIUCiMT9I8qFwBWCmnNgcs/z91HGIYjDu6cP
|
||||
JPyH+tRo+wwlsDV1MERLVqzwQ5kNGO/KT/d4860hwvU
|
||||
-> W-grease BB
|
||||
ZWThAsUDG5jjhan+twfPawEUbiKRdA8bhIP0R2i/0P9Xz7QgaMTPWsmPRar2sqzi
|
||||
i9/W4G9Z/X4/K62idlQBs+7cXJL2QosAHA
|
||||
--- 5B0vPvtgG66dZ524vBpMkKhG3QlkrIRi+G3V6kFM524
|
||||
ƒ±hí8¦†ÇI%¦”)fÉ;_«FóbÞAbJ=D¼öÊ%�ŸgE«¨�€üă…Ü,Ê.ϰöùœx¢ÏÔ*OÖ„ÛH²PëWÆØ_¡Þæ=
|
Binary file not shown.
|
@ -0,0 +1,9 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 rz300w OkYHAta0AExLlkMIAHvjY+DKkvhMPvQ75eI57PbQgWo
|
||||
Y9bzTu2PQOMUNPf5374N4UyTQzPSnOs516jbKFacsvw
|
||||
-> &-grease
|
||||
yM59yW9IXM7h4kU81cj2P61jg5Rr2uk4FnS9dGlSVhOmYMADIy2mgt9huk2/CICB
|
||||
WBFmMlsq
|
||||
--- mqzSNgjR/BjsBU8pa9NKgmEFaVagLsTe5SE6ZehxC3s
|
||||
™°þ—Ø|�Ë2cjGH> h}Û Öîc¹GÈÎÅÚ³‹X¡‰õƺâ*øØ
|
||||
]µÏÖXéI¶ì¾øbb-ÃÑ_ýn¨\¤ÉØ”S€t\X¼¦OÛ
|
|
@ -0,0 +1,8 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 rz300w 8lcufW1HozxdF54nm+LXLLjJDUskQRyb/8HCxOOM6lc
|
||||
eJHF9oPqt4tHAYxymcPclZzXY94FmW06SxGIxO2X43U
|
||||
-> {-grease kn6_3P Dqd!
|
||||
P3/hh9OYfA
|
||||
--- Z67nmrfzCH0yLCbCXTQlwoN+MkFNoj744bah/j6nG+o
|
||||
ö\FÌAoÓèÝÈT© ÓÞŸ_L¶LÛb‚í’&=²®vO
|
||||
æèÙsÌy,à¡î@9àé6tþɵª%–vÄ4L«KCt�ÔÉ«fP
|
|
@ -0,0 +1,8 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 rz300w CZ//VhaWYODA2wjXJOQ/+KUEVBUK/wEUHcgWwAokHDs
|
||||
3xrPcXRvnyZc0EXnwQ0BdEXlhIUKIlcnD05IMBmEGGg
|
||||
-> O>P`waLd-grease Svn~RD c&N3jclb R=! y=IbV#Ix
|
||||
FPMA/wSTJiTd1P76HlC7Br4yVj77356/MH2lZVkJpeh/KFSl3X20Ap6iL528TGXb
|
||||
CQ
|
||||
--- /VZfZw9RFXnpXzTAna7XINY8onqDPgFNwQqlT/Py2Sg
|
||||
òs‘||O”¹.˜©í0`]ù¥×5qnœk™ÑŠ0àQÃÜÒN6´¨Ï]Oáß+˜,ÏZ÷2e{ÏŠMóþµËu3{¶«Q½¡1o¬u|–&òÚðmXªþ†l@á8®fŽÁû#>&Û4œ¡Æ:MR�ÓÖ=O1È?¡Á£ŒË ¥I”˜Jº˜>‡µ–´½tÕû*õ?Ý´»ô™
Æ”sð=1]ò¦ds^få‘üÿÝ{¬iH3Ù¹¿©„ƒû—¤’N¢sy¯"x!€PäÞÓ�JÕ¸–»ä¹*tG»k6„¤�==ˆZ£âJ´Iízd×Â+؃síé àTÇ1†¾é�âû’¿,Òd$ýs�u‘|Ö�P‚ɽçúR[R×®q3™·Þѳ°/ÍïÁŠä8=4�
|
|
@ -0,0 +1,8 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 rz300w HoQnsVVkcyaZFasO5JXGHHxMBIoOSxupWY0tNreVeys
|
||||
Wjz8Ns9/tue5JxMhq2MBC2iMhgLktIv2jTeQ5vEDo3Y
|
||||
-> D-:-grease _CE!K o4V x<\ YYr>ZN9K
|
||||
BiZxrEOLoSFc2HmOmOKnqK7Vj7KxsJkKOak41Z8AX4HZjQ+eT74dVX10SuejC5ZF
|
||||
DTGKAM8eGljUOwvbU7aghGuFI78yKqn0ncsieNAwFb4
|
||||
--- Wo9h1/P17v0i5Hb9K100Wpn7dtUNTW2M2rjNAb5RXbs
|
||||
³½¤[‰“¤RÈD‘û¾+xAO3AÆ¥£â%ÂtáDÿ, ¹‚��Ê™Û{vBBSÀ•Žž<©Þf04*v!H‘+{¢¹)UBƒ×L
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,8 +0,0 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 rz300w go7St2w4V+OeN5VgddWbw0WHuMJrZFNAE6ybU9tAbmI
|
||||
sGjDHvZO56PPiIB0CvCuR1tyk2UzObeZk4IRoi+hvWA
|
||||
-> wxzPB1{z-grease {^`is<&c [D`g<
|
||||
Gurn/IfyXKKbuyKJNnlHfxwSOBKyqj3SlW3cxqcw6CwoL9Gc0UXeWlOgEHPzas9L
|
||||
v2un
|
||||
--- dmrjPRsNFeNkTPWOD1MbORG3X2AuOBp1lbFIS64kPyg
|
||||
8¢²(èüyýZ\{j~ãZɨndÖHÊò´UØÆ±þw 3?nÿ
ÅnQº÷ÌóP>P8J0¨Ã"Œ_ÉÒÜcìHt§•üßp¨Nh�=8%ËHÌE¬uÍHÅrÓ.Q+u�ìÈp4\oÎTÆóêN[ŒnXô!ŒtÚ;z�«ù
|
|
@ -0,0 +1,9 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 rz300w 9xHKoTsXryIPchQHpj0TCkrjYzJL73X9E4PatTkpcQ4
|
||||
uznzwCWVlaSkd3TsgeUE7jIqPGEYtrorBAP6Q2ep4zY
|
||||
-> x-grease KQn7
|
||||
vP56IKkmO+GVptk+iworBsPIpT7AqnMISw8yHHhCNR2Ihy77KCjBscM
|
||||
--- fEohwNhvtx1ArxQ7L5qnFjF9UE/0SaLRGnXB2rjuW1A
|
||||
»™U•î ÑSãœ&©EÒujÔ×n‘n¹íã÷Ü
|
||||
|
||||
DBï¯çeËÖE^ãV+igZ¾/7µ#õï
¨l“=Õú…BÿÐC2')÷Hq
|
|
@ -0,0 +1,8 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 rz300w N9mUWEbdNtvw4jZskXt2ZGzBwXxNGIcAIgQWSNtu9zw
|
||||
7iNU3zvlMWfa4iXY7BVqlCzRMaLlsC+0quWQwUYUozk
|
||||
-> P9[M-grease
|
||||
GpkRAuOj5FHe5xuzeZv6mh5PKUWMtyRqC1iVoitoE7REUB6rpJ8oXvBPo173s43G
|
||||
9vHQhmkeU1jEe/i8W/8iClm37FlPoA6OVQSmybGRiFuNWcsBOWi9l3kYn/bX
|
||||
--- mhVs9W8Q0piMYZ5JV55ayDpTC13cIdp+jfpD4cy1TK4
|
||||
±ÊÞ�+‘ìN3ºvßÐi† ̾º¸DMf¨¨‘!%9Iâ]éRú“ÝN%8\øšøª?ÌÀ¡Í½P–�ÿít$˜ˆ%7 úqú·Ä!ÑÙ
|
Binary file not shown.
|
@ -0,0 +1,8 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 rz300w S826+T9SqnIU4aCCCUdse0dfyoep8biPZpPcJd9XbxE
|
||||
9hs1+nSJCo0Y6K+bPGt4Dg78WFVDwssNzrTw6o3GiJI
|
||||
-> 7W\[-grease HSm n^&7 M*nP[ uDc
|
||||
M2eA0EryPobxGD9Ekug7PhY/9Lkh9afVQMGxFQlamPkYKzdq1VZCA+e3r/+cQ5Q8
|
||||
zPicDLWHBGB6ChELz61Bx6zwZrofiSa/cZcqeXTViUzfusY
|
||||
--- fSUlFOyenk+vxDafcml8aJdVHY0MAOCU8J4Mj3Tr21o
|
||||
\½ÔVœÖ<Þ01 l4®ÝÎÿ÷$ruáûßí§¥óWº¹ëÞúصCܹˆÊ¿u`Õ±/úHÃefëˆíK5V.Ë)Eº›u
|
|
@ -0,0 +1,7 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 rz300w 0J9u3JGS+t6kiwgInZSh6LrbgteuGuYDMAYiIXsjiS0
|
||||
eYhHL5ouC7oMuNQwhMXYYAK21tJ4aOgqnV6lveENneo
|
||||
-> qXi1$-grease 2 o}0~mZv# N|"yDa
|
||||
xJWfySLDpLi/yu14kUAB+3CWlb6jiweScOHJG23o
|
||||
--- FrqyOGzxhzWInvDZes975yLYXR0s6Om/tdVPQqZsKCs
|
||||
Æp:qŽ CÀÑBŠ$7Æö=ñõ…~ÂDÑ2!+t˜wþØ€'ó(þ/à‡ø@
B�ÌžÇÃüÅ^"Ѽl_À&I®;¸udú‹Éÿû]Æ
|
Binary file not shown.
|
@ -0,0 +1,10 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 rz300w Z9bxq/m67wt27YLFMGDc/mRCwpOYWoyleE1kq6ULF2w
|
||||
TC9+IRTAIoZyK4Zf9c3WO29r7Ofzey5oMXib/LmQblQ
|
||||
-> Gp"-grease hzbGw mS [pe
|
||||
LKBfjRckJwOjFNHjltM/O+16s+K/tzItw4I3+JOCPQZ1eA
|
||||
--- ygl3F9EOdj2RhG5GADVUbguGvWIPxvRTJsWHnT2hbys
|
||||
¤”·ú6Àþ¨Ùãëgà :²2{ƒü3RA*ú�Š›¡¶R0©a‹”\U@> ÌD?€‚¼d`;ÚX®äà±cGïïç—âgŸ/“{º€=æ~cx]ønïš3xºW�t”‰jñ£Çy{ÁÙŸó6[÷•öÚ‰pÒ¯»I/7X¦~ÿñ]͵Gr J§‹sÆÄd_ øSä|FÌÜÿàs˜%XU†y!
|
||||
ª•ŒæÍ�Ä<®³‡@!£jÄ’K14ÐÓO6Ât]#7ªÃD´Ÿ%Fs#cðH¦ã1~Š,N¤[Š+A'-y²ýCÑŽñΈÅHW!©˜hMÁ·éŽ cÏ45‰ªLBâÕ&"‹æL…ï
|
||||
ç¹Î-0º}£sþî`!Íûà€¯Ùff
|
||||
Dm×û?
|
|
@ -0,0 +1,8 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 rz300w EJmmMDqhjpdje5w2XhXrTEmf7bM+z7nSOWBkdaDF41w
|
||||
QTTc70EUolP/ED6dzSbmMlkGUH0tufl1nDw89Naamsg
|
||||
-> kh!x-grease V \ZB/O j*.b6m'
|
||||
elk7wq0IFo0Wz03+g4Lh
|
||||
--- P6ertGMfxGfckpYEcjd996vcGoRKAinM+k1dV/ExcOc
|
||||
趣8ィWッヘノY;
「フ_�賴ムノ_�Vク:�" 朷ワ社椚ゥ~�ァ広�舗ユxoa恷對
|
||||
YFキ�?]・+賄涜
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,8 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 rz300w SQoLq+Es6/NvmUCwNaPSMloLPpQ9GKbu6UES2VP03VU
|
||||
Dzn8KF4fDL+NnIO3iOSiC/K0w4RGxau00v0oLbpDLOE
|
||||
-> Whx!)}-grease
|
||||
CQXmmH5hUagWqNhk
|
||||
--- hUTqCDD4arRwuHf3O1BAbiUxqopLpib1gJRkxqh37RA
|
||||
>»ÃÁ+!‘ÜjÞÀdúÕøë¹HómÙž¨eÞ=³qI¤Ž£S¬×G@i>´¨ë½¥ËÆ «,
|
||||
ÔEFOýغ'žog•³Ñ”-ÍÈ1FVʸ
|
Binary file not shown.
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue