Aller au contenu

marmottin

Membres
  • Compteur de contenus

    21
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Tout ce qui a été posté par marmottin

  1. Bonsoir, DSM 7.2.1-69057 Update 4 est disponible. Version : 7.2.1-69057 Mise à jour 4 (2024-01-16) Notes IMPORTANTES 1 - Votre NAS Synology peut ne pas vous informer de cette mise à jour de DSM. Si vous souhaitez mettre à jour votre DSM vers cette version maintenant, veuillez cliquer ici pour le mettre à jour manuellement. ° Votre DSM fonctionne correctement sans avoir à le mettre à jour. Le système évalue les statuts des services et les paramètres du système pour déterminer s'il doit être mis à jour vers cette version. 2 - En fonction de votre modèle de NAS Synology, cette mise à jour redémarrera l'appareil. Problèmes résolus: 1 - Correction d'un problème où Cloud Sync et Drive ShareSync ne pouvaient pas fonctionner correctement lorsqu'Active Insight était exécuté sur Synology NAS. 2 - Correction de plusieurs vulnérabilités de sécurité Remarques : Cette version est publiée lors d'un déploiement par étapes. https://www.synology.com/fr-fr/releaseNote/DSM https://archive.synology.com/download/Os/DSM/7.2.1-69057-4 Installé sur DS718+ : RAS
  2. J'ai contacté l'assistance Synology qui m'a fourni la réponse suivante: Kevin LE BIHAN 2023-11-22 13:00:37 Bonjour, Il fallait réinstaller le package puis décocher l'option dans l'UI qui rendait le dossier visible. C'est résolu désormais. Bien cordialement Kevin Technical Support Support is available from Monday to Friday, 9.00 to 17.00. ____________________________________________________________ Need information for your configurations? Knowledge Base & Tutorials | Download Center | Blog | Community Need suggestions to choose your system? NAS Selector | RAID Calculator | NVR Selector ____________________________________________________________ Email powered by Synology MailPlus
  3. Bonjour, Mon problème : Je dispose d’un DS718+ sous DSM 7.2.1-69057 Update 2 sauvegardé quotidiennement sur Synology C2 via Hyper Backup. J’ai voulu compéter cette sauvegarde au moyen de « Snapshot replication ». N’étant pas satisfait du service, j’ai désinstallé ce paquet en ayant pris la précaution de supprimer les données sauvegardées via cette application. Tout s’est très bien déroulé à l’exception d’un « reliquat » sous forme d’un répertoire (#snapshot) contenant un fichier (desktop.ini) décrivant un icône Windows. Et c’est alors qu’apparait mon problème : je ne parviens pas à supprimer ces derniers en mode superviseur (voir ci-dessous) en commençant par modifier les droits d’accès via CHMOD. J’apprécierais un peu d’aide… root@DS718Plus:/volume1# dir total 616 drwxr-xr-x 1 root root 758 Nov 16 05:57 . drwxr-xr-x 24 root root 4096 Nov 20 10:09 .. drwxr-xr-x 1 root root 26 Oct 31 07:19 ActiveInsight drwxr-xr-x 1 root root 344 Nov 4 10:37 @appconf drwxr-xr-x 1 root root 344 Nov 4 10:37 @appdata drwxr-xr-x 1 root root 344 Nov 4 10:37 @apphome drwxr-xr-x 1 root root 304 Nov 4 10:37 @appshare drwxr-xr-x 1 root root 284 Nov 15 20:47 @appstore drwxr-xr-x 1 root root 284 Nov 15 20:47 @apptemp drwxr-xr-x 1 root root 212 Nov 18 07:57 @config_backup drwxrwxrwx 1 root root 148 Dec 7 2021 @database drwxrwxrwx+ 1 root root 230 Nov 20 03:09 @eaDir drwx--x--x+ 1 root root 32 Oct 27 2022 homes drwxrwxrwx 1 root root 1236 Mar 4 2023 @img_bkp_cache d---------+ 1 root root 292 Nov 16 05:57 'Mes Documents' d---------+ 1 root root 4578 Aug 18 10:25 'Mes Images' d---------+ 1 root root 172 Dec 3 2021 'Mes Photos' d---------+ 1 root root 156 Jun 5 2022 'Mes Vidéos' d---------+ 1 root root 54 Oct 26 2022 photo drwxr-xr-x 1 root root 88 Nov 16 05:58 @S2S drwxr-xr-x 1 root root 452 Nov 20 03:08 @sharesnap drwxr-xr-x 1 root root 0 Nov 15 17:57 @sharesnap_restoring drwxr-xr-x 1 root root 0 Nov 16 05:56 @synoconfd drwxr-xr-x 1 SynoFinder SynoFinder 26 Jun 18 2022 @SynoFinder-etc-volume drwxr-xr-x 1 SynoFinder SynoFinder 252 Sep 14 03:40 @SynoFinder-log -rw------- 1 root root 626278 Oct 31 11:10 @synofoto-bin-re.synology_apollolake_718+.69057.core.gz drwxr-xr-x 1 root root 24 Dec 1 2021 @SynologyApplicationService drwxrwxrwt 1 root root 98 Nov 20 10:08 @tmp drwxr-xr-x 1 root root 12 Jun 17 2022 @USBCopy drwxr-xr-x 1 root root 126 Apr 25 2023 @userpreference d---------+ 1 root root 50 May 18 2023 Utilities d---------+ 1 root root 1046 Jun 19 2022 video root@DS718Plus:/volume1# cd "Mes Documents" root@DS718Plus:/volume1/Mes Documents# dir total 0 d---------+ 1 root root 292 Nov 16 05:57 . drwxr-xr-x 1 root root 758 Nov 16 05:57 .. drwx------+ 1 sony users 248 Nov 29 2021 Adobe drwxrwxrwx+ 1 root root 66 Nov 16 05:58 @eaDir drwxr-xr-x 1 root root 22 Nov 20 03:08 '#snapshot' drwx------+ 1 sony users 2008 Nov 29 2021 Sound drwx------+ 1 sony users 2852 Aug 18 10:44 Toolsbox root@DS718Plus:/volume1/Mes Documents# chmod -R 750 "#snapshot" chmod: changing permissions of '#snapshot': Read-only file system chmod: changing permissions of '#snapshot/desktop.ini': Read-only file system root@DS718Plus:/volume1/Mes Documents# Que faire ????
  4. Une nouvelle version de DSM: Important Note After installing this update, you will not be able to downgrade to a previous DSM version. This update will restart your Synology NAS. For the models below, you can only download the upgrade patch from Synology Download Center because you won't receive notifications for this update on your DSM. FS Series: FS3017, FS2017, FS1018 XS Series: RS18016xs+, RS4017xs+, RS3617xs+, RS3617xs, RS3617RPxs, RS18017xs+, DS3617xs, DS3617xsII, DS3018xs Plus Series: RS2416RP+, RS2416+, DS916+, DS716+II, DS716+, DS216+II, DS216+, DS1817+, DS1517+, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS1618+, DS918+, DS718+, DS218+, RS1219+ Value Series: DS416, DS416play, DS216, DS216play, DS116, RS816, DS1817, DS1517, RS217, DS418play J Series: DS416slim, DS416j, DS216j, DS418j, DS218j, DS419slim, DS119j What’s New NFS clients can now access information on shared folder quotas. Storage Manager has been modularized into a package to provide better system maintenance and update flexibility. Supports password setting by new users via links provided in emails. Fixed Issues Fixed an issue where Synology Account could not be signed out. Fixed a security vulnerability regarding Ghostscript (CVE-2023-36664). Fixed a security vulnerability regarding Sudo (CVE-2023-22809). Fixed a security vulnerability regarding OpenSSL (CVE-2023-1255). Fixed a security vulnerability regarding Zlib (CVE-2023-37434). Remarques : This version is released in a staged rollout. Installée ce jour sur mon DS718+. RaS
  5. Surprenant!! La version que je cite est la 7.2-64570 en date du 2023-06-08 (aujourd'hui) et non la 7.2-64561 parue effectivement il y a une quinzaine de jour 😉
  6. Version: 7.2-64570 (2023-06-08) Important Note After installing this update, you will not be able to downgrade to a previous DSM version. This update will restart your Synology NAS. Starting from this version, logs for drives will no longer appear in Storage Manager > HDD and will be available only in Log Center. Removed the "Automatically create port forwarding rules" option from QuickConnect advanced settings to increase network security. Users can now create a Btrfs volume of up to 1 PB on specific Synology NAS models. This update automatically converts existing volumes that use the Btrfs (Peta Volume) file system to Btrfs. However, to create a volume larger than 200 TB, a RAID 6 storage pool and at least 64 GB of system memory are still required.Learn more The maximum single volume size supported by RS2423+/RS2423RP+ has been adjusted to 200 TB (with a minimum system memory requirement of 32 GB). Starting from this version, only Windows Server 2008 R2 and above versions will be supported. After installing this update, the current Windows Server 2008 domain and earlier versions will be unavailable. This update fixed the following issues with version 7.2-64561: Fixed an issue where updating to DSM 7.2 might fail if users' Synology NAS weren't connected to the Internet. Fixed an issue where, when the Encryption Key Vault of encrypted volumes was set on a KMIP server, the system would not be able to auto-unlock these volumes after a restart. Fixed an issue where, if Web Station was installed on an encrypted volume, resetting the system would cause the volume to crash. Updated C2 Identity Edge Server to version 1.52.0-0186 to ensure its availability and functionality. For the models below, you can only download the upgrade patch from Synology Download Center because you won't receive notifications for this update on your DSM. FS Series: FS3017, FS2017, FS1018 XS Series: RS18016xs+, RS4017xs+, RS3617xs+, RS3617xs, RS3617RPxs, RS18017xs+, DS3617xs, DS3617xsII, DS3018xs Plus Series: RS2416RP+, RS2416+, DS916+, DS716+II, DS716+, DS216+II, DS216+, DS1817+, DS1517+, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS1618+, DS918+, DS718+, DS218+, RS1219+ Value Series: DS416, DS416play, DS216, DS216play, DS116, RS816, DS1817, DS1517, RS217, DS418play J Series: DS416slim, DS416j, DS216j, DS418j, DS218j, DS419slim, DS119j What’s New Added support for WriteOnce shared folders. This feature is based on the Write Once, Read Many (WORM) technology and can be enabled to prevent files from being modified, deleted, or renamed for a specified period. Added support for volume encryption. All volume encryption keys are stored in the Encryption Key Vault, which can be set up on a local Synology NAS or via KMIP on a remote Synology NAS. Added more Synology NAS models to support M.2 NVMe SSD storage pools. Learn more Added more Synology NAS models to support the M2D18 adapter card: RS822RP+, RS822+, RS1221RP+, and RS1221+. Added more SSD cache group management options, including changing the RAID type and replacing a drive. Added support for inline zero-block removal to increase the efficiency of data deduplication. Adjusted how drive information is presented in Storage Manager. Users can now quickly check the condition of their drives by looking at the "Drive Status" field. Users can now view the amount of used and free space for each storage pool and volume in Storage Manager. Added a warning notification for when the available shared folder quota is low. Supports deleting individual desktop notifications. Supports sending DSM notifications via additional webhook providers, including LINE and Microsoft Teams. Supports creating custom notification rules for system events, giving users greater control over what notifications to receive. Supports exporting a list of users and of groups. Added support for SAML to integrate DSM with external SSO servers. Added the option to allow non-admin users to safely eject USB devices. Users can now manually input the IP addresses or FQDNs of one or more domain controllers in the trusted domain. This allows Synology NAS to sync domain data directly with the specified domain controllers. Users can now enable Synology's email server to send DSM notifications directly to their Synology Account. Added support for Auto Block, which restricts SMB login attempts from abnormal IP addresses. Fixed Issues Fixed an issue where adding drives to a JBOD storage pool did not expand its capacity. Updated Mbed-TLS to version 2.28.2 to fix multiple security vulnerabilities (CVE-2021-36647, CVE-2022-46392, CVE-2022-46393). Updated Libksba to version 1.6.3 to fix a security vulnerability (CVE-2022-3515). Updated SQLite to version 3.40.0 to fix a security vulnerability (CVE-2022-46908). Updated Certifi to version 2022.12.07 to fix a security vulnerability (CVE-2022-23491). Updated Node.js to version 14.21.1 to fix a security vulnerability (CVE-2022-43548). Updated cURL to version 7.86.0 to fix multiple security vulnerabilities (CVE-2022-27774, CVE-2022-27775, CVE-2022-27776, CVE-2022-27781, CVE-2022-27782, CVE-2022-32205, CVE-2022-32206, CVE-2022-32207, CV E-2022-32221, CVE-2022-35252, CVE-2022-42915, CVE-2022-42916). Updated PHP to version 8.1.9 to fix multiple security vulnerabilities (CVE-2019-11043, CVE-2021-21705, CVE-2022-31625). Updated Sysstat to version 12.7.1 to fix a security vulnerability (CVE-2022-39377). Updated OpenSSL to version 3.0.7 to fix multiple security vulnerabilities (CVE-2022-2068, CVE-2022-2097, CVE-2022-2274, CVE-2022-3358, CVE-2022-3602, CVE-2022-3786). Updated Expat to version 2.5.0 to fix a security vulnerability (CVE-2022-43680). Updated Libtirpc to version 2.87 to fix a security vulnerability (CVE-2021-46828). Updated GnuPG to version 2.2.39 to fix a security vulnerability (CVE-2022-34903). Updated OpenVPN to version 2.5.8 to fix a security vulnerability (CVE-2022-0547). Updated libxml2 to version 2.9.14 to fix a security vulnerability (CVE-2022-23308). Updated GMP to version 6.2.1 to fix a security vulnerability (CVE-2021-43618). Updated ImageMagick to version 6.9.12-61 to fix multiple security vulnerabilities (CVE-2020-25664, CVE-2020-25665, CVE-2020-25666, CVE-2020-25667, CVE-2020-25674, CVE-2020-25675, CVE-2020-25676, CVE-2020-27560, CVE-2020-27750, CVE-2020-27751, CVE-2020-27752, CVE-2020-27753, CVE-2020-27754, CVE-2020-27755, CVE-2020-27756, CVE-2020-27757, CVE-2020-27758, CVE-2020-27759, CVE-2020-27760, CVE-2020-27761, CVE-2020-27762, CVE-2020-27763, CVE-2020-27764, CVE-2020-27765, CVE-2020-27766, CVE-2020-27767, CVE-2020-27768, CVE-2020-27769, CVE-2020-27770, CVE-2020-27771, CVE-2020-27772, CVE-2020-27773, CVE-2020-27774, CVE-2020-27775, CVE-2020-27776, CVE-2020-29599, CVE-2021-20176, CVE-2021-20224, CVE-2021-20241, CVE-2021-20245, CVE-2021-20246, CVE-2021-20309, CVE-2021-3574, CVE-2021-3596, CVE-2021-39212, CVE-2021-4219, CVE-2022-1114, CVE-2022-1115, CVE-2022-28463, CVE-2022-32545, CVE-2022-32546, CVE-2022-32547). Updated FFmpeg to version 4.1.9 to fix multiple security vulnerabilities (CVE-2020-20892, CVE-2020-20902, CVE-2020-21688, CVE-2020-21697, CVE-2021-3566, CVE-2021-38114, CVE-2021-38291). Fixed a security vulnerability regarding Netatalk (CVE-2022-45188). Fixed multiple security vulnerabilities regarding Python3 (CVE-2020-10735, CVE-2021-28861, CVE-2022-45061). Fixed multiple security vulnerabilities regarding iproute2 (CVE-2022-3527, CVE-2022-3529, CVE-2022-3530). Fixed multiple security vulnerabilities regarding D-Bus (CVE-2022-42010, CVE-2022-42011, CVE-2022-42012). Fixed a security vulnerability regarding syslog-ng (CVE-2022-38725). Fixed a security vulnerability regarding inetutils (CVE-2022-39028). Fixed a security vulnerability regarding DNSmasq (CVE-2022-0934). Fixed a security vulnerability regarding BusyBox-udhcp (CVE-2019-5747). Fixed multiple security vulnerabilities regarding Linux Kernel (CVE-2021-22600, CVE-2021-38209, CVE-2021-4037, CVE-2022-0168, CVE-2022-1016, CVE-2022-1729, CVE-2022-1786, CVE-2022-20141, CVE-2022-20368, CVE-2022-2078, CVE-2022-2639, CVE-2022-2905, CVE-2022-29581, CVE-2022-32250, CVE-2022-3524, CVE-2022-3566, CVE-2022-3567, CVE-2022-36879, CVE-2022-36946, CVE-2022-42703). Fixed a security vulnerability regarding Nginx (CVE-2022-3638). Fixed a security vulnerability regarding ghostscript (CVE-2023-28879). Fixed a security vulnerability regarding curl (CVE-2023-23916). Limitation S.M.A.R.T. testing for M.2 NVMe SSDs is no longer supported. Starting from DSM 7.2 Beta, Virtual Machine Manager will no longer support creating clusters with older DSM versions. Please update each host in the cluster to the same DSM version or above versions for the Virtual Machine Manager cluster to operate properly. Installée de façon manuelle ce jour sur DS718+ : RAS
  7. Je viens de procéder à l’installation de ces deux fameuses clés qui facilitent bien l’usage de PuTTY et de WinSCP en « mode root ». Tout fonctionne parfaitement bien mais il est vrai que la mise en œuvre du copier/coller avec Vi, c’est une horreur pour les « non linuxiens ». Personnellement, je suis passé par la constitution du fichier « authorized_key » sous Windows puis l’ai copié avec les commandes de PuTTY en mode root. Toujours est-il, un grand merci à unPixel et aux autres intervenants pour ce super Tuto
  8. Merci pour ces remarques fort pertinentes. Sur un sujet aussi abscons, toute observation est appréciée pour le « béotien » que je suis. Je vous invite même à rédiger un complément d’informations sur le sujet afin d’améliorer les connaissances des utilisateurs de ce Tuto 😉.
  9. Bonsoir, En préambule, je tiens à préciser que je ne suis pas le concepteur de ce script et que mes compétences en réseau sont limitées. Il est vrai qu’il serait préférable de passer l’argument « API Key » via un fichier plutôt qu’en clair comme indiquer dans le Tuto (et comme le permet le script). J’ai voulu faire simple afin de rendre la compréhension aisée et d’arriver facilement au résultat attendu. Libre à chacun d’utiliser toutes les possibilités de ce script. Concernant le FQDN (ou nom de domaine pleinement qualifié), je ne peux vous communiquer que ce que l’auteur du script m’avez indiqué lors d'une prise de contact: « Dans le cas où vous voulez faire pointer le nom de domaine exemple.com sur votre adresse vous devez utiliser la valeur "@" en valeur de record. Pour faire pointer tous les sous-domaines, vous pouvez utiliser la valeur "*" NB : (attention à bien entourer * et @ de guillemets) ». Là aussi, j’ai fait une impasse afin de faciliter la mise en œuvre.
  10. Ma réponse sera courte: le support technique et commercial. J'ai eu une très mauvaise expérience avec OVH il y a quelques années (HUBIC) et je me suis juré de ne plus jamais utiliser leurs services.
  11. Et un client de satisfait!!! 🤣🤣🤣 Bonne soirée 😉
  12. Je vous propose d'ajouter un argument supplémentaire interdisant la mise à jour de l'IP v6: /var/services/dyndns/gandip.py xxxxxxxxxxxxxxxxxxxxxx toto.fr "@" "--noipv6" Au fait, votre FAI vous fournit-il une adresse en IP v6?
  13. Il faut alors l'ajouter (même s'il ne sert pas dans l'immédiat) via le bouton "AJOUTER" Dans votre message d'erreur, le champ "A" est indiqué comme "mis à jour" puis l'erreur est déclenchée. C'est peut-être cette absence de champ qui est à l'origine du problème...
  14. Vos enregistrement DNS chez Gandi se présentent-ils sous cette forme?: et en particulier le champ "AAAA" correspondant à l'IP v6?
  15. Bonjours pews, La réponse est dans la dernière ligne: HTTP 400 Bad Request qui indique que le serveur ne comprend pas la requête en raison d'une syntaxe invalide. Je pense qu'un (ou plusieurs) argument(s) fourni(s) sont erroné(s) (toto.fr ?). Le script exige trois arguments lors de l'appel : Gandi API Token Nom de Domaine "@" 1- Gandi API Token (ou API key) correspondant au Nom de domaine (à récupérer chez Gandi.net via ce lien: https://account.gandi.net/fr/ -> sécurité) 2- Nom de Domaine, le domaine déclaré et enregistré chez Gandi.net. 3- "@" permettant de pointer l'enregistrement DNS (guillemets obligatoires). Les trois arguments doivent être déclarés dans l'ordre indiqué, separés d'un espace.
  16. Disposer d’un nom de domaine dont l’adresse IP est laissée au bon vouloir de votre Fournisseur d’Accès Internet peut rapidement devenir très pénible. Après quelques recherches, j’ai mis la main sur un script en Python (merci à son auteur : Arnaud Levaufre) qui permet d’actualiser les champs DNS toutes les « x » minutes et donc de palier aux changements d’IP aléatoires imposés par votre FAI. Nota : Ce script s’appuie sur la dernière version de l’API (LiveDNS API / V5). Plus d’informations ici : https://doc.livedns.gandi.net/ Prérequis: Disposer d’un Nom de Domaine enregistré chez Gandi.net (ex: dudule.fr) Avoir récupéré le '"Gandi API Token" (API Key) correspondant à ce nom de domaine (via https://account.gandi.net/fr/ -> sécurité) Avoir installé l’interpréteur Python 3 (dernière version : 3.5.1-0108) sur votre NAS. Disposer de PuTTY sur le terminal d’accès au NAS et avoir activé SSH dans le Panneau de configuration NAS -> Terminal & SNMP -> Terminal =========================================================================================================================== Mise en place du script "gandip.py": Copier le script dans un répertoire utilisateur du NAS. Personnellement, j’utilise WinSCP. Lancer PuTTY et indiquer l’adresse IP local du NAS, le Port = 22 et le type de connexion (SSH). Se connecter (Open). Saisir le Login et le Password du NAS A la réponse admin@Diskstation:/$, saisir sudo -i . A la réponse Password : saisir de nouveau le Password du NAS. Vous êtes désormais au niveau « Racine » root@Disktation:~# ATTENTION : A partir de maintenant, vous êtes connecté en ROOT ; une mauvaise manipulation peut entrainer une perte de données ou une inaccessibilité totale à votre NAS. Créer un répertoire "dyndns" dans l’arborescence /var/services : cd /var/services/ mkdir dyndns ls Le nouveau répertoire "dyndns" devrait apparaitre. Imaginons que le script gandip.py ait été placé dans le volume1 utilisateur, la copie va avoir la forme suivante : cp /volume1/gandip.py /var/services/dyndns/ cd /var/services/dyndns/ ls Le fichier script "gandip.py" devrait apparaitre. Saisir deux fois la commande « exit » pour sortir de PuTTY. Nota : Pour des raisons de sécurité, pensez à désactiver SSH dans le Panneau de configuration NAS -> Terminal & SNMP -> Terminal =========================================================================================================================== Le script: (code source original: https://github.com/ArnaudLevaufre/GandIP/blob/69973607bf0ce2836c45eeee4f4494344ddea57d/gandip.py ) J’ai procédé à quelques modifications du script original : lignes 50 et 65: request = urllib.request.Request(f"{self.url}/domains/{fqdn}/records/{name}/{rtype}/" devient: request = urllib.request.Request("{}/domains/{}/records/{}/{}".format(self.url,fqdn,name,rtype)) pour être utilisable sous Python 3.5 ligne 30, ajout de: import time ligne 96, ajout de: time.sleep(120) pour introduire un décalage de temps du planificateur de tâches DSM et éviter des "HTTP Error 504: Gateway Timeout" chez Gandi.net. Le script nécessite de lui fournir trois arguments lors de l'appel (voir capture n°3 ci-dessous): gandip.py Gandi API Token Nom de Domaine "@" Gandi API Token (API Key) permettant d'autoriser la requête, Nom de Domaine, le domaine intéressé, "@" permettant de pointer l'enregistrement DNS. Le code: """ Copyright (c) 2017 Arnaud Levaufre <arnaud@levaufre.name> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ import argparse import json import logging import os import urllib.request import time IPV4_PROVIDER_URL = "https://api.ipify.org" IPV6_PROVIDER_URL = "https://api6.ipify.org" GANDI_API_URL = "https://dns.api.gandi.net/api/v5" LOG_FORMAT = "[%(asctime)s][%(name)s][%(levelname)s] %(message)s" logging.basicConfig(level=logging.INFO, format=LOG_FORMAT) logger = logging.getLogger(__name__) class GandiAPI: def __init__(self, url, key): self.url = url self.key = key def get_domain_record_by_name(self, fqdn, name, rtype="A"): try: request = urllib.request.Request("{}/domains/{}/records/{}/{}".format(self.url,fqdn,name,rtype)) request.add_header("X-Api-Key", self.key) with urllib.request.urlopen(request) as response: return json.loads(response.read().decode()) except urllib.error.HTTPError: return None def update_records(self, fqdn, record_names, current_ip, ttl=10800, rtype="A"): for name in record_names: record = self.get_domain_record_by_name(fqdn, name, rtype=rtype) if record is not None and current_ip in record['rrset_values']: logger.info("Record %s for %s.%s is up to date.",rtype, name, fqdn) else: request = urllib.request.Request( "{}/domains/{}/records/{}/{}".format(self.url,fqdn,name,rtype), method="POST" if record is None else "PUT", headers={"Content-Type": "application/json", "X-Api-Key": self.key}, data=json.dumps({"rrset_ttl": ttl,"rrset_values": [current_ip],}).encode() ) with urllib.request.urlopen(request) as response: logger.debug(json.loads(response.read().decode())) logger.info("Record %s for %s.%s is set to %s.",rtype, name, fqdn, current_ip) def get_current_ip(provider_url): with urllib.request.urlopen(provider_url) as response: return response.read().decode() def main(): parser = argparse.ArgumentParser( description= """" Keep your gandi DNS records up to date with your current IP """ ) parser.add_argument('key', type=str, help="Gandi API key or path to a file containing the key.") parser.add_argument('zone', type=str, help="Zone to update") parser.add_argument('record', type=str, nargs='+', help="Records to update") parser.add_argument("--ttl", type=int, default=10800, help="Set a custom ttl (in second)") parser.add_argument("--noipv4", action="store_true", help="Do not set 'A' records to current ipv4") parser.add_argument("--noipv6", action="store_true", help="Do not set 'AAAA' records to current ipv6") args = parser.parse_args() time.sleep(120) logger.info('Gandi record update started.') if os.path.isfile(args.key): with open(args.key) as fle: gandi_api_key = fle.read().strip() else: gandi_api_key = args.key api = GandiAPI(GANDI_API_URL, gandi_api_key) if not args.noipv4: current_ipv4 = get_current_ip(IPV4_PROVIDER_URL) api.update_records(args.zone, args.record, current_ipv4, ttl=args.ttl) if not args.noipv6: current_ipv6 = get_current_ip(IPV6_PROVIDER_URL) api.update_records(args.zone, args.record, current_ipv6, ttl=args.ttl, rtype="AAAA") if __name__ == "__main__": main() =========================================================================================================================== Activation du script: L' activation est obtenue en créant une nouvelle tâche dans le Planificateur de Tâches de DSM -> "Script défini par l'utilisateur" (voir les différentes captures d’écran ci-dessous). Capture n°1 Les appels du script se font toutes les cinq minutes. Capture n°2 Le champ "script défini par l'utilisateur" précise la localisation de Python 3 au sein des paquets DSM (/usr/local/bin/...) ainsi que celle du script "gandip.py" (/var/services/dyndns/...) suivi de ses arguments (Attention de bien laisser un espace entre chaque). Capture n°3 Dans un premier temps, je vous invite à surveiller la bonne exécution de ce script en indiquant une adresse mail qui vous permettra de récupérer d'éventuelles erreurs. Pour ma part, je l'active en permanence. Ce script fonctionne sur mon DS718+ depuis plus de deux mois sans le moindre problème. Les enregistrements DNS sont automatiquement actualisés à chaque changement de l'adresse IP de mon FAI (orange). gandip.py
  17. Installé sur DS214+: aucun problème
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.