bluesky-account-migrator
Advanced tools
Comparing version 0.3.0 to 0.4.0
{ | ||
"name": "bluesky-account-migrator", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"description": "A CLI for migrating Bluesky accounts from one PDS to another.", | ||
@@ -84,2 +84,3 @@ "repository": { | ||
"@types/yargs": "^17.0.33", | ||
"@vitest/coverage-istanbul": "^2.1.8", | ||
"depcheck": "^1.4.7", | ||
@@ -86,0 +87,0 @@ "esbuild": "^0.24.0", |
@@ -39,6 +39,8 @@ # bluesky-account-migrator | ||
- A `did:plc` Bluesky account | ||
- If don't know what this means, you're almost certainly fine. | ||
- If you don't know what kind of account you have, you should be good to go. | ||
- A PDS to migrate to | ||
- Ideally, this PDS has SMTP enabled in order to verify your email. | ||
Bluesky the app will ask you to do this for the new account. | ||
- Two-factor authentication (2FA) disabled on your Bluesky account. | ||
- This is only required for the duration of the migration. | ||
@@ -49,13 +51,32 @@ ### Gotchas | ||
You cannot submit custom handles—i.e. ones that do not end with `.bsky.social`— | ||
as your new handle. | ||
Bluesky's PDS implementation requires that all handles are a subdomain of the PDS | ||
hostname. | ||
For example, if your PDS is hosted at `pds.foo.com`, new accounts must have handles | ||
of the form `*.pds.foo.com`. | ||
If you already have a custom handle, you can configure it for your migrated account | ||
after the migration. | ||
See e.g. [this discussion](https://github.com/bluesky-social/atproto/discussions/2909) | ||
for how to do this. | ||
A "custom" handle is a handle that is not a subdomain of the PDS URL. For example, | ||
for a account hosted on `bsky.social`, `foo.bsky.social` would be a "normal" handle, | ||
whereas `foo.bar` would be a custom handle. | ||
Bluesky's PDS implementation currently does not support creating new accounts with | ||
custom handles. However, the handle can be updated after migration. If you submit | ||
a custom handle as your new handle, the CLI will perform this update at the end | ||
of the migration, after activating the new account on the new PDS. | ||
For further deatils, see e.g. | ||
[this discussion](https://github.com/bluesky-social/atproto/discussions/2909) | ||
and | ||
[this issue](https://github.com/bluesky-social/pds/issues/110#issuecomment-2439866348). | ||
If you are using [the `pipe` command](#pipe), you will need to provide the temporary and final | ||
handles in the passed-in credentials, for example: | ||
```json5 | ||
{ | ||
"credentials": { | ||
// The other credentials as normal | ||
// ... | ||
"newHandle": { | ||
"temporaryHandle": "new-temp.pds.com" | ||
"finalHandle": "foo.com", | ||
}, | ||
} | ||
} | ||
``` | ||
### CLI | ||
@@ -106,7 +127,7 @@ | ||
"credentials": { | ||
"oldPdsUrl": "https://old.bsky.social", | ||
"newPdsUrl": "https://new.bsky.social", | ||
"oldHandle": "old.handle.com", | ||
"oldPdsUrl": "https://bsky.social", | ||
"newPdsUrl": "https://pds.com", | ||
"oldHandle": "old.handle", | ||
"oldPassword": "oldpass123", | ||
"newHandle": "new.handle.com", | ||
"newHandle": { "handle": "new.pds.com" }, | ||
"newEmail": "new@email.com", | ||
@@ -131,7 +152,7 @@ "newPassword": "newpass123", | ||
"credentials": { | ||
"oldPdsUrl": "https://old.bsky.social", | ||
"newPdsUrl": "https://new.bsky.social", | ||
"oldHandle": "old.handle.com", | ||
"oldPdsUrl": "https://bsky.social", | ||
"newPdsUrl": "https://pds.com", | ||
"oldHandle": "old.handle", | ||
"oldPassword": "oldpass123", | ||
"newHandle": "new.handle.com", | ||
"newHandle": { "handle": "new.pds.com" }, | ||
"newEmail": "new@email.com", | ||
@@ -161,7 +182,7 @@ "newPassword": "newpass123", | ||
"credentials": { | ||
"oldPdsUrl": "https://old.bsky.social", | ||
"newPdsUrl": "https://new.bsky.social", | ||
"oldHandle": "old.handle.com", | ||
"oldPdsUrl": "https://bsky.social", | ||
"newPdsUrl": "https://pds.com", | ||
"oldHandle": "old.handle", | ||
"oldPassword": "oldpass123", | ||
"newHandle": "new.handle.com", | ||
"newHandle": { "handle": "new.pds.com" }, | ||
"newEmail": "new@email.com", | ||
@@ -209,8 +230,8 @@ "newPassword": "newpass123", | ||
const credentials = { | ||
oldPdsUrl: 'https://old.bsky.social', | ||
oldHandle: 'old.handle.com', | ||
oldPdsUrl: 'https://bsky.social', | ||
oldHandle: 'old.handle', | ||
oldPassword: 'oldpass123', | ||
inviteCode: 'invite-123', | ||
newPdsUrl: 'https://new.bsky.social', | ||
newHandle: 'new.handle.com', | ||
newPdsUrl: 'https://pds.com', | ||
newHandle: { handle: 'new.pds.com' }, | ||
newEmail: 'new@email.com', | ||
@@ -217,0 +238,0 @@ newPassword: 'newpass123', |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
147345
1954
301
28