An atproto PDS written in Go
Go 98.8%
Makefile 1.2%
4 11 28

Clone this repository

https://tangled.org/hailey.at/cocoon
git@knot.hailey.at:hailey.at/cocoon

For self-hosted knots, clone URLs may differ based on your setup.

README.md

Cocoon#

WARNING

You should not use this PDS. You should not rely on this code as a reference for a PDS implementation. You should not trust this code. Using this PDS implementation may result in data loss, corruption, etc.

Cocoon is a PDS implementation in Go. It is highly experimental, and is not ready for any production use.

Impmlemented Endpoints#

NOTE

Just because something is implemented doesn't mean it is finisehd. Tons of these are returning bad errors, don't do validation properly, etc. I'll make a "second pass" checklist at some point to do all of that.

  • com.atproto.identity.getRecommendedDidCredentials

  • com.atproto.identity.requestPlcOperationSignature

  • com.atproto.identity.resolveHandle

  • com.atproto.identity.signPlcOperation

  • com.atproto.identity.submitPlcOperatioin

  • com.atproto.identity.updateHandle

  • com.atproto.label.queryLabels

  • com.atproto.moderation.createReport

  • com.atproto.repo.applyWrites

  • com.atproto.repo.createRecord

  • com.atproto.repo.putRecord

  • com.atproto.repo.deleteRecord

  • com.atproto.repo.describeRepo

  • com.atproto.repo.getRecord

  • com.atproto.repo.importRepo

  • com.atproto.repo.listRecords

  • com.atproto.repo.listMissingBlobs

  • com.atproto.server.activateAccount

  • com.atproto.server.checkAccountStatus

  • com.atproto.server.confirmEmail

  • com.atproto.server.createAccount

  • com.atproto.server.deactivateAccount

  • com.atproto.server.deleteAccount

  • com.atproto.server.deleteSession

  • com.atproto.server.describeServer

  • com.atproto.server.getAccountInviteCodes

  • com.atproto.server.getServiceAuth

  • com.atproto.server.listAppPasswords

  • com.atproto.server.refreshSession

  • com.atproto.server.requestAccountDelete

  • com.atproto.server.requestEmailConfirmation

  • com.atproto.server.requestEmailUpdate

  • com.atproto.server.requestPasswordReset

  • com.atproto.server.reserveSigningKey

  • com.atproto.server.resetPassword

  • com.atproto.server.revokeAppPassword

  • com.atproto.server.updateEmail

  • com.atproto.sync.getBlob

  • com.atproto.sync.getBlocks

  • com.atproto.sync.getLatestCommit

  • com.atproto.sync.getRecord

  • com.atproto.sync.getRepoStatus

  • com.atproto.sync.getRepo

  • com.atproto.sync.listBlobs

  • com.atproto.sync.listRepos

  • [ ] com.atproto.sync.notifyOfUpdate - BGS doesn't even have this implemented lol

  • com.atproto.sync.requestCrawl

  • com.atproto.sync.subscribeRepos