Tratar con servidores de noticias remotos puede ser una molestia para el lector frecuente de USENET. La mayoría de las veces, estos servidores pueden ser lentos y poco confiables. Además, si accede a proveedores gratuitos con demasiada frecuencia, como AIOE, pueden limitar su conexión y prohibir su dirección IP. Estos factores pueden hacer que la experiencia de USENET sea dolorosa para algunos.
¿Qué es Leafnode?
Nodo hoja es un proxy fuera de línea para servidores USENET. Descarga publicaciones de noticias desde un servidor de noticias remoto y lo sirve como un servicio local en su sistema. También puede tomar múltiples servidores USENET como sus fuentes ascendentes y fusionarlos para servir como una sola fuente. Esto es útil si desea suscribirse a varios grupos de noticias atendidos por diferentes proveedores.
Además, Leafnode permite al usuario tener copias fuera de línea de los grupos de noticias seguidos. Esto es importante cuando una conexión a Internet no siempre está disponible o si desea archivar los grupos de noticias a los que se suscribe. Por último, Leafnode es simple, fácil de configurar y funciona con todos los lectores modernos de USENET.
¿Cómo funciona un proxy USENET?
Como mencionamos anteriormente, Leafnode es un servidor proxy USENET, por lo que esencialmente actúa como el servidor de noticias para sus lectores de noticias.
Sin embargo, a diferencia de un servidor USENET tradicional, Leafnode no obtiene la copia completa de todas las jerarquías de otros servidores. Leafnode solo obtiene las publicaciones que le indicas que obtenga en las condiciones que has establecido.
Leafnode interactúa con dos programas: buscar noticias y teñir.
- Obtener noticias es el programa que le dice a Leafnode a qué grupos de noticias debe suscribirse y cuántos debe tener. También carga sus publicaciones de noticias y respuestas.
- caducar es el programa de mantenimiento que elimina las publicaciones antiguas de los grupos de noticias. También repara mensajes duplicados o rotos y actualiza los datos generales del servidor de noticias.
Estos dos programas permiten que Leafnode se ejecute en su mayoría sin supervisión. Una vez que haya terminado de configurarlo, Leafnode se comportará como si fuera un servidor USENET remoto.
Esto también significa que puede configurar Leafnode en una red pequeña y permitir que varios usuarios se conecten para leer publicaciones de noticias. Por lo tanto, puede reducir la cantidad de ancho de banda que utiliza su red para acceder a USENET.
Instalación de Leafnode
Leafnode está diseñado para ser lo más simple posible. Esto se aplica tanto a su instalación como a su mantenimiento. Con eso, instalar Leafnode es solo cuestión de obtenerlo del repositorio de su distribución.
Por ejemplo, en Debian y Ubuntu 21.10, puede obtener Leafnode de apt
:
sudo apt install leafnode
Configuración de Leafnode
Durante la instalación, Leafnode le preguntará sobre algunos detalles del servidor remoto al que desea conectarse. En la primera pantalla, le preguntará sobre la dirección del servidor remoto. Por ejemplo, si desea conectarse a AIOE, debe colocar nntp.aioe.org aquí.
En mi caso, me estoy conectando a través de Septiembre eternoasí que estoy agregando la dirección aquí.
Configuración de descargas automáticas de USENET
A partir de ahí, el instalador le preguntará cuál es su método preferido para obtener las publicaciones de noticias. Tiene tres opciones aquí: PPP, Permanente y Ninguno.
- PPA descargará automáticamente nuevas publicaciones cada vez que te conectes a Internet.
- Permanente descargará automáticamente las publicaciones de noticias cada hora.
- Ninguna no habilitará la obtención automática de noticias. Deberá ejecutar el comando fetchnews para sincronizar con el servidor remoto.
En mi caso, no quiero que Leafnode se conecte automáticamente al servidor de noticias sin mi conocimiento, así que elijo Ninguno.
Habilitación de controles de acceso
El instalador de Leafnode le preguntará si desea habilitar los controles de acceso para su servidor.
Esto es relevante si está utilizando Leafnode como un servidor de noticias local para múltiples usuarios. Le permite usar el archivo /etc/hosts para controlar qué clientes pueden acceder al servidor y cuáles no.
Por ejemplo, si está utilizando Leafnode en una intranet donde espera que cada cliente acceda al servidor de noticias, no es necesario habilitar los «Controles de acceso».
A pesar de eso, generalmente es una buena práctica bloquear todas las conexiones entrantes y habilitar solo las que desea. Además, si solo está utilizando Leafnode como un proxy local para su propia máquina, debe habilitar esta opción.
En mi caso, solo usaré esta instancia de Leafnode en esta máquina, por lo que habilitaré los controles de acceso.
Obtención inicial para grupos USENET
Después de eso, el instalador de Leafnode le preguntará si desea conectarse al servidor USENET remoto ahora. Esto permitirá que Leafnode obtenga la lista de los grupos de noticias disponibles en el servidor.
Sin embargo, si está utilizando un servicio que requiere autenticación, como Eternal September, no debe buscar ningún grupo de noticias usando esta opción. Esto se debe a que aún no hemos proporcionado la información de nuestra cuenta a Leafnode, y la actualización en este momento no nos dará la lista completa de grupos de noticias.
En mi caso, debido a que me estoy conectando a través de Eternal September, elijo No.
Configuración de Leafnode
A partir de ahí, puede ajustar aún más ciertos aspectos del comportamiento de Leafnode a través de su archivo de configuración.
Por ejemplo, hay configuraciones que le permitirán, entre otras cosas, usar una cuenta de USENET para obtener las noticias. También puede establecer ciertos parámetros que le dirán a Leafnode qué publicaciones puede descargar y cuánto tiempo almacenarlas.
La ubicación del archivo de configuración varía según la distribución de Linux que esté utilizando. En Debian y Ubuntu se encuentra en “/etc/news/leafnode/config”.
sudo vim /etc/news/leafnode/config
Configuración del nombre de usuario y la contraseña predeterminados
El archivo de configuración de Leafnode es extenso y está bien documentado. Cada opción tiene una breve descripción de lo que hace, y algunas incluso tienen ejemplos que ilustran cómo configurarla correctamente.
Para usar una cuenta de USENET en Leafnode, debe descomentar el username
y password
variables Cuando haya terminado, establezca su información en ellos.
En mi caso, he agregado la información de la cuenta de mi cuenta Eternal September.
Cómo crear filtros de publicación
Una característica clave de Leafnode es que puede manipular cómo se tratan las publicaciones mientras se descargan filtrando las publicaciones o configurando ciertos grupos de noticias para que no se eliminen después de varios días.
El filtrado de publicaciones puede venir de dos maneras:
- Basado en las propiedades generales de una publicación determinada. Por ejemplo, puede filtrar por la cantidad de líneas y el tamaño de una publicación.
- Basado en términos específicos que se encuentran en los encabezados de las publicaciones. Esto se hace creando una lista de expresiones regulares en un archivo de filtro.
Para filtrar según las propiedades generales, actívelas directamente desde el archivo de configuración. Por ejemplo, puede configurar el minlines
variable a 3, lo que le indicaría a Leafnode que no reciba ninguna publicación que tenga menos de tres líneas de longitud.
Por otro lado, para filtrar en función de palabras específicas, debe habilitar la opción filterfile en Leafnode. Haga esto descomentando el filterfile
variable y proporcionando una ruta a su archivo de filtro.
En mi caso, estoy usando la ruta predeterminada para el archivo de filtro.
La sintaxis básica del archivo de filtro se parece a esto:
Header-Property:^/regex/$
Cada línea en el archivo de filtro debe apuntar a una determinada propiedad de encabezado de una publicación. Por ejemplo, si desea filtrar todas las publicaciones de Google Mail, escriba algo como esto:
^From:.*[A-Za-z0-9]*\.*[A-Za-z0-9]*\@gmail\.com$
Cómo archivar grupos de USENET
De forma predeterminada, Leafnode elimina todos los grupos de publicaciones que tienen más de 20 días. Esto le permite a Leafnode mantener el tamaño de su archivo bajo y es útil cuando está suscrito a grupos que ven de 100 a 200 publicaciones por día.
Sin embargo, puede haber instancias en las que desee archivar todas las publicaciones en un grupo de noticias determinado. Hágalo habilitando el groupexpire
variable.
Por ejemplo, si quiero archivar el grupo de noticias comp.unix.misc, agregaré la siguiente línea a mi archivo de configuración:
groupexpire comp.unix.misc = -1
Además, esta variable también se puede utilizar para cambiar la edad de eliminación predeterminada para grupos de noticias específicos. Por ejemplo, si quiero eliminar un grupo de gran volumen como misc.internet.news.discuss cada cinco días, puedo escribir esta línea en mi archivo de configuración:
groupexpire misc.news.internet.discuss = 5
Cómo configurar múltiples servidores USENET
Como discutimos anteriormente, Leafnode también permite a sus usuarios obtener publicaciones de múltiples servidores remotos. Esto es útil si usa lectores USENET que solo pueden conectarse a un servidor a la vez.
Además, también puede configurar una serie de opciones que cambian el comportamiento de los servidores remotos adicionales. Puede configurar el nopost
variable a 1 para que un servidor remoto solo obtenga publicaciones y no envíe publicaciones a través de él.
Por otro lado, puede configurar la variable noread
para hacer lo contrario.
Por ejemplo, si quiero configurar Aioe como un servidor adicional de «solo lectura» para mi instancia de Leafnode, puedo escribir lo siguiente en mi archivo de configuración:
server = news.aioe.org nopost = 1
Crear un cronjob para actualizar Leafnode
Además del script de descarga automática, Leafnode también se puede actualizar a través de un cronjob. Esto nos permite tener más flexibilidad cuando queremos actualizar nuestros grupos de noticias. Por ejemplo, podemos hacer que Leafnode se actualice cada 12 horas y cuando encendemos nuestra computadora.
Para que eso suceda, necesitamos editar el crontab del usuario de noticias. El usuario de noticias es la cuenta del sistema que administra directamente la carpeta «/var/spool/news», así como la ejecución del servidor Leafnode.
Para editar el crontab del usuario de noticias, podemos ejecutar el siguiente comando:
Ahora podemos insertar el comando que queremos que el usuario de noticias ejecute regularmente. Un crontab de ejemplo para Leafnode se parece a esto:
* 3 * * 0 /usr/sbin/texpire * 2,14 * * * /usr/sbin/fetchnews @reboot /usr/sbin/fetchnews
Este crontab ejecutará el programa de mantenimiento Leafnode, texpire, a las 3 am todos los domingos, pero también ejecutará el programa fetchnews una vez cada 12 horas.
¡Felicidades! Ahora tiene conocimientos básicos sobre el uso de Leafnode como servidor proxy de USENET. Con eso, si está buscando algunos lectores de USENET para Leafnode, le recomendamos estas cinco opciones.
Preguntas frecuentes
1. Descargué Leafnode en Debian pero cometí un error con mi script de instalación inicial. ¿Cómo puedo volver a él?
Utilizar el dpkg-reconfigure
programa para reiniciar el script de instalación de Leafnode. Este programa, sin embargo, no está incluido en la variable PATH predeterminada.
Para ejecutarlo, puede escribir el siguiente comando:
sudo /usr/sbin/dpkg-reconfigure leafnode
2. Quiero ejecutar Leafnode en mi LAN. ¿Cómo puedo hacer eso?
Puede hacerlo editando sus archivos «/etc/hosts.deny» y «/etc/hosts.allow». Esto le permite filtrar todas las conexiones entrantes a su servidor Leafnode.
Un ejemplo de un archivo hosts.deny se parece a esto:
Por otro lado, el archivo hosts.allow que permite conexiones locales que usan 192.168.254.* se parece a esto:
leafnode: 127.0.0.1 192.168.254.0/255.255.255.0
Tendrás que cambiar el allowstrangers
variable para permitir EXTRAÑOS y establezca su valor en 42.
3. Quiero descargar muchas publicaciones cuando me conecto por primera vez, pero no quiero que llenen el espacio de mi disco. ¿Hay alguna manera de que pueda hacer esto?
¡Sí! Para hacer esto, solo necesita tener en cuenta dos variables: initialfetch
y delaybody
.
Si desea descargar todas las publicaciones de un grupo de noticias en particular, comente el initialfetch
variable para decirle a Leafnode que desea obtener todas las publicaciones disponibles del servidor remoto en este grupo de noticias.
Sin embargo, descargar publicaciones completas puede ocupar mucho espacio. Puede reducir esto simplemente descargando los encabezados de las publicaciones y los cuerpos de las publicaciones que le interesan. Para eso, debe configurar el delaybody
variable a 1.