Ce fichier decrit noip2, un client Linux de seconde generation pour
le service de DNS dynamique no-ip.com.

Nouveau:  Ce code devrait se creer et s'executer sur Solaris/Intel et aussi BSD.
          Editer le MakeFile pour Solaris et les variantes de BSDs.
          Pour les utilisateur de BSD cherchant a modifier l'interface, voir
          plus bas.
          Informer moi des differents changement necessaire pour utiliser
          correctement noip2 sur votre OS non-Linux.
  
Svp, lire ce court fichier avant d'utiliser noip2.

###########################################################################
COMMENT CREER UN EXECUTABLE POUR VOTRE SYSTEME

La commande
  make
Fabrique un binaire du client noip2 qui s'executera sur votre systeme.

Si vous n'avez pas 'make' installe et que vous avez une machine Linux i686
avec libc6, un binaire pour les systemes i686 est situe dans le repertoire
'binaries' appele noip2-Linux. Copier ce binaire dans le repertoire de 
construction
  'cp binaries/noip2-Linux noip2'
  
La commande
  make install
(Qui doit etre execute en tant que 'root') va installer les differentes
parties du logiciel a leur places approprie. Il vous posera des questions et
construira un fichier de configuration.
Voir plus bas si vous ne pouvez pas devenir 'root' ou ne pouvez pas ecrire
dans /usr/local/*.

###########################################################################
COMMENT UTILISER LE CLIENT SANS LIRE LE RESTE DU TEXTE

Operation usuelle?
/usr/local/bin/noip2 -C       configure un client
/usr/local/bin/noip2          Lance un client
/usr/local/bin/noip2 -S       affiche des infos sur les clients lances
/usr/local/bin/noip2 -D pid   change l'etat de debug pour le client pid
/usr/local/bin/noip2 -K pid   termine le client pid

Vous avez plus d'un peripherique d'acces à internet?
/usr/local/bin/noip2 -M -c fichier   demarre une instance supplementaire

###########################################################################
COMMENT DEMARRER LE CLIENT

L'executable noip2 peut etre lancer en tapant /usr/local/bin/noip2

Si vous voulez l'executer automatiquement quand la machine demarre, alors
il faut placer le script suivant dans votre repertoire de demarrage.
(/etc/init.d/rcX.d, /sbin/init.d/rcX.d ou ???) 

#######################################################
#! /bin/sh
# . /etc/rc.d/init.d/functions  # decommente/modifie pour votre killproc
case "$1" in
    start)
        echo "Demarrage de noip2."
        /usr/local/bin/noip2
        ;;
    stop)
        echo -n "Arret de noip2."
        killproc -TERM /usr/local/bin/noip2
        ;;
    *)
    echo "Usage: $0 {start|stop}"
    exit 1
esac
exit 0
#######################################################

Ou le 'X' dans rcX.d est la valeur obtenue en executant la
commande suivante
  grep initdefault /etc/inittab | awk -F: '{print $2}'

Killproc peut etre telecharge depuis ftp://ftp.suse.com/pub/projects/init
Autrement, vous pouvez enlever le commentaire de ligne apres #! /bin/sh

Si vous avez une version recente de RedHat, vous pouriez vouloir utiliser
le script de demarage fournit pas un autre utilisateur. C'est dans le paquetage
appele redhat.noip.sh
Il se peut qu'il y est des modifications a apporter pour votre systeme.

Il y a un script de demarrage pour Debian appele debian.noip2.sh.
Il a aussi ete fournit par un autre utilisateur mais il parait qu'il
peut ne pas fonctionner dans quelques situations.

Ici c'est un script qui va tuer tous les processus de noip2
  #!/bin/sh
  for i in `noip2 -S 2>&1 | grep Process | awk '{print $2}' | tr -d ','`
  do
    noip2 -K $i
  done
Ces quatre lignes peuvent remplacer 'killproc' et 'stop_daemon' dans d'autres
scripts.

Si vous etes derriere un parefeu, vous devrez avoir besoin d'autoriser le port
8245 (TCP) dans les deux directions.

#######################################################################

IMPORTANT!! Svp regler les permissions correctement sur votre executable.
Si vous demarrer noip2 en utilisant une des methodes ci-dessus, faite les
choses suivantes:
chmod 700 /usr/local/bin/noip2
chown root:root /usr/local/bin/noip2
Si vous demarrer noip2 manuellement depuis un compte non root, faite le chmod
700 comme ci dessus mais chown (Changement de proprietaire) sur le 
owner:group du compte non root, et vous devrez subsituer votre nouveau
chemin si l'executable n'est pas dans /usr/local/bin.

###########################################################################
ETAT SAUVEGARDE

Noip2 sauvegardera la derniere adresse IP envoye a no-ip.com au moment ou il se
termine. Ce parametre sera lu au prochain demarrage de noip2. Le fichier de
configuration doit etre en ecriture pour que ca marche! Rien ne se fera si ce
n'est pas le cas, l'adresse de depart 0.0.0.0 restera inchangee.

###########################################################################
BSD UTILISANT UN PERIPHERIQUE SPECIFIQUE

Les systemes BSD recent utilisent getifaddrs() pour lister TOUTES leurs
interfaces. Positionnez le define 'bsd_wth_getifaddrs' dans le Makefile si vous
utilise une version de BSD avec le support de getifaddrs() et ignorer le reste
du paragraphe.
Autrement positionne le define 'bsd'.
Le reglage 'bsd' ne listera pas vos peripheriques dans BSD. Donc un peripherique
ne pourra pas etre selectionne depuis le menu. Si vous voulez utiliser un
peripherique particulier vous devrez editer le Makefile et changer la ligne
    ${BINDIR}/${TGT} -C -Y -c /tmp/no-ip2.conf
en
    ${BINDIR}/${TGT} -C -Y -c /tmp/no-ip2.conf -I 'Votre peripherique'

###########################################################################
ARGUMENTS DE LA LIGNE DE COMMANDE A PASSER AU CLIENT

Le client va se mettre lui meme en tache de fond et s'executer comme un daemon.
Ce qui signifie que si vous le lancer plusieurs fois, et leve le drapeau
d'utilisation multiple, vous aller avoir plusieurs instances s'executer.

Si vous voulez que le client s'execute une fois et s'arrete, fournissait
l'argument '-i adresseIP'. Le client se comportera mieux si il est active tous
le temps meme entre des demandes de connections; Il utilise tres peu de
ressources.

Les actions du client sont controler par un fichier de configuration. Il est
habituellement situe dans /usr/local/etc/no-ip2.conf, mais peut etre place
n'importe ou si le parametre '-c nouveau_repertoire' est passe au demarrage.

Le fichier de configuration peut etre genere avec le parametre '-C'.

Il y a quelques nouveaux arguments de ligne de commande fournit avec les
valeurs par defaut du fichier de configuration. Ce sont -F, -Y et -U.

L'interval entre des tests successifs pour un changement d'adresse IP est
controle par le parametre '-U nn'. Le nombre represente les minutes, un minimum
de 1 est force par le client lorsqu'il s'execute sur la machine parefeu, 5
lorsqu'il s'execute derriere un routeur/parefeu. Une valeur usuelle pour un
client derriere un parefeu est 30. Un jour c'est 1440, une semaine 10080, un
mois 40320, 41760, 43200 ou 44640. Pour une heure la determination est laisse
comme exercice au lecteur :-)

La construction du code de configuration permet une selection parmi les
hosts/groups enregistres a no-ip.com pour l'utilisateur selectionne. Le parametre
'-Y' forcera tous les hosts/groups a etre selectionnes pour les mis a jour.

Quelques sites ont de multiples connections a internet. Ces sites confondent la
detection auto NAT. Le parametre '-F' forcera le reglage non-NAT ou "parefeu".

Le client peut etre appele avec le parametre '-i adresseIP' qui forcera le
reglage avec cette adresse a no-ip.com.
Le client s'execute un fois est s'arrete.

Le parametre -I peut etre utilise pour surcharger le nom du peripherique dans le
fichier de configuration ou pour forcer le nom fournit dans le fichier de
configuration pendant sa creation. Svp utilisez ca en dernier ressort!

Le parametre '-S' est utilise pour afficher les donnees associees a chaque
instances de noip2. Si rien n'est lance, il affichera le contenu du fichier de
configuration qui est selectionne. Il le fait est s'arrete.

Le parametre '-K process_ID' est utilise pour terminer une instance de noip2.
La valeur du process_ID peut etre obtenue en executant noip2 -S.

Le parametre '-M' permettra d'executer plusieurs instances du client noip2.
Chaque instance doit avoir son propre fichier de configuration. Il est possibe
d'executer jusqu'a 4 instances simultanement.

Toutes les erreurs et les messages d'information sont stockes via le service
syslog. Un ligne indiquant un changement d'adresse reussi a no-ip.com est
toujours ecrite dans le syslog. Le syslog est habituellement /var/log/messages.

Si le client a ete construit avec le deboggage active, l'etat habituel, le
parametre '-d' activera les sorties de debug. Cela produira une trace du
programme lance et devrait vous aider si vous avez des problemes pour etablir la
connection avec no-ip.com. Toutes les erreurs, messages et E/S dans les deux
sens seront affiches sur le stderr a la place de syslog.
Le parametre additionnel '-D pid' changera l'etat de debug d'un processus noip2.
Il n'y aura pas de changement sur la redirection des sorties; Si c'etait sur le
syslog, ca continuera a etre dans le syslog.

Le parametre d'invoquation final est '-h'. Il affichera l'ecran tel qu'il est
decrit ci dessous et s'arretera.

USAGE: noip2 [ -C [ -F][ -Y][ -U #min]][ -c file]
        [ -d][ -D pid][ -i addr][ -S][ -M][ -h]

Version Linux-2.x.x
Options: -C               create configuration data
         -F               force NAT off
         -Y               select all hosts/groups
         -U minutes       set update interval
         -c config_file   use alternate data path
         -d               increase debug verbosity
         -D processID     toggle debug flag for PID
         -i IPaddress     use supplied address
         -I interface     use supplied interface
         -S               show configuration data
         -M               permit multiple instances
         -K processID     terminate instance PID
         -h               help (this text)

###########################################################################
COMMENT CONFIGURER LE CLIENT

La commande
  noip2 -C
Creera un fichier de configuration dans le repertoire /usr/local/etc.
Il sera stocke dans un fichier appele no-ip2.conf.

Si vous ne pouvez pas ecrire dans /usr/local/*, ou etes incapable de devenir
root sur la machine sur laquelle vous souhaitez executer noip2, vous aurez
besoin d'inclure '-c nom_du_fichier_config' sur tout les appels du client,
incluant la creation du fichier de configuration. Aussi, vous aurez probablement
besoin de mettre l'executable dans un endroit ou vous pouvez ecrire. Changez
la ligne PREFIX= dans le Makefile vers votre nouveau chemin et re-executer la
commande make install pour eviter ces problemes.

Vous aurez besoin de re-creer le fichier de configuration a chaque fois que
votre compte ou mot de passe changera, ou quand vous ajouterez ou supprimerez
des hosts et/ou groups a no-ip.com
Chaque invoquation de noip2 avec '-C' detruira le fichier de configuration 
precedant.

D'autres options peuvent etre utilises ici '-F' '-Y' '-U'

On vous demandera si vous voulez executer un program/script sur une mise a
jour reussi a no-ip.com. Si vous specifiez un script, il devra debuter par
#!/bin/sh ou le shell de votre choix. Si ce n'est pas fait vous obtiendrez
l'erreur 'Exec format error'. L'adresse IP qui vient juste d'etre mis a jour
avec succes sera le premier argument du script/program. Le nom de host/group
sera le deuxieme argument.

Quelques machine ont de multiple connections a internet. Dans ce cas, vous serez
amene a choisir le peripherique de connection au monde exterieur. Le drapeau -I
peut etre fournit pour selectionner une interface qui n'est pas vue.
Typiquement, ce sera une des interfaces pppx qui n'existe pas tant qu'elle n'est
pas active.

Le programme vous demandera votre courriel/nom d'utilisateur utilise pour
l'identifiant de compte chez no-ip.com. Il vous demandera aussi le mot de passe
pour ce compte.

Le fichier de configuration ne contient pas d'autres informations utiles.

IMPORTANT!! Svp regler les permissions correctement sur le fichier de
configuration.
chmod 600 /usr/local/etc/no-ip2.conf.
chown root:root /usr/local/etc/no-ip2.conf.
Si vous demarrez noip2 manuellement depuis un compte non-root, faire le chmod
comme ci dessus mais chown du fichier no-ip2.conf avec le owner:group du compte
non-root. Assurez vous que le repertoire est lisible!

Le programme baissera ces privileges root apres avoir lu le fichier de
configuration.
###########################################################################
Je souhaiterai voir ce fihier texte LISEZMOI.ENPREMIER traduit dans d'autres
langues. Si vous pouvez traduire ce fichier depuis le Francais ou l'Anglais vers
n'importe quel autre langage, Svp envoyez moi le fichier traduit. Merci.

###########################################################################

Les bugs peuvent etre rapportes a johna@onevista.com

Envoyez moi un courriel si vous avez besoin d'aide, mais attention j'ai un
fitrage etendu des courriers non sollicites (SPAM).
N'envoyer pas de mail en html; personne ne pourra les voir.

Vous pouvez faire un fichier de trace et examiner les messages d'erreurs.
Ci dessous une explication sur comment faire cela.
Taper:    script noip2.out
Taper:    'votre ligne de commande noip avec le parametre -d ajoute'
Taper:    exit
Examiner le fichier noip2.out. Envoyer le moi si vous etes encore embarrasse.

        johna@onevista.com Janvier 2004
        (traduit en francais par vertacomi@wanadoo.fr)
