From 6f53b0dc9c993641b1e8b7ab26fe90508f1a6147 Mon Sep 17 00:00:00 2001 From: Gabriel Simmer Date: Sat, 10 Aug 2024 14:25:19 +0100 Subject: [PATCH] Groundwork for AP posting --- ap/actor.json | 17 +++++++++++++++++ ap/webfinger.json | 11 +++++++++++ index.js | 10 ++++++++++ 3 files changed, 38 insertions(+) create mode 100644 ap/actor.json create mode 100644 ap/webfinger.json diff --git a/ap/actor.json b/ap/actor.json new file mode 100644 index 0000000..b6cebf8 --- /dev/null +++ b/ap/actor.json @@ -0,0 +1,17 @@ +{ + "@context": [ + "https://www.w3.org/ns/activitystreams", + "https://w3id.org/security/v1" + ], + + "id": "https://thirdrule.gmem.ca/actor", + "type": "Person", + "preferredUsername": "thirdrule", + "inbox": "https://thirdrule.gmem.ca/inbox", + "discoverable": true, + "publicKey": { + "id": "https://thirdrule.gmem.ca/actor#main-key", + "owner": "https://thirdrule.gmem.ca/actor", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyQMRCT3ZAmJXDiyVp3pf\nULqbCels2ZI/s0SDMwQtIbZPe1/d/IRkDJPeLtTXJJK1OpWk1BjKJX+UQNdKNFAY\nRoNybNvJ8H3i9qo54F2/aW5IH8MMfw1pJABAJACtU03uoqpRFFPNOrcB2AfIOJ9c\nckfMLMJljn/m7H1Niro1I0usfZbgtZUOPKTfZZresMDzfE1F4byzs6q+hkhGKA4J\n2zl224uIi3i1e98B8I73Ul6/+/x+OgAdA9OW6FXMqnF2+tSYkoXI/TVSCYBs9tdi\nkLA0Vj8dHW9zUkxIDImVZ+5gNWtIuU/3sZ3K/aXwr5E7fEZOvWWKLuLAQ+nARuiL\nKQIDAQAB\n-----END PUBLIC KEY-----\n" + } +} diff --git a/ap/webfinger.json b/ap/webfinger.json new file mode 100644 index 0000000..679db27 --- /dev/null +++ b/ap/webfinger.json @@ -0,0 +1,11 @@ +{ + "subject": "acct:thirdrule@thirdrule.gmem.ca", + + "links": [ + { + "rel": "self", + "type": "application/activity+json", + "href": "https://thirdrule.gmem.ca/actor" + } + ] +} diff --git a/index.js b/index.js index cc68696..85ad521 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,6 @@ import index from "./index.html"; +import actor from "./ap/actor.json"; +import webfinger from "./ap/webfinger.json"; async function generateRule(env) { const simple = { @@ -42,6 +44,14 @@ export default { }); ctx.waitUntil(cache.put(cacheKey, response.clone())); return response; + case "/.well-known/webfinger": + return new Response(JSON.stringify(webfinger), { + headers: { "Content-Type": "application/json" } + }); + case "/actor": + return new Response(JSON.stringify(actor), { + headers: { "Content-Type": "application/json" } + }); default: return new Response("not found", {status: 404}); }