{ "info": { "author": "Fr\u00e9d\u00e9ric KIEBER", "author_email": "contact@frkb.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: French", "Operating System :: OS Independent", "Programming Language :: Python :: 3 :: Only", "Topic :: System", "Topic :: System :: Networking" ], "description": "# Web-service pour h\u00f4tes en adresse IP dynamique\n\n#### Fonctionnalit\u00e9s\n\n- Changement de l'adresse IP d'un domaine. Ce changement ne se fait que si\n l'adresse IP a chang\u00e9.\n- Historique des changements d'IP.\n- Envoie d'un mail en cas de changement d'IP.\n- L'adresse IP de l'h\u00f4te est r\u00e9cup\u00e9r\u00e9e par le web-service.\n Il n'est donc pas n\u00e9cessaire d'installer quoi que ce soit sur l'h\u00f4te.\n Il suffit simplement d'appeler r\u00e9guli\u00e8rement ce web-service.\n\n#### Utilit\u00e9\n\n- Si un routeur ne prend pas en charge un service DynHost.\n- Si on doit mettre \u00e0 jour manuellement la nouvelle adresse IP dans\n certains fichier de configuration. L'envoi d'un mail lors du changement\n d'IP est utile pour cela.\n- Si on veut garder une trace des changements d'IP pour savoir \u00e0 quelle\n fr\u00e9quence le FAI les fait.\n\n#### Services (ou backend) pris en charge\n\n- DynHost OVH.\n\n#### Type d'adresses IP\n\n- IPV4.\n\n## Fonctionnement\n\nLe web-service doit \u00eatre install\u00e9 sur un serveur quelque part sur le web.\nL'h\u00f4te qui est susceptible de changer d'adresse IP appelle r\u00e9guli\u00e8rement ce\nweb-service. Par exemple un h\u00e9bergement personnel derri\u00e8re un FAI \nsans adresse IP fixe, \n\nLe web-service d\u00e9termine l'adresse IP de l'appelant et, si celle-ci \u00e0 chang\u00e9, il\nmet \u00e0 jour le nom de domaine avec cette nouvelle adresse en appelant l'API\nrelative au backend utilis\u00e9.\n\nL'\u00e9v\u00e8nement est mis en historique et un mail est \u00e9ventuellement envoy\u00e9.\n\n\n## Comment faire\n\n### Installation\n\n pip3 install dynahost\n\nInsatller python3-pip si pip3 non trouv\u00e9.\n\nIl est fortement conseill\u00e9 d'installer ce web-service dans un \nenvironnement virtuel. \nVoir [virtualenvwrapper](https://python-guide-pt-br.readthedocs.io/fr/latest/dev/virtualenvs.html#virtualenvwrapper)\n\n\n### Lancement du web-service\n\nAfficher l'aide : `dynahost -h`\n\nLes param\u00e8tres peuvent \u00eatre pass\u00e9s en ligne de commande ou \u00e0 l'aide\nd'un fichier de configuration. Un fichier **dynahost_config_sample.ini**\nest fourni comme exemple.\n\nUn fichier **dynahost.service** est fourni pour un lancement via *systemd*.\n\nCes fichiers fournis sont souvent install\u00e9s dans `/usr/local/etc/`.\n\n\n### Mise \u00e0 jour du DynHost\n\n#### Sch\u00e9ma de base\n\n\turl/update?param\u00e8tres\n\n#### Param\u00e8tres\n\n\tbackend = l'id du service DynHost (Voir l'aide de dynahost).\n\tsecid = Identifiant de s\u00e9curit\u00e9.\n\thost = Le nom de domaine \u00e0 traiter\n\tlogin = Le login au service DynHost\n\tpass = Le mot de passe du service DynHost\n\temail = L'adresse mail \u00e0 laquelle envoyer les changement d'IP\n\t\tCe param\u00e8tre est facultatif.\n\n**`secid`** est un identifiant quelconque. Il est associ\u00e9 \u00e0 un h\u00f4te \net sauvegard\u00e9 de fa\u00e7on crypt\u00e9 lors du premier appel pour cet h\u00f4te.\n\nIl doit \u00eatre le m\u00eame pour les appels suivants. \nSans celui-ci les acc\u00e8s ult\u00e9rieurs sont rejet\u00e9s.\n\n#### Exemples\n\nPour ceux qui ne veulent pas installer le service, je mets \u00e0 disposition \nmon propre serveur.\nMon service poss\u00e8de l'url : https://dynhost.frkb.fr\n\nCelui-ci est utilis\u00e9 dans les exemples suivants.\n\n###### Avec wget ou dans un navigateur\n\n\twget https://dynhost.frkb.fr/update?backend=ovh&\\\n\tsecid=abc123xyz&host=test.exemple.com&\\\n\tlogin=exemmple.com-test&pass=untrucsecret&\\\n\temail=test@exemple.com\n\nPour des raisons de s\u00e9curit\u00e9, il est conseill\u00e9 d'appeler le service via\nla curl (Il se peut que les requ\u00eates GET avec le mot de passe en clair\nsoient logu\u00e9es au niveau du serveur web).\n\n###### Avec curl\n\n\tcurl -d \"backend=ovh\" \\\n\t-d \"secid=abc123xyz\" \\\n\t-d \"host=test.exemple.com\" \\\n\t-d \"login=exemple.com-test\" \\\n\t-d \"pass=untrucsecret\" \\\n\t-d \"email=test@exemple.com\" \\\n\thttps://dynhost.frkb.fr/update\n\n\nVoil\u00e0 ! Il suffit maintenant de placer cela dans une t\u00e2che cron.\n\n\n### Affichage de l'historique\n\n#### Sch\u00e9ma de base\n\n\turl/log?param\u00e8tres\n\n#### Param\u00e8tres\n\n\tsecid = Identifiant de s\u00e9curit\u00e9.\n\thost = Le nom de domaine \u00e0 traiter\n\n###### Avec wget ou dans un navigateur\n\n\twget https://dynhost.frkb.fr/log?\\\n\tsecid=abc123xyz&host=test.exemple.com&\n\n###### Avec curl\n\nL'utilisation de curl n'est significative que dans un script.\n\n\tcurl -d \"login=exemple.com-test\" \\\n\t-d \"secid=abc123xyz\" \\\n\t-d \"host=test.exemple.com\" \\\n\thttps://dynhost.frkb.fr/log\n\n\n## Change log\n\n- **1.0.0** 2019/02/07\n\n\tPremi\u00e8re version\n\n- **1.1.0** 2019/02/08\n\n\t- Ajout du param\u00e8tre backend.\n\t- Ajout d'une cl\u00e9 pour s\u00e9curiser les acc\u00e8s.\n\t- Ajout d'un fichier de configuration.\n\t- Ajout de l'argument --db_name.\n\t- Ajout de l'argument --eml_sender.\n\t- Ajout de l'argument --lst_bkends.\n\t- Am\u00e9lioration de la doc et de l'aide en ligne.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fkieber/dynahost", "keywords": "web-service dynhost dyndns ovh", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "dynahost", "package_url": "https://pypi.org/project/dynahost/", "platform": "", "project_url": "https://pypi.org/project/dynahost/", "project_urls": { "Homepage": "https://github.com/fkieber/dynahost" }, "release_url": "https://pypi.org/project/dynahost/1.1.0/", "requires_dist": [ "werkzeug", "requests", "html2text", "bcrypt" ], "requires_python": ">=3", "summary": "Web-service pour administrer des h\u00f4tes en adresse IP dynamique", "version": "1.1.0" }, "last_serial": 4821459, "releases": { "1.1.0": [ { "comment_text": "", "digests": { "md5": "7863d2e618e1c6da602d518b29e881b2", "sha256": "3ee7b850bfe679e4f9eb46a070f17981ef3cc8012ef200c70db05ab614afb552" }, "downloads": -1, "filename": "dynahost-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7863d2e618e1c6da602d518b29e881b2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 11158, "upload_time": "2019-02-14T14:14:38", "url": "https://files.pythonhosted.org/packages/7e/24/b0c02b9c8f403805c1015897eb718d8dc8925b253262054800c76d23da8d/dynahost-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b4fd06da2233b45b38ef42fdbc79579", "sha256": "8d792c8973712e71aa63d0d2d0a94fe1a15ea00fa9d717421fde7798caa1a14d" }, "downloads": -1, "filename": "dynahost-1.1.0.tar.gz", "has_sig": false, "md5_digest": "4b4fd06da2233b45b38ef42fdbc79579", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 10278, "upload_time": "2019-02-14T14:14:39", "url": "https://files.pythonhosted.org/packages/fb/7c/d00a7264f1dfb5824c3bafc74ea23d9f8e80bb8d89c79c3e1b36e088612a/dynahost-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7863d2e618e1c6da602d518b29e881b2", "sha256": "3ee7b850bfe679e4f9eb46a070f17981ef3cc8012ef200c70db05ab614afb552" }, "downloads": -1, "filename": "dynahost-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7863d2e618e1c6da602d518b29e881b2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 11158, "upload_time": "2019-02-14T14:14:38", "url": "https://files.pythonhosted.org/packages/7e/24/b0c02b9c8f403805c1015897eb718d8dc8925b253262054800c76d23da8d/dynahost-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b4fd06da2233b45b38ef42fdbc79579", "sha256": "8d792c8973712e71aa63d0d2d0a94fe1a15ea00fa9d717421fde7798caa1a14d" }, "downloads": -1, "filename": "dynahost-1.1.0.tar.gz", "has_sig": false, "md5_digest": "4b4fd06da2233b45b38ef42fdbc79579", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 10278, "upload_time": "2019-02-14T14:14:39", "url": "https://files.pythonhosted.org/packages/fb/7c/d00a7264f1dfb5824c3bafc74ea23d9f8e80bb8d89c79c3e1b36e088612a/dynahost-1.1.0.tar.gz" } ] }