ATProto Browser

ATProto Browser

Experimental browser for the Atmosphere

Record data

{
  "uri": "at://did:plc:e5nncb3dr5thdkjir5cfaqfe/com.whtwnd.blog.entry/3lbsbtgbbja2u",
  "cid": "bafyreia2ylrli5ltxtzzrdx3wo5berzed2b2ibfywp7h7iwtnhljya2y64",
  "value": {
    "$type": "com.whtwnd.blog.entry",
    "theme": "github-light",
    "title": "Test thing please ignore",
    "content": "# Setting up a Bluesky did:web account\n\n- PDS provisioning\n  - `civo sshkey create`\n  - Terraform to create instance\n  - Find ubuntu diskimage\n  - Create instance\n  - Install Docker and Docker Compose\n  - Setup rclone for backups\n  - Set AWS route53 zone\n  - `engram.within.website`\n- Install PDS\n  - curl2bash\n  - manually patched script to support ubuntu 24.04\n  - root is a reserved username, okay\n- Test login\n  - Can't verify email address\n- Making did:web account hosting stuff\n  - Point cetacean.club to Tigris\n  - tigris bucket\n  - Route 53 doesn't allow CNAME at the apex domain\n  - Had to use the DNS provider to get the IP addresses of Tigris\n  - Nope, tigris wants a CNAME, failing to the.cetacean.club\n- did:web account\n  - generate privkey / pubkey\n    - put in 1password\n  - generate did.json\n  - upload to tigris\n  - I put the DID document in the wrong place\n    - fuck I needed to do this:\n      ```sh\n      aws s3 cp did.json s3://the.cetacean.club/.well-known/did.json\n      ```\n  - Create invite code with pdsadmin\n  - Sign up\n    ```json\n    {\n      \"level\": 50,\n      \"time\": 1732561457309,\n      \"pid\": 7,\n      \"hostname\": \"engram\",\n      \"name\": \"xrpc-server\",\n      \"status\": 400,\n      \"message\": \"External handle did not resolve to DID\",\n      \"msg\": \"error in xrpc method com.atproto.server.createAccount\"\n    }\n    ```\n  - add DNS and HTTP verification\n    ```hcl\n    resource \"aws_route53_record\" \"_atproto_the_cetacean_club\" {\n      zone_id = data.aws_route53_zone.cetacean_club.zone_id\n      name = \"_atproto.${tigris_bucket.the-cetacean.bucket}\"\n      type = \"TXT\"\n      ttl = \"3600\"\n      records = [\"did=did:web:the.cetacean.club\"]\n    }\n    ```\n    HTTP:\n    ```\n    did:web:the.cetacean.club\n    ```\n    Then:\n    ```\n    aws s3 cp atproto-did s3://the.cetacean.club/.well-known/atproto-did\n    ```\n  - how to verify/activate your account\n    - register account\n    - set token in environment\n    - Get reccomended did credentials .verificationMethods.atproto\n    - s/did:key://\n    - Put in did.json .verificationMethod[0].publicKeyMultibase\n    - activate account\n    - skeet: https://bsky.app/profile/the.cetacean.club/post/3lbsasfpb2s2m\n",
    "createdAt": "2024-11-25T19:43:35.869Z",
    "visibility": "author"
  }
}