[ Présentation | Installation ( Présentation, installation avec les binaires, installation des sources )| Configuration basique | Configuration avancée | Lancement automatisé | Utilisation ]

Dernière modification 24.12.00

WWWOFFLE

Configuration internet

Présentation

Un proxy (serveur mandataire en français) est un outil logiciel permettant quand on dispose d'un accès internet de partager cet accès pour que l'ensemble d'un réseau puisse surfer sur le net (et accessoirement faire du FTP et du finger), mais plus que cela il sauvegarde les pages les plus fréquemment visitées ou les dernières visitées pour qu'elles s'affichent plus rapidement.
WWWOFFLE qui est issu du monde UNIX, est un proxy qui peut faire office d'aspirateur de web, puisqu'il garde en mémoire les pages que vous visitez, c'est donc un excellent outil si vous êtes gestionnaire d'un réseau et que vous voulez pas que vos utilisateurs aillent n'importe où. Vous surfez à leur place sur les pages qui vous semblent dignes d'intérêt, puis vous vous déconnecté vos utilisateurs ne pourront voir que les pages que vous avez sauvegardées pour eux.

J'ai aussi une page sur wwwoffle sur linux.

[Retour haut de la page]

Installation

Présentation

Vous avez la possibilité de récupérer les sources et de recompiler sous windows ! Ou alors vous pouvez récupérer l'archive toute prête en version française que j'ai compilé pour vous. A noter que pour l'instant il n'existe pas d'exécutable pour windows pour la dernière version 2.6 sur le site officiel, c'est donc une exclusivité !

Installation avec les binaires

On récupère d'abord l'archive suivante (wwwoffle-2-6fr.zip), on crée préalablement un répertoire c:\wwwoffle dans lequel on décompresse l'archive. On édite le fichier wwwoffle.conf se trouvant dans le répertoire c:\wwwoffle pour l'adapter à sa config, attention il est au format UNIX, dans le bloc-note c'est pas génial, le mieux est de l'éditer dans une fenêtre DOS. Reportez vous au chapitre configuration pour la suite.
[Retour haut de la page]

Installation avec les sources

On récupérera wwwoffle à l'URL www.gedanken.demon.co.uk/wwwoffle/ . L'archive se présente sous la forme d'un tarball wwwoffle-2.6.tgz  qu'on décompressera dans un répertoire de travail accessible par cygwin à l'aide de winzip par exemple. La décompression va créer un répertoire wwwoffle-2.6.
Dans ce répertoire on va d'abord éditer le fichier Makefile et le modifier légèrement, vous pouvez récupérer le mien ici. Les lignes importantes sont:

INSTDIR=/wwwoffle

Répertoire d'install de wwwoffle, en pratique sous le répertoire d'install de cygwin

SPOOLDIR=/wwwoffle/spool

Répertoire contenant le cache

CONFDIR=/wwwoffle

Emplacement du fichier de conf wwwoffle.conf

LANG=fr

Pour utiliser la langue française. On va devoir maintenant modifier un certain nombre de choses dans les sources pour que ça compile et marche correctement, la première chose à faire est de créer directement dans le répertoire wwwoffle-2.6 le fichier fchdir.c contenant :

#include "wwwoffle.h"
#include "misc.h"
#include "config.h"

int fchdir(int fd)
{
 static char *spool_dir=NULL;

 if(!spool_dir)
   {
    spool_dir=ConfigString(SpoolDir);
   }

 chdir(spool_dir);
}

Dans le Makefile pour  les variables WWWOFFLE_OBJ, WWWOFFLED_OBJ, WWWOFFLE_TOOLS_OBJ et CONVERT_OBJ on doit rajouter fchdir.o à la fin (après md5.o). Dans le même fichier on rajoutera la ligne :

fchdir.o : fchdir.c

Rassurez vous dans le Makefile que vous pouvez télécharger, toutes ces modifs sont déjà faites.

Dans wwwoffled, on doit supprimer les lignes suivantes :

 fSpoolDir=open(ConfigString(SpoolDir),O_RDONLY);
 if(fSpoolDir==-1)
    PrintMessage(Fatal,"Cannot open the spool directory '%s' [%!s]; conversion failed.",ConfigString(SpoolDir));

