Bad Daemons

gnusrss - Publicando feeds en GNU Social

La primera vez que ejecutemos este script no posteará nada en GNU Social, para evitar spam y esas cosas. Será la segunda vez que se ejecute, y que detect algunos cambios, cuando posteará. El funcionamiento es el siguiente: descarga feed con urllib, lo procesa con xml.mindom y lo guarda en un archivo, lo compara con el archivo descargado previamente y si hay alguna diferencia lo postea. Todo con soporte de Tor.

Las instrucciones son las siguientes:

su -c "apt-get install python3-pip" 
su -c "pip-3.2 install pycurl PySocks" #en debian jessie puede salir cómo pip3 
git clone https://gitlab.com/drymer_/gnusrss.git
cd gnusrss

En este directorio veremos example.py, en el que rellenando las variables:

  • feedurl: http://elbinario.net/feed, por ejemplo.
  • username
  • password
  • api_url: una url como http://gnusocial.net/api/statuses/update.xml, sustituyendo gnusocial.net por la de vuestro nodo.

Hecho esto, lo ejecutamos una vez y cuando termine habrá un archivo llamado feed.txt, en el que saldrán los feeds con el formato título - url acortada.

Hecho esto, sólo queda ponerlo en el crontab con un tiempo de, pongamos, media hora y ya tendremos nuestro publicador de feeds automático. Tal que así:

*/30 * * * * cd ~/Instalados/Proyectos/gnusrss && python3 example.py

Algo a tener en cuenta, el script puede tardar muchos minutos en ejecutarse no por que tarde en descargar sinó por que espera un minuto entre acortar urls, ya que http://pili.la no reacciona bien a hacerlo con menos tiempo.