So I wrote a little web app that allows a user to move their user data, like settings and subscribed/banned communities, from one account/instance to another.
It runs completely client-side, but is hosted on GitHub for the moment. Maybe it'll be of some use!
Features:
Don't trust me or GitHub? Clone the project and host it yourself or run it locally (Example in Wiki)
Export user data from any Lemmy instance (>=v0.19)
Download user data as a text file
Modify user data, e.g. to add or remove followed users/communites (Example in Wiki)
"display_name"
"bio"
"avatar"
"banner"
"matrix_id"
"bot_account"
"settings"
"followed_communities"
"saved_posts"
"saved_comments"
"blocked_communities"
"blocked_users"
"blocked_instances"
Transfer user data to the target account on the target instance
Sure, the code is completely client-side, simply clone it. If you're running into CORS problems due to the file:// scheme Origin of opening a local file, simply host it as a local temporary server with something like python -m http.server .
This is due to the two ways most instances validate Cross-Origin requests:
Sending Access-Control-Allow-Origin: * (allow all hosts)
Dynamically putting your Origin into the Origin header of the response to your requests by the backend
file:// URLs will result in a null or file:// Origin which can't be authorized via the second option, therefore the need to sometimes host the application via (local) webserver.