Author SHA1 Message Date
m3ta-chiron 447d02293d fix(m3-hermes): stable Matrix device + DNS pin for homeserver
Root cause chain of recurring Matrix outages (2026-08-16):

1. DNS on m3-hermes resolves exclusively via the Netbird-managed
   resolver. When the Netbird nameserver group is unreachable
   (observed 14:03-15:24), matrix.m3ta.dev fails to resolve.
2. A gateway restart during that window fails the Matrix login, and
   without MATRIX_ACCESS_TOKEN the gateway drops Matrix permanently
   from its reconnect queue ('no bot credential on queued config').
   Recovery happens only on the next restart - with working DNS.
3. The stable-token setup from 2026-08-14 was wiped because it was
   only written to the regenerated .env, not to the agenix secret.

Changes:
- Pin matrix.m3ta.dev to the m3-atlas public IP (TLS termination)
  so the Matrix connection survives Netbird DNS outages.
- Declare MATRIX_DEVICE_ID=HERMES01 in the module environment so the
  device id survives .env regeneration. The matching
  MATRIX_ACCESS_TOKEN must be added to secrets/hermes-env.age
  (separate manual step: agenix edit + re-encrypt).
2026-08-16 16:07:01 +02:00
70 changed files with 888 additions and 523 deletions
Generated
+120 -84
View File
@@ -257,11 +257,11 @@
"treefmt-nix": "treefmt-nix_3" "treefmt-nix": "treefmt-nix_3"
}, },
"locked": { "locked": {
"lastModified": 1787717826, "lastModified": 1785934673,
"narHash": "sha256-0rWCz6Wc1SqvQFJsqnUF99irDntui4jlnrToPhXKzqI=", "narHash": "sha256-U/hMY9kkcdxt497yfGuT7+ytrRmE+E15KF6Sc6VrbZo=",
"owner": "mulatta", "owner": "mulatta",
"repo": "buzz.nix", "repo": "buzz.nix",
"rev": "547c646feb2f58b7866bf64d6509a37db17cd863", "rev": "f4bb77a87f1ec10e5ad51cfe6d0c4fca481c0534",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -403,11 +403,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1782949081, "lastModified": 1772408722,
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -424,11 +424,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1787559586, "lastModified": 1785627969,
"narHash": "sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw=", "narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "9d0d87172c374f89da73c1cfe6d81ae62feac1f1", "rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -512,16 +512,16 @@
"uv2nix": "uv2nix" "uv2nix": "uv2nix"
}, },
"locked": { "locked": {
"lastModified": 1785776243, "lastModified": 1784572521,
"narHash": "sha256-S6TSGgpf37N8YgbTv70dT+LaPiiaQ4/lJV+js2hnCPk=", "narHash": "sha256-QJEiBOLAVGeYBym4EUtnDgeIyJyDQWgmat70/yujiz4=",
"owner": "NousResearch", "owner": "NousResearch",
"repo": "hermes-agent", "repo": "hermes-agent",
"rev": "3c27eb6234bf91b8ceee9e9071591b31e9b148cb", "rev": "3ef6bbd201263d354fd83ec55b3c306ded2eb72a",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NousResearch", "owner": "NousResearch",
"ref": "v2026.8.3", "ref": "v2026.7.20",
"repo": "hermes-agent", "repo": "hermes-agent",
"type": "github" "type": "github"
} }
@@ -581,11 +581,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1788146656, "lastModified": 1786031233,
"narHash": "sha256-XmJmvk9rytTb7dCotO/aqR+YysB8HOqnprlOdv+LAF4=", "narHash": "sha256-TIDlLTLI1/pB7IqgjzcKQjpODQsZE2oII4XGG9B6KjI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "82c265faf4e3161d6015db07c9b0f1ee36a9029b", "rev": "7834e82588860aaf780cec1366524456a70898d7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -668,11 +668,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1788173616, "lastModified": 1786014936,
"narHash": "sha256-x/B/7TqgY44sZtp61hyVh6qUf4u8k/jRqN6zowV/BtU=", "narHash": "sha256-ToQkMfyiH/Af/AMpkJi5zR0fVb1QO1lg9jiyzhLVyjc=",
"owner": "numtide", "owner": "numtide",
"repo": "llm-agents.nix", "repo": "llm-agents.nix",
"rev": "f55ce77d0c5a84f80b86a81e7b8231f10e17aa99", "rev": "5028d4667177f2593ceac30f9c8395afaf6a54d9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -698,11 +698,11 @@
"nur": "nur" "nur": "nur"
}, },
"locked": { "locked": {
"lastModified": 1788169498, "lastModified": 1786261845,
"narHash": "sha256-XAxkWYFpiK0zuNy6eNvomJMsC9+2WeD0HubdgpZNepE=", "narHash": "sha256-377VD83YnIhJtkLbbDDGlp/pfeuP/EqV2Y1TY8ULS64=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "fb3e39f0ce25d9cd4c82c9e8e152e49fd97a3a61", "rev": "f2cc6b59ef08efc785097571fe2c4b2b7200ef71",
"revCount": 124, "revCount": 114,
"type": "git", "type": "git",
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/m3ta-home" "url": "ssh://gitea@code.m3ta.dev/m3tam3re/m3ta-home"
}, },
@@ -725,11 +725,11 @@
"openspec": "openspec" "openspec": "openspec"
}, },
"locked": { "locked": {
"lastModified": 1786795567, "lastModified": 1786203962,
"narHash": "sha256-+fc2Zo7Nf6Td+/x5Y8SX5qxPM3hi0nH7i/L0vgosnGI=", "narHash": "sha256-gvweVFd0Za5AZN6srXAhYK10NYLSfSVG2Xnl/Z73iZU=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "b8b541c3329509b0df3b57d384ce5886d3cc0d47", "rev": "6962de7e076ab68e1ead87770982a7d2e676fc02",
"revCount": 380, "revCount": 377,
"type": "git", "type": "git",
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs" "url": "ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs"
}, },
@@ -743,18 +743,17 @@
"agents": "agents_3", "agents": "agents_3",
"basecamp": "basecamp_2", "basecamp": "basecamp_2",
"buzz": "buzz_2", "buzz": "buzz_2",
"nixpkgs": [ "nixpkgs": "nixpkgs_8",
"nixpkgs"
],
"nixpkgs-master": "nixpkgs-master_2", "nixpkgs-master": "nixpkgs-master_2",
"opencode": "opencode_2" "opencode": "opencode_2",
"openspec": "openspec_2"
}, },
"locked": { "locked": {
"lastModified": 1788169490, "lastModified": 1786203962,
"narHash": "sha256-lBGzlZvX54QIl/ccPqpimMpVch7nKsbXDgvulMY890k=", "narHash": "sha256-gvweVFd0Za5AZN6srXAhYK10NYLSfSVG2Xnl/Z73iZU=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "8f2d1beba3c9cbe1df1ca1ee3d16437be7ccf1b2", "rev": "6962de7e076ab68e1ead87770982a7d2e676fc02",
"revCount": 386, "revCount": 377,
"type": "git", "type": "git",
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs" "url": "ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs"
}, },
@@ -819,7 +818,7 @@
"nixos-generators": { "nixos-generators": {
"inputs": { "inputs": {
"nixlib": "nixlib", "nixlib": "nixlib",
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_10"
}, },
"locked": { "locked": {
"lastModified": 1769813415, "lastModified": 1769813415,
@@ -915,11 +914,11 @@
}, },
"nixpkgs-master_3": { "nixpkgs-master_3": {
"locked": { "locked": {
"lastModified": 1788162580, "lastModified": 1786029745,
"narHash": "sha256-JZd2H5J7PKjtommAesEdNahaFriJOzvzGFjQFzCHZ7U=", "narHash": "sha256-rZw0LOnTRyyfgpjz70KYSI4cIA5cHY2Mlqey19xQmIc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "45416eca6b7df8e6f4535c5c146eb1f384710ed9", "rev": "b5a1961b9c902670dc7fb9beced49f2e64ace761",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -931,27 +930,43 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1787962033, "lastModified": 1782847189,
"narHash": "sha256-u6z9VTZA4Kf3RkHQo9sQI7NI4Ei/uiU9vrMqOiwWP1Y=", "narHash": "sha256-twXPFqFsrrY5r28Zh7Homgcp2gUMBgQ6WDS98Q/3xFI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c5c4a43b0e8056328ec4529f735cabdb8f1942bb", "rev": "b6018f87da91d19d0ab4cf979885689b469cdd41",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-26.05", "ref": "nixos-25.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_10": { "nixpkgs_10": {
"locked": { "locked": {
"lastModified": 1787964612, "lastModified": 1736657626,
"narHash": "sha256-0N9nghg3nwzX6b6qc77EzjR9cu/Z+UR66FlfsCqiURs=", "narHash": "sha256-FWlPMUzp0lkQBdhKlPqtQdqmp+/C+1MBiEytaYfrCTY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2f9e2f85cb14a46410a1399aa9ea7ecf433e422e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_11": {
"locked": {
"lastModified": 1785747939,
"narHash": "sha256-D740uKsMbgsfK2oaDenJLLPIZfq7W0/g4KN/Fls8eKs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e8be7818e19ada32105a8af937a6a473b38167ca", "rev": "104240a772428cc2e20d8fd86c9ddbb886bbaff2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -961,7 +976,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_11": { "nixpkgs_12": {
"locked": { "locked": {
"lastModified": 1710272261, "lastModified": 1710272261,
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
@@ -979,11 +994,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1785318670, "lastModified": 1775036866,
"narHash": "sha256-dN6Ou5x/+23FZLEpYP3IffO+NyJFzUlGumt1uu3MMaY=", "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -995,11 +1010,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1787424095, "lastModified": 1785747939,
"narHash": "sha256-dWLO5AHhKaw6rdWCtTes8hnntT1r0/J5yhQGm0f0ZgU=", "narHash": "sha256-D740uKsMbgsfK2oaDenJLLPIZfq7W0/g4KN/Fls8eKs=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "174eb786fb68e3a13e4e535a3deea479a0c07a6a", "rev": "104240a772428cc2e20d8fd86c9ddbb886bbaff2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1075,27 +1090,27 @@
}, },
"nixpkgs_8": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1776683584, "lastModified": 1785318670,
"narHash": "sha256-NuTLMrr10Tng72hurYG8jYQ4XKK8wnpJmOGcPiis96g=", "narHash": "sha256-dN6Ou5x/+23FZLEpYP3IffO+NyJFzUlGumt1uu3MMaY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9dd5558b06dbdacbf635a3dd36dce1b1a7ee3a89", "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixpkgs-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_9": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1736657626, "lastModified": 1776683584,
"narHash": "sha256-FWlPMUzp0lkQBdhKlPqtQdqmp+/C+1MBiEytaYfrCTY=", "narHash": "sha256-NuTLMrr10Tng72hurYG8jYQ4XKK8wnpJmOGcPiis96g=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2f9e2f85cb14a46410a1399aa9ea7ecf433e422e", "rev": "9dd5558b06dbdacbf635a3dd36dce1b1a7ee3a89",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1175,11 +1190,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1788163000, "lastModified": 1786032888,
"narHash": "sha256-oMGyopHLRcU8DbjKKfjIeAxeXeDLEy7WB9FqBJ+BGNw=", "narHash": "sha256-6hYYaIo4ODwadrtYLvDKX1ehezDAUJwLuH2g5OkkWt4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "096f64de19606a581f75ce8c5f1b23c519e2b6f9", "rev": "366ac747ddcbc2f9243cf0f39ebf33c37c355cba",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1209,7 +1224,7 @@
}, },
"opencode_2": { "opencode_2": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_8" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1785386452, "lastModified": 1785386452,
@@ -1248,6 +1263,27 @@
"type": "github" "type": "github"
} }
}, },
"openspec_2": {
"inputs": {
"nixpkgs": [
"m3ta-nixpkgs",
"nixpkgs"
]
},
"locked": {
"lastModified": 1785371113,
"narHash": "sha256-r3fwnb5gMTV9UXBj7bqkKpTZIWwF4AgghULOIv2Fr4c=",
"owner": "Fission-AI",
"repo": "OpenSpec",
"rev": "2b3d368539132be6311e55db58899abbf5306b81",
"type": "github"
},
"original": {
"owner": "Fission-AI",
"repo": "OpenSpec",
"type": "github"
}
},
"pyproject-build-systems": { "pyproject-build-systems": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -1264,11 +1300,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1785115949, "lastModified": 1772555609,
"narHash": "sha256-8AM37BfyGaL2v/SZyg4PupRxJ01Y4htvM+WrTjWrPpo=", "narHash": "sha256-3BA3HnUvJSbHJAlJj6XSy0Jmu7RyP2gyB/0fL7XuEDo=",
"owner": "pyproject-nix", "owner": "pyproject-nix",
"repo": "build-system-pkgs", "repo": "build-system-pkgs",
"rev": "62c0d86027edb1c4f39a5facc09876348144f7c9", "rev": "c37f66a953535c394244888598947679af231863",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1309,11 +1345,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1784591072, "lastModified": 1772865871,
"narHash": "sha256-zP/WaDxrRu8GANZM61+V2LT/7ycEEdoyLWn7M6WzU7M=", "narHash": "sha256-/ZTSg97aouL0SlPHaokA4r3iuH9QzHVuWPACD2CUCFY=",
"owner": "pyproject-nix", "owner": "pyproject-nix",
"repo": "pyproject.nix", "repo": "pyproject.nix",
"rev": "e3b599ca2e7fcf93d4edf65d7f19bbf6491724f3", "rev": "e537db02e72d553cea470976b9733581bcf5b3ed",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1401,7 +1437,7 @@
"m3ta-nixpkgs": "m3ta-nixpkgs_2", "m3ta-nixpkgs": "m3ta-nixpkgs_2",
"nix-colors": "nix-colors_2", "nix-colors": "nix-colors_2",
"nixos-generators": "nixos-generators", "nixos-generators": "nixos-generators",
"nixpkgs": "nixpkgs_10", "nixpkgs": "nixpkgs_11",
"nixpkgs-master": "nixpkgs-master_3", "nixpkgs-master": "nixpkgs-master_3",
"nixpkgs-stable": "nixpkgs-stable", "nixpkgs-stable": "nixpkgs-stable",
"nur": "nur_2", "nur": "nur_2",
@@ -1411,7 +1447,7 @@
"rose-pine-hyprcursor": { "rose-pine-hyprcursor": {
"inputs": { "inputs": {
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"nixpkgs": "nixpkgs_11", "nixpkgs": "nixpkgs_12",
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
@@ -1460,11 +1496,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1787367552, "lastModified": 1785820796,
"narHash": "sha256-YT4Fs2k7bi+7YzuLt93EtIRgjpwHK5ZfsQEIh5dEQSk=", "narHash": "sha256-sZXy8mzUMi2cOGulhoW4HWAZB6JhXOAx1x8J4auZFWk=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "fd2ebb9cc4323d0c5a1336138dab5c3c5a5d8bd9", "rev": "b6916ba032e02122d6ed3064f40cabe937363d43",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1556,11 +1592,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1786901030, "lastModified": 1785945821,
"narHash": "sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE=", "narHash": "sha256-NLSyTCW4K4ofhNBllt3omPasm6QpralXH1DBZOc91Dw=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "27b3b12a8e6375f28ebe122f07d230ca5459bbfa", "rev": "ae7910970dddc408fe6ab1c8e4b277bb21d72dc0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1601,11 +1637,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1786901030, "lastModified": 1785360170,
"narHash": "sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE=", "narHash": "sha256-XE1lKgQ3eIO3E7zWryqcRsax+mYXod/5RHBn4YaR9YE=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "27b3b12a8e6375f28ebe122f07d230ca5459bbfa", "rev": "d1187f8bc71fb8aab02395869ec3f5c1920f75c0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1644,11 +1680,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1785277507, "lastModified": 1773039484,
"narHash": "sha256-9Tq3UDX2hD/aveW/HvkBlAmEwJTOlY5HQXJM+L5BGmE=", "narHash": "sha256-+boo33KYkJDw9KItpeEXXv8+65f7hHv/earxpcyzQ0I=",
"owner": "pyproject-nix", "owner": "pyproject-nix",
"repo": "uv2nix", "repo": "uv2nix",
"rev": "5a836d395cbf5fc22670eb98dd4aa4fc4d406977", "rev": "b68be7cfeacbed9a3fa38a2b5adc0cfb81d9bb1f",
"type": "github" "type": "github"
}, },
"original": { "original": {
+4 -4
View File
@@ -16,7 +16,7 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-26.05"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.11";
# nixpkgs-45570c2.url = "github:nixos/nixpkgs/45570c299dc2b63c8c574c4cd77f0b92f7e2766e"; # nixpkgs-45570c2.url = "github:nixos/nixpkgs/45570c299dc2b63c8c574c4cd77f0b92f7e2766e";
# nixpkgs-locked.url = "github:nixos/nixpkgs/2744d988fa116fc6d46cdfa3d1c936d0abd7d121"; # nixpkgs-locked.url = "github:nixos/nixpkgs/2744d988fa116fc6d46cdfa3d1c936d0abd7d121";
# nixpkgs-9e58ed7.url = "github:nixos/nixpkgs/9e58ed7ba759d81c98f033b7f5eba21ca68f53b0"; # nixpkgs-9e58ed7.url = "github:nixos/nixpkgs/9e58ed7ba759d81c98f033b7f5eba21ca68f53b0";
@@ -24,7 +24,6 @@
m3ta-nixpkgs = { m3ta-nixpkgs = {
url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs"; url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs";
inputs.nixpkgs.follows = "nixpkgs";
# url = "path:/home/m3tam3re/p/NIX/nixpkgs"; # url = "path:/home/m3tam3re/p/NIX/nixpkgs";
}; };
@@ -52,7 +51,7 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hermes-agent.url = "github:NousResearch/hermes-agent/v2026.8.3"; hermes-agent.url = "github:NousResearch/hermes-agent/v2026.7.20";
}; };
outputs = { outputs = {
@@ -77,7 +76,8 @@
in { in {
packages = packages =
forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
overlays = allOverlays; overlays = removeAttrs allOverlays ["mkLlmAgentsOverlay"];
lib.mkLlmAgentsOverlay = allOverlays.mkLlmAgentsOverlay;
homeManagerModules = import ./modules/home-manager; homeManagerModules = import ./modules/home-manager;
nixosConfigurations = { nixosConfigurations = {
+2 -23
View File
@@ -40,11 +40,7 @@
inputs.m3ta-nixpkgs.overlays.default inputs.m3ta-nixpkgs.overlays.default
# inputs.m3ta-nixpkgs.overlays.modifications # inputs.m3ta-nixpkgs.overlays.modifications
# llm-agent packages under the `pkgs.llm-agents.*` namespace, built (outputs.lib.mkLlmAgentsOverlay system)
# against this system's nixpkgs (needed for qmd.override cudaSupport
# with allowUnfree). Do NOT flatten to top-level attrs — see
# overlays/default.nix.
inputs.llm-agents.overlays.shared-nixpkgs
# You can also add overlays exported from other flakes: # You can also add overlays exported from other flakes:
# neovim-nightly-overlay.overlays.default # neovim-nightly-overlay.overlays.default
@@ -80,22 +76,5 @@
((lib.filterAttrs (_: lib.isType "flake")) inputs); ((lib.filterAttrs (_: lib.isType "flake")) inputs);
nixPath = ["/etc/nix/path"]; nixPath = ["/etc/nix/path"];
}; };
users.defaultUserShell = pkgs.bashInteractive; users.defaultUserShell = pkgs.nushell;
programs.bash = {
enable = true;
interactiveShellInit = ''
# Interactive bash -> nushell, unless started deliberately from
# nu/bash (parent check an exported env marker would leak into
# zellij/zed/herdr children). Non-interactive bash (ssh command
# exec, Mosh app bootstrap) stays bash.
if [[ $- == *i* ]]; then
parent=""
[[ -r /proc/$PPID/comm ]] && IFS= read -r parent < /proc/$PPID/comm
if [[ "$parent" != "nu" && "$parent" != "bash" ]]; then
exec ${pkgs.nushell}/bin/nu --login
fi
unset parent
fi
'';
};
} }
+1 -14
View File
@@ -21,22 +21,9 @@ in {
}; };
}; };
programs.virt-manager.enable = true; programs.virt-manager.enable = true;
systemd.services.virt-secret-init-encryption.enable = false;
environment = { environment = {
systemPackages = [pkgs.qemu]; systemPackages = [pkgs.qemu];
etc = {
"ovmf/OVMF_CODE.fd" = {
source = "${(pkgs.OVMF.override {
secureBoot = true;
tpmSupport = true;
}).fd}/FV/OVMF_CODE.fd";
};
"ovmf/OVMF_VARS.fd" = {
source = "${(pkgs.OVMF.override {
secureBoot = true;
tpmSupport = true;
}).fd}/FV/OVMF_VARS.fd";
};
};
}; };
}; };
} }
+2 -6
View File
@@ -210,7 +210,7 @@
in { in {
# ── NixOS user definition ── # ── NixOS user definition ──
users.users.m3tam3re = { users.users.m3tam3re = {
hashedPassword = "$y$j9T$ORX4btVZgs9Xjq2oIvzJm0$lXiPwaa0D6t.eMDIx1UBesEAMOkWXBoGwpeI7X0aS8D"; password = "12345";
isNormalUser = true; isNormalUser = true;
description = "m3tam3re"; description = "m3tam3re";
extraGroups = [ extraGroups = [
@@ -228,18 +228,14 @@ in {
]; ];
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3YEmpYbM+cpmyD10tzNRHEn526Z3LJOzYpWEKdJg8DaYyPbDn9iyVX30Nja2SrW4Wadws0Y8DW+Urs25/wVB6mKl7jgPJVkMi5hfobu3XAz8gwSdjDzRSWJrhjynuaXiTtRYED2INbvjLuxx3X8coNwMw58OuUuw5kNJp5aS2qFmHEYQErQsGT4MNqESe3jvTP27Z5pSneBj45LmGK+RcaSnJe7hG+KRtjuhjI7RdzMeDCX73SfUsal+rHeuEw/mmjYmiIItXhFTDn8ZvVwpBKv7xsJG90DkaX2vaTk0wgJdMnpVIuIRBa4EkmMWOQ3bMLGkLQeK/4FUkNcvQ/4+zcZsg4cY9Q7Fj55DD41hAUdF6SYODtn5qMPsTCnJz44glHt/oseKXMSd556NIw2HOvihbJW7Rwl4OEjGaO/dF4nUw4c9tHWmMn9dLslAVpUuZOb7ykgP0jk79ldT3Dv+2Hj0CdAWT2cJAdFX58KQ9jUPT3tBnObSF1lGMI7t77VU= m3tam3re@m3-nix" "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3YEmpYbM+cpmyD10tzNRHEn526Z3LJOzYpWEKdJg8DaYyPbDn9iyVX30Nja2SrW4Wadws0Y8DW+Urs25/wVB6mKl7jgPJVkMi5hfobu3XAz8gwSdjDzRSWJrhjynuaXiTtRYED2INbvjLuxx3X8coNwMw58OuUuw5kNJp5aS2qFmHEYQErQsGT4MNqESe3jvTP27Z5pSneBj45LmGK+RcaSnJe7hG+KRtjuhjI7RdzMeDCX73SfUsal+rHeuEw/mmjYmiIItXhFTDn8ZvVwpBKv7xsJG90DkaX2vaTk0wgJdMnpVIuIRBa4EkmMWOQ3bMLGkLQeK/4FUkNcvQ/4+zcZsg4cY9Q7Fj55DD41hAUdF6SYODtn5qMPsTCnJz44glHt/oseKXMSd556NIw2HOvihbJW7Rwl4OEjGaO/dF4nUw4c9tHWmMn9dLslAVpUuZOb7ykgP0jk79ldT3Dv+2Hj0CdAWT2cJAdFX58KQ9jUPT3tBnObSF1lGMI7t77VU= m3tam3re@m3-nix"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBZcjCKl0DRuOUOMXbM0GKY5JjvmyFpVZ/tRlTKWu/zp razr"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZbg/Z9mnflXuLahGY8WOSBMqbgeqVIkIwRkquys1Ml sascha.koenig@azintec.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZbg/Z9mnflXuLahGY8WOSBMqbgeqVIkIwRkquys1Ml sascha.koenig@azintec.com"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKCTBFMPCOpKerJBlcvH44602sGyJvgXrwYUegYf96D0 m3ta-adm"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBZcjCKl0DRuOUOMXbM0GKY5JjvmyFpVZ/tRlTKWu/zp"
]; ];
packages = [inputs.home-manager.packages.${pkgs.stdenv.hostPlatform.system}.default]; packages = [inputs.home-manager.packages.${pkgs.stdenv.hostPlatform.system}.default];
}; };
# ── Home-Manager configuration via m3ta-home ── # ── Home-Manager configuration via m3ta-home ──
home-manager.users.m3tam3re = { home-manager.users.m3tam3re = {
home.file.".bashrc".text = ''
. /etc/bashrc
'';
imports = imports =
[ [
# Load m3ta-home composition engine # Load m3ta-home composition engine
-1
View File
@@ -5,7 +5,6 @@
# here, NOT in environment.systemPackages # here, NOT in environment.systemPackages
]; ];
programs.fish.enable = true; programs.fish.enable = true;
programs.mosh.enable = true;
programs.nh = { programs.nh = {
enable = true; enable = true;
clean.enable = true; clean.enable = true;
@@ -1,12 +1,14 @@
{lib, ...}: { {lib, ...}: {
imports = [ imports = [
# ./baserow.nix ./baserow.nix
./ghost.nix ./ghost.nix
# ./honcho.nix ./honcho.nix
./kestra.nix
./littlelink.nix ./littlelink.nix
# ./matomo.nix ./matomo.nix
./netbird.nix ./netbird.nix
# ./n8n.nix # ./n8n.nix
# ./pangolin.nix
./restreamer.nix ./restreamer.nix
./slash.nix ./slash.nix
./slash-nemoti.nix ./slash-nemoti.nix
@@ -14,7 +16,7 @@
]; ];
system.activationScripts.createPodmanNetworkWeb = lib.mkAfter '' system.activationScripts.createPodmanNetworkWeb = lib.mkAfter ''
if ! /run/current-system/sw/bin/podman network exists web; then if ! /run/current-system/sw/bin/podman network exists web; then
/run/current-system/sw/bin/podman network create web --subnet=10.89.0.0/24 --gateway=10.89.0.1 /run/current-system/sw/bin/podman network create web --subnet=10.89.0.0/24 --internal
fi fi
''; '';
} }
+1 -1
View File
@@ -4,7 +4,7 @@
environmentFiles = [config.age.secrets.ghost-env.path]; environmentFiles = [config.age.secrets.ghost-env.path];
ports = ["127.0.0.1:3002:2368"]; ports = ["127.0.0.1:3002:2368"];
volumes = ["ghost_data:/var/lib/ghost/content"]; volumes = ["ghost_data:/var/lib/ghost/content"];
extraOptions = ["--add-host=mysql:10.89.0.1" "--ip=10.89.0.11" "--network=web" "--dns=8.8.8.8"]; extraOptions = ["--add-host=mysql:10.89.0.1" "--ip=10.89.0.11" "--network=web"];
}; };
# Traefik configuration specific to ghost # Traefik configuration specific to ghost
services.traefik.dynamicConfigOptions.http = { services.traefik.dynamicConfigOptions.http = {
@@ -0,0 +1,209 @@
{
config,
lib,
pkgs,
...
}: let
serviceName = "honcho";
image = "ghcr.io/plastic-labs/honcho:v3.0.6";
apiIp = "10.89.0.24";
deriverIp = "10.89.0.25";
redisIp = "10.89.0.26";
postgresHost = "10.89.0.1";
postgresPort = config.m3ta.ports.get "postgres";
honchoPort = config.m3ta.ports.get "honcho";
# m3-atlas Netbird mesh address, discovered from `netbird status -d`.
# Binding the host port here keeps self-hosted Honcho off public interfaces.
netbirdBindAddress = "100.81.142.56";
netbirdRange = "100.64.0.0/16";
dbName = "honcho";
dbUser = "honcho";
redisName = "${serviceName}-redis";
runtimeDirectory = "/run/${serviceName}";
runtimeEnvFile = "${runtimeDirectory}/env";
# Keep auth disabled for the first deployment because Honcho clients need
# generated JWTs. The JWT secret is still provisioned so enabling auth later is
# a one-line change here plus client token generation.
authUseAuth = false;
sharedEnvironment = {
CACHE_ENABLED = "true";
CACHE_URL = "redis://${redisName}:6379/0?suppress=true";
LOG_LEVEL = "INFO";
TELEMETRY_ENABLED = "false";
VECTOR_STORE_MIGRATED = "false";
VECTOR_STORE_TYPE = "pgvector";
AUTH_USE_AUTH = lib.boolToString authUseAuth;
};
sharedEnvironmentFiles = [
runtimeEnvFile
config.age.secrets."${serviceName}-selfhost-env".path
];
webNetwork = ip: [
"--add-host=postgres:${postgresHost}"
"--network=web:ip=${ip}"
];
# The shared web network is intentionally internal. API and deriver also join
# this egress-only network so LLM provider calls can leave the host without
# exposing any extra inbound ports.
networksWithEgress = ip:
(webNetwork ip)
++ [
"--network=${serviceName}-egress"
];
apiHealthCmd = ''/app/.venv/bin/python -c "import urllib.request; urllib.request.urlopen('http://localhost:8000/health', timeout=2).read()"'';
in {
system.activationScripts.createPodmanNetworkHonchoEgress = lib.mkAfter ''
if ! /run/current-system/sw/bin/podman network exists ${serviceName}-egress; then
/run/current-system/sw/bin/podman network create ${serviceName}-egress
fi
'';
virtualisation.oci-containers.containers = {
"${serviceName}-redis" = {
image = "docker.io/redis:8.2";
autoStart = true;
volumes = ["${serviceName}_redis_data:/data"];
extraOptions =
(webNetwork redisIp)
++ [
"--health-cmd=redis-cli ping"
"--health-interval=5s"
"--health-timeout=5s"
"--health-retries=5"
];
};
"${serviceName}-api" = {
inherit image;
autoStart = true;
entrypoint = "sh";
cmd = ["docker/entrypoint.sh"];
environment = sharedEnvironment;
environmentFiles = sharedEnvironmentFiles;
ports = ["${netbirdBindAddress}:${toString honchoPort}:8000"];
dependsOn = [redisName];
extraOptions =
(networksWithEgress apiIp)
++ [
"--health-cmd=${apiHealthCmd}"
"--health-interval=5s"
"--health-timeout=5s"
"--health-retries=5"
"--health-start-period=10s"
];
};
"${serviceName}-deriver" = {
inherit image;
autoStart = true;
entrypoint = "/app/.venv/bin/python";
cmd = ["-m" "src.deriver"];
environment = sharedEnvironment;
environmentFiles = sharedEnvironmentFiles;
dependsOn = ["${serviceName}-api" redisName];
extraOptions = networksWithEgress deriverIp;
};
};
systemd.services = {
"${serviceName}-postgres-bootstrap" = {
description = "Bootstrap Honcho PostgreSQL role, database, password, and pgvector";
after = ["postgresql.service" "agenix.service"];
requires = ["postgresql.service" "agenix.service"];
before = ["${serviceName}-env.service" "podman-${serviceName}-api.service" "podman-${serviceName}-deriver.service"];
requiredBy = ["podman-${serviceName}-api.service" "podman-${serviceName}-deriver.service"];
path = [
config.services.postgresql.package
pkgs.coreutils
];
serviceConfig = {
Type = "oneshot";
User = "postgres";
Group = "postgres";
};
script = ''
set -euo pipefail
test -s ${config.age.secrets."${serviceName}-selfhost-db-password".path}
psql -v ON_ERROR_STOP=1 --dbname=postgres <<'SQL'
DO $$
BEGIN
CREATE ROLE ${dbUser} LOGIN;
EXCEPTION WHEN duplicate_object THEN
NULL;
END
$$;
SELECT 'CREATE DATABASE ${dbName} OWNER ${dbUser}'
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '${dbName}')\gexec
ALTER DATABASE ${dbName} OWNER TO ${dbUser};
\set honcho_password `cat ${config.age.secrets."${serviceName}-selfhost-db-password".path}`
ALTER ROLE ${dbUser} WITH LOGIN PASSWORD :'honcho_password';
SQL
psql -v ON_ERROR_STOP=1 --dbname=${dbName} <<'SQL'
CREATE EXTENSION IF NOT EXISTS vector;
GRANT ALL PRIVILEGES ON DATABASE ${dbName} TO ${dbUser};
SQL
'';
};
"${serviceName}-env" = {
description = "Generate Honcho runtime environment file with agenix secrets";
after = ["agenix.service" "${serviceName}-postgres-bootstrap.service"];
requires = ["agenix.service" "${serviceName}-postgres-bootstrap.service"];
before = ["podman-${serviceName}-api.service" "podman-${serviceName}-deriver.service"];
requiredBy = ["podman-${serviceName}-api.service" "podman-${serviceName}-deriver.service"];
path = [
pkgs.coreutils
pkgs.python3
];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
script = ''
set -euo pipefail
install -d -m 0750 ${runtimeDirectory}
db_password_encoded=$(
python3 -c 'import sys, urllib.parse; print(urllib.parse.quote(sys.stdin.read().strip(), safe=""))' \
< ${config.age.secrets."${serviceName}-selfhost-db-password".path}
)
jwt_secret=$(tr -d '\r\n' < ${config.age.secrets."${serviceName}-selfhost-jwt-secret".path})
umask 077
cat > ${runtimeEnvFile} <<ENV
DB_CONNECTION_URI=postgresql+psycopg://${dbUser}:$db_password_encoded@postgres:${toString postgresPort}/${dbName}
AUTH_JWT_SECRET=$jwt_secret
ENV
'';
};
"podman-${serviceName}-api" = {
after = ["${serviceName}-env.service" "${serviceName}-postgres-bootstrap.service"];
requires = ["${serviceName}-env.service" "${serviceName}-postgres-bootstrap.service"];
};
"podman-${serviceName}-deriver" = {
after = ["${serviceName}-env.service" "${serviceName}-postgres-bootstrap.service"];
requires = ["${serviceName}-env.service" "${serviceName}-postgres-bootstrap.service"];
};
};
networking.firewall.extraCommands = ''
# Self-hosted Honcho API: only Netbird mesh peers may reach ${netbirdBindAddress}:${toString honchoPort}.
ip46tables -A nixos-fw -p tcp --dport ${toString honchoPort} -s ${netbirdRange} -j nixos-fw-accept
'';
}
@@ -0,0 +1,32 @@
{config, ...}: {
virtualisation.oci-containers.containers."kestra" = {
image = "docker.io/kestra/kestra:latest";
environmentFiles = [config.age.secrets.kestra-env.path];
cmd = ["server" "standalone" "--config" "/etc/config/application.yaml"];
ports = ["127.0.0.1:3018:8080"];
user = "root";
volumes = [
"/var/run/docker.sock:/var/run/docker.sock"
"${config.age.secrets.kestra-config.path}:/etc/config/application.yaml"
"kestra_data:/app/storage"
"/tmp/kestra-wd:/tmp/kestra-wd"
];
extraOptions = ["--add-host=postgres:10.89.0.1" "--ip=10.89.0.18" "--network=web"];
};
systemd.tmpfiles.rules = [
"d /tmp/kestra-wd 0750 1000 1000 - -"
];
# Traefik configuration specific to littlelink
services.traefik.dynamicConfigOptions.http = {
services.kestra.loadBalancer.servers = [{url = "http://localhost:3018/";}];
routers.kestra = {
rule = "Host(`k.m3ta.dev`)";
tls = {certResolver = "godaddy";};
service = "kestra";
entrypoints = "websecure";
};
};
}
@@ -1,6 +1,5 @@
{ {
config, config,
lib,
pkgs, pkgs,
... ...
}: let }: let
@@ -122,7 +121,7 @@ in {
virtualisation.oci-containers.containers = { virtualisation.oci-containers.containers = {
"${serviceName}-dashboard" = { "${serviceName}-dashboard" = {
image = "docker.io/netbirdio/dashboard:latest"; image = "netbirdio/dashboard:latest";
autoStart = true; autoStart = true;
environmentFiles = [config.age.secrets."${serviceName}-dashboard-env".path]; environmentFiles = [config.age.secrets."${serviceName}-dashboard-env".path];
extraOptions = [ extraOptions = [
@@ -132,7 +131,7 @@ in {
}; };
"${serviceName}-server" = { "${serviceName}-server" = {
image = "docker.io/netbirdio/netbird-server:latest"; image = "netbirdio/netbird-server:latest";
autoStart = true; autoStart = true;
ports = ["${toString stunPort}:${toString stunPort}/udp"]; ports = ["${toString stunPort}:${toString stunPort}/udp"];
environmentFiles = [config.age.secrets."${serviceName}-server-env".path]; environmentFiles = [config.age.secrets."${serviceName}-server-env".path];
@@ -148,15 +147,12 @@ in {
}; };
"${serviceName}-proxy" = { "${serviceName}-proxy" = {
image = "docker.io/netbirdio/reverse-proxy:latest"; image = "netbirdio/reverse-proxy:latest";
autoStart = true; autoStart = true;
ports = ["${toString wireguardPort}:${toString wireguardPort}/udp"]; ports = ["${toString wireguardPort}:${toString wireguardPort}/udp"];
volumes = [ volumes = [
"${serviceName}_proxy_certs:/certs" "${serviceName}_proxy_certs:/certs"
]; ];
environment = {
NB_PROXY_PRIVATE = "true";
};
environmentFiles = [config.age.secrets."${serviceName}-proxy-env".path]; environmentFiles = [config.age.secrets."${serviceName}-proxy-env".path];
cmd = [ cmd = [
"--domain=${proxyDomain}" "--domain=${proxyDomain}"
+1 -1
View File
@@ -7,7 +7,7 @@
./rustfs.nix ./rustfs.nix
./mysql.nix ./mysql.nix
./netbird.nix ./netbird.nix
# ./n8n.nix ./n8n.nix
./paperless.nix ./paperless.nix
./postgres.nix ./postgres.nix
./searx.nix ./searx.nix
@@ -5,7 +5,7 @@
}: { }: {
services.gitea-actions-runner = { services.gitea-actions-runner = {
instances.default = { instances.default = {
enable = false; enable = true;
name = "${config.networking.hostName}-runner"; name = "${config.networking.hostName}-runner";
url = "https://code.m3ta.dev"; url = "https://code.m3ta.dev";
tokenFile = config.age.secrets.gitea-runner-token.path; tokenFile = config.age.secrets.gitea-runner-token.path;
+1 -6
View File
@@ -1,9 +1,4 @@
{ {config, ...}: {
config,
inputs,
pkgs,
...
}: {
services.paperless = { services.paperless = {
enable = true; enable = true;
port = config.m3ta.ports.get "paperless"; port = config.m3ta.ports.get "paperless";
+5 -1
View File
@@ -18,13 +18,17 @@
# Localhost connections (IPv4 and IPv6) # Localhost connections (IPv4 and IPv6)
host all postgres 127.0.0.1/32 scram-sha-256 host all postgres 127.0.0.1/32 scram-sha-256
host all postgres ::1/128 scram-sha-256 host all postgres ::1/128 scram-sha-256
host outline outline 127.0.0.1/32 scram-sha-256
host outline outline ::1/128 scram-sha-256
host paperless paperless 127.0.0.1/32 scram-sha-256 host paperless paperless 127.0.0.1/32 scram-sha-256
host paperless paperless ::1/128 scram-sha-256 host paperless paperless ::1/128 scram-sha-256
# Podman network connections for Baserow # Podman network connections for Baserow
host baserow baserow 10.89.0.0/24 scram-sha-256 host baserow baserow 10.89.0.0/24 scram-sha-256
host kestra kestra 10.89.0.0/24 scram-sha-256
host netbird netbird 10.89.0.0/24 scram-sha-256 host netbird netbird 10.89.0.0/24 scram-sha-256
host authentik authentik 10.89.0.0/24 scram-sha-256 host authentik authentik 10.89.0.0/24 scram-sha-256
host honcho honcho 10.89.0.0/24 scram-sha-256
# Deny all other connections # Deny all other connections
local all all reject local all all reject
@@ -35,7 +39,7 @@
services.postgresqlBackup = { services.postgresqlBackup = {
enable = true; enable = true;
startAt = "03:10:00"; startAt = "03:10:00";
databases = ["baserow" "paperless" "authentik" "netbird"]; databases = ["baserow" "paperless" "kestra" "authentik" "netbird" "honcho"];
}; };
networking.firewall = { networking.firewall = {
extraCommands = '' extraCommands = ''
+7 -23
View File
@@ -8,8 +8,10 @@
enable = true; enable = true;
environmentFile = config.age.secrets.rustfs-env.path; environmentFile = config.age.secrets.rustfs-env.path;
settings = { settings = {
# Reuse existing MinIO data directory
RUSTFS_VOLUMES = "/var/storage/s3"; RUSTFS_VOLUMES = "/var/storage/s3";
# Keep same ports as MinIO to avoid changing Traefik and client configs
RUSTFS_ADDRESS = ":3008"; RUSTFS_ADDRESS = ":3008";
RUSTFS_CONSOLE_ENABLE = "true"; RUSTFS_CONSOLE_ENABLE = "true";
RUSTFS_CONSOLE_ADDRESS = ":3007"; RUSTFS_CONSOLE_ADDRESS = ":3007";
@@ -20,18 +22,18 @@
# Traefik configuration — same routes as before # Traefik configuration — same routes as before
services.traefik.dynamicConfigOptions.http = { services.traefik.dynamicConfigOptions.http = {
services.rustfs-console.loadBalancer.servers = [ services.minio-console.loadBalancer.servers = [
{ {
url = "http://localhost:3007/"; url = "http://localhost:3007/";
} }
]; ];
services.rustfs.loadBalancer.servers = [ services.minio.loadBalancer.servers = [
{ {
url = "http://localhost:3008/"; url = "http://localhost:3008/";
} }
]; ];
routers.rustfs = { routers.minio = {
rule = "Host(`s3.m3tam3re.com`)"; rule = "Host(`s3.m3tam3re.com`)";
tls = { tls = {
certResolver = "godaddy"; certResolver = "godaddy";
@@ -39,31 +41,13 @@
service = "minio"; service = "minio";
entrypoints = "websecure"; entrypoints = "websecure";
}; };
routers.rustfs-console = { routers.minio-console = {
rule = "Host(`s3c.m3ta.dev`)";
tls = {
certResolver = "godaddy";
};
service = "rustfs-console";
entrypoints = "websecure";
};
routers.rustfs-old = {
rule = "Host(`s3.m3ta.dev`)";
tls = {
certResolver = "godaddy";
};
service = "rustfs";
entrypoints = "websecure";
middlewares = ["subdomain-redirect"];
};
routers.rustfs-console-old = {
rule = "Host(`minio.m3tam3re.com`)"; rule = "Host(`minio.m3tam3re.com`)";
tls = { tls = {
certResolver = "godaddy"; certResolver = "godaddy";
}; };
service = "rustfs"; service = "minio-console";
entrypoints = "websecure"; entrypoints = "websecure";
middlewares = ["subdomain-redirect"];
}; };
}; };
} }
+9 -4
View File
@@ -37,10 +37,6 @@
}; };
websecure = { websecure = {
address = ":443"; address = ":443";
# NetBird (signal/management gRPC, proxy mapping stream) requires
# long-lived HTTP/2 streams — see https://docs.netbird.io/selfhosted/maintenance/configuration-files
# Default readTimeout (60s) kills the streams every minute.
transport.respondingTimeouts.readTimeout = "0s";
}; };
}; };
}; };
@@ -89,6 +85,15 @@
}; };
routers = { routers = {
# ── Hermes Dashboard — Netbird mesh only ─────────────────────
hermes-dashboard = {
rule = "Host(`dash.m3ta.dev`)";
service = "hermes-dashboard";
entrypoints = ["websecure"];
tls = {
certResolver = "godaddy";
};
};
api = { api = {
rule = "Host(`r.m3tam3re.com`)"; rule = "Host(`r.m3tam3re.com`)";
service = "api@internal"; service = "api@internal";
+12
View File
@@ -13,6 +13,18 @@
networking.hostName = "m3-hermes"; networking.hostName = "m3-hermes";
networking.hostId = "a1b2c3d4"; # TODO: Generate unique hostId networking.hostId = "a1b2c3d4"; # TODO: Generate unique hostId
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
# Matrix homeserver pin: DNS on this host resolves exclusively via the
# Netbird-managed resolver (see /etc/resolv.conf → wt0). When the Netbird
# nameserver group is unreachable, matrix.m3ta.dev fails to resolve and the
# gateway cannot log in (observed 2026-08-16). Pinning the public IP of
# m3-atlas (TLS termination for matrix.m3ta.dev) makes the Matrix connection
# independent of Netbird DNS health. Update here if the m3-atlas public IP
# ever changes.
networking.hosts = {
"152.53.85.162" = ["matrix.m3ta.dev"];
};
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
-1
View File
@@ -1,7 +1,6 @@
{pkgs, ...}: { {pkgs, ...}: {
programs.nix-ld.enable = true; programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; []; programs.nix-ld.libraries = with pkgs; [];
programs.mosh.enable = true;
programs.fish.enable = true; programs.fish.enable = true;
programs.nh = { programs.nh = {
enable = true; enable = true;
+11 -7
View File
@@ -73,17 +73,13 @@ in {
extraPackages = with pkgs; [ extraPackages = with pkgs; [
basecamp basecamp
docker docker
llm-agents.herdr
llm-agents.opencode
pi-coding-agent
bun
git git
curl curl
jq jq
tea tea
nix nix
python3Minimal python3Minimal
llm-agents.qmd qmd
uv uv
zellij zellij
]; ];
@@ -108,6 +104,15 @@ in {
GIT_COMMITTER_EMAIL = "m3ta-chiron@agentmail.to"; GIT_COMMITTER_EMAIL = "m3ta-chiron@agentmail.to";
GIT_INIT_DEFAULT_BRANCH = "master"; GIT_INIT_DEFAULT_BRANCH = "master";
# ── Matrix: stable device (Fix 0, root cause of ghost-device churn) ──
# Every gateway restart with password login creates a NEW device on the
# homeserver when MATRIX_DEVICE_ID is unset. The matching secret
# MATRIX_ACCESS_TOKEN lives in agenix (secrets/hermes-env.age). The token
# also keeps Matrix in the gateway's reconnect queue: without it, a
# failed startup (e.g. transient DNS outage) permanently drops the
# platform ("no bot credential on queued config").
MATRIX_DEVICE_ID = "HERMES01";
# ── API Server (OpenAI-compatible, for Hermes Desktop App) ───────── # ── API Server (OpenAI-compatible, for Hermes Desktop App) ─────────
# Accessible via Netbird mesh VPN — not exposed to the public internet. # Accessible via Netbird mesh VPN — not exposed to the public internet.
# Bind to 0.0.0.0 so the Netbird interface can reach it. # Bind to 0.0.0.0 so the Netbird interface can reach it.
@@ -127,7 +132,7 @@ in {
settings = { settings = {
# ── Model ────────────────────────────────────────────────────────── # ── Model ──────────────────────────────────────────────────────────
model = { model = {
default = "glm-5.3"; default = "glm-5.2";
provider = "zai"; provider = "zai";
}; };
@@ -294,7 +299,6 @@ in {
isNormalUser = false; isNormalUser = false;
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICAVF7jGP1S6vc5CxeBFD/UxiImHOgbPlKg8WYyNtOA3" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICAVF7jGP1S6vc5CxeBFD/UxiImHOgbPlKg8WYyNtOA3"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBZcjCKl0DRuOUOMXbM0GKY5JjvmyFpVZ/tRlTKWu/zp"
]; ];
}; };
} }
+1 -2
View File
@@ -46,7 +46,6 @@
enable = true; enable = true;
clean.enable = true; clean.enable = true;
clean.extraArgs = "--keep-since 4d --keep 3"; clean.extraArgs = "--keep-since 4d --keep 3";
flake = "/home/m3tam3re/p/NIX/nixos-config"; flake = "/home/m3tam3re/p/nixos/nixos-config";
}; };
programs.mosh.enable = true;
} }
+1 -1
View File
@@ -2,7 +2,7 @@
imports = [ imports = [
./containers ./containers
# ./greetd.nix # ./greetd.nix
# ./mem0.nix ./mem0.nix
./n8n.nix ./n8n.nix
./netbird.nix ./netbird.nix
./postgres.nix ./postgres.nix
+4 -1
View File
@@ -1,4 +1,4 @@
{ {lib, ...}: {
services.n8n = { services.n8n = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
@@ -7,4 +7,7 @@
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS = "false"; N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS = "false";
}; };
}; };
# Temporary fix for upstream module
systemd.services.n8n.serviceConfig.LoadCredential = lib.mkForce [];
systemd.services.n8n.environment.N8N_RUNNERS_AUTH_TOKEN_FILE = lib.mkForce null;
} }
+53 -12
View File
@@ -7,15 +7,10 @@
# This one contains whatever you want to overlay # This one contains whatever you want to overlay
# You can change versions, add patches, set compilation flags, anything really. # You can change versions, add patches, set compilation flags, anything really.
# https://nixos.wiki/wiki/Overlays # https://nixos.wiki/wiki/Overlays
modifications = final: prev: { modifications = final: _prev: {
# aardvark-dns 2.x has a DNS forwarding bug breaking external name # aardvark-dns 2.x has a DNS forwarding bug breaking external name
# resolution in podman networks — pin to last 1.x from nixpkgs-stable. # resolution in podman networks — pin to last 1.x from nixpkgs-stable.
aardvark-dns = import ./mods/aardvark-dns.nix {inherit (final) stable;}; aardvark-dns = import ./mods/aardvark-dns.nix {inherit (final) stable;};
# font-manager 0.9.4 does not compile against gtk4 4.22 (Vala errors
# in Gtk.DragIcon.get_for_drag) — apply the upstream fix from
# FontManager/font-manager#468 until our nixpkgs lock carries it.
font-manager = import ./mods/font-manager.nix {inherit prev;};
}; };
# temp-packages = final: _prev: { # temp-packages = final: _prev: {
@@ -53,10 +48,56 @@
}; };
}; };
# llm-agent packages (qmd, herdr, beads, …) come from # Factory: not a proper overlay itself — takes system to avoid the infinite
# inputs.llm-agents.overlays.shared-nixpkgs, applied directly in # recursion that occurs when accessing final/prev.system while the fixed-point
# hosts/common/default.nix. They are consumed via the `pkgs.llm-agents.*` # is still being computed. Exposed via outputs.lib, not outputs.overlays.
# namespace — no flattening to top-level attributes (that clobbered #
# nixpkgs attrs like buildNpmPackage/fetchPnpmDeps and needed a # Use llm-agents' shared-nixpkgs overlay so packages with optional GPU support
# hard-to-maintain blocklist). # (notably qmd) are built against this system's pkgs/config. Using the flake's
# pre-built `packages.${system}` set pins them to llm-agents' own nixpkgs,
# where allowUnfree is false; qmd.override { cudaSupport = true; } then fails
# on CUDA EULA packages during the m3-ares NVIDIA specialisation build.
#
# Keep the exposed top-level package names aligned with llm-agents' filtered
# flake packages, but take the package values from the shared package set.
# Filters out internal helpers (marked `passthru.hideFromDocs = true`
# upstream) that would otherwise clobber nixpkgs attributes. Most critically
# this excludes `buildNpmPackage` — llm-agents' buildNpmPackage is a guarded
# re-export whose `__functor`/`override` interaction with makeOverridable
# breaks any package (e.g. nixpkgs' webcord) that calls
# `buildNpmPackage.override { nodejs = ...; }`. See numtide/llm-agents.nix
# commit 40490259 and the wrapper at packages/buildNpmPackage/package.nix.
mkLlmAgentsOverlay = system: final: prev: let
sharedPackages = (inputs.llm-agents.overlays.shared-nixpkgs final prev).llm-agents or {};
exposedPackageNames =
builtins.filter
(name: inputs.nixpkgs.lib.hasAttrByPath [name] sharedPackages)
(builtins.attrNames (inputs.llm-agents.packages.${system} or {}));
exposedPackages =
builtins.listToAttrs
(map (name: {
inherit name;
value = sharedPackages.${name};
})
exposedPackageNames);
in
builtins.removeAttrs exposedPackages [
# Internal helpers from packages/* marked hideFromDocs upstream:
"antigravity"
"auto-claude"
"buildNpmPackage" # ← the culprit; breaks webcord's `buildNpmPackage.override { nodejs = ...; }`
"bun2nix"
"darwinOpenptyHook"
"default" # fzf launcher; collides with nothing in nixpkgs but kept out for hygiene
"dolt" # collides with nixpkgs.dolt (Dolt database); not used in this config
"flake-inputs"
"forge"
"formatelf"
"formatter" # collides conceptually with pkgs.formatter; not used here
"go-bin"
"unpinCargoMsrvHook"
"unpinGoModVersionHook"
"versionCheckHomeHook"
"wrapBuddy"
];
} }
-19
View File
@@ -1,19 +0,0 @@
# font-manager 0.9.4: fix compilation against gtk4 >= 4.22 / newer Vala.
#
# In GTK 4.22 the Gtk.DragIcon.get_for_drag binding changed in the gtk4
# vapi, turning `Gtk.DragIcon.get_for_drag(drag)` into a hard Vala error
# ("use `new' operator to create new objects") in Collections.vala and
# FontList.vala. 0.9.4 is the latest upstream release and even upstream
# master is unfixed; the fix lives in FontManager/font-manager#468 and is
# already carried as a patch by current nixpkgs master — but our locked
# nixpkgs (and the locked nixpkgs-master input) predate it.
#
# Drop this overlay (and the patch file) once our nixpkgs lock advances
# past nixpkgs@e2ad529-vendoring (pkgs/by-name/fo/font-manager carries
# fix-compilation-error-with-newer-vala-versions.patch).
{prev}:
prev.font-manager.overrideAttrs (old: {
patches =
(old.patches or [])
++ [./patches/font-manager-fix-compilation-error-with-newer-vala-versions.patch];
})
@@ -1,37 +0,0 @@
From e2ad529a88929bbc76906ac78260dacf4d8c8c6b Mon Sep 17 00:00:00 2001
From: Jan Baier <jan.baier@amagical.net>
Date: Fri, 1 May 2026 17:25:25 +0200
Subject: [PATCH] Fix compilation error with newer Vala versions
Fixes #467
---
src/font-manager/Collections.vala | 2 +-
src/font-manager/FontList.vala | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/font-manager/Collections.vala b/src/font-manager/Collections.vala
index 5e7f5cdb..43531e54 100644
--- a/src/font-manager/Collections.vala
+++ b/src/font-manager/Collections.vala
@@ -523,7 +523,7 @@ namespace FontManager {
var row = ((CollectionListRow) source.widget);
var drag_icon = new Gtk.Label(row.item_label.label);
drag_icon.add_css_class("FontManagerListRowDrag");
- var gtk_drag_icon = (Gtk.DragIcon) Gtk.DragIcon.get_for_drag(drag);
+ var gtk_drag_icon = new Gtk.DragIcon.get_for_drag(drag);
gtk_drag_icon.set_child(drag_icon);
return;
}
diff --git a/src/font-manager/FontList.vala b/src/font-manager/FontList.vala
index c8b170cb..9720dc2b 100644
--- a/src/font-manager/FontList.vala
+++ b/src/font-manager/FontList.vala
@@ -669,7 +669,7 @@ namespace FontManager {
widget_set_name(drag_count, "FontManagerListDragCount");
drag_icon.add_overlay(drag_count);
drag_count.set_label(selected_items.length.to_string());
- var gtk_drag_icon = (Gtk.DragIcon) Gtk.DragIcon.get_for_drag(drag);
+ var gtk_drag_icon = new Gtk.DragIcon.get_for_drag(drag);
gtk_drag_icon.set_child(drag_icon);
return;
}
+3 -3
View File
@@ -3,13 +3,13 @@ let
m3-ares = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG+M4CygEQ29eTmLqgyIAFCxy0rgfO23klNiARBEA+3s"; m3-ares = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG+M4CygEQ29eTmLqgyIAFCxy0rgfO23klNiARBEA+3s";
m3-kratos = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDl+LtFGsk/A7BvxwiUCyq5wjRzGtQSrBJzzLGxINF4O"; m3-kratos = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDl+LtFGsk/A7BvxwiUCyq5wjRzGtQSrBJzzLGxINF4O";
m3-helios = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIyHuLITpI+M45ZZem33wDusY2X988mBoWpD1HDeZNRJ"; m3-helios = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIyHuLITpI+M45ZZem33wDusY2X988mBoWpD1HDeZNRJ";
m3-atlas = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFmmqZ4GgDEXJgj8uYrZAr/EoLIA6LJGkTIyKGQD/60a"; m3-atlas = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBYK1wsFkUPIb/lX1BH7+VyXmmGSbdEFHnvhAOcaC7H";
m3-hermes = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOXJ5y9u88KptDaG959Aj6eq0CCBePOw1SvEh/84wb4M"; m3-hermes = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOXJ5y9u88KptDaG959Aj6eq0CCBePOw1SvEh/84wb4M";
# USERS # USERS
m3ta-adm = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKCTBFMPCOpKerJBlcvH44602sGyJvgXrwYUegYf96D0"; m3tam3re = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3YEmpYbM+cpmyD10tzNRHEn526Z3LJOzYpWEKdJg8DaYyPbDn9iyVX30Nja2SrW4Wadws0Y8DW+Urs25/wVB6mKl7jgPJVkMi5hfobu3XAz8gwSdjDzRSWJrhjynuaXiTtRYED2INbvjLuxx3X8coNwMw58OuUuw5kNJp5aS2qFmHEYQErQsGT4MNqESe3jvTP27Z5pSneBj45LmGK+RcaSnJe7hG+KRtjuhjI7RdzMeDCX73SfUsal+rHeuEw/mmjYmiIItXhFTDn8ZvVwpBKv7xsJG90DkaX2vaTk0wgJdMnpVIuIRBa4EkmMWOQ3bMLGkLQeK/4FUkNcvQ/4+zcZsg4cY9Q7Fj55DD41hAUdF6SYODtn5qMPsTCnJz44glHt/oseKXMSd556NIw2HOvihbJW7Rwl4OEjGaO/dF4nUw4c9tHWmMn9dLslAVpUuZOb7ykgP0jk79ldT3Dv+2Hj0CdAWT2cJAdFX58KQ9jUPT3tBnObSF1lGMI7t77VU=";
sascha.koenig = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZbg/Z9mnflXuLahGY8WOSBMqbgeqVIkIwRkquys1Ml"; sascha.koenig = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZbg/Z9mnflXuLahGY8WOSBMqbgeqVIkIwRkquys1Ml";
users = [m3ta-adm sascha.koenig]; users = [m3tam3re sascha.koenig];
systems = [m3-atlas m3-ares m3-helios m3-kratos m3-hermes]; systems = [m3-atlas m3-ares m3-helios m3-kratos m3-hermes];
in { in {
Binary file not shown.
Binary file not shown.
Binary file not shown.
+24 -16
View File
@@ -1,17 +1,25 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g hrA2+5CnksFy2xF6LsztnY/8tWZbxVH0WAY95BrjcW0 -> ssh-ed25519 4NLKrw KVgzdtYwUeHfTWI0kyVizuCXcavP7QRNeF+8XkQAADI
/b7cqI/Erlc4McGqU9e+DVJcU9PCWvN9wnsgxKhSygQ RLRWb0CqvON7Ue4kDnSDFjcFBqVqM8DDp+XjOuvZPIc
-> ssh-ed25519 5kwcsA J5ClFMFoVad6kACaTAZzz1y27X15k78J9fBiP1FqwR8 -> ssh-ed25519 5kwcsA t/1m3S8bTGxlspSIsJ7TYkNd2Dj2LwI3QujaViwWgkk
a5+RRCZ63Bnzaf/ogZLUJYijewDhc1swR3MeFS/uX0w Y5hrADXvBnWEJffiP4eE+x/Bk/osoEuWaHe40WwAGgA
-> ssh-ed25519 9d4YIQ 4ndCPUlYQ51RAWHtZfCAM34fSGPnKr+Zr6r6IJAMyzA -> ssh-ed25519 9d4YIQ ac6n1mFXDfGKxL0z0/meBxJ0uBp5u2qOntQCzpF1/BE
BFH+m8/ttDMNPEtpsk3XcwVFkiohvuutlLM67Z+Akg0 d4GUD0y2SMhSG7chSzy5J5fiPe8ubxgYqpoOfeQtgHw
-> ssh-ed25519 3Bcr1w YfUqH5spneMxZf9u/OpS1nLPKHRcrxrbwG+Z/HGXGV4 -> ssh-ed25519 3Bcr1w VXpq7b5+Ok+rmVbUTHckj77rlPH0T1t8F3L1ioyKx0M
EMPTt1zmhJuG0FsXnF0MsKmEJI9uPeX6qQVQnZ8Yh1A 8q8tKBRBV9dZTnKVoOsV8y6K4G2eYhqwh080WvqumJo
-> ssh-ed25519 c4NQlA BmiPoNbWU0QEJwiAs1ICdLDw/UMCDG87HpusXUqIbX8 -> ssh-ed25519 c4NQlA Cxx+PteoMdLYR7ARVlSY+hXChZhFvrr+EWPV0rz+wj4
wx5k5RXIkOux31kkMiIBpQz522mQyvIub+SVAB3b20s QXQy3n7FoVWgKQ4xi2x2y7d+l4AqKLBqGwY9Vxu1K7o
-> ssh-ed25519 ++TqaQ se2jxoqQAKfbgbMENdtiIG7IVLsIVRUaTfz759yEHi8 -> ssh-rsa DQlE7w
PMnQ1CPGN5omZVrVDOUIvwa5E97B9tPtd+Vn5LsZTVc sBkktyV7JaL1NViEHoH4CxTalKI9vIkoCZPBkyomCnNJexbfyEFLH88JUeBuJu2f
-> ssh-ed25519 CSMyhg RJ9KHxLRocI7GKO0sjav5sGh/X/2GjrlicQ08nxKVwM zxVZOVRqfUyTPnPV7KOdMEFuOXZn92PMc3Qd4/mk3jmWgQcHd1DB73sWlRtrrJfn
52l5XnpdMj3a3gzNhwdV7lUdeRJyCwZ9j0HOn6PTt/4 PJLJwFr6WXuMz/wo7Vnxa+dAH09dhSoR08LQy96LDLYCt8sPzvPeYCBI7eZ6VMyr
--- KHsdd30ddmuUizobsZX1AuS/VNT37N1UNb/lLiBaWJE +hhJp8tD1pRDbG3SE0R9VgLUX/FutFIuS/7ZkwvQtor37v9ne1e7/4kbYah+RPbe
)mホ樓フ^py投qヌyャオ2国.ュ}Уナ z庖モW謗ハィ。1ーroロ:オC#テホhュwLt・]qHv qUFVXOEq7A5QYjz7BBXbCtf7Iapg4XiIMHD5TRFhXvRfCymdHXtxKcIf9osWtRH9
nBWqjJlLIi2r32IJZbM2Nx086vwM0F/MrTzFNydKC3UzCI2W5BCNohw8tCNLLlAW
Ef1oK0HjJob3NUqAbVuj5vzpEaziksdqWX+khmAZYwZuu/9kTdaKj8DVWEXBC8Jw
OKG74kTEpe11ZsUNYcVxG9e2OvhpCStcPZdzchts5ZLyZoS6JDXQZgnk+amgUCSY
-> ssh-ed25519 CSMyhg vRXAIXq6DOzLwlRPgKYM9tT2FTGM3Sy9oiWpKA5ZZwI
8vsuNkP+NS1cyi6dU1BeiqhmjC1OQrUY4IJSns6nDyY
--- 6L/OMvw9H0PR96XMTSOh4NS5lOHl9aJumliYuxZcPCM
+.„à öçUEƒLêù£sŸ>u!Þjõ“ï\úe”²`‘,q?·v¸¤rÖÈüï±á¹£ë´]Öw³²2ʸ’Ï{„méÈá
+24 -16
View File
@@ -1,17 +1,25 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g uzM5wk7ZIKIt+Rq5oXSV0oCAF/knLdpb8UMlCSrvzx8 -> ssh-ed25519 4NLKrw zVS6W9IOVIQbpXQhL7GGWm87MPV/57rYwMU6gWrCPyI
ZVDlIKYDeIgyB51ywXtuM2h/hhc8UHWS8+u86T/LMkI lgWep7WTRJ/uZLgH44YIYdsnsJclXTWBBPpgPY9VWKw
-> ssh-ed25519 5kwcsA 1mStFttlOH3YUPrGPqgrkcuLC2ORpEs6wc7Z5KZR8DM -> ssh-ed25519 5kwcsA awrHu9+jzXjvSg3ivJqcffXvVTtNV9B/W2Ey3pbzJBg
zc8b/Uq0qvnRYP+zRpGTzqb7jjGd9y6EjtTNoa4NZ9c 8GGXhUrT405a2KGZIztnnOF9S8oNnOHGq3icpRH5YxM
-> ssh-ed25519 9d4YIQ GZqO57qrMLBBCpSPMm9kFTvswl6aT2EWzz93e/9hPnM -> ssh-ed25519 9d4YIQ BHTm2aHH23DrESeUOoPqCENbr69tOl46VDePkqa0fhE
5vZLSO0IKHSxu04e1POYFwiUSrBRFtIPmeVhFI0tbCI L6V0FRRQGDSRV0NoqdyPS+Jw3sTzPj1JkSuTx4mhd54
-> ssh-ed25519 3Bcr1w Y3w5ReBbm+7GsSDLY0w5ffBHo5DE/yV3MrjgDqiQITM -> ssh-ed25519 3Bcr1w 0Vkq0jms2bT+MtXfXeWBZ8WJxGADKBk1dSCSiVL9DWE
L+/c/9TEpjr9dz1vj5abnFz7iSG882oEsITmx0W1yqo rTPKYMFe2VnBnOpcLIFeyFZDp3RS/Hz6H4XdTWGDzRc
-> ssh-ed25519 c4NQlA Y7XtK1ZjEalXEQNJDM8e7v72nn65p3xP9gE8fE6SGks -> ssh-ed25519 c4NQlA oij0yRVXl9hn8Rn2/ebOmfxUdJwTGiZO/4CSBXppWSc
wL7ySo+AEwxlYJifZeOpojm1hO3MxufCA5tZDp6FKZg nPx4rsjWfumRRy7IctmVEl+IV41dmhsYD18Kntn3Tgs
-> ssh-ed25519 ++TqaQ Vg/yfEZb+vdjim45WjtyFD8znry1W8lJLacrVFYdKmY -> ssh-rsa DQlE7w
SKimb6BidrI/CRU0sZx8C67qnvlCjka/dquIfSi6gfU lRns1CsVo49lMc2zmEqEgtLNyK9ltQOMDhuzxITte6RwFeUTgll7jJgPY/EKK5vG
-> ssh-ed25519 CSMyhg SZGrbDwQFEO7NKD5PNCmwKWUeRgeR+v7B0eZklSCZW8 KUWyMqNZ59StUxmgJCYsu9jKMuTkd8VPlz2BM9AVHrA8iDpwbzkRUl5qvl7pC2vJ
hjcMmlhhkQUrWMAqqpe+aIxW1PXvi+YlzwlUXNrTLFA Y4h3K1vw0Hjq7kB0XxMyf21aX7sIseC5J6FfieGbU41sFDHbGALDAMuuBSMXeAqd
--- ZDXA3ywzCiiHfYoaQcvGZDXDd8V0Ebe9F4/DEwDstL8 XgmOeoXt4lTSdO3BX0csax1waDSDKfLkzSI0GWoljPRHhDU+5SnDAeraYZrC2d7v
?Akõoæ>ûÖ^å*Œ‡â¼3';9z$[;)ÇQ~èÐZ Q t_õG«Vk"¸v‹Äc¦$KY‡ø¹ÇÙ°š'ð BsTLiSSNbAKd7NnmT8w8l5HYloA9GStTmU2VGW+BOlkpVOXszbGrPrm07q/syPMy
ZYQHLEaD6P65UvqMQAFOTewYV3Dtht7z++W6CJl86sN8wMaLKVWXqym5z9uJzJqh
HNK9oCWGhPr516Y6rhGvJFn8opuwgteDYIz0tN3K/CEtRIgeuaJzDy5lYuOfU0Jt
jag2u5lnPqXJAJH62FOoCFkpWdQ0pSW8FFBgGphe0dIIE8Kdxw1N/VFA4wlHC3Ke
-> ssh-ed25519 CSMyhg gIOL+m8JjlSCAWihY3RFZ2XSjcLpf7A9OPiB4vFcFEE
G0MtxPT8xpXaTx7ktqLxui7OcKhHCjItLe4pvAV/2DY
--- eB/NDnhF6snyeQc9C8DsCZr7Om87zIcGBdddskeQvmo
Q†wÆMrˆ+&;~ëV¯y»PúCˆ¿ˆ®Ÿ¼‡Hí´à‰6çåƶ¨aÕé›Ã)9¹óCáJýíß~lÒ6+“Ä
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+24 -16
View File
@@ -1,17 +1,25 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g WsqwH1Ag1bQRiiB80jjzdZutoisT7i0gDirpqHU0Mkk -> ssh-ed25519 4NLKrw j+zQu+BGTMVhIEzhqECFLMqs8tK7P8zDF/0fumWTrSY
Eos8bh2LRVN7sHx3cfpO9wmxhP3aBEOEuc4UPuUSAlI RqemJfrS6bf6r/Owh38FNV14JNqTP2ZtN8diUqJ0NTU
-> ssh-ed25519 5kwcsA 5XEok5gRN/JV3k5JyerBCdyyi2ZPnTod8CNFez1tKms -> ssh-ed25519 5kwcsA gYZEiF1oFwd7kddSzmmvFC7umpaD0y4DL2LAOHmmkkI
Lzx4PYb6uSRxULUyDTy+t2h6YJ0plDQTwoMasc34DRE KcOSW/aExT0wJl2Fs97mVSj64CYGL8DsHbKZca3BdTo
-> ssh-ed25519 9d4YIQ zPPsxbjSn1UE7UOIg0cAaQwEBGa2WFWC5tH/ti8T/mY -> ssh-ed25519 9d4YIQ 41Mx+hpizRKeW4lu1gMcHVI4p5PqN202F/dJl0n9oTw
ZF5jJ9Sp7508+QBj9AOydlQjxxN0nkHlQpnr2Lz1abs G9zr0kdbswSifyHzqlWNyYB1TEaQjxFyxs7mz9XM7Ko
-> ssh-ed25519 3Bcr1w c6jCupUbwcWx+tb3qHvLDaBZ31+Ba0RzD7erg4tw3xM -> ssh-ed25519 3Bcr1w 3FnDPnyWym3Pv70DBEg+tewH6GNM3S/mbbYPGjb1LiY
OExbAelnOzx3D8O2LjVMZ/hDHdwCJW1m3nVFX2gz2hE TOpFTHq5XDoJoqfsDnProGUlXKwuGJQhYJf/f23bgKE
-> ssh-ed25519 c4NQlA pV9sCS5xsTtt56372D7k+G0vAWRNmgiI6zbd8wFhqhU -> ssh-ed25519 c4NQlA mpZuWGlXdmhqkta3SxcDcm/4dw017Zn9KS29WBznnzg
U/6W1jfBS3i0adR39cgRs3cOX9SXq/h7/M+JdVP9syE 3LjR5O5uezXy3toWAEAEPU4nVx69GYpbYQwQygoIwf4
-> ssh-ed25519 ++TqaQ tb36ZafJp27IVtmx21KOXIB40SCmsxOq730Ff7aYyTs -> ssh-rsa DQlE7w
ZlT2QTXzCrAVyfcJwvdQMR8uejcfodDTHzr/ua0Y+Cs iK5n9EFFD3apn6eJJiAB6dom/llqgneXeSYWNN44Xm0Qez5H3slpn4779BiQwMrI
-> ssh-ed25519 CSMyhg mnYb1m3nhfibLBK6V66UZiG01NMUZUXrVsbAme/tuFM 863iJj91E7KSgANfm3yP3JP8veuuwATk1lRjnk/Xx5AbIQjhlANK7SoNB938unKc
FT5g0MsjBS/9dTs6BJbkpbLIdcouM8rAMab6S+6d2PA Syd5sA4NX/SRy5rlJUXmc1ZtJex1sc880xj9xEOrclhd1pMD7zPE647SUDz8FcEU
--- S0n3laCPoxtEmNRe0C8KG6e0ZiI9YG7/J2ax6C8g0aY BsHckU3+dKvlLcUVbFJCVfH9LBQezVRE2ajRQRy6FygwTkgrXpD9peTCXLBOacye
A:´ŸÝOÊá „ï•þr}Ø<IëŒDï€.^âÅæ÷nC’¼È£ßÕ7÷‹Äh)àA†6ûV–TâÎ}5·î“Hé(g+=¾©ñ IOzPCJUsDB0Ats5osq/xdYb23Qz5RaiztBhNuurI6gWkAim17f8sGIdlWirjQOvH
NwTIArMT8vexBJsLtiYW0ZbLYPX+byidLRpuk2RXT1pfUMkeVWA2g1CgKCHKJbQG
ef4EMFRPhRZ5Knd6279dXalbE2FTbt1uWpxhvjOF8E5O4lM6+3ApWf5d7c0qM6on
jP4+Bn/sOIkVsiB1fjd6YqcXdyORNLqlwOsaCtvfLJ5t0EfebpP5Rigk13f2xddf
-> ssh-ed25519 CSMyhg M6Nc06Maem8c92oFktCHl/FeNdevn8fazYJjxLygxSc
h6E9GHEO8l9cKVEO6RlpzVJovuo7aOmKYXVDYHVBs1s
--- RlUihZA7p0luD4sv9EY73wq9qIFWMHNnoNmxxVMO8OI
¸å¿Ür ␍ŽcCuaÙ¹Üð¹d+Þ»Wºõ¹w%Ú߉€¤¶ŠsM³ý)”yÁËÓ¢=\jðp˜"ÂÒéðåql
+31 -17
View File
@@ -1,17 +1,31 @@
age-encryption.org/v1 -----BEGIN AGE ENCRYPTED FILE-----
-> ssh-ed25519 WyOB4g PQFhjQHeeymsGZEc13bLd66087sPelcv37ewU6cRN0Q YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IDVrd2NzQSBJV1Fa
VWfJEoNyNZPt8ihoMfA6mBITf3ptMFn09bLSLykYD9g U2gzWjJKOHlsK202dXAzVENFdmZ5ZmJsc01STnRnTWMvdjFyZ21NCjU5Q0hwbVlV
-> ssh-ed25519 5kwcsA vgY71RKCRyyxJW2m0mEA4BwWR7zzcImLeCFwejDv0zw dVlRTUZDb0JESHBaTzk5ancrTWNpLzYrMFk2QWU0Z0EvUmsKLT4gc3NoLWVkMjU1
0hTGhczM2SQvJ8dwtD1aY3GwDFFI6sz4/h5rysFBPcE MTkgM0JjcjF3IEdia0tSQTZWcEE3ODE4VjU2M0ZGay9rbXlzbFNqZWxpb1lGSExw
-> ssh-ed25519 9d4YIQ biZntIHyd3wZIhfQYHubpsdjOzmHp9+3DX4d/8DrXQo RW5keGsKWDlwRzcwT1BaTDByT0R6T3hqWTE1UWVyN2xhSzhSMlhBdW5FakNjZ1Ux
lD1wij8a/OiBevf2jhcbrtJnVFvTxMzYqI6SsXyRffE NAotPiBzc2gtZWQyNTUxOSA5ZDRZSVEgcnNJRnA2SVVkMHRXZTErc0VFbmduMDBz
-> ssh-ed25519 3Bcr1w x2p4/XpPfRSCBNjU+WnZOuxqPSvEqnY+jrUItmS/WX8 ZkQzK3dMQ2xadkMyYllhOE1rOAprWmg4T3RiaTF5QXdmRGUxVDVpVnZWdWxRYTJv
JJZ7hJ+yVy9ATFPHm13ESUHu9FvUkasKmezTu/WbmHw WGVUQUhsT0VjKzl0NnJrCi0+IHNzaC1lZDI1NTE5IDROTEtydyAvc1ZTc0hRd3R4
-> ssh-ed25519 c4NQlA eFxngNtcNNU4OyOax4aRRcGhvfbFW/E0T7w474VTCiQ V2U4dEpaeEZEZlVyc2ZHSlNiVSt3T1M3bndsVXpPNkhVCmt2WlplcVcza2YxV05T
S3zPMdTmNQTs9CLJL8w6/7ai3S7Ec4Zcqju7zCIjXig bnRIOWpMYWpxck5jSzRtQVZ2L2ZQS3J1VjVTWDgKLT4gc3NoLWVkMjU1MTkgYzRO
-> ssh-ed25519 ++TqaQ QbmnKOBSFcYlGlwa2MsBAA8UzFQJEF+SBw0lwdoGEHQ UWxBIHZCKzR5RXN2RmYvc3ZPTGJRRG1peUN6bmNuVFpSd2NPdWJwTTJYdHllRW8K
2fKEhwjtrnXMBJQr5HKJte0YN93/IhFcwYGAHe4ueLY TEo4QUI1a3ZzQ3NSQldSN1lTMlVwVGhTcTRPaHpYVHZVdHowYmZqR1czVQotPiBz
-> ssh-ed25519 CSMyhg aHMev0x3RlLEKNi/1F7+bDhYd3TARf3ELCfX+IdIA3Y c2gtcnNhIERRbEU3dwpvRzJjS0h3b2p4RXJrSDI1VEszQ1BvckNUS2laV3hGVVlx
zV5MbaCCPCptKK4FyuFUuscQmUBoXerzLx3/jg45Mi4 TXd0VkcvQ1hvWElNWnVNa1JoeHhMTDFUUWZnV0YxCjNHajRtZ0lmQzVXZmhyM1Nq
--- R6IzuH0eeM8VmEHHJPRcZzwjlFVzIwcxn5VTlao+yeg SWoyVTFFdmowNTdZV0J0WHE5cXdZb2U1OVJOb1hYb1lnSjdqN09Bd2IvOUFlckMK
”µP”ï]9Ó¡êj^i`é-w˜È0H'Fs«££ßCŒO31·@ÉýÓïwŸ!ð …>b¹J=µó×+ŽÅÉWXv\ #8</éo> ·Zàê3ya ´ˆ_…Wç d3hBc3pUK1J2Y3VnTjNSR0Q0cVJUVlluNllBazJ2L1dmOXVvZXI0WjVYbjI1RXhr
Rm1EMzkxcStrYWRJTFNJKwo3YjZ6MEZ3RmtLZytiWGdBWWZEYU9EQWxEZWtzV3dD
dGhJUUd0ajcvUFlxVGJqTVhlWmhSeHpkMHQyWWs5ZS9DClNEV0gzcWM2YlJTQ1lM
bE4zTFJKSFU1VjAybFJvY1FQR2tNSFo2NFVDczBTUW9UWjY4aDVNUzlYaVlkdzJm
dUsKckVaVld4YXpsdGYwWHVrWEtTbDJBU2cwcXlJSGY4ZEhlT2o4QlRBVGxWRHNL
OXlMTGp5b1ZWbnJYV2pzaFFIcApQVmJzVi9kWnRpeWcyaS9weVN3SncxQjhlanBV
dW5FU0VtL2lpS0NSTWtoOVI4akxXOUlhWW5xMkp2SUszSU9QCk1rZVdoNkI5TGRB
L2twWWpPYVlSWUxrRElRcjhHMFczM29lcWlWWlJhbk0vcGFEQmw3UGdXWXJBNXJV
VURYcFQKCi0+IHNzaC1lZDI1NTE5IENTTXloZyBpOEE3YUFzcytOYndXWWNreThp
ZEdveGFlbHlPa0FwZ2xBY0lCcmIycTM4CnI0ZE1DM2d1bzZPV3diL2lZQi9SUnB1
UWFjVVFueTFpMzRINm9Ob0pZMTQKLS0tIFJwZy9uRklOUEl0Z2hDNmx1YWsyNVov
aHZ5VVhtMnVyYTMwbCtkaFFtR28KZzkT96InPG4YYyVKq0ZOrIBPtCJBbTXUJu+8
9G03diIRwzYb6cSBRMtKKGl5NEfbJE7B2OnXeHPeCIPiGArKudKxFg9COHGOUP0h
hUDDL9RGVhd4sMs8zRkxNghRwQzD
-----END AGE ENCRYPTED FILE-----
+30 -17
View File
@@ -1,17 +1,30 @@
age-encryption.org/v1 -----BEGIN AGE ENCRYPTED FILE-----
-> ssh-ed25519 WyOB4g XpORoNWRCbKsJBAUS5TeC4FRoyL71Qtuo/tooCu86xo YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IDVrd2NzQSBKZllV
EO+6IcAhhcQNehmN8eBFfjHnipecr9QC6W2IMpey0KA QytCeGYyVmtRMUxudm5iWmF3aWdITlRQVE53RnhFNUFabXkwbkg0CkE5Wk1mbXdm
-> ssh-ed25519 5kwcsA dLm8uQ9rf0UwDZLFW3Xzrm6XiPSjZGekqkl8uIYH/3U TzRuQTdvNklORUdSdHFIZm1zSVdvMWVnWWpRTUxDSzFBMHcKLT4gc3NoLWVkMjU1
JW1zBEhQ8cMAUGY5DuZjgPlGAx/xa+JLgiZFXD/Mukw MTkgM0JjcjF3IDlISlRMdC9Sc2hic3JRV1o0WDNsbzByNmdFNnZDdjJSLytEa0xS
-> ssh-ed25519 9d4YIQ bfemPyKSM2E2/MM/jDo8SlrA07T5AWlkOu/m1N1D6SY VzRzQ2sKYXJGSjJDa2xuYThLNnhIMFhwTTNUSHJWbnFFYzZSRFQxVlVWK2xjNWgv
XHVTZ/qT08FULKayVT3I/Ey62XwnOrQtLIfxfCWgfrs dwotPiBzc2gtZWQyNTUxOSA5ZDRZSVEgaGUweXhJZmhTOGt3VFQ2R04rQjNOckxx
-> ssh-ed25519 3Bcr1w a9eppZxhd0S3QKD6DndecGddXbUnMKT//2M2g71OMDw c3BCMTBWZ0lsQmU3NmlVRkRYWQp6QlMvQkZmemVjekdLVWlDTUlNRG04MTlzaHAz
Q6sjYSAG6POHBUTMEF9Pj8wkiYV8AYQdjG4Q/HpCVpA cW9xd2JjNlE0eFF4NzNvCi0+IHNzaC1lZDI1NTE5IDROTEtydyBWQ2FGUCtFQ2FZ
-> ssh-ed25519 c4NQlA Kn2Jmyc1V5PAP4YsCdqpRI3Aw2jQEEEnzoLWSGxEIXc Wk5uSzZyTDNBTHRPUTkvTlRWR0Q1bHdqRjBycmU0VFc0CkdpSUNZZGw1aGJwUVk0
Jsz4ea4eQltZoELfeyC7vDzdG8lLmJxPzZBRkiNmoBs VnlIR2IxVTJNaFVSNHJQSDR2YWxuN2ZiSERQSUEKLT4gc3NoLWVkMjU1MTkgYzRO
-> ssh-ed25519 ++TqaQ VVn0zZ7ZJLA2xHAVug6BphSYUPMhrZ/FB+JvUZzViEk UWxBIHlDYUlJRGxabTZxSnNpTUNWUDRXWUtHa0h3Z3BYTlZkUEtkall1OUh1VzQK
58snUe1dHJcUrD1mCXBl6SBu2grnJ6yiuBmXtI6nhCw ZEQzSW5tM0xFdWd1a3hibXlxa0N2N2RlemUyMkplRW5CNFZHUCtTSEhWdwotPiBz
-> ssh-ed25519 CSMyhg yebJxcw1VBxrJkjV7C0hKM+Lg4bsBG9LoeSsdsZVLHs c2gtcnNhIERRbEU3dwpoNE9FdlpHYXJFZVRYQnBZNFZPTUhLb3RDdWpNcWxtU2gv
rFjrnj1558TjSULRqQIcxLaMpoJmjBfL/qeoDxw9k5o MVF5Tm1tdHBuK3NLQjBnM2JudFFwQVZnb0VpUUljCjhKQk5HQnVrY05yeU53QWhK
--- 7tNtB1EI4ULIpY5ZHnGr4J4hZRynWlqP/WcTkOl/Fe0 MG9QUVN5M2NXUEw2eEhQajFmaHZ4cWpFaXcwd3ZrSzNRWFNRREl5bERac1Y2LzYK
È]œW9“†¦yD£¤¶ÿê²–žJÓ‹‚Ü$Oè•@éÂHM}u¦d£¹m²‘sõ’Bì½6[ c3BDVXlvQ20xaUt4KzZVRkhiNU5TYkpsbGQraFdvM3RvSkFZRU54SUV4ZWNnVG0y
VVR6Q2swV2RFeUZwNGZxdQoveVhYN3JXVXBpQzdxa1ZKVXROcXRDQXladml5c2ZD
ZjFVSVRaUkZiRVlNUHA3bDg2ek9mcXJnVG9YYStza3BFCktzVXlyZHNCZ1BxYTBO
TUt1T3ZYQmR2VjErdVpPWVBOVDlFZm14Ukp0dkdUamNxODZPNFNTMXNabzNWUzVT
MHIKUkJocFBhNitCMzFkWUhyV29FU3RMWjkvMWNxbzJFbTBHb2NpbW9Cb1dheHhn
Y0N6S2FIQ2NROWtqQm5ORWxtYwo1NnF2RVQybnY2Wm5CQlJZOXVTVVNLUGZIbWZh
V2laZWFQaXhEaGdma3pIWnlSaFpjSlRqNHlRZGNiaWhsWXlYCi9UM0Z2MldUMW01
ekZja1hLNXptaFVCVFN5UVVlRGh0L2wvekxEckNmNTJOTUdoUE9wRzFaNzhqQnpM
dThmWDUKCi0+IHNzaC1lZDI1NTE5IENTTXloZyB5ZzV4Q1pIOGpBOEtUcG1rNVZB
QjFPbEt0OThxNWl3V1VhRTV2RFVrUGhRCmpwSHpUTnhNdlRHMnRvYWk2emJlSlhJ
aWwweUg5dG1rYmRMMEVDTVdHdnMKLS0tIHp6alVpN1IvQ2E5UEV0Zm1nQk53cWJQ
WCtTN08wSXlCSktkaDlPRG9Wa0UKyLX9C4xDpcPIVFsimn4OmCWAKZ1IPxeSzgr0
W6Shg1EWCeMm3dQVJ8O9mji4JW/SJHKwqlJvFTMPhIwcdIo=
-----END AGE ENCRYPTED FILE-----
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+24 -16
View File
@@ -1,17 +1,25 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g ljCDQGc4h9hHCCcshwWX0EBMHUkwLuT5anYkDT5KcFA -> ssh-ed25519 4NLKrw +/zFX1Q/Bgw6220OgEcI7EgWsI91gngvh8wLMbRG0S4
iOSs9IXQG9C8E8+955EcVYxylMNXfkNmCK+0VeF4Joc uGbKIkhPA1HjW179Q/PFEph0xmvm5CWSB6ddNDW/Mjc
-> ssh-ed25519 5kwcsA G3Kin4iq5Bx67kWGxovrxSx1IB/P3zW+EE5/lQr/UnM -> ssh-ed25519 5kwcsA hRPrKuvK/7BBT1KdD2dEAF++6fTzzaHIFnyqVwM0J1g
Sm46LiJHtLNBbHEjEk+3VE7+khoB/AMUtY8YabTv4Nk G6vohGGmMxHqPKlP9W1YItDA+CMXA7TCKvlBndKhjLw
-> ssh-ed25519 9d4YIQ trJJTwPdTSh25Gt1JIzn1z5JHZNUxeM1jKtCPRUQsTQ -> ssh-ed25519 9d4YIQ czK4KiVSzplor6qhuBGz3UQQBH5VALPnwHaTLn07uTk
ShPXrA9zcHNzGvxf24yltKnE5LfqaSPnCm4smGp4Q7g FxD8pNNNUcHNNhEudMoNSd1VyDyBgTUr52OFJV84OFg
-> ssh-ed25519 3Bcr1w 80a9OItN6RrJj5twFNNIDaC3Cby8UVmMohpGjh8LsG4 -> ssh-ed25519 3Bcr1w Bj2T816YmBI6EB6E5xt0zrkfV0ZfEf3WkrJIANOcWx4
LIMAVI0Mo86MMcoiMBpbSp3zLdDt1omv/k4sYbycHiw oGr6INTE/9gx6DU/nOuhMJcXbYJAWnpmI7+1hatzvhY
-> ssh-ed25519 c4NQlA Z3B5IiE8uDB4ATkDDoOrHeGjgQnAxWkAwXE0Rs16qis -> ssh-ed25519 c4NQlA 53VFWqLxNuz5966Snpw/ALV3+nm6dzJ22oHG7HZenCg
1qAWH7Q1rhVbn+rv544L9rGfpymGq+3cq8n+0KsI9SA SBNtTs9hjRGqFdZQSlhB1ZVDfIvo0chQS2tFeMB1mwI
-> ssh-ed25519 ++TqaQ oi9ZHcziV/F6fN8mVOnXaCJb3ITjHGpBNVUDiFWWfXs -> ssh-rsa DQlE7w
vrLp6d+CpYuvv7nRx4IZyRh+l6lUEQO4bJJ1DcTiUpA lj9ZZGpjvx5QqTxVqci0b9eCOT//bn1esCMggSoB5L7qgmdDDc2uv9lwWm/8XWIb
-> ssh-ed25519 CSMyhg JwMCpsC8udEhILdfhBiFrBB8H5/yPIWw//T0CUO/NUc R6VKTUtUXRIH3OKd+fTbTsvVN1cOghnODqyEffOa6voZGMnnwkcvU7B0LqGrnIgR
lGigHdJyba5CiK2Qfq+mW07zTX9qb9JgfmtuWLO8oik 657gTDs1BPW3Gm8RB9Rk2CQpwcuIXbUvUR9lYXs94HbTuRIVJJFV1nnVVed3P12j
--- LRkxYqMQFbeZQvFzrmZ0zG6owRxOTGBcZRP8COuIflI dR3O8H+7ohOuZhSMoh5Ja1Z5fstWoV1cdKDfmSW3mFK0eZc/qsf+7ROqfKJVt3kv
ÍŸg¾¼.ÿ{¶“ëc~ö–»ó˜YgÖˆCÚæ€ ‰]—)ÿ¯œgrsëO@¥A2(±¯¬´,Åâ¡ß!†£÷\Õù®óþè6¥¾J+W̤͜û–ÆW/4"®ŸÏ™“;3Ü f6TClLZf004yf0p+snrqguWlVBRZhSeqVpm9PTfzizxLg+rafXIhbw1G9ankE+nP
2yi6MT0I8sgVxnUcNmbwMG510DheJ8Su0rfAOEE9Rk34EEADnzwAY3Bsgv8iw0Ws
E8dkSqX+gETf8Uaf0r8OyNmDLj7/DECq9uCvr80wwC5AA2F5DAyn2wOjGZbm3DdB
erAe0RuZFVGzroLCIwKVS5jKTuTmNfpmiYuhOeoqGzbBU8ZQBj2W6UommHD+xgwv
-> ssh-ed25519 CSMyhg 1wAgIuMsX6VTxrdo1BMcDzInrgWtYEXxGdgOME+5q0Q
BfX6Wp14JURZ9k3BEgJ6SqkhPNA8kQ89plMJznCDOzA
--- ro5KrLuMtpIM4Gf6sybFLkG6IETPspsa7vCKF0IvXHY
+–ù×yƒ–VÆÈMSÔX¡‡§ûâ Eùßt«eLv?øÔG…×QXÕó…ÉúŽ‹¤A»Ï„¥…,¡£Œ/Éó,‡r„ÃjßHpl?cÙfjô=¤Öø½é[ï: cs^Î
Binary file not shown.
+24 -16
View File
@@ -1,17 +1,25 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g NnoyvqOz1aSKCLa6e+meCG8vYk4AgnK2yFmR6VFIURQ -> ssh-ed25519 4NLKrw 1YeW9LfXmOOApAit/eBGIIl1qFM5IBJP9poT47IIBB8
v8MuGuZLZPoKCSiQu+NReQx3WXAf0rwAyxGCy07yqys +oqa613hyllTSpHN9yjRXTDwZl9X4fffj6teZIdKx9I
-> ssh-ed25519 5kwcsA 0FUhtgonWT+I+aM65nArDRtRLsG8EOWKz5tAeNmXAmo -> ssh-ed25519 5kwcsA +gCzfVL1SAJF/xZ8SN8WLqJbPy3ibAarBkWJ31nSJBM
QWQxrAojs1o5lMeSxf2hduM9IKJGIFAnxl2x6aHyL4M LpIa6NsLJtEnFpp9p2br72A/5gcwpx0uISejYg6LzjI
-> ssh-ed25519 9d4YIQ HZM/NW9ZmaQbvzIXyd4GzXYWPyLJma9UmyBLz8GJ4TE -> ssh-ed25519 9d4YIQ ZabgFxZX1mG3d+wFejcv9DdTT1TS4No7WYqQIQvw8Fk
fCWdHiOtRB8JfP/sKm6Lw+BHQV5DQrfh/anluUu4Ius Z5cYGTk6Ma4Wb+ZzgRAbsZuIfjT4l98uOOBn5vuXUM0
-> ssh-ed25519 3Bcr1w 2MceCqTHEPA7ZzTlEDQsHkTvDCBl5J84ZwpEMT26wG0 -> ssh-ed25519 3Bcr1w MxiP5fnT5BWjNAlK6ttgwWY/7FxUjKv9IqFVEh3Ac38
Msk3G/wHvDkS/lxnPpgNvxxCKfakNnEORvTT8oyQErQ +uxaqozcx5DS/bEU6s9fWy4wUUgsdiw20mOAR36xYCs
-> ssh-ed25519 c4NQlA FAleJbDgTdLim62jYz/jVEwAQg6Tc3eHaZTGoTumCiU -> ssh-ed25519 c4NQlA B1WL0A7M8xrbsBN5UXamNXN1RQ/0U8ISqiR+rolVoGM
7Ia2goemrkRfCavUpjlwn7v+C7ixtQrrvGz6AiptiVU 5mJNAYf5AHIwVOeH8TPniFd4na3p5GmgjsZA+15CCTg
-> ssh-ed25519 ++TqaQ kHh034/ivTVbxlSXhcH3xsjbrISkpO7jn/cZcJFt0Bs -> ssh-rsa DQlE7w
AddJ0nSWKRoa89UPHT0aXPBU9KKdt2u0285wTASsyrY gn4MxqdrSk/dqhe+GBlSXyV4DdottL+CQo5H8oYWL98iJD7eDQuKxb1ewWRf6WqE
-> ssh-ed25519 CSMyhg /XwFvkVMST7FhpE2iiqZ0A39wXdWdRX5/i6PjI3BuQk ommyFB8hBXW2kuUtEscNllL5RGaHNWrP3CBfto/vxhaDPdTefhTS+ynmkppXv38R
OzFYtdrU/Edp/wNJA/1Uoj6sn/GvwnsX1ywnmIOCaMg 4FYrF3hswVZs2eepTWaR6MPSRyLsEsse0W0kcj4HiOnLZ/UDfe0VAzEB6C1DOvpt
--- jAXyWeAqVJLlV6F8qv2TjiglIsuImfwYn8eimbVoxlo XadU2YAR6tiNzmwkegBTDVByyQOf5VH7YFejeI4Rf2Q8qnTLfYDsEyThhHq9oxwV
åAÝŸ^éýGƬJ(¿ôò3¢ª@Ñ8Y` 1º³½EvÑ[mRë¨zY@Üü°#À3µ2JEm]÷wfp‰qVÏ7iõFÑD“œZ„\ AZkaVHGEazIUkDFG803qFZyNhLeJyh4rLEFrJbuRO4WIHUhq96oMJ9IJkX0qbZdh
g9PYEX1G9YUdZpWk5lno8aPLLdDR/stBtOyw0EAv19yg5vuqYKJnk75bZ6Dba8Of
8+e/KHVid39n2P73JQlC4dVNWVcAcecVKyxim1kwxFB3MVTvjWWfhVYIdMUr2OpN
D7dykCmoVsRc9OJrzEjQ4RqY045YHjbKGw6GAnRM5ZGSk5vTFE6eBkhy9T2LFFZ0
-> ssh-ed25519 CSMyhg V6U7l5m3lgV9f2HhMaiP9jO/5E3iH2yXYzCS8Jnj/V0
sjvk1WhfKNtpoOAOGAqAzQCcxxMP3rAJN2gp2IG0GjE
--- kKNuLSezCfpaCAQNTwnE6uArT0INDfeq5/C+1CE3Gh8
Ą̃\¯¿­„f2?n‡}N<NÅF±ÊB~¹J‡…=€º´’#«9¸"p˜(¾ÖK¯ä§nèª÷àe¹Œ>Ò?8™õå+ ÏpSß
Binary file not shown.
+24 -16
View File
@@ -1,17 +1,25 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g gP2rRYMsnNFAgksIuYcBeEvMLT8MCB0XF3FYl8I2f0s -> ssh-ed25519 4NLKrw +LvrzIjrqMdJqhqt0EXB2nIhXoQ6k19icPKg2JfcMzQ
4MPgXZ3VngItftYmhrlZ6fgR6jbtouVLo9dSlP48p9U q9/tvlJ4qzJMFQb3W8NFQ1vUhCEQJZyr4zZyqPSHk/c
-> ssh-ed25519 5kwcsA +WJSr4faVINieGeP2v/Savo78NrIfU18crziQ3jHP3Y -> ssh-ed25519 5kwcsA qomVI1vW/9dIxUCs0ZI9yzOdpuVsH3qoH/aLUKWOCH4
3XyuJ0+fB4nQ5jMp38hQCBFUg/vFlWyBcFcvG7dHZe8 0KeaxSICJBSLYBP5wl5PxBEXBCyKsldabmUrT8Rmrks
-> ssh-ed25519 9d4YIQ dB8aqBpClhWLD9mSP9bjCnK5xmO83R6ZMm6msrT+jyg -> ssh-ed25519 9d4YIQ taF4thF2VLbSw24kmAICp7LNDNZMsnjRkK4hz1remT4
/WsTTeJBLldW9oRuziVnz7DbPGFM7JlTgYQ2vl7402A wNESxs8Cc4Bnu/+24V5RdA3Q7Uw8VAHS/Cr+8UNSHL0
-> ssh-ed25519 3Bcr1w wFCUQ3gMqHntpujPfD4q3a1zX7quALvmOsowsYnQpRA -> ssh-ed25519 3Bcr1w YrGrQLH9TrqAfKzrxfEMOIC3dHbR5cliHHG+jgpkgiM
CbRQFe+whUwvjs8aC4XHJ7aosfN3ked6R2c9hFfGcEI hoXOnFmFcX5m4Qqk1+LDP+zZQl6+NwPlU8dTXStBy2c
-> ssh-ed25519 c4NQlA JYbqbza55Wjyf3Jsgxn8vkGyLjp0IT5UANt8c8MhtWY -> ssh-ed25519 c4NQlA pZNL9SPPc5gYRotMzYOaqm6WdEyujRTrI/k3qOgk7lg
8m2FIuJ/7T2pBLA5WwS8n2BbdT55G0elQG/RituiHVw v0op6BPTpog4AHuBb5sSCB6BQbp8QFSZdJDn4ppSdC4
-> ssh-ed25519 ++TqaQ c0OGB33Si/Htv4MMQmC/LgeLxRf5UjuzPLuhrDn4WiM -> ssh-rsa DQlE7w
QVwajFZZ2faynhUUZ21g/0bP1lBCy9q999JrFyNy5Xw Co9vmAJuKJstMQ2+rZJsyHHKplTPlWCBPA2YsOdpiVfMEkjuhF9WdtRFHQ72JZZe
-> ssh-ed25519 CSMyhg PsEMEe1c3iZuSDya5DJowxK5eS0SrviIUAd1ueydMFQ ktZhCv3MUsXOew0ktObskrgYsa31Ejbhy4JD5PcqIKRUr9SxuKZrBDK04B3xYj9Q
XsDN4YC+RaCjmq/t3mCHVQrXMnIbW/DkmnpYYPgCMho FB/ziQb48sSDdnAp7kZ6KtFyG9eOTG7LhYc9rHK+DBUiDRvp493ypRMXDd1ZFhYj
--- EreT7qwTgYYLF1gan8mirsQLe3RQpF8iWT33SXzTOeE hirIQMIwiQmKMo5U/q5vYrRiTb4YmJsZpH8U4sl/xldtz5FCmiUsq9sIj7hvIaD1
Ù¡³¾uyýµmůE³}2`z)fžnÿÝÁÛq,Ô2UkÝ72e’àOˆ26þ÷ù AmyCwCYYJemi5bQIfGiKnEZ4IYLt9h57CMDL/vXr3SzmoyKvUwgned7w5OFXFuaA
B10CU2vN1htYtVz+g2c4Jx5ASVT2UMfDDdBCALfW6R+wXIYSbdzO1vTKcGFBio37
DlnfctNpqUgduICZIIGi37zjPhM0tV+LpfcRV12a7UnHQFhW7roLtra+gfmGwrcO
ivYCkdD4NvNEjCKRCst66Qb6/gYgGVEo34mTjh/3g2agxHuzeJOVwCRXWxqebtWI
-> ssh-ed25519 CSMyhg ZU1CbyripaWZEZI1U/qZP/EfsDb1JKSrT5suTQKecG0
pyC1p2nnaF5A7KnFBjJuxoyzKEAuC4wHFAr2wmX97HI
--- 3KxuO0ZSOS3goo+OoO1R+pXgfeuhetca9PTapAjkZOY
至+駃Q{毽錊v棱 鞩苰釲亭󡘝3贕芶`K桫妮WCn
+24 -16
View File
@@ -1,17 +1,25 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g QghhMC1z3pSAP8vYVvafwhCv2nfiN1YS/Q+IP9FtnWo -> ssh-ed25519 4NLKrw FWpC9T6vAIctX6K7NR4lUJux+hnW0RiIYBGhHfr80SU
JbDyF5P7g7UIUIhL62y2DB9oQcWpuXNxr8x5h+aRbts lpuAN98zrnj2XSrN68GKMKa1fRqInN9qoTAby4daos4
-> ssh-ed25519 5kwcsA arPTSjFhEgZKN2/POEvleAGYntcz4akDlhxZiPP66G4 -> ssh-ed25519 5kwcsA 5iDc5J0ZLtPofhWqxA35mUJ/eAtyjL+zS5IUl86572U
q2W2urqZir/aEnrEkGxVaVwfBMOdyERKsNxkI9k2N2w z13sCitLAndU/23P2OcAu2iS/6FHF3SyRViHTHz8EBE
-> ssh-ed25519 9d4YIQ 05hqWNllggLu5aqHwR15Xe9LYoppEyA1GN+/2LINgAI -> ssh-ed25519 9d4YIQ eEaMwGGQvQ2gwsJQEAOunyxpadkazt3218MGk4enakU
KN+E1yvJEnQWg5HtiBPO/eOB1AGnUdpL97W3PO52XQk i6Vtw8ODaBgkc/biFM/5OPb5tqfc9O1pEj8gQ81zyik
-> ssh-ed25519 3Bcr1w CPs9tLsmIW30onKmJP4kslK2YP8GT13/YRLwHKz/mAI -> ssh-ed25519 3Bcr1w U5qcbz2AJA4snHpFbVcHumlzTzgan59UD0uroVzvPx0
XlumXiAnW34rkXYfiern7ZvQjckor1Z7tbg5sNWryd0 0rS0C+521gEMpRys5t8ecqFMkhZ1a0PKb+BxQsNCtqo
-> ssh-ed25519 c4NQlA 0FDNEjaGV4O55CYn+ajvt/vSsquzeT0XGsFvgU7qdjE -> ssh-ed25519 c4NQlA 8eKxwuYZYphL6NZemr1WfQjgEWKX7UMQYPoFudgWGV8
d55BnlXMunb2bnvJOLLi/v71vuBmthpHj+DYSYiwNiY /x88KY3wxLrnQmMORRllRYUh65KPyZT9RELiRu6LKxM
-> ssh-ed25519 ++TqaQ l+6k9qrH0ZtJYA5br4nTknpheYPqw4B0hjyWQZ9itCY -> ssh-rsa DQlE7w
z+KJDXvebRzaZNeWHiRad40RUkpRY608Z7rKQCgr9tU DLrdKj7KY7jUBcsYlBksTdKY1l+YHMmTmyiWeiANwgM4co1rrjZirtnntJPIVPn+
-> ssh-ed25519 CSMyhg Wg/VxX/6/Ed3rnWoHIVexAScpIdPMoeheamdzo5Cc2M Fc5tNJ0S6y+RvN+B69F4BgTljzoRLuIW0YYctk3NaNUuX9QOzF9jhbXoAW1iN4bj
Sjg0lNY5853hbO3WEvs+o59a8xCNzp5avVFS8vYQEeI f4PK6Cw+Bn2ZJ76Feh+4xIQJxSAK0dIVaiJeHZy0/eI2GZdmRFY6f7iytdlacX4D
--- 64bKdonXtquzkjrQOZIYrm11QXObp0bBlR7JFe2Ji0o cJZkFdB8bPRDJuagTZMifWERhYZExdF1Q5XDYRpxycehSM9s1fvW2xCBPJMCjlCf
‰u,0A«Ü[˜Ì z:†ÝàA´*Cœí˜ÔÌ¢÷«,X¿G4U^¹ÀëÄÊÇ…œSƒÜ¹…fEïì³¹|vã ´¯ÞW7c+È dCbqSAnCn+tDUfgV+M9FDRQwz72RLov92DcOWoIcP4D2Wm0cOMnk0Pbb9yB13E6e
batyaLvuVPXKLle58bh09b2OR9zgy6RKsvTn3PNpogV8T50jEitVd7lDT+OvPcW4
Dueb7q63IUKe/iuKmmW3w/S5Fi0JLUGVU+Ip8teIrNhJ19tPCkbRvbDWA5Mq2QAT
ItYsEWTBf34JNrjEcmqOmnz70XgaelouClC0KXpLszSbOfEjxClBxOLfPYVioc8k
-> ssh-ed25519 CSMyhg V0o0nL95KeGPxAwZF6RvJ19ZoDCaQcJusm6MXHeJJgs
YFOaM5jwE9bUWx7al6JheB6BBT5asF5Tm1QjjVxueO8
--- WCfgjJe6TKNKPtcU9BEWLZjF/z6Ccd+J86uiRwIHqbM
ÚÔÂápÆ*ãÿ¨Ö$½Z±ÉÌà VƒoEbú"Áw°•6~,SR¬\÷ò␍Œ:7úD”üæ”Ý<”n¨—ÒçoL¿taBp¤õ†‹12éÏ
+24 -16
View File
@@ -1,17 +1,25 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g MpjRbeds5q0uRthy9DWseQfvwVZXeHkIEQk/BvgqTBo -> ssh-ed25519 4NLKrw 8/2l4YLhR20UzhNC5C1ALRi+ERnJmzfbDKOgiayqJh0
XB+qMM6dErcpLE1G0MFlsgvvHlSQU+PwkxM0rlM9iX4 +AA7Ol+Ni3Dw0ba9czlqqcQQRG6GZCKYRuTEsaDttqs
-> ssh-ed25519 5kwcsA I5DqOw/8secbtxpm0A4YPa/9kJzfDkA4cPUPBpdlOiM -> ssh-ed25519 5kwcsA 91P0Y0VwfQHOtkS+aoMiysves73MVHTYmjSBU7H7bk8
9V3SnCPYLONzO77mfwaBkPmTtmgNhSwA8XGgqZDAFfw rFX5VbH5G1Y4q8Q1AtSj8m03Q45pIehMsZA171N3oX8
-> ssh-ed25519 9d4YIQ wRHFpBUN0E1Oz6qRVr7ydv9et+xpXAsnDfUCGCTHxU8 -> ssh-ed25519 9d4YIQ 4mQa4BvWBnp19042Ajz9KBDkwHeT0qgOKzxrfPEASwg
cpDNKgQDilUMr7Ru+22XTAJuJ8QTX2cjvSW0pNF/wxw T5ipjK3xHMFsDY600XeLzMuFgb45Uae3keSC5fQt2Wk
-> ssh-ed25519 3Bcr1w snlBREU2AM85xkM8wwl3vIY/UjCZrey1Ws/sOQYfLGQ -> ssh-ed25519 3Bcr1w TxEF84qjfrzLscryLyRIB0wplcqTU68sHZNzSQfUBBQ
s5tdY09lCICgySD/jNlP3A072kx+YWZMREVxfR6Vo70 6uYAHPvUFSFDRs1ZPW5YpF73LV3Ubyc895weNME59vk
-> ssh-ed25519 c4NQlA M6texP/eQb4Q346cCI+J0AqmlWw3mVlRd0QhSbUzsTQ -> ssh-ed25519 c4NQlA mjiiGsAJINaPkgZTvbo08SplW8HnHBOBlItypKvsShU
ue2DUqBShnlMHSDcLPhVWoTQHv9T5O/TJa+jN8IqGOM mebaeE5sfaaslPtCaqwDh3O0atlXHIirvVHk70d5NlU
-> ssh-ed25519 ++TqaQ +X0FlafOJwP9QAu29l8p+blLaQiZNOl8t6tBv48vdT8 -> ssh-rsa DQlE7w
2EYKZSCA+3sO7HaiaRCWd7YzWmBy7qvku3y52LeEUwI qex5N8/fRlkGdX08bMiYVxXV6bwSuHyeoVKp33lxjDJHriSgpJGOrRIPaztRIoW4
-> ssh-ed25519 CSMyhg zJ/XnwOLBJuZosafj29J9OMI1nV2fpXmkT5bgEAtsGA gyukJZoqlHIBSoLzXcmrXydaHUSPcDPLqw4csZZPfGJq3RjuDQKQMyiHe7xS9+Lh
4ZeWdGbiiVK7cxyGU7d8QBjncrmacQeyEMgfrIzZ12M 7RSpV5kpu81FwdV5szFF4cjV6klv3aP2sMut7WQyzxvJiHjO5gdoJnD4TBcdAa78
--- 8vjxije+hZQfjzhhBDkj5GZDKReXUpKn4Gr6GrPDBPw twWn8Bb6od8I9xMoqNOnq7w6nlC+AWmspWv5Iz1gV9KUMnbwFcu73axNfYHAFgU2
¨B@Ä==[ƒá¦A+¤ŠZ¦xJÇÌÞ»°) É' LŒZo0|f§Õ„I\˜Ï=¶Ù“æˆLa~ϤæDè¶«9¤¡äãmX°\9CÊßî‰éØ03¾ÞBà R6CvL3LwYD5xkvS7JknYKcagDIuzOc1TvwYmEiQR476smP/vbwkn5Jnb5oILLcR7
6QNd8NAg4Hn8Efcl/Uavm9i6ywn7RNzIS+PHV8iHha6sx8BsxiiYdMsS/KG9qogz
eLp3/t47dFMvp5etdgHojGf/nH6no9EWjuX+oNeZsTExyW+HMMh7ItDxzupg3g1r
2HZYwGvX44+IoSICROAxHuYmr8oUKhiAWTAGGUCcdPPAX6pIaXB6WpaY5fFyPXJt
-> ssh-ed25519 CSMyhg e3b1Lr23YzRvHksn930vZYMl1z8xRzlQLiltH8ASmGg
URFCzy/EhYs3l/hYJgZ/ufotlfX2x0/E44Nhu/9SbXI
--- Ni5yTPCt/3piVUbdKPeYZTGyoY6J1o8HwtSYam2FgRM
¾ãƒtÑÒã-Ytí`Rqst6ü€êᶃõzCƒr!ôŽ=co€Œkw9á°"±Tš7"Ë"␍Y^ßßø'±,Ì+NÀ¥Xk@ òBCˆ¬àÇeô
+25 -16
View File
@@ -1,17 +1,26 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g paYz+itgMDDQKlHS4wfZzN78RtsaH4qowEt7KHggOFg -> ssh-ed25519 4NLKrw p2ZuCHmfgR8iAF83JYqmwew1KUgW57xiz7WPTRC32l0
DpSekGJpOKUWlOwZ/Sn5I+apOJdEJGlwAPuOjZnPU5Y Cy1600fvFxYHq8JkAi4N+/i8xwBqdRc4FfGEX5KNnPc
-> ssh-ed25519 5kwcsA oElzpBP+4jWqhmB8P/yc2aQQILdwuZ163bMbB6wTp1c -> ssh-ed25519 5kwcsA +FsTe6rqd1V1Ml5DXer/RWQCA+213bNrG6uhYFv+zFY
MKOznEs5OU5zB6wus6AYwrSUjN99NqbP2bImIkfZ03s 3fnw5cBKZOSw+mCfFcXw9VDjz4iR13sB2+CTvPtTOA8
-> ssh-ed25519 9d4YIQ 5lYmmCIsHPEsV48uoXu4HPj1JSWp7aCMUlfYCqbxPHI -> ssh-ed25519 9d4YIQ rsT4Tv0IAOGmMrXJT/K8fzfhdwIV37zDemrKQHYLQzw
r/1bmUMZRCg4hmM9DnP/x+RaOL4iRS7VXz5JdKmtOHM y5nWezhU56iMGJlbLx3T6hqcfELeLiRSaERLJ54cIQQ
-> ssh-ed25519 3Bcr1w L6UtFDF5y1MNkC37Z5jGEnDFfEoqWs5pAVqShY0dzVw -> ssh-ed25519 3Bcr1w FN5u1gjtjLZsVZPYP1HnJq2LS3lJ9cP2yz6y9H8qB34
dRioPbUjZhIxafJoGwXvkSNInuEXLKwvcAPOSyzBHjk mziulAWawSGJoBCJWt6Ctp9U41G0SAaHT9b2RYTmyhU
-> ssh-ed25519 c4NQlA qC4VmGqP3TC/x3W/jaYK8Jhdf2BW9oYlpHdZpGyUAEQ -> ssh-ed25519 c4NQlA gY9Cax1u3TdZSuhwuwn/oROm6h2/4hdj8O4HiiPkDGY
GSgfw7qBBKHFTL40V4/t0VT4Kc7Jzr1Z7fIv/qmclrw eYP+yEzRtlTIprS5NfKr4pHjOjk8RDOlpCuGqflO3/M
-> ssh-ed25519 ++TqaQ T/Sz7uHRj4gkxsSKNwrYuRIVkklGH5iCPfQlVxCh3n8 -> ssh-rsa DQlE7w
+EdxFCPboc6drxHsvdFK51oTz3uafGgv2lnaG/poPj8 bx+TsU3GEALbh0hD+334S1wggvGA6zcUb3R1f5MzF8OcNwFFWMGonStJBPXLodEa
-> ssh-ed25519 CSMyhg JDFjwNOM9LdlZO7EBoTOMTMI+a7kS8L7i9n2X1UqRmc cvfgSSVEJHHq8P3pmQoxgB5qv1fpgNRqWO/G+N5EmPFdnts2XfDfFuvtrTmCwLNC
LHsCXWiQyTjPCxQTSsKA8ierxPApGEWr1sK567+EIBI 5VRmLiCdVH31wIe71Qkomw37AjE2vgyu1MYe9fHECiRNhoyr9WEhSis/O2akdGVc
--- x+gz528sBIH8ChPbbCutRQ0JgtSGL1BVje9crfAsfS8 IOL/mOPEwucoqVIJJG0qZHa7QXQJnMhC0XEwZJIGYbMRs5dLrgLtFq4TybRRyXa8
ÁJ¼ ,jz÷€MÏM®ç$YCÝ‘±ôÊõ]T$åä´鼨އk5å-$ÅŒtäÁ‚hÄDXõ´Äô ü1»û!zyž(ë×ô"g(ØêqåIg$‚‚ؤZÅàxz‚Ø ]Å~MáÌö¨.üQ€l£@=GUDûÕê«v“£ê x2ELgT5SU0sdwki/raiCLyi5CD4tTOHImwSYEhfU/6rgJjzA4vI2qCwBgjEi6vK9
y3LJgwV7d9ngXuWyKI/hsw7Mgn4eDL9FzvZ7ifFzJ/gWfaVE1xkSgv09eTvFY5cJ
naYgeHwPitVQU1FmYWi3KcOwpUTa6xis6Jo9iJbT+511hw0B78p1x6WRA6077b6F
ewjay+HWoswL9tMwokYN6XUnDu3DGqvHT5pSmmNEJmMMrOIVPIIM6D+wVFbzeUFH
-> ssh-ed25519 CSMyhg juce3JYlAZOusDXo2AIeQUtIzkDw9VtWp9PiiRone2o
W2awt7uAMPrtNNocRuukrbKzpn5iUFXhkt06ngmMyhg
--- HgpiyiLgi81TJGFpYJnGHFEFvXsrUakUwBvc56hqevc
ûúÛ]GÓaÇ:v3 SŸÙÉ/¡0Ä/Àýá^“㬃cds­âùöœ{¯-YàÂ…ìäO­AâÁ†­îøI²‰•t5Øbs/ñƒ ïïhrj¦ù‚ð²ßyEàÌmpT#]ü1²Sš@¬
£Vf‚G¾miwémäÒ›|’æ²µËf•Дë‡
Binary file not shown.
+24 -16
View File
@@ -1,17 +1,25 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g /TtTfjVbxknyTe4mL4+RPpFoDjh2hYI5RvjHedV+NmU -> ssh-ed25519 4NLKrw 00116Ozm0CeNhV+xXkojclJ5B8ulP/M1CV6u6thTFGg
ct7/LFi56ileUQ1kOpUrLjOQl7XSCDFx0KnATG6qGPU Pacikayyy9dyJqJFm/6fd37Oz2j2GEDnYEVJ3NQ/lbY
-> ssh-ed25519 5kwcsA vyj+IQdPpdbpRLK/3ImD3qDRyjcJ+5c1+OaksgahiAQ -> ssh-ed25519 5kwcsA Qvk4nvZ40VIrhLE+uZgTPLO82eRCNdHRilZ82X/H9jE
fuGq/KG2tt7Bwrboa4WxT6YJvszElDZnGlLkE+AYV40 rjJVe6jyl9/zBBzQmlDguD8Lgy8P1/7PlMz8W3MSzXQ
-> ssh-ed25519 9d4YIQ uH9k1p2iSRVyI8RTw7kvs0tPwvp0xCt75RDW2y3JN3c -> ssh-ed25519 9d4YIQ kBSkme3/hpSAFVhc+zzBcSEiRkVlHFN4rx4PRsuCvmw
WcM3MkcuYoud5Gz5YxM0zdF2VAJrNszDRi4wKSjOQZQ qlKxGNd8dbMjAnOuGueug1fJdPnRrBN7vjaEBEqF5tI
-> ssh-ed25519 3Bcr1w A9elhJ+ljCHah3ekVgYA/tQuUtyLrB6NkEYyJ1G7TH8 -> ssh-ed25519 3Bcr1w 7LNSHsaXOkRtWVeP6vaZAVTPwwXEOHjhO/lsh1BqVRQ
8Gl/N9msqylMEWq21AyccqMtNH9k9OpPi3W6SJKT2IY GgCGG9HbgvvJMtYL2/vfbc+mYb+1hPvSU6fb+I/okak
-> ssh-ed25519 c4NQlA OX0h2QjKyNsNvw6X7k63T28y1BaH/g4hGtly3i1eW38 -> ssh-ed25519 c4NQlA dcXm7OXRmSxqvC91dT89Usn2aM8sR+uK18HVPH/E72c
CbPT+mGWcS0FLz5WaHDCE/7+Ep+WzC1ourCBRGD8fFs /YW75+3nTlbPzEy43DOT6FOQceTzJVnPygG0NUvXvjQ
-> ssh-ed25519 ++TqaQ 7eyn8ACphPZYOkkNz1rTs3s9/yvDpnJR5HqjWhnXISM -> ssh-rsa DQlE7w
c0BOsIk2hPrp0S5yJj3AJZn9aFBlYeVPuVSAGz5SM9Q KhfZIR/ucdUx2I9Z7/Tqk0KMQar3OWxoZEz3pnZgi9hC24VBxhyS0j1JXKhMrl2W
-> ssh-ed25519 CSMyhg duWS4ZnQckLwRaLbmiaCprpqKrAYYacdPp+vpf3VF3s oZF9uVb9JOc3duAXTbJ0g416QGQYG56eo7FzA3m7/ALOmTJzbXJOp3DuhmQ5tIxl
EpDEvhbokTd+8vIZRLefsQYdssXlqZivDNosNO+4dx8 8jSFtrZVuMDMcWNObBZdfipfRgE+Cn0P9dONsXF2GxxGn8/DXVjDKUxNI4DKl2uZ
--- 8pOU8Ur9VJrDyrbseLz3ZA9z1tlpAe7gS1rGrjwdka8 E4K2/5nf3HhNOhjMWX0+VhbOTs3qtcs5tWycKzipODLl2j9svpW3okWWqy8aWR+u
Œ/¸im)B.ÿÿÎy?j€ÿ´ÒêN͉ÌÍOjÙ ú¬qå:ã*6Ó®~Æ^1#íAÌ×&¼sQÎMJ©?␍´ÑÆõ'Xj™¯†¸ ÷ KNVX99//Eq5FleHJQk52BOOQBIzrkmiLluHlDFLsXiQGWnh7PpwmC0ip3VOeFaSz
vMX5t6b4rE+28SeeG3iJ5fNz7XKRNJvZsDyGN5HhEcZJp3m42illxLF/7EXQxtLM
mvPBsJa33xusTPkM9D9pBbAHzJIyR6ZLMI0wdV9KeWXH/yzNtTndYMekJw4k55yw
kiflVaRDv9jt4XkyApLo93GmwTc0nly7Eju5A5JI5GrfZm1WwbcQlCcb+v3AuRLW
-> ssh-ed25519 CSMyhg 3dnbUyluSARc0W2xBTz9T0XDMNkv3U+q+r7MG4oyNSg
v3cECLlOG62zczYw1ym2SHBUtSP3Aw9KcENWD1kh2M0
--- 1IOJhGjkrbvb3bB9Z4PKu9xmSa3FDChQ/0FuO7Zrepw
}’ÎYÏa‰·5|ÍÆ—)ŸÒ°2.»);I;}|F'|#³ oêÁÈÖ¬ä ¬ôNY +ð¨Õ²Ï×CS0¿Ñši‰Òësxî%ÙÏäŸ
+24 -16
View File
@@ -1,17 +1,25 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g o3fGqMXmFCUZc9sovrIP54jUGeZ/22YuyFp03RUJqgU -> ssh-ed25519 4NLKrw ONN3gzuDgI2PMfsfIb++dqxp8wPw3ThcbsdbTDkxai0
xeRAkIVWDjptuSmJTLYFJaXfEyUWmU+GojprGGzHVas Zac4oZfgwLukIycGiuedjLFbJ4Me08BsjurBWjuqHWs
-> ssh-ed25519 5kwcsA K61fOEcKdu2z11bCV1ei16gh+Tdd7o4sygiPA4fMvVw -> ssh-ed25519 5kwcsA YdxxIewjWoWo2JZT6ywQWP/exKrGMfqJN6ktJYn8ayY
xCmkZbcIougORgZ5SrVY0LyRJBLLH8W634xcmYJbhEk PX60BaNwuasTnvStUsu/KOqrnI3nWyCscH24fMCcWCw
-> ssh-ed25519 9d4YIQ ojKpx26VRPfzZwi3Z5XqRMb9PhGok2I5HmRKWxLd+wQ -> ssh-ed25519 9d4YIQ iraKK1wYdMGyPbD3s33QzCqueVkoaGc5PK8KcCl1bSI
NiETzbpoCzFzwz5bczm0mV924YHRhHTZQ4nA5UIhZ9g pIhd5Rb61KQpP7/QaVzT01HVL/WKMS/rGpFneyqPOF8
-> ssh-ed25519 3Bcr1w qVo0BVQSJcb9QBiOrZ8yqxk6nDijapUkwP33MQMEPFc -> ssh-ed25519 3Bcr1w QTRRX4Bty5KQiOoy2BWpzE1/1YrDAeC9RCENrc7/eXQ
D6C8siF92VmOCoioWiZbY05A4wy6BrAuGB5mqI6yERo UfE3zT64FwxbbFeygEmN/cb24H82hQjv2LPnNFig7oA
-> ssh-ed25519 c4NQlA YEwq6ULLIFbmpicbD3OUQy+7b6C0Rsmhf/1P/CJQTwY -> ssh-ed25519 c4NQlA ppG/ZxQLVA4cEPxDcZw5o1SB42ORHLdlIo29O7adWFE
Nznm6HL7mSGTllcdY265/rDAzSzXkQITWqlRIL1qytE HcqGBMnB3aNMoIK64Wv8eMqOOP7wic3qgRRH8m7H8do
-> ssh-ed25519 ++TqaQ qe7CEy8BcKfd2Mb0JyMk93YTZXqdxhpCR68tYTr/ukM -> ssh-rsa DQlE7w
VFxO8jM6+UNSZAVidpizQ/Ni7Vyyu5ffyhdHae+PIJA ZQbgQQR98VppYA/B+yYjboDeufJQwpA8t7o1dq3oBfMQgexYciRD73rasSqcZlIR
-> ssh-ed25519 CSMyhg Zis9qFXNRqi23QRmYNyxSgYbFoRdtKm62yWjHWAh1io XbELtn0XVxJIOF6qfUFrPPza3ewsr+5n+rxw/9PoWloLlUqBxWSwuUOtwKx7Epuy
u/IqQsvUtUVYOR3OtmiGdYd1bzreTa7Hii0iOaL0w/U 3uJ+1238+e/KR9vLFcSAPUucCqfgQ1okXdHbJwI0qPDX7MJ0Kxk+dJIoyI9fwcfy
--- MPhR+LMo453VFvi96q97cjaJklD18b2hmSax9wBUvFo PbgxqinWnAewM0Brcy4I3n/tBnVW8YGQ4hWqLhqI2tNwFEdZnyuMJQ6stfJEz3dq
Š( „J˜x‹EŒAÃèÁÑ$ŒÆ¦añYfèÒ `;‡E“ú “¢0HùEþ­<M,²¡N¯7 4FxOe4S6NZ0UUsVrenxi2+5O3FxQ4vl7yDxAxdGs0aPHiyPvqUZuvu10WrdhtMft
iXhR8+XZS9FAF67DLOXDxF+mMMIdN/SszY/fZ6R7fa+sXbLpfGEtAtPL0/t6jrwP
W5gMzDQD9/e3+wrYnVYvilvmUgYanC6bB2ne5L8TjnSokizb9r5sDzph0ztQVbn2
5A6TmEqqtPFL5qG/CSrfoTHCFZ6CyhXU/NZ7ZWMCJXEb2ab4aaqJkPWfcVweiHQt
-> ssh-ed25519 CSMyhg 0CeHfAwRth+O5PnBaR8VyhWxEXP8wT6ki0spZTXhBwo
d78TJ+iK054rPfRO6pp7t2kf1dATi/4bYFDLE3Pcaww
--- 9g35GK8Mvzx2dm3qr+L2aU31KEYHbAQrherGZzX16Ro
#Uˆf 3.æG0Æ"gw$ˆN¨Ê§¼\<ß?Jà~0ðg@]3vÚº¡ÐÀ–ƒˆ
+24 -16
View File
@@ -1,17 +1,25 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g znlomRQwoG7F8EoL60SJ09fRN7/B/LWXFKtDISmrm2M -> ssh-ed25519 4NLKrw quA7yedT47agjViOM1rm2UXkFXlkBrQ/szMyrP4pogI
MAIitMZbd/oJu3rImFifUmQva/Igu9C+4sLFbY852/M j5cUgnyMNULbb+HjQMp9yPwvcn3EI/JZ2V4fRdlcnFA
-> ssh-ed25519 5kwcsA 59DIcdEsC9uifVJ2rGHn6Lv4od9T2XvG7G1tUdwHsmQ -> ssh-ed25519 5kwcsA mIMaDoRRSddDpiUBj3vn43AQoZPaD9Nj/LaqDD19CQo
rkJBVsrDmsoat9EHQDVts6YEgA68eTHgyVp8tDLiEjU CxFWtIIoXweSdcGx7UwGMbgwYMk88H8ZmJ1u3C64HBA
-> ssh-ed25519 9d4YIQ FANDf99gKci19znoxixOQ7v70eq5rDFlEE0TuleUZhQ -> ssh-ed25519 9d4YIQ FHkrz8DpB8Ly1QcS872wAYaOp+LkgHK63/ydPCCMQxE
k/ABQI9V2H65nNThy8axq/0M2CWfZgeq3GV30AKVcNQ wksDmByI4LZyAcyOJR3GZaOnUHvE6mpAQ5AWt5z9qbo
-> ssh-ed25519 3Bcr1w CDyTGjL9d+JNFq+fTiHfWPQZ4usZ2TdskKcwieZpM1Q -> ssh-ed25519 3Bcr1w t9n1d30mWWyBddc5z0bKxxZg1CGs7XN2lcECA75WjVs
13wmA6U6XQW5OurCwJ/K9giJZv47jffySDhD0C3l8RA CidXDNx36aHh8IIgktW1Ybt+nzXWlmqhFH5TFoXC7mY
-> ssh-ed25519 c4NQlA SO0XyKTcsJGf6epggAgQDs+On+yzILjUG92GIQ5bTWI -> ssh-ed25519 c4NQlA 4jkAxmcrfsukN/meIthnMAgAeX50urT8LOY0JsDPU10
YW9ATJpR60LJN1FNKeSCJ76HAkaJ0psm7R6NoXtyi28 VTirLbQ5ywSnXBk+om+TRmRjI2S3Bu3Byu7f6MdjweA
-> ssh-ed25519 ++TqaQ JXzpUgF4ejNqTBkTeW865WoEuqCZN4Wt4jpBQtjmxmc -> ssh-rsa DQlE7w
Oz7gs6cyMiDZ5jWjp7vphF8PHh3sok8UNrKIIaV72Xc R7ki9bXDeaSCxk/zLb2Xvmy06UntcBBIAyO3S9VcA6pjlfamaOJVt/qUS+2+8g47
-> ssh-ed25519 CSMyhg 8heO2O5eCd5rt6u+zfR62yeQbohefXhu1g2FjoJeAiM U2EHL9Y1TazLDxTSJGO5pRKv4OnKtPn1CYCXjBKh7UenRkjzLS6RfpFAoch7CDpI
YDD/bUR6xihsw1WTfB3/USUvEv+S0BJZpfT1rKL23oE OSDgHPYG3TEGG5Y0UIph9IgCzuREsJh6ckl/CXrHHDnbs9PW2ySQI7hWGua+xf88
--- 8778I13zGa9k2O2431zFt7jMHp1XkHqAW1hAxbbCbfU 8uktoJ2AcNDQvrevtZdf2H/eBumEWKPXmIKXTIfosYHLXDL6lXDN34tZGyEMjI8e
ÿp•â´Ïõùr³´€à’]ú”ž¶Ç-W®Óòa` L26nn8gl9CUBy3zYx+RNJor8Ze+NT/6mX12jAtCRxi8cGbqUS7W5QarsIEcsXj7d
dib28LnfuErvk8F6e+P+zHHADgAoBiWixy0QrIvUEpsAtJKcMAkJAAD9S63t0/k8
lYVvJfbpr3EKkXxlYNyOH7d1S0RsPdcBeGe0sXkwT6Q5D7h/OuuGdGTdMBmL5Af/
f774JXDXYmfMNwqqFL9ey5Eh3p8S3tOxl8LrgCu0bdpOFOPEgYtDCIxoGrMUVG1+
-> ssh-ed25519 CSMyhg VoSNTWJr8Q9PtedzPJ5r3P0MO/vFpDj+mQ0kjWCnKBI
UE5LnlKJNgQzn5oyliiyP6uaTokQDKewZYQ/02T4N/Y
--- 0dA5QHaOHsPmtWhbvhxhux/jAsXu0wI3Jnp1Yz0Io+c
qÌ­Ù¾uýQü7ã>]q푨Ï7`ç!®ØÓk«
+25 -17
View File
@@ -1,18 +1,26 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g hhAvT6VcNCahVtm1KuZKvHCed3hcpQz4RN+55QfcWlo -> ssh-ed25519 4NLKrw 4yocYUNwOH2fkSzRbkhJ1DN58fiFHKGQlQY8ljkgykM
y31QEfMiLzAHEvtyyiZH1s5nVwXyCWpTLUPsMd2+OOg 68DuFPNFjyD2+avOMlOlRQm3bs43Bk84MIXygS35MtE
-> ssh-ed25519 5kwcsA rtaPMyOhhH7Iz6QZHPNuc6QD467/SXjFwWSNSXYTkAk -> ssh-ed25519 5kwcsA cC38K7vS4JlkGtSEPn7D6x2m9H08XK4vuhWysJcFNG0
z0Rt9JTnNRv7Krc2NPtONKWfo16XWbG9aOnYE4aujJ8 kKbUBKEfUUkhmnr3g5/Bz8chDouySQf3Mk/+LyNNQls
-> ssh-ed25519 9d4YIQ B/S0exr09e2vMDHxHoOeiTIePEED+aQQbgHp6AAJIBk -> ssh-ed25519 9d4YIQ w3u2BX/R0lVgy35DoFtxUM6f/nYkcNVeAoPDNDSX5yU
MY7QxSjQEGthNl3w/qIaGUtwp2CyAiWp2NrYANnwQ8s XOo2/yrO2r2mn2FTcR+dviKVClU94Pi8Wri17emUsoI
-> ssh-ed25519 3Bcr1w Af7dqP7+Izj2+17BKUZv0OYCJjMO+YkxWavWvrif6Q4 -> ssh-ed25519 3Bcr1w 8ncD6gl8tHVOYO83VW4dXI3XVUNXdfbFoZutCGGykxw
IpbODCD9Y8N/L6z+49uJcMPXYqY17QWJ1E46xe2H7dE r7k0ltk9XK5q9+gyLwqzaajYbTRgsj3rALJTCnQ0Lyg
-> ssh-ed25519 c4NQlA RlMioymSWV+qj4e2bRgvkMeXRtzSp7hrKMPEcD3LZxk -> ssh-ed25519 c4NQlA A8WnqWlC8ljCaQVMa6wJIfe4uA3OQ/q9vJRAF56ovVE
3MzuySB+MkYeTWGduPETRyxSDrbNHLsIUbpbuTqb/Qg xwh0RE9S+z5Rf+PCW0L/flKy506HRel0dVJJVzyO1M8
-> ssh-ed25519 ++TqaQ D4N5MfbrzKJK2d7TXwhFKL9/Ge9T6phvRzoBeebc4Dw -> ssh-rsa DQlE7w
zPA2L8bPbOUPY5XVLskiSTQ8GzOCGtp0NyhGIk8dB34 f5iiDuIUPzKToC7cCUtQUQzkxKPkYsDuHHM+9BHsQmwSOT91Z0J1F4udOlEqUcuE
-> ssh-ed25519 CSMyhg P2mwMRB9MsTcph04/9KNybekb8o3NS++9T5OF+i97Ss kUMCbHvhFEQnzfKruEH3+tRnW1YWtqTzhgvW1MvY/gv8PihekM+TSjB/mxwYSC88
57BkC8oe2HzhCQ0BFIK55bmyevMgx0S4cRkLmAUbUaM yp3NhNxxonBdIjTUcgYBGijWQjPVCuggZcseqyy+h37rQCUNG6whacU7Q+ELbtTW
--- kNaEN8WTXkWGpfu4ibNUgydnIf3bH4++mRMDuXuuxgM ssfofJrKU7l8uBpNuM3ULMK4ZzM9IurZQyqt43n++y21G1hCKVkf7g6q0IQ94SL1
-×±wé'F¬¢Á’¿d/[P•ï%ƒXVqWü÷› æêiïÈ**v[ƒ¿¡C#šAgr¦˜ÞËD±á‘]µ•ß“:Ç=#ßú,Ùúš«)‹ÕðU5#DŸªn˜›‡sþ É4¯‰ °s\Ÿ§*. Ybû%e‘µêŽ«v?pä — î.¥qÙÈ ¹ y6yGyx2JGNnFO8e57vggmAtyFMMv+660plF0bg1pyQfFdmKHrPXmVHFURdQixhrg
␍x+R©%ØL·ì dZhcOq1WZIjNE/SALmZj8NkNxCIjne0oIE94RNq1lj7sRFolbyaYTjfa3lnmsjsl
0s7y3QR1igJozNc0InR6koal1/WzykfXDqNwxFNyknfaGT75ZtsXJ8PC2mLbqxvC
YKYHOBledBfLASMFHeJjXx1b+X1X1DzllY51Z2p1c4BeWxuheNCd2zPiCLfzPk0w
-> ssh-ed25519 CSMyhg /KgSvWyP3WRBq8uKV8VacXZEeGna+HmH3f+4lrJKnBc
PlGjwoekR9PhGTxvxbl81BKkVl4z2JqCH+L68qfoyow
--- CeX80TFkreEFbDMeAGswnT0Y+CVfI9kTdosSCj49Hlk
T½"±–q<E/gíÑ|`.#®8Z2F­ÇD1îËÀ•õ¢+:~Úæ
Í)ü.;/TwzƒHtË ¥agX0ˆß;½ÖOiè)sÑ઒‹„FéõU>aÍê„™çú=ëäG-séÌA¢“␍Hg&,xÕ¡AÂô/%nákb…uÌWÙåR|phª2†ÉsÃ2c
BIN
View File
Binary file not shown.
Binary file not shown.
+24 -17
View File
@@ -1,18 +1,25 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 WyOB4g sgNJigC1mHTfc99a4Zbbvs5CjYFWBzP6zavZwcH+gD0 -> ssh-ed25519 4NLKrw L3agH3Z6bj+Sq9E3DfaTN0V0oZ5niRM8CBEFROroQkM
rsPuP996M3iEnoroYuyu2Wubdl2/bGLubP+poZaLdNc BwL3I3fvhGoEAqcRFCaj7eyiwTKOlgfaUu0j7oX0ORM
-> ssh-ed25519 5kwcsA uuRb8F+MulRQJ+J4a/qQFA/gblaD0fnuY4s+5IivcTo -> ssh-ed25519 5kwcsA +oFqz/Gi9yCpt4zSSmtFGlLb/vR2472qSjHrJwFbDjc
Ff79mN0PHGPfjvcxuzrVLV/xlHtnmxEpeBjx0bhCnVA 4fE6ksDuzdCb5CTM/9l0BCBHdBW5EjgKbdZZORpBewY
-> ssh-ed25519 9d4YIQ eagO4M6TMAlKPHbA1Pxn/gWGbVM5qMIfwXjpgQcSynI -> ssh-ed25519 9d4YIQ hdRYhnLz8V62eC1JPgYRdau2a5DSOGKh3wL0qJmnCnU
EgLCVcLN9DmxUUzOsQPW/0rFnJxLqI2twoLwK6IjbJQ oKIB8WxnmTJ1OxPpkvQ2vbJmgGTbtWH3at5ppFeiZi0
-> ssh-ed25519 3Bcr1w BMqOBhbxvEVN71hXp1k1wvgdMI/CJ1n0uMqCALS0rC4 -> ssh-ed25519 3Bcr1w ZP7GpdLeUAvAIUyISp80xvsoKBQK8li+KS7QpM92jWo
EW0b7pnmX9VUAEnutmVKKnf84dqsZQFGD3VdhEbyw4g om03ep2OHLSijw9LUGTHPnFdH6oGE44hvqxwe8fuAe0
-> ssh-ed25519 c4NQlA RAWVceQjC0n8q/cQVLep/nq/9+yqSu+p+8Md2jRSyhc -> ssh-ed25519 c4NQlA XHPJbNCieeQN0NyvD5yK1MxkiJXKAWvKTm+jg/nQkyU
H4Jnm2breoj7pMrdViDQVVaE97ugvMyotrZPaKL3pl8 Cq6qEBraBwNwp7Cfx4FDNLSx5u94akf27SIQjROR3j8
-> ssh-ed25519 ++TqaQ 39Vgs3hRK8xFch23bFpt98JkpCPlBe1tW/CWNMLzxxQ -> ssh-rsa DQlE7w
btV7hNCoOosE+nuIdLCC1b77Iysgx27VYoAjEvoIxls K/dFkf1KDDiX+HIakT+lv0qMiPv8iNt0wFvaSxpETa2v3Z+YxPdu5MlfAuaY3YCl
-> ssh-ed25519 CSMyhg A/82i7cqPl6YsUR3SUSf1jbZmSdYTXQ8ts/WRP1h/00 0/pSOLUOA90ugAZkj6SF02HValGS/SnXqpQYN9NTSLwie6gUSKAMgfkV1UDNRbLj
w7VfU5nfA/PJiE0qtAQ1GB0UB1kYIHZ0HbPnXNOqi6Q d04rTcSF9XqpQLmLZbQY6/CALiaGj6QPqdKU4lFTDNEyiEzrKUEorAnMnKGULYws
--- 1qTrY3rOpD1NV7WhFdghygfv6SvfRf4eVmRUkFPVi4c y+1QAlKY4yyzRaHTRq/IbBC83oUjpj391Z8fFUelHnN8iXXZQpmigOpw5/XVqRP0
æ LÕ‰å5_FY¸e)×±)Zúl~Ìäuwy Ã{;ßãN…ezÿ° Â·äœæ 21+iZty2e046r1TvSp+QpD/IvqqWUMMRcaWWUm9tCJQCaMOyapyrFNLjvmJzhgvg
,&["uA:Cùœ§hnî"ìpJ*Uôày:Üñl²¥®Y ™;„qÊ':}0␍ø¥u‡çÔf-È×Ì‹àï$O¬66]zì£S=’lë BiEFknqde0lfYJQIa4Mc5qziM98wGU0cVnsieYXp3AtcJ6ozhW6znDfedkS3TgrX
SQWwWbWNskjOAhLtRenACfoOkupq//ZCce3HCrJYbHCWG+lw6SfU0vA1EO6O1/SX
KlGSp2zr9Rp/TkxABRuciiMlLMVDi4EI5iuubWhH0OY8Sy9140hOYjDUFrNeJN4n
-> ssh-ed25519 CSMyhg jBp/C2EF27oe8TuNMy/GYutMb29ST2ciVjg3Bj6OZUE
WHPnk6765AVdMQEbxENGd0b44vyefRR2rv4rxPDpNS8
--- bFPtf/w/F/Mx/YycTvC1SKGQiOT33QluwD0LaPYjK5U
2xÚN˜?âóx%þ´‹ök£é3̇‹å‰Êž›&‘␍vßë²n!8‚б8ôtUE8æ„–½ó[†£sD/*èÚ[@•ͰgcÇë*ÝxáÐȶÍìM2 H°ÝõרcaK¡P ®/˜␍ŠžŒ¢>ÏÍ›s{7®Ô
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.