Traiter avec des serveurs de nouvelles distants peut être pénible pour le lecteur fréquent de USENET. Le plus souvent, ces serveurs peuvent être lents et peu fiables. De plus, si vous accédez trop fréquemment à des fournisseurs gratuits, comme avec AIOE, ils peuvent limiter votre connexion et interdire votre adresse IP. Ces facteurs peuvent rendre l’expérience USENET douloureuse pour certains.
Qu’est-ce que Leafnode ?
Noeud feuille est un proxy hors ligne pour les serveurs USENET. Il télécharge les publications d’actualités à partir d’un serveur de nouvelles distant et le sert de service local dans votre système. Il peut également prendre plusieurs serveurs USENET comme sources en amont et les fusionner pour servir de source unique. Ceci est utile si vous souhaitez vous abonner à plusieurs groupes de discussion servis par différents fournisseurs.
De plus, Leafnode permet à l’utilisateur d’avoir des copies hors ligne des groupes de discussion suivis. Ceci est important lorsqu’une connexion Internet n’est pas toujours disponible ou si vous cherchez à archiver les groupes de discussion auxquels vous êtes abonné. Enfin, Leafnode est simple, facile à configurer et fonctionne avec tous les lecteurs USENET modernes.
Comment fonctionne un proxy USENET ?
Comme nous l’avons mentionné ci-dessus, Leafnode est un serveur proxy USENET, il agit donc essentiellement comme serveur de nouvelles pour vos lecteurs de nouvelles.
Cependant, contrairement à un serveur USENET traditionnel, Leafnode n’obtient pas la copie complète de toutes les hiérarchies des autres serveurs. Leafnode n’obtient que les publications que vous lui dites d’obtenir dans les conditions que vous avez définies.
Leafnode interagit avec deux programmes : chercher des nouvelles et texire.
- Récupérer les actualités est le programme qui indique à Leafnode à quels groupes de discussion s’abonner et combien il doit en obtenir. Il télécharge également vos messages d’actualité et vos réponses.
- Expire est le programme de maintenance qui supprime les anciens messages des groupes de discussion. Il répare également les messages en double ou cassés et met à jour les données globales du serveur de nouvelles.
Ces deux programmes permettent à Leafnode de fonctionner la plupart du temps sans surveillance. Une fois que vous avez terminé de le configurer, Leafnode se comportera comme s’il s’agissait d’un serveur USENET distant.
Cela signifie également que vous pouvez configurer Leafnode dans un petit réseau et permettre à plusieurs utilisateurs de s’y connecter pour lire les articles d’actualité. Vous pouvez donc réduire la quantité de bande passante utilisée par votre réseau pour accéder à USENET.
Installation de Leafnode
Leafnode est conçu pour être aussi simple que possible. Cela s’applique à la fois à son installation et à son entretien. Avec cela, l’installation de Leafnode consiste simplement à l’obtenir à partir du référentiel de votre distribution.
Par exemple, dans Debian et Ubuntu 21.10, vous pouvez obtenir Leafnode à partir de apt
:
sudo apt install leafnode
Configuration de Leafnode
Lors de l’installation, Leafnode vous demandera quelques détails sur le serveur distant auquel vous souhaitez vous connecter. Dans le premier écran, il vous demandera l’adresse du serveur distant. Par exemple, si vous voulez vous connecter à AIOE, vous devez mettre nntp.aioe.org ici.
Dans mon cas, je me connecte via Septembre éterneldonc j’ajoute l’adresse ici.
Configuration des téléchargements USENET automatisés
À partir de là, le programme d’installation vous demandera votre méthode préférée pour récupérer les articles d’actualité. Vous avez trois options ici : PPP, Permanent et Aucun.
- PPP téléchargera automatiquement les nouveaux messages chaque fois que vous vous connecterez à Internet.
- Permanent téléchargera automatiquement les nouvelles toutes les heures.
- Rien n’activera pas la récupération automatique des nouvelles. Vous devrez exécuter la commande fetchnews pour vous synchroniser avec le serveur distant.
Dans mon cas, je ne veux pas que Leafnode se connecte automatiquement au serveur de nouvelles à mon insu, donc je choisis Aucun.
Activation des contrôles d’accès
Le programme d’installation de Leafnode vous demandera si vous souhaitez activer les contrôles d’accès pour votre serveur.
Ceci est pertinent si vous utilisez Leafnode comme serveur de nouvelles local pour plusieurs utilisateurs. Il vous permet d’utiliser le fichier /etc/hosts pour contrôler quels clients peuvent accéder au serveur et lesquels ne le peuvent pas.
Par exemple, si vous utilisez Leafnode dans un intranet où vous vous attendez à ce que chaque client accède au serveur de news, il n’est pas nécessaire d’activer les « Contrôles d’accès ».
Malgré cela, il est généralement recommandé de bloquer toutes les connexions entrantes et d’activer uniquement celles que vous souhaitez. De plus, si vous n’utilisez Leafnode que comme proxy local pour votre propre machine, vous devez activer cette option.
Dans mon cas, je n’utiliserai que cette instance de Leafnode sur cette machine, je vais donc activer les contrôles d’accès.
Extraction initiale pour les groupes USENET
Après cela, le programme d’installation de Leafnode vous demandera si vous souhaitez vous connecter au serveur USENET distant maintenant. Cela permettra à Leafnode d’obtenir la liste des groupes de discussion disponibles sur le serveur.
Cependant, si vous utilisez un service qui nécessite une authentification, comme avec Eternal September, vous ne devez pas récupérer de groupes de discussion à l’aide de cette option. En effet, nous n’avons pas encore fourni les informations de notre compte à Leafnode, et la mise à jour actuelle ne nous donnera pas la liste complète des groupes de discussion.
Dans mon cas, parce que je me connecte via Eternal September, je choisis No.
Configuration de Leafnode
À partir de là, vous pouvez affiner certains aspects du comportement de Leafnode via son fichier de configuration.
Par exemple, il existe des paramètres qui vous permettront, entre autres, d’utiliser un compte USENET pour récupérer les actualités. Vous pouvez également définir certains paramètres qui indiqueront à Leafnode quelles publications il peut télécharger et combien de temps pour le stocker.
L’emplacement du fichier de configuration varie en fonction de la distribution Linux que vous utilisez. Dans Debian et Ubuntu, il se trouve dans « /etc/news/leafnode/config ».
sudo vim /etc/news/leafnode/config
Définition du nom d’utilisateur et du mot de passe par défaut
Le fichier de configuration de Leafnode est complet et bien documenté. Chaque option a une brève description de ce qu’elle fait, et certaines ont même des exemples qui illustrent comment la définir correctement.
Pour utiliser un compte USENET dans Leafnode, vous devez décommenter le username
et password
variables. Lorsque vous avez terminé, définissez vos informations en eux.
Dans mon cas, j’ai ajouté les informations de compte pour mon compte Eternal September.
Comment créer des filtres de publication
Une caractéristique clé de Leafnode est que vous pouvez manipuler la façon dont les messages sont traités pendant leur téléchargement en filtrant les messages ou en configurant certains groupes de discussion pour qu’ils ne soient pas élagués après un certain nombre de jours.
Le filtrage des publications peut se faire de deux manières :
- Basé sur les propriétés générales d’un poste donné. Par exemple, vous pouvez filtrer par le nombre de lignes ainsi que par la taille d’un message.
- Basé sur des termes spécifiques trouvés dans les en-têtes de publication. Cela se fait en créant une liste d’expressions régulières dans un fichier de filtre.
Pour filtrer en fonction des propriétés générales, activez-les directement à partir du fichier de configuration. Par exemple, vous pouvez définir le minlines
variable à 3, ce qui indiquerait à Leafnode de ne pas recevoir de messages de moins de trois lignes.
D’autre part, pour filtrer en fonction de mots spécifiques, vous devez activer l’option filterfile dans Leafnode. Faites cela en décommentant le filterfile
variable et en fournissant un chemin vers votre fichier de filtre.
Dans mon cas, j’utilise le chemin par défaut pour le fichier de filtre.
La syntaxe de base du filterfile ressemble à ceci :
Header-Property:^/regex/$
Chaque ligne du fichier de filtre doit pointer vers une certaine propriété d’en-tête d’un article. Par exemple, si vous souhaitez filtrer tous les messages de Google Mail, saisissez quelque chose comme ceci :
^From:.*[A-Za-z0-9]*\.*[A-Za-z0-9]*\@gmail\.com$
Comment archiver des groupes USENET
Par défaut, Leafnode supprime tous les groupes pour les publications datant de plus de 20 jours. Cela permet à Leafnode de réduire la taille de son fichier et est utile lorsque vous êtes abonné à des groupes qui voient 100 à 200 publications par jour.
Cependant, il peut arriver que vous souhaitiez archiver tous les messages d’un groupe de discussion donné. Pour ce faire, activez le groupexpire
variable.
Par exemple, si je veux archiver le newsgroup comp.unix.misc, j’ajouterai la ligne suivante à mon fichier de configuration :
groupexpire comp.unix.misc = -1
En outre, cette variable peut également être utilisée pour modifier l’âge d’élagage par défaut pour des groupes de discussion spécifiques. Par exemple, si je veux élaguer un groupe à volume élevé comme misc.internet.news.discuss tous les cinq jours, je peux taper cette ligne dans mon fichier de configuration :
groupexpire misc.news.internet.discuss = 5
Comment configurer plusieurs serveurs USENET
Comme nous l’avons vu ci-dessus, Leafnode permet également à ses utilisateurs de récupérer des publications à partir de plusieurs serveurs distants. Ceci est utile si vous utilisez des lecteurs USENET qui ne peuvent se connecter qu’à un seul serveur à la fois.
De plus, vous pouvez également définir un certain nombre d’options qui modifient le comportement des serveurs distants supplémentaires. Vous pouvez régler le nopost
variable à 1 pour faire en sorte qu’un serveur distant ne récupère que les messages et n’envoie pas de messages via lui.
D’autre part, vous pouvez définir la variable noread
faire le contraire.
Par exemple, si je souhaite définir Aioe en tant que serveur supplémentaire « en lecture seule » pour mon instance Leafnode, je peux saisir ce qui suit dans mon fichier de configuration :
server = news.aioe.org
nopost = 1
Création d’un cronjob pour mettre à jour Leafnode
Outre le script de téléchargement automatique, Leafnode peut également être mis à jour via un cronjob. Cela nous permet d’avoir plus de flexibilité lorsque nous voulons mettre à jour nos newsgroups. Par exemple, nous pouvons faire en sorte que Leafnode se mette à jour toutes les 12 heures et au démarrage de notre ordinateur.
Pour que cela se produise, nous devons éditer la crontab de l’utilisateur de news. L’utilisateur news est le compte système qui gère directement le dossier « /var/spool/news » ainsi que le fonctionnement du serveur Leafnode.
Pour modifier la crontab de l’utilisateur de News, nous pouvons exécuter la commande suivante :
Nous pouvons maintenant insérer la commande que nous voulons que l’utilisateur de news exécute régulièrement. Un exemple de crontab pour Leafnode ressemble à ceci :
* 3 * * 0 /usr/sbin/texpire * 2,14 * * * /usr/sbin/fetchnews @reboot /usr/sbin/fetchnews
Ce crontab exécutera le programme de maintenance Leafnode, texpire, à 3 heures du matin tous les dimanches, mais exécutera également le programme fetchnews une fois toutes les 12 heures.
Toutes nos félicitations! Vous avez maintenant une connaissance de base de l’utilisation de Leafnode en tant que serveur proxy USENET. Avec cela, si vous recherchez des lecteurs USENET pour Leafnode, nous vous recommandons ces cinq options.
Questions fréquemment posées
1. J’ai téléchargé Leafnode dans Debian mais j’ai fait une erreur avec mon script d’installation initial. Comment puis-je y revenir ?
Utilisez le dpkg-reconfigure
programme pour réinitialiser le script d’installation de Leafnode. Ce programme, cependant, n’est pas inclus dans la variable PATH par défaut.
Pour l’exécuter, vous pouvez taper la commande suivante :
sudo /usr/sbin/dpkg-reconfigure leafnode
2. Je souhaite exécuter Leafnode sur mon réseau local. Comment puis je faire ça?
Vous pouvez le faire en éditant à la fois vos fichiers « /etc/hosts.deny » et « /etc/hosts.allow ». Cela vous permet de filtrer toutes les connexions entrantes vers votre serveur Leafnode.
Un exemple de fichier hosts.deny ressemble à ceci :
D’autre part, le fichier hosts.allow qui autorise les connexions locales utilisant 192.168.254.* ressemble à ceci :
leafnode: 127.0.0.1 192.168.254.0/255.255.255.0
Vous devrez changer le allowstrangers
variable pour allowSTRANGERS et définissez sa valeur sur 42.
3. Je souhaite télécharger de nombreux messages lors de ma première connexion, mais je ne veux pas qu’ils remplissent mon espace disque. Existe-t-il un moyen de le faire ?
Oui! Pour ce faire, il vous suffit de connaître deux variables : initialfetch
et delaybody
.
Si vous souhaitez télécharger tous les messages d’un groupe de discussion particulier, commentez le initialfetch
pour indiquer à Leafnode que vous souhaitez obtenir tous les messages disponibles du serveur distant dans ce groupe de discussion.
Cependant, le téléchargement de messages entiers peut prendre beaucoup de place. Vous pouvez réduire cela en téléchargeant simplement les en-têtes des messages et les corps des messages qui vous intéressent. Pour cela, vous devez définir le delaybody
variable à 1.