Client side atproto account migrator in your web browser, along with services for backups and adversarial migrations. pdsmoover.com
pds atproto migrations moo cow
128
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge remote-tracking branch 'remote/main'

+137 -4
+2 -2
README.md
··· 2 2 3 3 ![moo](./public/moo.webp) 4 4 5 - Use at your own risk, I will not host till I have a bit more validation and retry logic in place. 6 - AND it will still be very much so, use at your own Risk. 5 + A no frills client side PDS account migrator for ATProto. For more info check out 6 + [pdsmoover.com](https://pdsmoover.com)
+4 -2
index.html
··· 110 110 this.plcStatus = 'PLC operation signed successfully! Your account has been MOOved to the new PDS.'; 111 111 // this.askForPlcToken = false; 112 112 } catch (error) { 113 + this.error = error.message; 113 114 console.error(error); 114 115 } 115 116 } ··· 124 125 <div class="cow-image"> 125 126 <img src="/moo.webp" alt="Cartoon milk cow" style="max-width: 100%; max-height: 100%; object-fit: contain;"> 126 127 </div> 127 - 128 + <a href="/info.html">Idk if I trust a cow to move my atproto account to a new PDS</a> 128 129 <form x-show="!askForPlcToken" id="moover-form" @submit.prevent="await handleSubmit()"> 129 130 <!-- First section: Login credentials --> 130 131 <div class="section"> ··· 227 228 <a href="https://github.com/bluesky-social/pds/blob/main/ACCOUNT_MIGRATION.md#%EF%B8%8F-warning-%EF%B8%8F-%EF%B8%8F">here</a>) 228 229 and that the creator or host of this migration tool is not liable and will not be to help you in the 229 230 event something goes 230 - wrong. 231 + wrong. I also have read over the <a href="/info.html">extended information from PDS MOOver about account 232 + migrations.</a> 231 233 </label> 232 234 <input x-model="confirmation" type="checkbox" id="confirmation" name="confirmation" required> 233 235 </div>
+130
public/info.html
··· 1 + <!doctype html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="UTF-8"/> 5 + <link rel="icon" type="image/webp" href="/moo.webp"/> 6 + <meta property="og:description" content="ATProto account migration tool"/> 7 + <meta property="og:image" content="/moo.webp"> 8 + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> 9 + <title>PDS MOOver Info</title> 10 + <link rel="stylesheet" href="/style.css"> 11 + <script src="https://unpkg.com/alpinejs" defer></script> 12 + 13 + </head> 14 + <body> 15 + <div class="container"> 16 + <h1>PDS MOOver</h1> 17 + <div class="cow-image"> 18 + <img src="/moo.webp" alt="Cartoon milk cow" style="max-width: 100%; max-height: 100%; object-fit: contain;"> 19 + </div> 20 + <div class="section" id="top"> 21 + <p> This page is to help you decide if you want to use PDS MOOver to move your ATProto(Bluesky) account to a new 22 + PDS. 23 + One way or the other. TLDR (You should still read the whole thing), at least read and follow the <a 24 + href="#precautions">precautions section</a>.</p> 25 + 26 + 27 + <section class="section" style="text-align:left"> 28 + <h2>Alpha</h2> 29 + <p>PDS MOOver is a no frills' PDS account migration tool. Meaning you will find few bells and whistles to 30 + simplify the process and hopefully allow more successful account migrations for most users. The creator 31 + or host of this tool will not be able to help you recover your account if something goes wrong. So be 32 + advised you and your PDS admin may be on your own besides helpful answers and understand the risk you 33 + take in doing an account movement. The tool has been tested, and it has worked well, but it is still 34 + important to understand this. If you follow <a 35 + href="#precautions">precautions section</a> this will also greatly increase the odds of 36 + recovering from any issues. You will still need to have some know how, but it is very possible with a 37 + backup rotation key and backup of your account. I also recommend trying out an alt before you do your 38 + main account so you know what to expect.</p> 39 + </section> 40 + 41 + 42 + <nav aria-label="Table of contents" class="section" style="text-align:left"> 43 + <h3>Table of contents</h3> 44 + <ol> 45 + <li><a href="#precautions">Precautions</a></li> 46 + <li><a href="#help">!!!!!HELP!!!!!</a></li> 47 + <li><a href="#why">Why doesn't PDS MOOver have xyz?</a></li> 48 + <li><a href="#done">Alright account migrated, now what?</a></li> 49 + <li><a href="#slow">Why is it so SLOW?</a></li> 50 + <li><a href="#open-source">Can I check out the code anywhere?</a></li> 51 + </ol> 52 + </nav> 53 + 54 + <section id="precautions" class="section" style="text-align:left"> 55 + <h2>Precautions</h2> 56 + <p>Before you even run PDS MOOver I STRONGLY suggest you add a rotation key and have a back up of your repo 57 + and blobs. With both of these you are not guarantee a full recovery if something goes wrong. But it will 58 + greatly increase your odds.</p> 59 + <h3>Rotation Key Backup</h3> 60 + <p>I recommend using <a href="https://atpairport.com/ticket-booth">atpairport.com</a> to add a new rotation 61 + key to your PLC. or you can follow <a href="https://whtwnd.com/bnewbold.net/3lj7jmt2ct72r">this blog 62 + post</a> to do it with goat. PDS MOOver will not use this rotation key at this time, but if 63 + something happens, it helps to have this in the meantime. 64 + <p> 65 + <h3>Repo & Blob backup</h3> 66 + 67 + <p>I also recommend taking a back up of your account with <a href="https://boat.kelinci.net/">boat</a>. You 68 + want to <a href="https://boat.kelinci.net/repo-export">"Export repository"</a> and <a 69 + href="https://boat.kelinci.net/blob-export">"Export 70 + blobs"</a>. Both just take your 71 + current handle and download those exports to your computer. These are your posts, pictures, and videos. 72 + </p> 73 + </section> 74 + 75 + <section id="help" class="section" style="text-align:left"> 76 + <h2>!!!!!HELP!!!!!</h2> 77 + <p>If you're having issues with PDS MOOver first of all, I'm very sorry. I have tested this to the best of 78 + my 79 + ability, but PDS migrations do come with risks. I would recommend getting with the owner of the PDS and 80 + seeing where the account stands with tools like <a href="https://pdsls.dev">pdsls</a>.</p> 81 + 82 + <p> The tool is designed to be able to be re ran IF you set the Advance Options flags.For example, lets say 83 + if it created the account, repo is there but some blobs are missing. You can uncheck everything but 84 + "Migrate Missing Blobs", "Migrate Prefs", and "Migrate PLC record" and it will pick up after the account 85 + repo migration. It is odd in the fact that all the fields are required. That's just to cut down on logic 86 + to hopefully cut down on bugs. If you don't ever see the "Please enter your PLC Token" you can just 87 + forget about it and call it a day if it's too much. Your old account is still active and working.</p> 88 + </section> 89 + 90 + <section id="why" class="section" style="text-align:left"> 91 + <h2>Why doesn't PDS MOOver have xyz?</h2> 92 + <p>PDS MOOver was designed to pretty much be the goat account migration with a UI. Like in this <a 93 + href="https://whtwnd.com/bnewbold.net/3l5ii332pf32u"> post</a>. Keeping it simple and hard fails if 94 + anything 95 + goes wrong 96 + to 97 + hopefully cover most use cases. Rule of thumb if reading the goat migration blog post makes you nervous, 98 + you may not want to move to a new PDS with PDS MOOver till it has been battle tested.</p> 99 + </section> 100 + 101 + <section id="done" class="section" style="text-align:left"> 102 + <h2>Alright account migrated, now what?</h2> 103 + <p>Welcome to your new PDS! I recommend now re running the steps in <a 104 + href="#precautions">precautions section</a> along with keeping regular backups of your account. With 105 + the rotation key and backups you can almost always recover even if your new PDS disappears overnight. It 106 + may take a bit of know how, but it is very possible.</p> 107 + </section> 108 + 109 + <section id="slow" class="section" style="text-align:left"> 110 + <h2>Why is it so SLOW?</h2> 111 + <p>Everything happens client side, and the blob uploads take a while. Nothing runs in parallel. Blob uploads 112 + happen one at a time; once one is done, the next goes. This is done just to keep it as simple as 113 + possible and to hopefully limit the chance of failures on uploads. My personal account takes about 114 + 20-30ish mins to move with 1,700ish blobs at 800mb on a 1gig internet connection.</p> 115 + </section> 116 + 117 + <section id="open-source" class="section" style="text-align:left"> 118 + <h2>Alright account migrated, now what?</h2> 119 + <p>Yep! PDS MOOver is 100% open source and can find the code on <a 120 + href="https://tangled.sh/@baileytownsend.dev/pds-moover">tangled.sh</a>. Also, if you're a 121 + developer, 122 + and you want to fork the code for a new UI. PDS MOOver's logic is all in one js file. Just take it and 123 + its dependencies and have at it.</p> 124 + </section> 125 + </div> 126 + 127 + </div> 128 + 129 + </body> 130 + </html>
+1
public/style.css
··· 17 17 font-weight: 500; 18 18 color: #646cff; 19 19 text-decoration: inherit; 20 + text-decoration: underline; 20 21 } 21 22 22 23 a:hover {