Optimisez la gestion dynamique DNS avec NameCheap

Ce workflow automatisé pour NameCheap Dynamic DNS (DDNS) permet de maintenir à jour vos enregistrements DNS en vérifiant régulièrement votre adresse IP publique et en la mettant à jour sur NameCheap. En automatisant ce processus, vous assurez une disponibilité constante de vos services web, même si votre adresse IP change fréquemment. Cela est particulièrement utile pour les petites entreprises ou les utilisateurs ayant une connexion internet résidentielle avec une adresse IP dynamique. Profitez d'une configuration simplifiée et d'une tranquillité d'esprit accrue grâce à cette solution fiable et efficace.

33,753 vues
9,099 copies
Automatisation

Documentation Complète

📋 Optimisez la gestion dynamique DNS avec NameCheap

💡 Description

Ce workflow automatisé pour NameCheap Dynamic DNS (DDNS) permet de maintenir à jour vos enregistrements DNS en vérifiant régulièrement votre adresse IP publique et en la mettant à jour sur NameCheap. En automatisant ce processus, vous assurez une disponibilité constante de vos services web, même si votre adresse IP change fréquemment. Cela est particulièrement utile pour les petites entreprises ou les utilisateurs ayant une connexion internet résidentielle avec une adresse IP dynamique. Profitez d'une configuration simplifiée et d'une tranquillité d'esprit accrue grâce à cette solution fiable et efficace.

📈 Impact & ROI: Réduction des temps d'arrêt potentiels et amélioration de la continuité des services, ce qui peut entraîner une meilleure satisfaction client et un potentiel d'augmentation des revenus.

🚀 Fonctionnalités Clés

  • ✅ Automatisation complète de la mise à jour des enregistrements DNS
  • ✅ Intégration fluide avec le service NameCheap
  • ✅ Vérification régulière de l'adresse IP toutes les 15 minutes
  • ✅ Adaptabilité aux changements fréquents d'adresse IP

📊 Architecture Technique

7
Nodes
6
Connexions
2
Services

🔌 Services Intégrés

NameCheapipify

🔧 Composition du Workflow

NodeTypeDescription
CroncronTraitement des données
Checks IP if newfunctionTransformation de données avec code personnalisé
subdomainsfunctionTransformation de données avec code personnalisé
Loops trough Subdomain listfunctionTransformation de données avec code personnalisé
Send data to NamecheaphttpRequestRequête HTTP vers une API externe
Get Public IP addresshttpRequestRequête HTTP vers une API externe
yourdomain.comsetTraitement des données

📖 Guide d'Implémentation

  1. Import du workflow: Téléchargez le fichier JSON et importez-le dans votre instance n8n
  2. Configuration des credentials: Configurez les accès pour chaque service utilisé
  3. Personnalisation: Adaptez les paramètres selon vos besoins spécifiques
  4. Test: Exécutez le workflow en mode test pour vérifier le bon fonctionnement
  5. Activation: Activez le workflow pour une exécution automatique

🏷️ Tags

DNSNameCheapIP dynamique

Structure JSON

Voir le code JSON complet
{
    "id": 3,
    "name": "NameCheap Dynamic DNS (DDNS)",
    "nodes": [
        {
            "name": "Cron",
            "type": "n8n-nodes-base.cron",
            "position": [
                380,
                300
            ],
            "parameters": {
                "triggerTimes": {
                    "item": [
                        {
                            "mode": "everyX",
                            "unit": "minutes",
                            "value": 15
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "name": "Checks IP if new",
            "type": "n8n-nodes-base.function",
            "position": [
                740,
                300
            ],
            "parameters": {
                "functionCode": "const staticData = getWorkflowStaticData('global');\nconst newItem = items.map(item => item.json[\"ip\"]);\nconst ildItem = staticData.ildItem; \n\nif (!ildItem) {\n  staticData.ildItem = newItem;\n  return items;\n}\n\n\nconst actualnewItem = newItem.filter((id) => !ildItem.includes(id));\nconst actualItem = items.filter((data) => actualnewItem.includes(data.json['ip']));\nstaticData.ildItem = [...actualnewItem, ...ildItem];\n\nreturn actualItem;"
            },
            "typeVersion": 1
        },
        {
            "name": "subdomains",
            "type": "n8n-nodes-base.function",
            "position": [
                1100,
                300
            ],
            "parameters": {
                "functionCode": "items[0].json = {\n    value: [\n        {id: \"subdomain1\"},\n        {id: \"subdomain2\"},\n        {id: \"subdomain3\"}\n    ]\n};\nreturn items;"
            },
            "typeVersion": 1
        },
        {
            "name": "Loops trough Subdomain list",
            "type": "n8n-nodes-base.function",
            "position": [
                1280,
                300
            ],
            "parameters": {
                "functionCode": "const newItems = [];\n\nfor (const item of items[0].json.value) {\n  newItems.push({json: item});\n}\n\nreturn newItems;"
            },
            "typeVersion": 1
        },
        {
            "name": "Send data to Namecheap",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1460,
                300
            ],
            "parameters": {
                "url": "=https:\/\/dynamicdns.park-your-domain.com\/update?host={{$node[\"Loops trough Subdomain list\"].parameter[\"functionCode\"]}}test&domain={{$node[\"yourdomain.com\"].parameter[\"values\"][\"string\"][0][\"value\"]}}&password={{$node[\"yourdomain.com\"].parameter[\"values\"][\"string\"][1][\"value\"]}}&ip={{$node[\"Get Public IP address\"].json[\"ip\"]}}",
                "options": [],
                "responseFormat": "string"
            },
            "typeVersion": 1
        },
        {
            "name": "Get Public IP address",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                560,
                300
            ],
            "parameters": {
                "url": "https:\/\/api.ipify.org?format=json",
                "options": [],
                "jsonParameters": true,
                "allowUnauthorizedCerts": true
            },
            "retryOnFail": true,
            "typeVersion": 1,
            "continueOnFail": true
        },
        {
            "name": "yourdomain.com",
            "type": "n8n-nodes-base.set",
            "position": [
                920,
                300
            ],
            "parameters": {
                "values": {
                    "string": [
                        {
                            "name": "domain",
                            "value": "yourdomain.com"
                        },
                        {
                            "name": "password",
                            "value": "your-namecheap-ddns-password"
                        }
                    ]
                },
                "options": [],
                "keepOnlySet": true
            },
            "typeVersion": 1
        }
    ],
    "active": false,
    "settings": [],
    "connections": {
        "Cron": {
            "main": [
                [
                    {
                        "node": "Get Public IP address",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "subdomains": {
            "main": [
                [
                    {
                        "node": "Loops trough Subdomain list",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "yourdomain.com": {
            "main": [
                [
                    {
                        "node": "subdomains",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Checks IP if new": {
            "main": [
                [
                    {
                        "node": "yourdomain.com",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get Public IP address": {
            "main": [
                [
                    {
                        "node": "Checks IP if new",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Loops trough Subdomain list": {
            "main": [
                [
                    {
                        "node": "Send data to Namecheap",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
                                

Workflows Similaires

Automatisez le Résumé de Vos Emails avec A.I. et Messagerie

Ce workflow n8n vous permet d'automatiser la gestion de vos emails en utilisant l'intelligence artificielle pour résume...

Automatisation de gestion des réunions Zoom et communication

Ce workflow est conçu pour automatiser le processus de planification et de gestion des réunions Zoom tout en assurant ...

Automatisez vos Tweets d'images humoristiques à 17h

Ce workflow n8n est conçu pour les professionnels des réseaux sociaux cherchant à automatiser leur contenu humoristiq...