{"id":26827,"library":"certbot-dns-eurodns","title":"certbot-dns-eurodns","description":"EuroDNS DNS Authenticator plugin for Certbot. Version 1.8.2 enables automated DNS-01 challenges for Let's Encrypt certificates using EuroDNS DNS API. Maintenance mode – last release 2022.","status":"maintenance","version":"1.8.2","language":"python","source_language":"en","source_url":"https://github.com/EuroDNS/certbot-dns-eurodns","tags":["certbot","dns","eurodns","letsencrypt","plugin"],"install":[{"cmd":"pip install certbot-dns-eurodns","lang":"bash","label":"pip install"}],"dependencies":[{"reason":"Required for certbot plugin interface.","package":"certbot","optional":false},{"reason":"Underlying library for DNS API interactions.","package":"dns-lexicon","optional":false},{"reason":"Required by certbot plugin system.","package":"zope.interface","optional":false}],"imports":[{"note":"Direct import from top-level package may fail due to internal restructuring.","wrong":"from certbot_dns_eurodns import Authenticator","symbol":"Authenticator","correct":"from certbot_dns_eurodns._internal.dns_eurodns import Authenticator"}],"quickstart":{"code":"import os\nfrom certbot_dns_eurodns._internal.dns_eurodns import Authenticator\n\n# Set credentials via environment variables\nos.environ['EURODNS_APPLICATION_ID'] = 'your_app_id'\nos.environ['EURODNS_APPLICATION_SECRET'] = 'your_app_secret'\nos.environ['EURODNS_MAPI_PASSWORD'] = 'your_mapi_password'\n\n# Alternatively, use a credentials file\n# /etc/letsencrypt/eurodns.ini:\n# dns_eurodns_application_id = your_app_id\n# dns_eurodns_application_secret = your_app_secret\n# dns_eurodns_mapi_password = your_mapi_password\n\n# Run certbot:\n# certbot certonly --authenticator dns-eurodns --dns-eurodns-credentials /etc/letsencrypt/eurodns.ini -d example.com","lang":"python","description":"Basic usage with environment variables or credentials file."},"warnings":[{"fix":"Use 'from certbot_dns_eurodns._internal.dns_eurodns import Authenticator'.","message":"Imports changed in version 1.8.0: the authenticator class moved to certbot_dns_eurodns._internal.dns_eurodns. Direct import from certbot_dns_eurodns no longer works.","severity":"breaking","affected_versions":">=1.8.0"},{"fix":"Upgrade to Python 3.6+.","message":"Python 2.7 support is deprecated. The plugin may stop working in future releases.","severity":"deprecated","affected_versions":">=1.8.0"},{"fix":"Run 'chmod 600 /etc/letsencrypt/eurodns.ini' before using the plugin.","message":"Credentials file must have restrictive permissions (600). Certbot will refuse to run otherwise.","severity":"gotcha","affected_versions":"all"},{"fix":"Use actual staging server instead of --dry-run.","message":"The plugin does not support --dry-run for some DNS record operations, causing false failures.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Update import to 'from certbot_dns_eurodns._internal.dns_eurodns import Authenticator'.","cause":"Old import path used after upgrade to 1.8.0.","error":"ImportError: No module named certbot_dns_eurodns._internal.dns_eurodns"},{"fix":"Run 'chmod 600 /path/to/credentials.ini' and retry.","cause":"Credentials file not restricted to owner read/write.","error":"Certbot error: The dns_eurodns plugin has unmet requirements: Credentials file permissions are too open"},{"fix":"Ensure all required environment variables (EURODNS_APPLICATION_ID, EURODNS_APPLICATION_SECRET, EURODNS_MAPI_PASSWORD) are set or provide a valid credentials file.","cause":"Missing or malformed credentials file; environment variables may be unset.","error":"AttributeError: 'NoneType' object has no attribute 'split'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}