WWWOFFLE

Version 2.4afr3
Document librement redistribuable SANS MODIFICATION
Auteurs : L. Barreau et Nat

Introduction

WWWOFFLE, le World Wide Web Offline Explorer (http://www.gedanken.demon.co.uk/wwwoffle/index.html), est un programme mandataire-cache extrêmement utile sur une machine connectée à l'Internet par intermittences (dialup ...), bien réalisé et simple à installer/employer.

Nous traiterons ici de la version 2.4b

Ne pas négliger, lors de l'installation d'une nouvelle version remplaçant un exemplaire existant, d'utiliser le script upgrade-config.pl afin de mettre à jour du fichier de configuration.

Services assurés

wwwoffle assure les services d'un mandataire-cache (proxy-cache) en tenant compte du fait, lors d'une requête, que la connexion à l'Internet est ou non effectuée.

Il suffit de l'installer sur la machine connectée à l'Internet (même par intermittences) puis de configurer les arpenteurs (browsers) du réseau local afin qu'ils l'exploitent en tant que proxy. Ils ne pourront dès lors accéder aux serveurs HTTP (donc Web, mais aussi FTP) qu'à travers lui. Lorsqu'ils expédient une requête (une URL, en fait) à wwwoffle ce dernier :

wwwoffle offre le moyen d'accéder de façon transparente à tous les documents déjà 'récupérés' (placés dans le cache durant les surfs) même lorsque la liaison n'est pas établie.

Installation

Ultra simple.

Récupérer la plus récente version de wwwoffle disponible. Si vous employez déjà une version n'omettez pas de lire le fichier NEWS, car il est parfois nécessaire d'invoquer un utilitaire de mise à jour du cache (placé sous le répertoire de spool, souvent /var/spool/wwwoffle/) Utiliser, après installation de la nouvelle version, le script upgrade-config.pl afin de mettre à jour le wwwoffle.conf.
ATTENTION : toujours sauvegarder le wwwoffle.conf existant avant d'installer une nouvelle version ! Lire les fichiers README.CONF et CHANGES.CONF pour les nouvelles options (configuration du monitoring, etc...).
Cliquer ici pour récupérer et installer l'archive de traduction en français des messages de wwwoffle réalisée par A. Blaire. wwwoffle place par défaut son fichier de configuration, nommé wwwoffle.conf, dans le répertoire de spool. Or nombre d'administrateurs système ne sauvegardent pas cette zone. On peut l'obliger à procéder autrement en plaçant le wwwoffle.conf sous /etc et en tirant un lien symbolique : cd /var/spool/wwwoffle ; ln -s ../../etc/wwwoffle.conf ou bien en modifiant, avant compilation, la valeur associée au symbole CONFDIR du Makefile.

wwwoffle.conf minimum

La section LocalHost de mon /etc/wwwoffle.conf contient :

nom_de_la_machine_connectée_à_l'Internet.mon-domaine
localhost
127.0.0.1

La section LocalNet contient :
*mon-domaine

'mon-domaine' est ce que produit la commande 'hostname -d'. La section AllowedConnectHosts contient :
*ma-machine
'ma-machine' est ce que produit la commande 'hostname -s'. Placer le nom des domaines accessibles grâce au réseau local dans la section DontCache :
*://*ma-machine-FQDN:/*
*://*localhost:/*

'ma-machine-FQDN' est ce que produit la commande 'hostname'. Placer le nom du serveur mandataire ("proxy") du fournisseur dans la section Proxy. Exemple :
http://*/* = proxy-mon-fournisseur:8080
ftp://*/* = proxy-mon-fournisseur:8080

'proxy-mon-fournisseur' est ici le nom complet du serveur mandataire (proxy) du fournisseur, par exemple 'proxy.toto.fr' Section FTPOptions :
anon-username = anonymous
anon-password = Adresse-Email-de-l'admin-de-votre-site

Pour aller plus loin lire la page de manuel de wwwoffle.conf.

Composants

Le binaire principal se nomme wwwoffle.

L'administrateur de la machine connectée à l'Internet prendra soin de modifier les scripts de connexion de façon à « informer » wwwoffle de l'état de la connexion au moyen des options : -online (juste après établissement du lien IP) et -offline (juste avant de tuer pppd). Sous Linux/Red Hat (Un rpm de wwwoffle existe !) j'ai placé dans ip-up.local les commandes
wwwoffle -online ; wwwoffle -fetch &
, et dans ip-down.local la commande
wwwoffle -offline

Il faudra aussi installer une entrée de contrab invoquant wwwoffle une fois par jour avec l'option -purge, durant une période de faible charge (probablement nocturne).

Les arpenteurs Web des machines clientes adopteront, en guise de mandataire (proxy) : http://nom_de_la_machine_connectée_à_l'Internet.domaine:8080/. Examiner ensuite ce que propose l'URL http://nom_de_la_machine_connectée_à_l'Internet.domaine:8080/ (ou bien 'http://localhost:8080/', si vous employez la machine connectée à l'Internet), qui mène à un document d'aide à l'exploitation de wwwoffle. Si vous ne parvenez pas à y accéder invoquer en tant que root :

cd /var/spool/wwwoffle/
find html | xargs chown daemon.daemon
find html | xargs chmod a+r
find html -type d | xargs chmod a+x

Utilisation

la plus classique :avec un navigateur Web !

Sinon, sur la ligne de commande, invoquer "wwwoffle URL" pour requérir une URL. Lire la page de man de wwwoffle (ou l'invoquer avec l'option -h), en particulier les paragraphes consacrés aux options -r, -R et -d. L'option -fetch, à employer lorsque la machine est connectée, l'autorise à récupérer les documents requis. Cette commande ne rend la main qu'après avoir tenté de récupérer tous les documents, ce qui correspond au besoin d'un accès automatique (par exemple nocturne) destiné à "rapatrier" de nouveaux fichiers (y compris accessibles via FTP).

L'option -fetch assure aussi le suivi de sites (monitoring).

L'administration du cache est simple. Elle s'effectue soit à l'aide d'un programme annexe (wwwoffle-tools), soit par le biais de pages HTML: l'utilisateur peut, à partir de son browser en dirigeant ce dernier vers http://localhost:8080/control/, gérer le cache et le comportement de wwwoffle de façon interactive. Le serveur proxy peut être ainsi mis en mode online ou offline, chaque URL stockée sur le disque peut être effacée ou marquée de façon à être soit remise à jour, soit suivie.

En cas de problème après une mise à jour (wwwoffle -online semble bloquer) : détruire le répertoire de spool (/var/spool/wwwoffle) et réinstaller (make install).

Toutefois, attention: wwwoffled, le démon faisant office de serveur proxy, est lancé sous un utilisateur ayant les permissions de lecture et d'écriture sur le cache (root par défaut). Du coup, n'importe qui à partir de son browser, peut contrôler wwwoffle, voire même effacer l'intégralité de son cache.

Pour éviter ce petit désagrément, il faut utiliser les éléments 'run-uid' et 'run-gid' de la section "StartUp" du wwwoffle.conf. On peut aussi, pour plus de sûreté, placer dans la section StartUp l'option 'password=un_mot_de_passe'. Par la suite, l'utilisateur voulant intervenir sur le cache ou le comportement de wwwoffled se verra demander un login (le même que celui sous lequel le serveur a été lancé, typiquement root) et ce mot de passe. Évidemment, le fichier de configuration ne devra être accessible que pour l'administrateur ("chmod 600 /etc/wwwoffle.conf"). Cette identification n'a lieu que pour les demandes visant à effacer un document. Les autres fonctions (fetch, monitoring) continuent d'être disponibles pour l'utilisateur 'normal', uniquement par les liens proposés dans les différents index, non par la page de contrôle.

Enfin, aprés l'ajout de l'option password, toutes les commandes tapées dans un shell attendrons une localisation du fichier de configuration par l'option '-c chemin_du_fichier' pour vérifier si l'utilisateur appelant en possède bien les droits de lecture.

Ne pas négliger de lire de temps à autres le site de WWWOFFLE .

wget

L'outil GNU wget complète à merveille WWWOFFLE. Explorer les effets des options -km, -nh, -np, -l0 ...
Exemples :
#! /bin/bash wget -km --no-parent -nh -R sit,SIT,prc,sea,SEA,hqx,HQX,pdf,PDF,exe,EXE,com,COM,zip,ZIP,arj,ARJ,gz,mov,MOV,au,AU,mpeg,MPEG,wav,WAV,jpg,JPEG,JPG,jpeg,gif,GIF $* Note : la liste des extensions non souhaitées (paramètre '-R') peut aussi être employée dans les rubriques DontCache, DontGet et/ou DontGetRecursive du wwwoffle.conf. Autre programmes intéressant : RabbIT et GREED.
Last modified: Tue Jun 1 01:23:24 MET DST 1999
Copyright © 1997-1999 « IKARIOS »

Nat Makarévitch