From 3c16c0e5e6db072ef7ea5bb516e3128cba6af87a Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Thu, 10 Oct 2019 11:41:37 -0400 Subject: [PATCH] Update ActivityPub resources --- site/posts/2019-09-22-activitypub-resources.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/site/posts/2019-09-22-activitypub-resources.md b/site/posts/2019-09-22-activitypub-resources.md index 8b8315e..f17a667 100644 --- a/site/posts/2019-09-22-activitypub-resources.md +++ b/site/posts/2019-09-22-activitypub-resources.md @@ -7,7 +7,7 @@ metadata.shortDesc = "A compilation of resources I found useful in learning/impl This isn't really going to be a blog most, but more of a collection of tidbits and resources I found helpful in implenting the [ActivityPub integration](/meta/2019/reincarnation/#activity-pub) for the new version of my blog. -This post was last updated on Sep 22, 2019. +This post was last updated on Oct 10, 2019. @@ -26,9 +26,12 @@ This post was last updated on Sep 22, 2019. - [Kaniini's blog post](https://blog.dereferenced.org/federation-what-flows-where-and-why) about how data actually moves through the fediverse. ### Reference Material +- Darius Kazemi has a [simple reference implementation](https://github.com/dariusk/express-activitypub/) of an ActivityPub server written using Node.js. - I used the [Pleroma source code](https://git.pleroma.social/pleroma/pleroma/) a great deal when working on my implementation, mainly just because I'm familiar with Elixir. - I'd also like to think [my own implementation](https://git.shadowfacts.net/shadowfacts/shadowfacts.net/src/branch/master/lib/activitypub) is fairly approachable (it's about 700 lines of not-too-complicated TypeScript). - Ted Unangst has a collection of [sample data](https://jawn.tedunangst.com/a/R526ZQ49MbYt5J4KpR) which is useful for comparing how different implementations represent things in AP. ### Other +- For actually testing federation, [ngrok](https://ngrok.com/) is very useful for testing your implementations against others. It creates a tunnel from your local machine to a public domain with HTTPS already setup. Because your code is still running locally, you have access to all your usual debugging tools and can iterate rapidly. +- Testing against other implementations running locally (be it on your machine or inside a VM/container) lets you access debug logs and see what the other server is actually receiving, which can be quite useful. - Ted Unangst also has his own [compilation of AP-related links](https://flak.tedunangst.com/post/ActivityPub-as-it-has-been-understood).