Alex Gleason 🐍🚬 on Nostr: Spent a few hours digging through Bluesky's labyrinthian source code. Abstractions on ...
Spent a few hours digging through Bluesky's labyrinthian source code. Abstractions on top of abstractions on top of abstractions...
Anyway, they make it impossible to fetch profiles from any PDS or their mega "relay" without credentials. But oddly if you run your own PDS, you can somehow fetch profiles from their central servers without authentication... huh...
So I finally figured out that api.bsky.app is their open domain.
Eg, this one requires authentication:
https://bsky.social/xrpc/app.bsky.actor.getProfile?actor=did%3Aplc%3Azhbjlbmir5dganqhueg7y4i3But this one does not:
https://api.bsky.app/xrpc/app.bsky.actor.getProfile?actor=did%3Aplc%3Azhbjlbmir5dganqhueg7y4i3So... they realized they had a problem. In order to be decentralized, you have to allow public access. But instead of just allowing public access to their big mega service, they made a separate service just for PDS installations and then didn't advertise that fact.
Published at
2024-11-14 18:10:59Event JSON
{
"id": "97f105a773040bb3f6c2e978576e583d1bcbf6076f0a11ba5494244795b1f541",
"pubkey": "0461fcbecc4c3374439932d6b8f11269ccdb7cc973ad7a50ae362db135a474dd",
"created_at": 1731607859,
"kind": 1,
"tags": [
[
"r",
"https://bsky.social/xrpc/app.bsky.actor.getProfile?actor=did%3Aplc%3Azhbjlbmir5dganqhueg7y4i3"
],
[
"r",
"https://api.bsky.app/xrpc/app.bsky.actor.getProfile?actor=did%3Aplc%3Azhbjlbmir5dganqhueg7y4i3"
]
],
"content": "Spent a few hours digging through Bluesky's labyrinthian source code. Abstractions on top of abstractions on top of abstractions...\n\nAnyway, they make it impossible to fetch profiles from any PDS or their mega \"relay\" without credentials. But oddly if you run your own PDS, you can somehow fetch profiles from their central servers without authentication... huh...\n\nSo I finally figured out that api.bsky.app is their open domain.\n\nEg, this one requires authentication:\n\nhttps://bsky.social/xrpc/app.bsky.actor.getProfile?actor=did%3Aplc%3Azhbjlbmir5dganqhueg7y4i3\n\nBut this one does not:\n\nhttps://api.bsky.app/xrpc/app.bsky.actor.getProfile?actor=did%3Aplc%3Azhbjlbmir5dganqhueg7y4i3\n\nSo... they realized they had a problem. In order to be decentralized, you have to allow public access. But instead of just allowing public access to their big mega service, they made a separate service just for PDS installations and then didn't advertise that fact.",
"sig": "a6b69e49976a307e899cb10f8f69fe16f9dfff865e9a85cc35f0b4282e9786a6e3f3b0e720feb50114712334293f79c42b5f156bc26b5b62c77b4302e42616c3"
}