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

  • Sora@feddit.ch
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    4 months ago

    Does anyone know a way to export the profile through an API?

    I’m not sure if this is what you’re asking for or even if it will work but I found a tool for migrating accounts:

    https://github.com/wescode/lemmy_migrate

    To answer your other question, I find the site can be accessed briefly on evenings, night time. If you want to log in you could try using one of the alternative front ends for Lemmy such as Voyager, Alexandrite or Photon.

    They work on both desktop and mobile browsers but they won’t allow you to export account data.

    Jerboa on Android, still works for me, so I use it to access here.

    • johnyrocket@feddit.ch
      link
      fedilink
      arrow-up
      2
      ·
      4 months ago

      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 <module> 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…

      • malijaffri@feddit.ch
        link
        fedilink
        arrow-up
        5
        ·
        edit-2
        4 months ago

        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