An atproto PDS written in Go
1# Cocoon 2 3> [!WARNING] 4You 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. 5 6Cocoon is a PDS implementation in Go. It is highly experimental, and is not ready for any production use. 7 8### Impmlemented Endpoints 9 10> [!NOTE] 11Just 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. 12 13#### Identity 14- [ ] com.atproto.identity.getRecommendedDidCredentials 15- [ ] com.atproto.identity.requestPlcOperationSignature 16- [x] com.atproto.identity.resolveHandle 17- [ ] com.atproto.identity.signPlcOperation 18- [ ] com.atproto.identity.submitPlcOperatioin 19- [x] com.atproto.identity.updateHandle 20 21#### Repo 22- [x] com.atproto.repo.applyWrites 23- [x] com.atproto.repo.createRecord 24- [x] com.atproto.repo.putRecord 25- [ ] com.atproto.repo.deleteRecord 26- [x] com.atproto.repo.describeRepo 27- [x] com.atproto.repo.getRecord 28- [ ] com.atproto.repo.importRepo 29- [x] com.atproto.repo.listRecords 30- [ ] com.atproto.repo.listMissingBlobs 31 32#### Server 33- [ ] com.atproto.server.activateAccount 34- [ ] com.atproto.server.checkAccountStatus 35- [x] com.atproto.server.confirmEmail 36- [x] com.atproto.server.createAccount 37- [ ] com.atproto.server.deactivateAccount 38- [ ] com.atproto.server.deleteAccount 39- [x] com.atproto.server.deleteSession 40- [x] com.atproto.server.describeServer 41- [ ] com.atproto.server.getAccountInviteCodes 42- [ ] com.atproto.server.getServiceAuth 43- ~[ ] com.atproto.server.listAppPasswords~ - not going to add app passwords 44- [x] com.atproto.server.refreshSession 45- [ ] com.atproto.server.requestAccountDelete 46- [x] com.atproto.server.requestEmailConfirmation 47- [x] com.atproto.server.requestEmailUpdate 48- [x] com.atproto.server.requestPasswordReset 49- [ ] com.atproto.server.reserveSigningKey 50- [x] com.atproto.server.resetPassword 51- ~[ ] com.atproto.server.revokeAppPassword~ - not going to add app passwords 52- [x] com.atproto.server.updateEmail 53 54#### Sync 55- [x] com.atproto.sync.getBlob 56- [x] com.atproto.sync.getBlocks 57- [x] com.atproto.sync.getLatestCommit 58- [x] com.atproto.sync.getRecord 59- [x] com.atproto.sync.getRepoStatus 60- [x] com.atproto.sync.getRepo 61- [x] com.atproto.sync.listBlobs 62- [x] com.atproto.sync.listRepos 63- ~[ ] com.atproto.sync.notifyOfUpdate~ - BGS doesn't even have this implemented lol 64- [x] com.atproto.sync.requestCrawl 65- [x] com.atproto.sync.subscribeRepos 66 67#### Other 68- [ ] com.atproto.label.queryLabels 69- [ ] com.atproto.moderation.createReport 70- [x] app.bsky.actor.getPreferences 71- [x] app.bsky.actor.putPreferences