Because of missing time and resources, feddit.ch will shut down on 31.03.2024. The domain feddit.ch will be available from the 08.06.2024.

In your profile settings, you can export your profile and import it on a new server into a new account.

Thank you all for your engagement.

_Frog

you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 2 years ago (2 children)

Jumping on this to see if we can help each other out. I tried the lemmy Migrator and while Export works just fin, I get the following response when I Import, not only in DRY RUN Mode:

*** DRY RUN enabled, no changes will be made ***

[ Getting Main Account info - https://feddit.ch ] Logged into https://feddit.ch. Traceback (most recent call last): File "/home/{user}/lemmy_migrate/lemmy_migrate/lemmy_migrate.py", line 175, in main() File "/home/{user}/lemmy_migrate/lemmy_migrate/lemmy_migrate.py", line 148, in main sync_subscriptions(None, main_lemming, comms_backup) TypeError: sync_subscriptions() missing 1 required positional argument: 'excld_comms'

Also, when I try to use the Account Settings Export via the API, I use this:

curl -v -X GET -u usrname:pwd https://feddit.ch/api/v3/user/export_settings > exp.txt

I get the following Output: {"error":"incorrect_login"}

If anyone could help it would be amazing, I would be sad to lose it all. My AI of choice wasn't any help btw, but my skills aren't great with those things so...

  • source
  • parent
  • hideshow 4 child comments
  • [–] 5 points 2 years ago* (last edited 2 years ago) (1 child)

    I got it working in shell as well:

    #!/bin/bash
    
    read -p "Username: " user
    read -p "Password: " -s pass
    read -p "TOTP: " totp
    
    res=$(curl \
        --request POST \
        --url "https://feddit.ch/api/v3/user/login" \
        --header 'accept: application/json' \
        --header 'content-type: application/json' \
        --data '{"username_or_email":"'$user'","password":"'$pass'","totp_2fa_token":"'$totp'"}')
    
    jwt=$(echo $res | sed -re 's/^.*"jwt":"([^"]*)".*$/\1/')
    
    curl \
        --request GET \
        --url "https://feddit.ch/api/v3/user/export_settings" \
        --header 'accept: application/json' \
        --cookie "jwt=$jwt" \
        -o "export.json"
    

    I'd recommend echoing $res and $jwt before processing them further

    Edit: if you don't have TOTP enabled, don't forget to remove it from the request

    Docs: https://lemmy.readme.io/reference/post_user-login

    Edit 2: added spacing

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 2 years ago* (1 child)

    I used the LemmyHTTP Nodejs module to connect to the API, and after a few tries, got it working. I could post my code in an hour, if you want it.

    edit: docs: https://join-lemmy.org/api/index.html

  • source
  • parent
  • hideshow 2 child comments