Client side atproto account migrator in your web browser, along with services for backups and adversarial migrations. pdsmoover.com
pds atproto migrations moo cow
at feat/batch-one-qol 169 lines 12 kB view raw
1{%- import "partials/cow-header.askama.html" as cow -%} 2{% extends "layout.askama.html" %} 3 4{% block meta %} 5 <meta property="og:description" content="ATProto account migration tool"/> 6 <meta property="og:image" content="/halloween_moover.webp"> 7{% endblock %} 8 9{% block content %} 10<div class="container"> 11 {% call cow::cow_header("PDS MOOver Info") %} 12 <div class="section" id="top"> 13 <p> This page is to help you decide if you want to use PDS MOOver to move your ATProto(Bluesky) account to a new 14 PDS along with some other information about all the new tools. 15 One way or the other. TLDR (You should still read the whole thing), at least read and follow the <a 16 href="#precautions">precautions section</a>.</p> 17 18 19 <section class="section" style="text-align:left"> 20 <h2>Info</h2> 21 <p>PDS MOOver is a set of tools to help you migrate to a new PDS. The creator 22 or host of this tool will not be able to help you recover your account if something goes wrong. So be 23 advised you and your PDS admin may be on your own besides helpful answers and understand the risk you 24 take in doing an account movement. 25 </section> 26 27 28 <nav aria-label="Table of contents" class="section" style="text-align:left"> 29 <h3>Table of contents</h3> 30 <ol> 31 <li><a href="#precautions">Precautions</a></li> 32 <li><a href="#backups">Backups</a></li> 33 <li><a href="#restore">Restore</a></li> 34 <li><a href="#blacksky">I'm here for Blacksky, is there a video guide?</a></li> 35 <li><a href="#cant-login">I can't log in?/Says my account is deactivated?</a></li> 36 <li><a href="#invalid-handle">My account says Invalid Handle?</a></li> 37 <li><a href="#help">!!!!!HELP!!!!!</a></li> 38 <li><a href="#why">Why doesn't PDS MOOver have xyz?</a></li> 39 <li><a href="#done">Alright account migrated, now what?</a></li> 40 <li><a href="#slow">Why is it so SLOW?</a></li> 41 <li><a href="#open-source">Can I check out the code anywhere?</a></li> 42 </ol> 43 </nav> 44 45 <section id="precautions" class="section" style="text-align:left"> 46 <h2>Precautions</h2> 47 <p> Migrations can be a potentially dangerous operation. It is recommended to follow these few steps to protect your account and identity.</p> 48 <ul> 49 <li>During migration make sure to do not leave the page</li> 50 <li>It is recommended to use a desktop computer for this process due to the amount of time it can take.</li> 51 <li>Your account is not actually fully moved over to the new PDS till you receive a code in your email and enter it on PDS MOOver, this is the final step.</li> 52 <li>Your data will not be deleted from Bluesky(or your previous PDS) during migration. If you find you are missing any pictures or videos after the move you can use the <a href="/missing">Missing tool</a> to recover those from your previous PDS.</li> 53 </ul> 54 55 <p>At the end of your migration and before you move you will be asked if you'd like to sign up for PDS MOOver's backup service and to add a rotation key. Both of these are recommended and secure your account if your PDS ever goes down, allowing for account recovery. </p> 56 <img src="/sign_the_papers.png" alt="Sign the papers" style="max-width: 100%; max-height: 100%; object-fit: contain;"> 57 58 </section> 59 60 <section id="backups" class="section" style="text-align:left"> 61 <h2>Backups</h2> 62 <p>PDS MOOver now supports backups. These are automated backups of your account saving your repo (posts,likes,etc), and your blobs(picture/videos) from your AT Proto account to a cloud base object store (S3). This is a free service for individual accounts and stores the backups on PDS MOOver's servers. These backups will happen every 24 hours from the time you sign up. We are expecting to lower this as we see how the service does. On login, you will be asked if you'd like to add a rotation key to your account. It is highly recommended to do this if you do not already have one. This is the only way you can recover your account in the event of a PDS failure or rogue account takeover</p> 63 64 <p>Just like your <a target="_blank" rel="noopener noreferrer" href="https://blueskyweb.zendesk.com/hc/en-us/articles/15835264007693-Data-Privacy">AT Proto data</a>, your backedup data is also public. 65 You can access your data much the same way you do on your PDS by calling these endpoints. Since these behave much the same as the PDS they are public. 66 </p> 67 <ul> 68 <li><code>/xrpc/com.atproto.sync.getRepo?did={your did}</code> to get a copy of your repo's CAR export</li> 69 <li><code>/xrpc/com.atproto.sync.getBlob?did={your did}&cid={cid of the blob}</code></li> 70 </ul> 71 72 </section> 73 74 <section id="restore" class="section" style="text-align:left"> 75 <h2>Restore</h2> 76 <p>Backups without a restore option aren't very good backups. So to pair well with our new backup service PDS MOOver now also offers recovery of your account and restoring from a backup. To use this you must have your Private Rotation Key. You can add one to your account either after migration or during backups sign up. This recovery process follows much the same process as out line in <a href="https://www.da.vidbuchanan.co.uk/blog/adversarial-pds-migration.html">Adversarial ATProto PDS Migration</a> blog post by <a href="https://bsky.app/profile/retr0.id">@retr0.id</a>. </p> 77 </section> 78 79 <section id="blacksky" class="section" style="text-align:left"> 80 <h2>I'm here for Blacksky, Is there a video guide?</h2> 81 <p> 82 <a href="https://blacksky.community/profile/did:plc:g7j6qok5us4hjqlwjxwrrkjm">@sharpiepls.com</a> has 83 made an amazing video guide on 84 how to use PDS MOOver to move your bluesky account to blacksky.app. 85 <video width="100%" controls> 86 <source src="https://blacksky.app/xrpc/com.atproto.sync.getBlob?did=did:plc:g7j6qok5us4hjqlwjxwrrkjm&cid=bafkreielhdoa2lcyiat5oumkbkwy26hlj36rwwwfi5fbnvd5haxq3t4joa"/> 87 </video> 88 </p> 89 </section> 90 91 <section id="cant-login" class="section" style="text-align:left"> 92 <h2>I can't log in?/Says my account is deactivated?</h2> 93 <p>When you move to a non Bluesky PDS you have to do an extra step on login.</p> 94 <ol> 95 <li>On the Sign in screen for <a href="https://bsky.app">bsky.app</a> or on the app click the top input 96 titled "Hosting provider" and has a globe icon and says Bluesky Social" 97 </li> 98 <li>Click the tab labeled custom</li> 99 <li>In the input for server address you put the same URL you used for the new PDS URL with the https:// 100 like so <code>https://example.com</code></li> 101 <li>Click done and enter your new handle(or email) and password</li> 102 </ol> 103 </section> 104 105 <section id="invalid-handle" class="section" style="text-align:left"> 106 <h2>My account says Invalid Handle?</h2> 107 <p>It's a bit of a bug sometimes. I'm not sure what causes it, but usually mentioning your handle in a post 108 or reply fixes it. 109 Like <code>@fullhandle.newpds.com</code>, may or may not highlight it blue and autofill it but make sure 110 you have the 111 full handle and the @ like that. Can also check your handle with the <a 112 href="https://bsky-debug.app/handle">Bluesky Debug Page</a>. If you see green, and it says one 113 of 114 them pass you should be fine and just may take a while to update.</p> 115 </section> 116 117 <section id="help" class="section" style="text-align:left"> 118 <h2>!!!!!HELP!!!!!</h2> 119 <p>If you're having issues with PDS MOOver first of all, I'm very sorry. I have tested this to the best of 120 my 121 ability, but PDS migrations do come with risks. I would recommend getting with the owner of the PDS and 122 seeing where the account stands with tools like <a href="https://pdsls.dev">pdsls</a>.</p> 123 124 <p> The tool is designed to be able to be re ran IF you set the Advance Options flags.For example, lets say 125 if it created the account, repo is there but some blobs are missing. You can uncheck everything but 126 "Migrate Missing Blobs", "Migrate Prefs", and "Migrate PLC record" and it will pick up after the account 127 repo migration. It is odd in the fact that all the fields are required. That's just to cut down on logic 128 to hopefully cut down on bugs. If you don't ever see the "Please enter your PLC Token" and enter the 129 token sent to your email, you can just 130 forget about it and call it a day if it's too much. Your old account is still active and working.</p> 131 </section> 132 133 134 <section id="why" class="section" style="text-align:left"> 135 <h2>Why doesn't PDS MOOver have xyz for migrations?</h2> 136 <p>PDS MOOver was designed to pretty much be the goat account migration with a UI. Like in this <a 137 href="https://whtwnd.com/bnewbold.net/3l5ii332pf32u"> post</a>. Keeping it simple and hard fails if 138 anything 139 goes wrong 140 to 141 hopefully cover most use cases.</p> 142 </section> 143 144 <section id="done" class="section" style="text-align:left"> 145 <h2>Alright account migrated, now what?</h2> 146 <p>Welcome to your new PDS! You can login to your new PDS on Bluesky's login screen by selecting "Hosting provider" and entering your PDS url. I also recommend making sure you are signed up for our <a href="/backups">backups</a> and have a recovery key that you control in case your PDS disappears overnight you can regain your account. </p> 147 </section> 148 149 <section id="slow" class="section" style="text-align:left"> 150 <h2>Why is it so SLOW?</h2> 151 <p>Everything happens client side, and the blob uploads take a while. Nothing runs in parallel. Blob uploads 152 happen one at a time; once one is done, the next goes. This is done just to keep it as simple as 153 possible and to hopefully limit the chance of failures on uploads. My personal account takes about 154 20-30ish mins to move with 1,700ish blobs at 800mb on a 1gig internet connection.</p> 155 </section> 156 157 <section id="open-source" class="section" style="text-align:left"> 158 <h2>Can I check out the code anywhere?</h2> 159 <p>Yep! PDS MOOver is 100% open source and can find the code on <a 160 href="https://tangled.sh/@baileytownsend.dev/pds-moover">tangled.sh</a>. Also, if you're a 161 developer, 162 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 163 its dependencies and have at it.</p> 164 </section> 165 </div> 166 167</div> 168 169{% endblock %}