On supprime les lignes suivantes dans convert-cache.c

 fSpoolDir=open(argv[1],O_RDONLY);
 if(fSpoolDir==-1)
    PrintMessage(Fatal,"Cannot open the spool directory '%s' [%!s]; conversion failed.",argv[1]);

Et rajoutez celle là, à la place

InitConfigurationFile(argv[1]);

Pensez bien que je n'ai pas trouvé ça tout seul, c'est évidemment avec l'aide de l'auteur de wwwoffle Andrew M. Bishop.
A présent pour compiler dans un bash shell cygwin, on doit taper normalement :

make all

Pour compiler le tout. A présent pour installer les binaires il faut taper :

make install-win32

On a une erreur lors de la copie de cygwin1.dll sous wwwoffle\bin, on va trouver cette DLL dans le répertoire bin de cygwin, copier là sous le sous répertoire bin de wwwoffle.

cp /bin/cygwin1.dll /wwwoffle/bin

Pour créer le répertoire de spool

make install_cache

Pour mettre les fichiers HTML en français

make install_html

Pour mettre en place le fichier de config.

make install_config

J'admets que la compilation d'un programme peut paraître fastidieux, c'est pourquoi je propose les binaires wwwoffle version française sur mon site au format zip compilé sur un Pentium 133 (installation avec les binaires).
 
 
 

[Retour haut de la page]

Configuration basique

Le fichier de config wwwoffle.conf se trouvent sous le répertoire wwwoffle qui a été créé à l'install. Dans un premier temps on ne va pas modifier grand chose dans le fichier de configuration. On admet que votre serveur s'appelle obelix, a pour adresse 192.168.13.11, votre nom de domaine interne breizland.bz.
On va maintenant modifier les lignes suivantes dans le fichier de conf :

Définition de la machine serveur :

LocalHost
{
 localhost
 127.0.0.1
 obelix.breizland.bz
 192.168.13.11

#### Example ####
# The server is on www.foo.com, with IP address 11.22.33.44.
# www.foo.com
# 11.22.33.44
}

Maintenant vous devez autoriser les machines de votre réseau local à accéder au proxy wwwoffle en rajoutant :

 AllowedConnectHosts
{
*.breizland.bz
#### Example ####
# Only allow connections from hosts in the foo.com domain.
# *.foo.com
}

On peut écrire aussi 192.168.13.*

Si vous avez des sites accessibles en intranet, vous pouvez spécifier qu'ils ne soient pas "cachées" (sauvegardées dans le cache). Si vos sites se terminent par votre nom de domaine interne, on mettra :

LocalNet
{
*.breizland.bz
#### Example ####
# The local domain is foo.com so don't cache any hosts in it.
# *.foo.com
}

ATTENTION si vous passez par le proxy de votre FAI (nom proxy.fai.fr, port 3128 par exemple), vous devez modifier les lignes suivantes pour lire :

Proxy
{
 http://* = proxy.fai.fr:3128

#### Example ####
# Use www.foo.com as a default http proxy server on port 8080
# Except for the foo.com domain which has no proxy.
# http://*    = www.foo.com:8080
# *://foo.com = none
}

Configurons maintenant le navigateur. Pour Netscape Edition->Preférences->Avancées, il faut d'abord désactiver le cache, sélectionner Cache, puis au niveau de   Comparer le cache avec celui du réseau, choisissez Jamais. Toujours au niveau d'Avancées choisissez maintenant Proxy, puis Configuration manuelle du proxy, appuyez sur le bouton Afficher, pour les protocoles proxy FTP, proxy Gopher, proxy HTTP, proxy de sécurité, proxy WAIS mettez le nom du serveur wwwoffle puis dans le champ port 8080, laissez les autres champs par défaut puis OK et encore OK.

ATTENTION Pour le nom de votre serveur wwwoffle vous devez mettre exactement l'un des alias définis dans la section LocalHost du fichier de conf de wwwoffle.

