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.
Note
Just because something is implemented doesn't mean it is finished. 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.submitPlcOperation
-
com.atproto.identity.updateHandle
-
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
(Works "okay". You still have to handle PLC operations on your own when migrating. Use with extreme caution.) -
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.createInviteCode
-
com.atproto.server.createInviteCodes
-
com.atproto.server.deactivateAccount
-
com.atproto.server.deleteAccount
-
com.atproto.server.deleteSession
-
com.atproto.server.describeServer
-
com.atproto.server.getAccountInviteCodes
-
com.atproto.server.getServiceAuth
[ ]- not going to add app passwordscom.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
[]- not going to add app passwordscom.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
[ ]- BGS doesn't even have this implemented lolcom.atproto.sync.notifyOfUpdate
-
com.atproto.sync.requestCrawl
-
com.atproto.sync.subscribeRepos
-
com.atproto.label.queryLabels
-
com.atproto.moderation.createReport
(Note: this should be handled by proxying, not actually implemented in the PDS) -
app.bsky.actor.getPreferences
-
app.bsky.actor.putPreferences
This project is licensed under MIT license. server/static/pico.css
is also licensed under MIT license, available at https://github.com/picocss/pico/.