this post was submitted on 06 Mar 2024
211 points (97.7% liked)

Fediverse

28297 readers
830 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to [email protected]!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 1 year ago
MODERATORS
 

What have I done?! My abomination of an idea of bridging my email and ActivityPub progresses. If you see this message, something is working! Comments replies are welcome as it's a good test of this system :)

People keep saying ActivityPub is a lot like email. If it's so similar to email, could I use my email client to interact with the fediverse?

Previously I did this by writing a SMTP interface to the Mastodon HTTP API. That worked. But as we probably know, the fediverse is not Mastodon; it's really ActivityPub. The real deal would be working with ActivityPub directly, not the Mastodon HTTP API.

And that's now (mostly?) working! In shonky diagram form, sending looks like this:

laptop --SMTP--> my_server --ActivityPub--> fediverse

Replies look like this:

fediverse --ActivityPub--> my_server --SMTP--> mailbox <--IMAP-- laptop

my_server translates back and forth between ActivityPub messages and mail messages.

For example given the message:

Date: Wed, 6 Mar 2024 16:37:59 +1100
From: Oliver Lowe <[email protected]>
To: [email protected]
Subject: test 2

test hello world!

The following ActivityPub message is created:

{
	"@context": "https://www.w3.org/ns/activitystreams",
	"id":"https://apubtest2.srcbeat.com/outbox/1709703480070628170",
	"type":"Note",
	"name":"test 2",
	"to": ["https://aussie.zone/c/localtesting","https://www.w3.org/ns/activitystreams#Public"],
	"cc": ["https://aussie.zone/c/localtesting"],
	"published":"2024-03-06T16:37:59+11:00",
	"attributedTo":"https://apubtest2.srcbeat.com/actor.json",
	"content":"test hello world!",
	"mediaType":"text/markdown"
}

There's still a lot of bugs (of course) and unimplemented bits (of course). I can't call this a proper fediverse service yet. I'm going to roll with this for a bit and see how it holds up.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 22 points 8 months ago (9 children)

Excuse my ignorance but how will the fediverse defend itself against email spam?

[–] [email protected] 14 points 8 months ago (6 children)

Defederation would be my guess

[–] [email protected] 12 points 8 months ago (5 children)

But if you can keep spamming our (heh) a new site for like 99c a domain name, you could do this a lot despite getting banned.

The alternative is something like FediSeer where you can get sites guaranteed by others and block anything not given the all-clear, but that really harms the ability for new sites to appear.

[–] [email protected] 12 points 8 months ago (1 children)

The alternative is something like FediSeer where you can get sites guaranteed by others and block anything not given the all-clear, but that really harms the ability for new sites to appear.

If something like this were to gain lots of traction I'd hope it would be something not too difficult to implement by smaller new sites.

What really sucks is the situation with email now: it's really tricky to get stuff delivered if you're not Google/Microsoft. The barrier to entry is way, way too high :(

[–] [email protected] 3 points 8 months ago (1 children)

I joined fediseer with this lemmy instance. I don't know what's going to happen with your self-built software, but getting a guarantee is easy, if your instance looks credible. I'm not aware of anyone that uses it as a filter at this point either.

Anyway, this is an awesome project. If you keep working on it and need a fediseer guarantor for the site, I'm happy to do that.

See their lemmy community: lemmy.dbzer0.com/c/fediseer

[–] [email protected] 2 points 8 months ago

Oh wow awesome. Thanks so much!

It needs a bit more fleshing out, removing a bit of hardcoding too. And of course I want to publishit under an open source licence too. Thanks for the tip - I've written it down in the growing TODO file! :)

load more comments (3 replies)
load more comments (3 replies)
load more comments (5 replies)