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

Fediverse

28396 readers
190 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 !moderators@lemmy.world!

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 <otl@apubtest2.srcbeat.com>
To: localtesting@aussie.zone
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.

top 50 comments
sorted by: hot top controversial new old
[–] SorteKanin@feddit.dk 60 points 8 months ago (1 children)

Dude was so preoccupied about whether he could, that he never stopped to think whether he should.

[–] otl@apubtest2.srcbeat.com 40 points 8 months ago

Oh I stopped and thought whether I should. The answer was "probably not" every time...

[–] halm@leminal.space 29 points 8 months ago

LOL, you maniac. You did it, you finally did it!

[–] maniacalmanicmania@aussie.zone 22 points 8 months ago (3 children)

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

[–] otl@apubtest2.srcbeat.com 37 points 8 months ago

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

That's a good question. Right now there's very little stopping people from spinning up some ActivityPub server and blasting out messages. I'm actually surprised at how little ActivityPub spam there is currently.

One of the awesome things about the fediverse is how anti-commercial it is right now. Maybe it's not a major target for spam because there's not a lot of money in it.

[–] AVincentInSpace@pawb.social 14 points 8 months ago (1 children)

Defederation would be my guess

[–] Marsupial@quokk.au 12 points 8 months ago (3 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.

[–] otl@apubtest2.srcbeat.com 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 :(

[–] Skelectus@suppo.fi 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

load more comments (1 replies)
load more comments (2 replies)
[–] lung@lemmy.world 22 points 8 months ago (2 children)

Brilliant, who needs new fancy apps when you have email clients

Tell Google to give us back our RSS feeds too, they stole em

Then there's the irc client bridge to think about, posts could be channels and you reply in em

And ofc the extra spicy sms bridge where an AI gives you an executive summary of your memes for the day

[–] otl@apubtest2.srcbeat.com 14 points 8 months ago

And ofc the extra spicy sms bridge where an AI gives you an executive summary of your memes for the day

needs more crypto

[–] muelltonne@feddit.de 4 points 8 months ago

RSS is not gone - you can read RSS by mail and it's quite awesome. Check RSS2Email or Nachrichtensortiermaschine

[–] Feathercrown@lemmy.world 21 points 8 months ago

I hereby bestow upon ye the title of "Interoperability Warlock", for ye are tampering with forces beyond this mortal realm.

[–] anders@rytter.me 17 points 8 months ago (1 children)
[–] otl@apubtest2.srcbeat.com 15 points 8 months ago (1 children)

Thanks for replying from friendica! Confirming message received OK :)

[–] anders@rytter.me 7 points 8 months ago

@otl
You're welcome! Great that it works :)
@fediverse

[–] Rentlar@lemmy.ca 17 points 8 months ago

The ghost of Lemmy Kilmister graces ur presence! 🎸🎤

Forward this to at least 3 of ur friends and you will have ur wish granted! 🤩

  • 3 friends - ur wish granted in 5 years🌟⭐
  • 5 friends - in 3 years
  • 10 friends - in 1 year
  • 20 friends - in 6 months
  • 30 friends - in 3 months
  • 50 friends - in 1 month
  • 100 friends - TOMORROW! 🌠🌠🌠

But be careful, if you don't pass on the good luck, Lemmy's ghost will HAUNT you in 3 days!!! 👻😱😱 Hurry!


[The only thing missing is random colours of text]

[–] haui_lemmy@lemmy.giftedmc.com 16 points 8 months ago (1 children)

Sounds awesome! Good work. Does it also send you an update of how many upvotes you get? (Random thought)

Good luck.

[–] otl@apubtest2.srcbeat.com 15 points 8 months ago (1 children)

Does it also send you an update of how many upvotes you get?

Well, I receive the corresponding ActivityPub "Like"s from the servers. But right now I just drop the message. I suppose that could turn into a mail message with a body like "user X liked your post" or something, but that doesn't feel like a natural mapping to me.

I'm also one of those people that hides upvote & boost counts in my Mastodon app ;)

[–] haui_lemmy@lemmy.giftedmc.com 6 points 8 months ago

Thats actually very smart imo.

[–] mySFWaccount@lemmy.ca 15 points 8 months ago

Reply All: Hello?

[–] hperrin@lemmy.world 15 points 8 months ago

This is cool. Keep working on it.

[–] vk6flab@lemmy.radio 14 points 8 months ago

This is an excellent idea. It's gateways like this that will continue to offer options that are not available on other platforms.

Look forward to seeing how this evolves!

[–] fmstrat@lemmy.nowsci.com 14 points 8 months ago (2 children)

This is interesting, but have you considered porting to Usenet? It's basically a shared inbox thats whole intent is threaded conversation. Sound familiar?

[–] otl@apubtest2.srcbeat.com 4 points 8 months ago

This is interesting, but have you considered porting to Usenet?

Yes that's on the list! Now that I have a whole bunch of RFC822 files, (in Maildirs) I can also serve them over read-only NNTP. This was the original goal actually - I like the idea of using the simpler protocol NNTP over IMAP to read stuff.

[–] onlinepersona@programming.dev 3 points 8 months ago (1 children)
[–] SineSwiper@discuss.tchncs.de 5 points 8 months ago (1 children)

It's a protocol, made with open RFC docs.

[–] onlinepersona@programming.dev 2 points 8 months ago

TIL. Always thought it was software.

[–] onlinepersona@programming.dev 13 points 8 months ago (3 children)

Looks like a really fun project and honestly, this looks like the future of mailinglists (fuck mailinglists). Do keep working on it. I'd much rather have this put in front of LKML than the terrible interface they have right now.

👏

CC BY-NC-SA 4.0

load more comments (3 replies)
[–] Emperor@feddit.uk 10 points 8 months ago* (last edited 8 months ago)

You're weird. I like you.

[–] swab148@startrek.website 5 points 8 months ago

Hello from Lemmy!

[–] binomialchicken@lemmy.blahaj.zone 4 points 8 months ago (2 children)

When you specify To: localtesting@aussie.zone how does the bridge know if you meant https://aussie.zone/c/localtesting or https://aussie.zone/u/localtesting instead?

[–] otl@apubtest2.srcbeat.com 2 points 8 months ago (1 children)

When you specify To: localtesting@aussie.zone how does the bridge know if you meant https://aussie.zone/c/localtesting or https://aussie.zone/u/localtesting instead?

Good question

The process of going from that email-like address to an ActivityPub Actor (https URL) is done by WebFinger. So whatever we get back from that lookup is who we send the message to. For example, when we look up localtesting@aussie.zone we get this response (truncated for readability):

{
  "rel": "self",
  "type": "application/activity+json",
  "href": "https://aussie.zone/c/localtesting",
  "properties": {
    "https://www.w3.org/ns/activitystreams#type": "Group"
  }
}

The value for type, application/activity+json tells us that we can send ActivityPub stuff to it.

You can play around with WebFinger in the browser.

Hope that makes sense?

load more comments (1 replies)
load more comments (1 replies)
[–] InternetCitizen2@lemmy.world 4 points 8 months ago
[–] Z4rK@lemmy.world 3 points 8 months ago (1 children)
[–] otl@apubtest2.srcbeat.com 2 points 8 months ago

Don't tempt me :D

[–] mvirts@lemmy.world 2 points 8 months ago

Hmmm 🙃

📧📧📧

load more comments
view more: next ›