#ATProto

Make Kasprzak πŸ¦–distraction.engineer@bsky.brid.gy
2025-06-01

In Mastodon flavor ActivityPub, the webfinger's subject decides a user's displayed handle. The URLs used as IDs or the location of the "self" endpoint don't have to match the user at all. So then, what if webfingers resolved to DID URLs instead? ❀️‍πŸ”₯ CHAOS! ❀️‍πŸ”₯ #atproto #atdev #activitypub

In my code I have my activitypub endpoints that take a user handle and resolve things. What if we used DID's instead?
Make Kasprzak πŸ¦–distraction.engineer@bsky.brid.gy
2025-06-01

The raw responses look like this. When you search for a user on Mastodon, it makes a webfinger request. My domain distraction.engineer use a Mastodon-style redirect (i.e. HTTP 301 + CORS), and the real PDS gets fingered instead (eww). Then self is fetched to find its endpoints. #atproto #atdev

snapshot of two curl requests, the first resolves after a redirect
Make Kasprzak πŸ¦–distraction.engineer@bsky.brid.gy
2025-06-01

Something I'd like to try next is to change the underlying ActivityPub versions of user identifications to use DID's. In theory, that could make ActivityPub PDS users able to change servers without losing data. 😱 #atproto #atdev #activitypub

Make Kasprzak πŸ¦–distraction.engineer@bsky.brid.gy
2025-06-01

πŸŽ‰ GOT IT!! HAHAHA!! πŸŽ‰ The issue ended up being that Mastodon is strict about content-type. With that working I needed a Mastodon compatible redirect (301) to support my custom URL. To show off more, I tried hard coding a featured post, but it didn't work. #atproto #atdev bsky.app/profile/dist...

RE: https://bsky.app/profile/did:plc:svpym4ujks7qxczscyzq7fuy/post/3lql7jiqaac2a

I wouldn’t be surprised if @bsky.app and #atproto got their native iPad version of a photo sharing app first *wink wink*

RE: https://bsky.app/profile/did:plc:bgakgsp7rz6ioyaqbvd7p7ew/post/3lql7x6vax72l

Make Kasprzak πŸ¦–distraction.engineer@bsky.brid.gy
2025-06-01

Does your Bluesky PDS support Mastodon? Mine does*. πŸ˜‹ #atproto #atdev #activitypub

Test user's profile page shown in the official Bluesky client appMastodon client Tusky showing the same test user
2025-06-01

Trying Ghost's AP implementation just emphasizes what I don't like about AP-in-practice. Between that and all the bridge profiles, there are 4 new profiles, each with their own copy of the data to maintain.

With AT, it's just the one account across all platforms with all the data stored on my PDS.

Worse, to get any notice to posts appearing on them, I have to boost from my existing accounts on each network. That's a lot of trouble! With AT, they would just pull it from the relay, which pulls from my PDS. Or go directly to the PDS in some circumstances.

AP could probably be better in practice, but everyone is required to make it work with Mastodon or essentially be incompatible since it has most of the network on a few servers with a standard ignoring implementation.

#ActivityPub #ATProto #BlueSky

Make Kasprzak πŸ¦–distraction.engineer@bsky.brid.gy
2025-06-01

Okay, added just enough code to make the #atproto PDS support did:apub. Final format is: did:apub:user:host.com Which becomes: acct:user@host.com I need to go back and fix the resolver, as right now that doesn't generate a valid webfinger URL. I also learned colons in did:web become slashes!!!

Make Kasprzak πŸ¦–distraction.engineer@bsky.brid.gy
2025-05-31

ActivityPub webfinger on an #atproto PDS is working with real data now (both in dev and on a live server). I got chores to do now, but this crazy thing is inching ever closer. ❀️‍πŸ”₯

Make Kasprzak πŸ¦–distraction.engineer@bsky.brid.gy
2025-05-31

Ah, got it. The #atproto mock server doesn't retain them/reload them, though they are in the database.

2025-05-31
2025-05-31

Es gibt bereits unglaublich viele Apps und Tools fΓΌr #Bluesky und #ATProto. @mubashariqbal.com hat dazu ein tolles Verzeichnis angelegt. blueskydirectory.com

The Ultimate Directory of tool...

2025-05-31

forget the unanswerable question on "is bluesky decentralized right now," I'd like to put forward a hot take:

we need more people capable of running independent ATProto stacks (now that more work has made that
more viable) and Fediverse admins should play with it

because Bluesky PBC is going to drive that shit into the ground


#bluesky #atproto #fediverse #atmosphere #decentralizedSocial
John Mc π“…› #20Times πŸ†johnmcnwoods.kawaii.social@bsky.brid.gy
2025-05-30

Yippe Im now on @surf.social ! Really Looking forward to exploring it also comparing it to @dazzle.fm #SurfSocial #SurfFeeds #ATmosphere #ATProto #FreeOurFeeds #Bluesky

Make Kasprzak πŸ¦–distraction.engineer@bsky.brid.gy
2025-05-30

A "more complete" PR that fixes Ubuntu 24.04 support in the PDS. #atdev #atproto github.com/bluesky-soci...

Ubuntu 24.04 support, erroneou...

Make Kasprzak πŸ¦–distraction.engineer@bsky.brid.gy
2025-05-30

End of the night: I have successfully deployed my custom #atproto PDS to a real VPS server. The ActivityPub endpoints "work", in that they exist and they output fake data. I gotta be up early tomorrow so it's sleep time, then I make real Bluesky PDS visible to Mastodon. πŸŽ‰ bsky.app/profile/dist...

RE: https://bsky.app/profile/did:plc:svpym4ujks7qxczscyzq7fuy/post/3lqekn7litk2n

Make Kasprzak πŸ¦–distraction.engineer@bsky.brid.gy
2025-05-29

Building a weapon of mass disruption. #activitypub #atproto

Make Kasprzak πŸ¦–distraction.engineer@bsky.brid.gy
2025-05-29

ActivityPub endpoint responses on the #atproto PDS are starting to resemble real ones.

Kuba Suder β€’ @mackuba.eu on πŸ¦‹mackuba@martianbase.net
2025-05-29

#Bluesky firehose events streaming in #rubylang go brrrrr 😎 (faye-websocket 0.12 was released a few days ago, skyfall update on master for now) #atproto

psionides@iridium:~/websocket-old$ time ./websocket_test.rb 500000
Running in old mode:
Connected
Estimated processing speed: 6289.4 evt/s
real	1m20.259s
$ cd ../websocket-fix/
$ time ./websocket_test.rb 500000
Running in fast mode:
Connected
Estimated processing speed: 23870.5 evt/s
real	0m21.683s
2025-05-29

can everyone please get off their high horse about bluesky? There is alternate relays, alternate apps and alternate PDSes now. The only centralised part is DID:PLC, but people can still use DID:web.


#bluesky #atproto

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst