Weird idea continues connecting fediverse and email
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 andmail 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.
like this
Anders Rytter Hansen and Neil E. Hodges like this.
reshared this
Anders Rytter Hansen reshared this.
haui
in reply to Oliver Lowe • • •Sounds awesome! Good work. Does it also send you an update of how many upvotes you get? (Random thought)
Good luck.
Oliver Lowe
in reply to haui • • •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
in reply to Oliver Lowe • • •dumpsterlid
in reply to Oliver Lowe • • •Hi is your stamina not what it used to be in the the bedroom? For only $69.99 all your problems can be solved with this As Bestus Men’s Enrichment Cream. Just clink the link here! —> Enlarge Me Now
Sorry… just trying to make you feel a little more at home, I know it must be disorienting coming from Email as that is a very long way away. I tried to learn a little bit about your customs and give you a customary greeting from your culture!
Rick Astley - Never Gonna Give You Up (Official Music Video)
YouTubeOliver Lowe
in reply to dumpsterlid • • •UNSUBSCRIBE
;)
like this
Kari'boka likes this.
helenslunch
in reply to Oliver Lowe • • •abbadon420
in reply to helenslunch • • •Baku
in reply to dumpsterlid • • •mySFWaccount
in reply to Oliver Lowe • • •maniacalmanicmania
in reply to Oliver Lowe • • •Oliver Lowe
in reply to maniacalmanicmania • • •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
in reply to maniacalmanicmania • • •Quokka
in reply to AVincentInSpace • • •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.
Oliver Lowe
in reply to Quokka • • •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 :(
Oliver Lowe
in reply to Quokka • • •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
in reply to Oliver Lowe • • •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
Oliver Lowe
in reply to Skelectus • • •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! :)
Draconic NEO
in reply to Quokka • • •I mean you already could do that with something like ActivityPub proxy or just change your instance domain every time.
If that's such a risk, why aren't people doing it now?
Skull giver
in reply to maniacalmanicmania • • •SorteKanin
in reply to Oliver Lowe • • •Oliver Lowe
in reply to SorteKanin • • •Handles
in reply to Oliver Lowe • • •mvirts
in reply to Oliver Lowe • • •Hmmm
🙃
Anders Rytter Hansen
in reply to Oliver Lowe • •Fediverse reshared this.
Oliver Lowe
in reply to Anders Rytter Hansen • • •like this
Anders Rytter Hansen likes this.
Fediverse reshared this.
Anders Rytter Hansen
in reply to Oliver Lowe • •You're welcome! Great that it works :)
@Fediverse
Fediverse reshared this.
Lung
in reply to Oliver Lowe • • •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
like this
Anders Rytter Hansen likes this.
muelltonne
in reply to Lung • • •max
in reply to Oliver Lowe • • •Onno (VK6FLAB)
in reply to Oliver Lowe • • •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!
swab148
in reply to Oliver Lowe • • •fmstrat
in reply to Oliver Lowe • • •onlinepersona
in reply to fmstrat • • •SineSwiper
in reply to onlinepersona • • •onlinepersona
in reply to SineSwiper • • •Oliver Lowe
in reply to fmstrat • • •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.
Cătă
in reply to Oliver Lowe • • •@Oliver Lowe It's social email all over.
Edit: btw, on friendica you can also add an email address in the permissions screen when composing a new post - so this can also be sent via mail. But this thing is a whole different level
hperrin
in reply to Oliver Lowe • • •helenslunch
in reply to Oliver Lowe • • •It's not though! Fediverse = federated universe, and encompasses all federate platforms. I learned this recently myself also.
Feathercrown
in reply to Oliver Lowe • • •onlinepersona
in reply to Oliver Lowe • • •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
CC BY-NC-SA 4.0 Deed | Attribution-NonCommercial-ShareAlike 4.0 International | Creative Commons
creativecommons.orgOliver Lowe
in reply to onlinepersona • • •Interesting. Could you go into this a bit more? Do you mean for example being able to use the Lemmy web UI to read LKML?
onlinepersona
in reply to Oliver Lowe • • •Darn it, you got me. I hadn't thought about it more deeply, but now I'll give it a few minutes.
So yeah, a lemmy UI to LKML would make the experience much better. Obviously the LKML serves two purposes: discussion and code review, for which the latter lemmy probably isn't too well equipped, but it would help make it more approachable.
Probably to make it work there'd need to be some kind of listener. I imagine signing up to a mailinglist with an email address of the domain running your software would suffice. Incoming emails would then be converted to activitypub messages and sent to the lemmy server you control.
You'd have two classes of email addressed: list email addresses which map to lemmy communities and user email addresses which map to users on the lemmy server (which could also be remote users in the fediverse). The list email addresses are there to create posts in the lemmy community and populate existing lemmy posts (created in the mailinglist) with responses from the mailinglist (response = comment).
A user on lemmy on lemmy commenting on a post
... show moreDarn it, you got me. I hadn't thought about it more deeply, but now I'll give it a few minutes.
So yeah, a lemmy UI to LKML would make the experience much better. Obviously the LKML serves two purposes: discussion and code review, for which the latter lemmy probably isn't too well equipped, but it would help make it more approachable.
Probably to make it work there'd need to be some kind of listener. I imagine signing up to a mailinglist with an email address of the domain running your software would suffice. Incoming emails would then be converted to activitypub messages and sent to the lemmy server you control.
You'd have two classes of email addressed: list email addresses which map to lemmy communities and user email addresses which map to users on the lemmy server (which could also be remote users in the fediverse). The list email addresses are there to create posts in the lemmy community and populate existing lemmy posts (created in the mailinglist) with responses from the mailinglist (response = comment).
A user on lemmy on lemmy commenting on a post from a mailinglist would be automatically signed up to the mailinglist with a user email address that's dynamically created (I think your email has to be signed up otherwise the mailinglist rejects it). Upon successful signup, the response would be sent using their email address to the maillinglist thread.
The other way around, a comment would show up on lemmy with email address and username of the person that responded on the mailinglist.
(10 minutes later) After writing it out, I'm not sure it's what you're doing and more like a bridge, but maybe it'll inspire you. Who knows.
There's probably something I'm missing and probably this isn't even what your intention was when you started out with this.
Anyway, do your thing dude and have fun!
CC BY-NC-SA 4.0
CC BY-NC-SA 4.0 Deed | Attribution-NonCommercial-ShareAlike 4.0 International | Creative Commons
creativecommons.orgOliver Lowe
in reply to onlinepersona • • •Hey mate thanks for writing all that down. Gives me a few ideas - in
particular how NNTP could fit in to the equation.
LKML can be accessed by a usenet client at nntp.lore.kernel.org. In
theory, then, it should be possible to at least read both LKML and
ActivityPub stuff hosted at the same NNTP server. To get that working
means making sure all the conversion and mapping of concepts are as
clean as possible. It's a good test!
Thanks again!
InternetCitizen2
in reply to Oliver Lowe • • •Rentlar
in reply to Oliver Lowe • • •The ghost of Lemmy Kilmister graces ur presence! 🎸🎤
Forward this to at least 3 of ur friends and you will have ur wish granted! 🤩
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]
Z4rK
in reply to Oliver Lowe • • •GitHub - DerZombiiie/pingpong: p2p chat using icmp
GitHubᴇᴍᴘᴇʀᴏʀ 帝
in reply to Oliver Lowe • • •binomialchicken
in reply to Oliver Lowe • • •To: localtesting@aussie.zone
how does the bridge know if you meanthttps://aussie.zone/c/localtesting
orhttps://aussie.zone/u/localtesting
instead?CommunityLinkFixerBot
in reply to binomialchicken • • •Oliver Lowe
in reply to binomialchicken • • •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 forreadability):
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?
WebFinger
webfinger.netbinomialchicken
in reply to Oliver Lowe • • •🇰 🔵 🇱 🇦 🇳 🇦 🇰 ℹ️
in reply to Oliver Lowe • • •Oliver Lowe
in reply to 🇰 🔵 🇱 🇦 🇳 🇦 🇰 ℹ️ • • •Yep, that's what it looks like at my end!