Este tutorial tiene como objetivo guiarte paso a paso en el proceso de migración de tu cuenta de GNU Social a otro nodo del Fediverso


En el mundo de las redes sociales federadas, cada vez es más común ver la necesidad de cambiar de nodo para adaptarse a nuevas necesidades o simplemente para mantener la actividad en caso de cierres inesperados. Recientemente, los usuarios de GNU Social han recibido una noticia desafortunada: gnusocial.net, uno de los nodos más conocidos de esta plataforma, cerrará sus puertas a finales de diciembre. Ante esta situación, muchos se han planteado cómo migrar sus cuentas y datos a otro nodo del Fediverso sin perder sus contactos.

Este tutorial tiene como objetivo guiarte paso a paso en el proceso de migración de tu cuenta de GNU Social a otro nodo del Fediverso utilizando un script en Python que facilita esta tarea. A continuación, exploraremos cómo preparar todo lo necesario para ejecutar el script y llevar a cabo la migración de forma sencilla y efectiva.

El script que utilizaremos será el gnu-social-export que podemos encontrar a continuación:

GitHub - benediktg/gnu-social-export: Export list of followed accounts from GNU social to import it at Mastodon
Export list of followed accounts from GNU social to import it at Mastodon - benediktg/gnu-social-export

Descarga del repositorio

Primero, es necesario descargar el repositorio, y para ello necesitamos tener git instalado en el ordenador. Para instalar el paquete, ejecutamos el siguiente comando:

# Si usas Debian, Ubuntu, Linux Mint...
apt install git

# Si usas Fedora, RockyLinux, AlmaLinux...
dnf install git

# Si usas Arch Linux
pacman -sS install git

Descargamos el repositorio del script que nos permitirá descargarnos a nuestros amigos de GNU Social:

git clone https://github.com/benediktg/gnu-social-export.git

Salida del comando

Cloning into 'gnu-social-export'... remote: Enumerating objects: 28, done. remote: Total 28 (delta 0), reused 0 (delta 0), pack-reused 28 (from 1) Receiving objects: 100% (28/28), 5.69 KiB | 1.42 MiB/s, done. Resolving deltas: 100% (12/12), done.

Accedemos al directorio del repositorio que hemos descargado:

cd gnu-social-export/

Para activar el entorno virtual, es necesario tener instalado el paquete correspondiente:

apt install python3.12-venv

Ejecutamos el siguiente comando para activar el entorno virtual de Python e instalar todas las dependencias necesarias:

python3 -m venv venv
source venv/bin/activate
💡
El primer comando no generará ninguna salida visible. En el segundo comando, notarás que en tu prompt aparece el indicador (venv) (al principio o al final, según el sistema), lo cual confirma que el entorno virtual se ha activado correctamente.

A continuación, instalamos las librerías necesarias:

pip install -r requirements.txt

Salida del comando

Collecting python-dotenv (from -r requirements.txt (line 1)) Downloading python_dotenv-1.0.1-py3-none-any.whl.metadata (23 kB) Collecting requests (from -r requirements.txt (line 2)) Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB) Collecting charset-normalizer<4,>=2 (from requests->-r requirements.txt (line 2)) Downloading charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (34 kB) Collecting idna<4,>=2.5 (from requests->-r requirements.txt (line 2)) Downloading idna-3.10-py3-none-any.whl.metadata (10 kB) Collecting urllib3<3,>=1.21.1 (from requests->-r requirements.txt (line 2)) Downloading urllib3-2.2.3-py3-none-any.whl.metadata (6.5 kB) Collecting certifi>=2017.4.17 (from requests->-r requirements.txt (line 2)) Downloading certifi-2024.8.30-py3-none-any.whl.metadata (2.2 kB) Downloading python_dotenv-1.0.1-py3-none-any.whl (19 kB) Downloading requests-2.32.3-py3-none-any.whl (64 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.9/64.9 kB 6.4 MB/s eta 0:00:00 Downloading certifi-2024.8.30-py3-none-any.whl (167 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 167.3/167.3 kB 11.5 MB/s eta 0:00:00 Downloading charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (143 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 143.8/143.8 kB 10.5 MB/s eta 0:00:00 Downloading idna-3.10-py3-none-any.whl (70 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 70.4/70.4 kB 5.2 MB/s eta 0:00:00 Downloading urllib3-2.2.3-py3-none-any.whl (126 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 126.3/126.3 kB 2.6 MB/s eta 0:00:00 Installing collected packages: urllib3, python-dotenv, idna, charset-normalizer, certifi, requests Successfully installed certifi-2024.8.30 charset-normalizer-3.4.0 idna-3.10 python-dotenv-1.0.1 requests-2.32.3 urllib3-2.2.3

Realizamos una copia del archivo de configuración que editaremos más adelante:

cp .env.sample .env

Luego, procedemos a editarlo:

nano .env

En este archivo, debemos ingresar tres datos:

  • GNU_SOCIAL_HOST: Especifica la URL de tu instancia, por ejemplo, "https://gnusocial.net".
  • GNU_SOCIAL_USER: Solo el nombre de usuario, por ejemplo, "t3rr0rz0n3".
  • GNU_SOCIAL_PASS: La contraseña de acceso de tu cuenta.

Guardamos el fichero y seguimos.

Exportar cuentas a quién sigues

Para obtener el listado de gente a quien sigues, ejecutaremos el siguiente comando:

python gnu-social-export.py > amiguis.csv

Salida del comando

will make 1 requests request #1 processed finished

Esto generará un archivo llamado amiguis.csv que contiene todos los usuarios a los que sigues en tu cuenta de GNU Social. Podemos ver el listado con:

cat amiguis.csv

Salida del comando

elbinario@gnusocial.net
csavegadejarama@masto.es
radioalmaina@gnusocial.net
administrator@gnusocial.net

Exportar cuentas que te siguen

Para obtener el listado de personas que te siguen, ejecuta el siguiente comando:

python gnu-social-export.py -f > seguidores.csv

Esto generará un archivo llamado seguidores.csv que contiene todos los usuarios que te siguen en tu cuenta de GNU Social. Podemos ver el listado con:

cat seguidores.csv

Salida del comando

t3rr0rz0n3@xarxa.cloud

Importar usuarios a una cuenta de Mastodon

Una vez hemos entrado en nuestra cuenta de Mastodon, tenemos que ir a Preferencias y luego a Importar y Exportar:

Hacemos clic sobre la opción Importar:

Para importar el fichero amiguis.csv, tendremos que seleccionar del desplegable la opción Lista de Seguidos, luego seleccionamos el fichero y hacemos clic sobre Cargar.

Nos dirá que estamos a punto de importar un numero de cuentas, y le damos a Confirmar.

Nos aparecerá un aviso en verde indicando que se han importado correctamente y abajo el fichero con la importación.

Si ahora vamos a Siguiendo y seguidores, veremos que se han importado los usuarios:

El listado de seguidores.csv, podemos importarlo de la misma manera si queremos seguir a toda la gente que nos sigue para avisar de que tienes una cuenta nueva y que te pueden seguir. Pero no se pueden importar como seguidores.


Más sobre ./voidNull

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación