Moin. Ich hatte vor einiger Zeit mal etwas gelesen, von einer Möglichkeit des Dazenexports von feddit.de zwecks Umzug. Ich kann den Beitrag aber nicht mehr finden, weil das Auto-Verstecken ihn nicht mehr rausrückt. Kann mich jemand davor retten, nochmal 100 zu abonnieren? Danke!

  • Pete90@feddit.deOP
    link
    fedilink
    Deutsch
    arrow-up
    13
    ·
    edit-2
    6 months ago

    EDIT: Ich hab folgendes gefunden und das funktioniert, danke an alle und danke an den Verfasser!


    Für die Leute, die keine offene Browser Session haben, hier ein kleines, aber funktionales Bash Script, welches im Ausführungsverzeichnis eine myFedditUserData.json erstellt, welche bei anderen Instanzen importiert werden kann.

    Anforderungen:

    • Linux/Mac OS X Installation
    • jq installiert (Unter Ubuntu/Debian/Mint z.B. per sudo apt install -y jq

    Anleitung:

    • Folgendes Script unter einem beliebigen Namen mit .sh Endung abspeichern, z.B. getMyFedditUsserData.sh
    • Script in beliebigen Textprogramm öffnen, Username/Mail und Passwort ausfüllen (optional Instanz ändern)
    • Terminal im Ordner des Scripts öffnen und chmod +x getMyFedditUsserData.sh ausführen (Namen eventuell anpassen)
    • ./getMyFedditUsserData.sh
    • Nun liegt im Ordner neben dem Script eine frische myFedditUserData.json

    Anmerkung: Das Script ist recht simpel, es wird ein JWT Bearer Token angefragt und als Header bei dem GET Aufruf von https://feddit.de/api/v3/user/export_settings mitgegeben. Wer kein Linux/Mac OS X zur Verfügung hat, kann den Ablauf mit anderen Mitteln nachstellen.

    Das Script:

    #!/bin/bash
    
    # Basic login script for Lemmy API
    
    # CHANGE THESE VALUES
    my_instance="https://feddit.de"			# e.g. https://feddit.nl
    my_username=""			# e.g. freamon
    my_password=""			# e.g. hunter2
    
    ########################################################
    
    # Lemmy API version
    API="api/v3"
    
    ########################################################
    
    # Turn off history substitution (avoid errors with ! usage)
    set +H
    
    ########################################################
    
    # Login
    login() {
    	end_point="user/login"
    	json_data="{\"username_or_email\":\"$my_username\",\"password\":\"$my_password\"}"
    
    	url="$my_instance/$API/$end_point"
    
    	curl -H "Content-Type: application/json" -d "$json_data" "$url"
    }
    
    # Get userdata as JSON
    getUserData() {
    	end_point="user/export_settings"
    
    	url="$my_instance/$API/$end_point"
    
    	curl -H "Authorization: Bearer ${JWT}" "$url"
    }
    
    JWT=$(login | jq -r '.jwt')
    
    printf 'JWT Token: %s\n' "$JWT"
    
    getUserData | jq > myFedditUserData.json
    
    • K4mpfie@feddit.de
      link
      fedilink
      Deutsch
      arrow-up
      2
      ·
      6 months ago

      Aber wandern da die Kommentare mit? Oder ist das nur um die Communities mitzunehmen?