Pour lancer wwwoffle il suffit d'une fenêtre DOS de lancer wwwoffled présent dans le répertoire bin de wwwoffle. wwwoffled est un daemon, c'est à dire que c'est un programme qui doit tourner en permanence et qui répond aux requêtes des différents clients navigateurs. Attention ne fermer pas cette fenêtre.

Connectez vous à Internet. Une fois connecté, tapez dans une autre fenêtre DOS.

wwwoffle -online

Vous avez le message

WWWOFFLE Now Online

Surfer normalement, déconnectez vous, puis taper

wwwoffle -offline

Le message suivant apparaît

WWWOFFLE Now Offline

A présent en mode off-line, surfer sur les quelques pages que vous venez de visiter, elles ont toutes été sauvegardées, cliquer maintenant sur une de ces pages sur un lien non visité, une page de wwwoffle s'affiche vous disant que la requête a été enregistrée, faites de mêmes pour quelques autres liens. Reconnectez vous, puis une fois connecté, tapez :

wwwoffle -online

Puis pour télécharger les pages que vous cherchiez à accéder en mode off-line:

wwwoffle -fetch

Les pages seront ainsi sauvegardées et vous pourrez à présent y accéder en mode off-line. Déconnectez vous (en n'oubliant pas le wwwoffle -offline) et réessayer.

NOTE Vous pouvez lancer le daemon en mode debug en tapant simplement :

wwwoffled -d 6
 
 
 

[Retour haut de la page]

Configuration avancée

On peut indiquer à wwwoffle lors de la récupération d'une page de ne pas récupérer les images, pour cela vous disposez d'options de récupération avec FetchOptions

FetchOptions
{
 stylesheets = no
 images      = yes
 frames      = yes
 scripts     = no
 objects     = no
}

Les scripts correspondent au classe java par exemple.  Pour autoriser certaines personnes à se connecter au serveur wwwoffle, vous disposez de AllowedConnectUsers avec la syntaxe du type :

olivier:motdepasse1
veronique:motdepasse2

S'il n'y a rien c'est que tout le monde est autorisé dès lors qu'on est sur une machine autorisée (AllowedConnectHosts)

AllowedConnectUsers
{

#### Example ####
# Only allow connections from this one user.
# andrew:password
}

On peut spécifier de ne pas sauvegarder certaines pages :

DontCache
{

# pour ne pas sauvegarder les .gz, .zip, .exe, .tar  .mp3    ;-)
    *://*/*.gz
    *://*/*.zip
    *://*/*.tar
    *://*/*.exe
    *://*/*.mp3

# pour ne pas sauvegarder les pages du domaine penthouse.com (!)
*://*.penthouse.com/

#### Example ####
# Don't cache any hosts in the barfoo.com domain.
# *://*.barfoo.com/
# Don't cache any gzipped or tar files.
# *://*/*.gz
# *://*/*.tar
# Don't cache any files from /volatile in the foo.com domain.
# *://*.foo.com/volatile/*
}

Pour que les utilisateurs ne puissent pas accéder à certaines pages sauvegardées quand on est offline :

DontRequestOffline
{

#### Example ####
# Dont request any URLs at all when offline.
# *://*/
}

Au niveau de Purge, on peut voir que par défaut les pages sont sauvegardées 28 jours pour changer cela, vous disposez de la variable default :

default 28

Pour faire le ménage pour que le cache ne dépasse pas 30Mo :

max-size = 30

Au niveau de StartUp, on peut spécifier un mot de passe, celui ci va servir à ce qu'uniquement les personnes le connaissant puissent modifier le fichier de config à partir d'un navigateur (voir paragraphe Utilisation).

password          = mot-de-passe-en-clair

La syntaxe pour spécifier une URL est la suivante :

 *://*              protocole quelconque, machine quelconque, port quelconque, chemin quelconque, arguments quelconques
 *://*/<path>   protocole quelconque, machine quelconque, port quelconque, chemin spécifié, arguments quelconques (exemple *://*/pub comme ftp://ftp.lip6.fr/pub ou http://www.yahoo.com/pub)
 *://*/*?     protocole quelconque, machine quelconque, port quelconque, chemin quelconque, pas d'arguments
 *://<host>   protocole quelconque, hôte spécifié, port quelconque, chemin quelconque, arguments quelconques
 <proto>://      protocole spécifié, hôte, port, chemin et arguments quelconques (exemple http:// ou ftp://)
 <proto>://<host>   protocole et hôte spécifiés, chemin, port et arguments quelconques (exemple http://www.yahoo.fr)
 
 
 

[Retour haut de la page]

Lancement automatisé

Si vous avez récupéré les sources de wwwoffle dans le répertoire wwwoffle-6\contrib-win32 on dispose d'un certain nombre de script, dont on peut s'inspirer. Pour ceux qui ont récupéré mon archive les fichiers existent déjà sous c:\wwwoffle\bin. Le premier start.bat permet de lancer le daemon wwwoffled, voici son contenu :

set CYGWIN=binmode
c:\wwwoffle\bin\wwwoffled -d

Vous adapterez bien sûr le chemin de l'exécutable à votre cas. L'option -d correspond au mode debug

Le deuxième stop.bat permet d'arrêter proprement le daemon wwwoffled, voici son contenu :

set CYGWIN=binmode
c:\wwwoffle\bin\wwwoffle -kill

Même remarque pour le chemin.
Le troisième online.bat permet de basculer wwwoffle en mode online (connecté) et de rapatrier les pages demandées en mode offline

set CYGWIN=binmode
c:\wwwoffle\bin\wwwoffle -online
c:\wwwoffle\bin\wwwoffle -fetch

Le dernier offline.bat permet de passer en mode offline (déconnecté)

set CYGWIN=binmode
c:\wwwoffle\bin\wwwoffle -offline

Pour que start.bat soit appelé systématiquement au démarrage (lancement auto d'une fenêtre DOS) il suffit de créer un raccourci dans le groupe Démarrage du menu Démarrer. Maintenant pour que online.bat soit appelé en début de connexion et offline.bat en fin, on peut se servir d'un programme comme NetLaunch.

Dans la fenêtre de lancement de NetLaunch on rajoutera un raccourci vers online.bat et offline.bat, dans les préférences on lancera online.bat 2-3s après le début de la connexion et on lancera offline.bat immédiatement après la fin de déconnexion.
Ca va provoquer l'apparition d'une fenêtre DOS pour online.bat et une autre lors du lancement de offline.bat qu'il faudra fermer manuellement quand la mention Terminé apparaîtra dans le bandeau. offline.bat est parfois un peu long à se terminer, je suis en train de chercher pourquoi.

Il faudra fermer manuellement la fenêtre du daemon wwwoffled à l'arrêt de windows.
 
 
 

[Retour haut de la page]

Utilisation

Vous disposez d'une page de consultation de wwwoffle à l'URL http://obelix.breizland.bz:8080/index/ si obelix est le nom de votre serveur proxy et breizland.bz votre nom de domaine privé (ATTENTION saisissez exactement le même nom d'hôte que celui spécifié dans le fichier de config au niveau de LocalHost).

Une page de consultation en français apparaît, vous pouvez voir son contenu en cliquant ici (ATTENTION les liens ne sont pas opérationnels). A partir de cette page vous avez dans l'ordre :

- la description du produit,
- l'index du cache, pour pouvoir entre autres :
    * voir la liste de toutes les pages httpd présentes en cache,
    * voir la liste des requêtes en attente,
    * voir la liste des pages à surveiller (voir si pages modifiées ou pas),
    * voir la liste des pages visitées à la dernière connexion,
- requête simple, pour spécifier une page à récupérer,
- suivi d'une page, pour spécifier une page à surveiller,
- contrôle interactif, pour administrer wwwoffle (édition du fichier de conf avec mot de passe),
- recherche dans le cache à partir de certains critères grâce à ht://Dig (qu'il faut installer),
- liens divers dont la FAQ de wwwoffle,
- e-mail de l'auteur en cas de problèmes (à rédiger en anglais) et listes de diffusion.

Attention le cache wwwoffle\spool à tendance à grossir vous avez le moyen de faire le ménage régulièrement à partir de l'interface d'administration (purge).
 
 
[Retour page d'accueil FUNIX]