Skip to main content

Web-service pour hôtes en adresse IP dynamique

Fonctionnalités

  • Changement de l'adresse IP d'un domaine. Ce changement ne se fait que si l'adresse IP a changé.
  • Historique des changements d'IP.
  • Envoie d'un mail en cas de changement d'IP.
  • L'adresse IP de l'hôte est récupérée par le web-service. Il n'est donc pas nécessaire d'installer quoi que ce soit sur l'hôte. Il suffit simplement d'appeler régulièrement ce web-service.

Utilité

  • Si un routeur ne prend pas en charge un service DynHost.
  • Si on doit mettre à jour manuellement la nouvelle adresse IP dans certains fichier de configuration. L'envoi d'un mail lors du changement d'IP est utile pour cela.
  • Si on veut garder une trace des changements d'IP pour savoir à quelle fréquence le FAI les fait.

Services (ou backend) pris en charge

  • DynHost OVH.

Type d'adresses IP

  • IPV4.

Fonctionnement

Le web-service doit être installé sur un serveur quelque part sur le web. L'hôte qui est susceptible de changer d'adresse IP appelle régulièrement ce web-service. Par exemple un hébergement personnel derrière un FAI sans adresse IP fixe,

Le web-service détermine l'adresse IP de l'appelant et, si celle-ci à changé, il met à jour le nom de domaine avec cette nouvelle adresse en appelant l'API relative au backend utilisé.

L'évènement est mis en historique et un mail est éventuellement envoyé.

Comment faire

Installation

pip3 install dynahost

Insatller python3-pip si pip3 non trouvé.

Il est fortement conseillé d'installer ce web-service dans un environnement virtuel. Voir virtualenvwrapper

Lancement du web-service

Afficher l'aide : dynahost -h

Les paramètres peuvent être passés en ligne de commande ou à l'aide d'un fichier de configuration. Un fichier dynahost_config_sample.ini est fourni comme exemple.

Un fichier dynahost.service est fourni pour un lancement via systemd.

Ces fichiers fournis sont souvent installés dans /usr/local/etc/.

Mise à jour du DynHost

Schéma de base

url/update?paramètres

Paramètres

backend = l'id du service DynHost (Voir l'aide de dynahost).
secid = Identifiant de sécurité.
host = Le nom de domaine à traiter
login = Le login au service DynHost
pass = Le mot de passe du service DynHost
email = L'adresse mail à laquelle envoyer les changement d'IP
	Ce paramètre est facultatif.

secid est un identifiant quelconque. Il est associé à un hôte et sauvegardé de façon crypté lors du premier appel pour cet hôte.

Il doit être le même pour les appels suivants. Sans celui-ci les accès ultérieurs sont rejetés.

Exemples

Pour ceux qui ne veulent pas installer le service, je mets à disposition mon propre serveur. Mon service possède l'url : https://dynhost.frkb.fr

Celui-ci est utilisé dans les exemples suivants.

Avec wget ou dans un navigateur
wget https://dynhost.frkb.fr/update?backend=ovh&\
secid=abc123xyz&host=test.exemple.com&\
login=exemmple.com-test&pass=untrucsecret&\
email=test@exemple.com

Pour des raisons de sécurité, il est conseillé d'appeler le service via la curl (Il se peut que les requêtes GET avec le mot de passe en clair soient loguées au niveau du serveur web).

Avec curl
curl -d "backend=ovh" \
-d "secid=abc123xyz" \
-d "host=test.exemple.com" \
-d "login=exemple.com-test" \
-d "pass=untrucsecret" \
-d "email=test@exemple.com" \
https://dynhost.frkb.fr/update

Voilà ! Il suffit maintenant de placer cela dans une tâche cron.

Affichage de l'historique

Schéma de base

url/log?paramètres

Paramètres

secid = Identifiant de sécurité.
host = Le nom de domaine à traiter
Avec wget ou dans un navigateur
wget https://dynhost.frkb.fr/log?\
secid=abc123xyz&host=test.exemple.com&
Avec curl

L'utilisation de curl n'est significative que dans un script.

curl -d "login=exemple.com-test" \
-d "secid=abc123xyz" \
-d "host=test.exemple.com" \
https://dynhost.frkb.fr/log

Change log

  • 1.0.0 2019/02/07

    Première version

  • 1.1.0 2019/02/08

    • Ajout du paramètre backend.
    • Ajout d'une clé pour sécuriser les accès.
    • Ajout d'un fichier de configuration.
    • Ajout de l'argument --db_name.
    • Ajout de l'argument --eml_sender.
    • Ajout de l'argument --lst_bkends.
    • Amélioration de la doc et de l'aide en ligne.

Metadata

Release files for dynahost 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dynahost 1.1.0
File Size Uploaded Provenance Actions
dynahost-1.1.0.tar.gz 10.3 kB Without provenance Details for dynahost-1.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dynahost 1.1.0
File Interpreter ABI Platform Actions
dynahost-1.1.0-py3-none-any.whl Python 3 none any Details for dynahost-1.1.0-py3-none-any.whl

Total release size: 21.4 kB

Release files / dynahost-1.1.0.tar.gz

Download URL dynahost-1.1.0.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8d792c8973712e71aa63d0d2d0a94fe1a15ea00fa9d717421fde7798caa1a14d
BLAKE2b-256 checksum
How to use checksums
fb7cd00a7264f1dfb5824c3bafc74ea23d9f8e80bb8d89c79c3e1b36e088612a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.7.3 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.6.5

Release files / dynahost-1.1.0-py3-none-any.whl

Download URL dynahost-1.1.0-py3-none-any.whl
Size 11.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3ee7b850bfe679e4f9eb46a070f17981ef3cc8012ef200c70db05ab614afb552
BLAKE2b-256 checksum
How to use checksums
7e24b0c02b9c8f403805c1015897eb718d8dc8925b253262054800c76d23da8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.7.3 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.6.5

Security for dynahost 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page