Client side atproto account migrator in your web browser, along with services for backups and adversarial migrations.
pdsmoover.com
pds
atproto
migrations
moo
cow
1<!doctype html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8"/>
5 <link rel="icon" type="image/webp" href="/halloween_moover.webp"/>
6 <meta property="og:description" content="ATProto account migration tool"/>
7 <meta property="og:image" content="/halloween_moover.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</head>
12<body>
13<div class="container">
14 <h1><a href="/">PDS MOOver </a></h1>
15 <div class="cow-image">
16 <img src="/halloween_moover.webp" alt="Cartoon milk cow" style="max-width: 100%; max-height: 100%; object-fit: contain;">
17 </div>
18 <div class="made-by-blur">Made by <a href="https://bsky.app/profile/baileytownsend.dev">@baileytownsend.dev</a>
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>Info</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="#blacksky">I'm here for Blacksky/Is there a video guide?</a></li>
47 <li><a href="#cant-login">I can't log in?/Says my account is deactivated?</a></li>
48 <li><a href="#invalid-handle">My account says Invalid Handle?</a></li>
49 <li><a href="#help">!!!!!HELP!!!!!</a></li>
50 <li><a href="#why">Why doesn't PDS MOOver have xyz?</a></li>
51 <li><a href="#done">Alright account migrated, now what?</a></li>
52 <li><a href="#slow">Why is it so SLOW?</a></li>
53 <li><a href="#open-source">Can I check out the code anywhere?</a></li>
54 </ol>
55 </nav>
56
57 <section id="precautions" class="section" style="text-align:left">
58 <h2>Precautions</h2>
59 <p>Before you even run PDS MOOver I STRONGLY suggest you add a rotation key and have a back up of your repo
60 and blobs. With both of these you are not guarantee a full recovery if something goes wrong. But it will
61 greatly increase your odds.</p>
62 <h3>Rotation Key Backup</h3>
63 <p>I recommend using <a href="https://atpairport.com/ticket-booth">atpairport.com</a> to add a new rotation
64 key to your PLC. or you can follow <a href="https://whtwnd.com/bnewbold.net/3lj7jmt2ct72r">this blog
65 post</a> to do it with goat. PDS MOOver will not use this rotation key at this time, but if
66 something happens, it helps to have this in the meantime.
67 <p>
68 <h3>Repo & Blob backup</h3>
69
70 <p>I also recommend taking a back up of your account with <a href="https://boat.kelinci.net/">boat</a>. You
71 want to <a href="https://boat.kelinci.net/repo-export">"Export repository"</a> and <a
72 href="https://boat.kelinci.net/blob-export">"Export
73 blobs"</a>. Both just take your
74 current handle and download those exports to your computer. These are your posts, pictures, and videos.
75 </p>
76 </section>
77
78 <section id="blacksky" class="section" style="text-align:left">
79 <h2>I'm here for Blacksky/Is there a video guide?</h2>
80 <p>
81 <a href="https://blacksky.community/profile/did:plc:g7j6qok5us4hjqlwjxwrrkjm">@sharpiepls.com</a> has
82 made an amazing video guide on
83 how to use PDS MOOver to move your bluesky account to blacksky.app.
84 <video width="100%" controls>
85 <source src="https://blacksky.app/xrpc/com.atproto.sync.getBlob?did=did:plc:g7j6qok5us4hjqlwjxwrrkjm&cid=bafkreielhdoa2lcyiat5oumkbkwy26hlj36rwwwfi5fbnvd5haxq3t4joa"/>
86 </video>
87 </p>
88 </section>
89
90 <section id="cant-login" class="section" style="text-align:left">
91 <h2>I can't log in?/Says my account is deactivated?</h2>
92 <p>When you move to a non Bluesky PDS you have to do an extra step on login.</p>
93 <ol>
94 <li>On the Sign in screen for <a href="https://bsky.app">bsky.app</a> or on the app click the top input
95 titled "Hosting provider" and has a globe icon and says Bluesky Social"
96 </li>
97 <li>Click the tab labeled custom</li>
98 <li>In the input for server address you put the same URL you used for the new PDS URL with the https://
99 like so <code>https://example.com</code></li>
100 <li>Click done and enter your new handle(or email) and password</li>
101 </ol>
102 </section>
103
104 <section id="invalid-handle" class="section" style="text-align:left">
105 <h2>My account says Invalid Handle?</h2>
106 <p>It's a bit of a bug sometimes. I'm not sure what causes it, but usually mentioning your handle in a post
107 or reply fixes it.
108 Like <code>@fullhandle.newpds.com</code>, may or may not highlight it blue and autofill it but make sure
109 you have the
110 full handle and the @ like that. Can also check your handle with the <a
111 href="https://bsky-debug.app/handle">Bluesky Debug Page</a>. If you see green, and it says one
112 of
113 them pass you should be fine and just may take a while to update.</p>
114 </section>
115
116 <section id="help" class="section" style="text-align:left">
117 <h2>!!!!!HELP!!!!!</h2>
118 <p>If you're having issues with PDS MOOver first of all, I'm very sorry. I have tested this to the best of
119 my
120 ability, but PDS migrations do come with risks. I would recommend getting with the owner of the PDS and
121 seeing where the account stands with tools like <a href="https://pdsls.dev">pdsls</a>.</p>
122
123 <p> The tool is designed to be able to be re ran IF you set the Advance Options flags.For example, lets say
124 if it created the account, repo is there but some blobs are missing. You can uncheck everything but
125 "Migrate Missing Blobs", "Migrate Prefs", and "Migrate PLC record" and it will pick up after the account
126 repo migration. It is odd in the fact that all the fields are required. That's just to cut down on logic
127 to hopefully cut down on bugs. If you don't ever see the "Please enter your PLC Token" and enter the
128 token sent to your email, you can just
129 forget about it and call it a day if it's too much. Your old account is still active and working.</p>
130 </section>
131
132
133 <section id="why" class="section" style="text-align:left">
134 <h2>Why doesn't PDS MOOver have xyz?</h2>
135 <p>PDS MOOver was designed to pretty much be the goat account migration with a UI. Like in this <a
136 href="https://whtwnd.com/bnewbold.net/3l5ii332pf32u"> post</a>. Keeping it simple and hard fails if
137 anything
138 goes wrong
139 to
140 hopefully cover most use cases. Rule of thumb if reading the goat migration blog post makes you nervous,
141 you may not want to move to a new PDS with PDS MOOver till it has been battle tested.</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! I recommend now re running the steps in <a
147 href="#precautions">precautions section</a> along with keeping regular backups of your account. With
148 the rotation key and backups you can almost always recover even if your new PDS disappears overnight. It
149 may take a bit of know how, but it is very possible.</p>
150 </section>
151
152 <section id="slow" class="section" style="text-align:left">
153 <h2>Why is it so SLOW?</h2>
154 <p>Everything happens client side, and the blob uploads take a while. Nothing runs in parallel. Blob uploads
155 happen one at a time; once one is done, the next goes. This is done just to keep it as simple as
156 possible and to hopefully limit the chance of failures on uploads. My personal account takes about
157 20-30ish mins to move with 1,700ish blobs at 800mb on a 1gig internet connection.</p>
158 </section>
159
160 <section id="open-source" class="section" style="text-align:left">
161 <h2>Can I check out the code anywhere?</h2>
162 <p>Yep! PDS MOOver is 100% open source and can find the code on <a
163 href="https://tangled.sh/@baileytownsend.dev/pds-moover">tangled.sh</a>. Also, if you're a
164 developer,
165 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
166 its dependencies and have at it.</p>
167 </section>
168 </div>
169
170</div>
171
172</body>
173</html>