XMPP Server Scanner http://code.google.com/p/xmpp-server-scanner/
Author/Autor: Cesar Alcalde e-mail: lambda512@gmail.com JabberID: lambda512@jabberes.org
Usage Instructions
Copy the config.cfg.example file as config.cfg and setup the configuration to match your needs. Configure the output directory where you want to generate the pages and copy the images folder there. Then run the bot (pybot.py). A good idea is to run it from cron.
About this Project
I started this project because it seemed neccesary to update the old servers and services list on the jabber.org website and I wanted to write some code related with Jabber/XMPP. It isn't a serious project, but an project to experiment and learn. But it works, (al least it seems to work ;) ) and some people like it.
The information gathering is done with a bot that can be executed via cron. This bot explores the servers and generates a number of webpages and xml files that contain a list of servers and services provided by them. Optionally, it can save the information on a database (MySQL)
Python Bot
This bot is based on the xmpppy library. I had done some modifications to adapt it to my needs.
The bot make the queries one by one, so it can take hours exploring about 250 servers. This is due some servers don't exists anymore and some services doesn't reply to the queries, so the script has to wait to the timeouts.
It shouldn't be a problem, after all the script is designed to run on background, but paralelizing the queries can reduce the time to 20 minutes or even less.
About the server list
A xml list of servers based on the old jabber.org server list (http://www.jabber.org/servers.xml) has been included. This file hasa been cleaned and updated. That list has been superseeded by another list on xmpp.org (http://xmpp.org/services/services.xml) Since this list has fewer servers, both lists can be used and can be merged to get a bigger list.
Instrucciones
Copia el archivo config.cfg como config.cfg y modificalo a tu gusto. Configura el directorio donde se generaran los archivos (output directory) y copia a ese directorio el directorio images. El bot (pybot.py) ya está listo para ser ejecutado. Te sugiero que lo añadas a cron para ejecutarlo regularmente.
Acerca de este proyecto
Empece este proyecto debido a que parecía necesario actualizar la vieja lista de servidores y servicios de jabber.org y queria programar algo relacionado con Jabber/XMPP. No es un proyecto serio, sino que simplemente es un proyecto para experimentar y aprender. Pero funciona, (o al menos eso parece ;) ) y a algunas personas les ha gustado.
El proceso de obtener la informacion de los servidores se realiza a trav�s de un bot que puede ser ejecutado cada dia usando cron. Este bot explora los servidores y genera varias paginas web y archivos xml con una lista de servidores y servicios. Opcionalmente, puede guardar la informacion en una base de datos (MySQL).
Python Bot
Este bot esta basado en la biblioteca xmpppy. He realizado una pequeña modificación para evitar una excepción al trabajar con algunos servidores antiguos.
El bot realiza las consultas de una en una, por ello tarda bastante tiempo, llegando a tardar un par de horas en explorar los servidores (unos 250) Esto es debido a que servidores ya no existen, o tienen componentes configurados para no responder a las consultas lo cual implica que el script debe esperar hasta que se produzca un timeout.
Esto no deberia ser un problema, ya que el script esta pensado para ejecutarse en segundo plano. No obstante, haciendo las consultas en paralelo, se puede reducir el tiempo a la cuarta parte, o incluso menos.
Sobre la lista de servidores
Se ha incluido una lista basada en la antigua lista de servidores que estaba disponible en jabber.org (http://www.jabber.org/servers.xml) Esta lista ha sido reemplazada por otra (http://xmpp.org/services/services.xml) qhe tiene, por ahora, menos servidores. Por tanto, ambas listas se incluyen y pueden ser usadas, e incluso mezcladas para obtener una lista mayor.
Credits
xmpppy Alexey Nezhdanov http://xmpppy.sourceforge.net
Icons Crystal by Everaldo www.everaldo.com