[IRC-DEV] Propuesta.
Jesus Cea Avion
jcea at argo.es
Mon Nov 8 20:13:18 CET 2004
> Espero que os resulte interesante la propuesta y a ver si por un casual
Como ya hemos hablado por jabber, estoy dispuesto a ceder recursos en el
WIKI, esta misma lista de correo (u otra, si hay mucho tráfico, que lo
dudo) y hasta un servidor Subversion para este proyecto.
Mi recomendación sería algo así:
- Servicio hecho en "python".
- Modificar el IRCD para que envíe por un FIFO o similar las conexiones
que vayan entrando tanto en el nodo local como en el resto de la red.
- El sistema debe ser multithread para poder hacer cientos de
verificaciones simultaneamente.
- Si el sistema se sobrecarga (por ejemplo, en un "netjoin" masivo) debe
tener mecanismos de control para sobrevivir a ellos. Por ejemplo,
escaneando solo una conexión de cada X, por poner un caso.
- El sistema debe poder scanear tanto las entradas en el nodo local como
en el resto de la red.
- El sistema debería ser fácilmente "distribuible". Es decir, que si se
instalan dos verificadores, cada uno analice la mitad de la conexiones
de la red. Si se instalan 3, deben analizarse 1/3 cada uno. Y debería
ser algo automático, para responder al momento a caidas de nodos,
splits, etc.
- Por supuesto, el sistema debe tener una "caché" de IPs recientemente
analizadas para no analizarlas de nuevo o, si la expulsión ha terminado,
analizar primero el puerto "problemático" en la siguiente conexión.
- El sistema debería ser lo más independiente posible del irc. Debería
poder usarse en cualquier servidor que requiera este tipo de servicios.
- El sistema de respuesta a puertos abiertos debe ser un módulo
independiente, que puede desde no hacer nada en absoluto, a poner una
kline local, a pedir la gline en un nodo centralizado o actualizar la
BDD.
- La verificación DEBE ser asíncrona. Es decir, que el usuario entra en
el IRC al momento, mientras su verificación va en "background".
- El servicio debe soportar el concepto de listas negras, y sería buena
idea que pudiese actualizarlas miante URLs externas, sindicación
conjunta de las diferentes redes de IRC que colaboren, etc.
Dedicándole horas, yo creo que se puede tener algo 100% funcional y en
producción en menos de una semana.
--
Jesus Cea Avion _/_/ _/_/_/ _/_/_/
jcea at argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/
_/_/ _/_/ _/_/_/_/_/
PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/
"Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/
"My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
More information about the IRC-Dev
mailing list