4 ms·
The motivation for the project was mostly trying to see if a chat service could be run on low cost hardware, hence the reason for targeting RPi Zero. I would l
by balzack 3y ago
The motivation for the project was mostly trying to see if a chat service could be run on low cost hardware, hence the reason for targeting RPi Zero.
I would love to see other federated services running on home CE devices, but I don't see this happening with the execution requirements of services like mastodon or matrix. While those services are great and I use them, I think they lend themselves more to group hosting vs personal hosting.
- vidarh 3y agoThere's nothing in the ActivityPub spec that is particularly heavy. Mastodon is pretty much the heaviest possible ActivityPub option. If you want to handle just an individual account and especially if you want to handle mainly messenger style direct messages, you can do that with far lower requirements.
- devpierre 3y agoIf ActivityPub doesnt impose any restrictions on the data model and flow, then it should be possible to bridge an ActivityPub network.
- vidarh 3y agoIt imposes some limits, but they're pretty basic. Mastodon then adds a few more things. E.g. @vidar@galaxybound.com is my Mastodon handle, but that resolves to an ActivityPub actor via webfinger [1]. The ActivityPub actor is at [2]. Basically ActivityPub sets out a very basic skeleton for passing messages ("activities") between actors designated by URI's. Those messages must be JSON and has a few very basic requirements, such as having a "type". E.g. "Announce" is a type that corresponds to "boost" or "retweet", "Create" is a type that means you're creating another object such as a "Note" (toot/tweet) which follows the same general structure. Those messages can be addressed to specific other URI's representing audiences with to/cc fields. When you add that to your outbox, you or your instance also need to post them to your followers instances. So as long as you can receive POST's w/JSON, and return a list of JSON versions of messages, you have the basics. The JSON in ActivityPub is verbose but it's not very hard to generate, so bridging is likely doable. [1] https://webfinger.net/lookup/?resource=vidar%40galaxybound.com https://webfinger.net/lookup/?resource=vidar%40galaxybound.c... [2] https://m.galaxybound.com/users/vidar https://m.galaxybound.com/users/vidar but needs Accept: header: curl -H "Accept: application/activity+json" https://m.galaxybound.com/users/vidar https://m.galaxybound.com/users/vidar | jq .