Handling mass subscriptions in GNU Social

I recently moved my GNU Social presence from one account to another. A big challenge was to migrate all my subscriptions, since I was subscribed to 178 accounts. Tobias Diekershoff has a nice Python script for this on his blog, but it didn’t suit my needs perfectly. My solution is as follows:

  1. Get a list of account URLs that I’m subscribed to on my old account but not in the new one (since I had already subscribed to some people manually). For this I used a Python script which copied some things from Tobias’ original script: get_missing_subs.py. Fill in the old_site and new_site parameters and run it, it will produce a list of URLs that you can pipe to a file:

    python3 get_missing_subs.py > subs.txt

  2. I went through all the URLs in the file and removed accounts for sites that were no longer up, or people that hadn’t posted in several months.

  3. Use a simple bash script, slow_sub.sh to slowly subscribe to each URL in the list. You need to edit the account info and give a sleep time between each subscription. I put 5 minutes, so I won’t spam everyone’s feeds with following activities.

    ./slow_sub.sh < subs.txt

  4. Sit back and wait for a few hours :-)

Posted by Mats Sjöberg.