{"id":37066874,"url":"https://github.com/clazzor/certbot-dns-wedos","last_synced_at":"2026-01-14T07:51:00.131Z","repository":{"id":166580176,"uuid":"596439503","full_name":"clazzor/certbot-dns-wedos","owner":"clazzor","description":"Certbot plugin for authentication using Wedos plugin","archived":false,"fork":false,"pushed_at":"2025-01-25T23:58:21.000Z","size":138,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-04T22:10:49.187Z","etag":null,"topics":["certbot","certbot-dns-plugin","certificate","letsencrypt","python","wapi","wedos","wedos-api","wildcard-certificates"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clazzor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-02T07:23:17.000Z","updated_at":"2025-10-20T12:16:30.000Z","dependencies_parsed_at":"2025-01-25T18:15:15.561Z","dependency_job_id":null,"html_url":"https://github.com/clazzor/certbot-dns-wedos","commit_stats":null,"previous_names":["clazzor/certbot-dns-wedos"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/clazzor/certbot-dns-wedos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clazzor%2Fcertbot-dns-wedos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clazzor%2Fcertbot-dns-wedos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clazzor%2Fcertbot-dns-wedos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clazzor%2Fcertbot-dns-wedos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clazzor","download_url":"https://codeload.github.com/clazzor/certbot-dns-wedos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clazzor%2Fcertbot-dns-wedos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28413510,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T05:26:33.345Z","status":"ssl_error","status_checked_at":"2026-01-14T05:21:57.251Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["certbot","certbot-dns-plugin","certificate","letsencrypt","python","wapi","wedos","wedos-api","wildcard-certificates"],"created_at":"2026-01-14T07:50:57.916Z","updated_at":"2026-01-14T07:51:00.106Z","avatar_url":"https://github.com/clazzor.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CertBot DNS plugin\nThis plugin uses [certbot](https://github.com/certbot/certbot)'s [dns-01 challenge](https://letsencrypt.org/docs/challenge-types) to create and delete TXT records on a [Wedos](https://www.wedos.com) domain server, thanks to the API interface called [WAPI](https://kb.wedos.com/en/kategorie/wapi-api-interface) provided by [Wedos](https://www.wedos.com). With this plugin you can make [wildcard](https://en.wikipedia.org/wiki/Wildcard_DNS_record) [ssl](https://letsencrypt.org/docs/faq/#does-let-s-encrypt-issue-wildcard-certificates). \n\n## Installation\n### Prerequirements\nFor the functionality of this plugin, you will need to install these programs/softwares.\n| Name                                           | Install                                                                      | Version   |\n|:----------------------------------------------:|:----------------------------------------------------------------------------:|:---------:|\n| [python](https://github.com/python/cpython)    | [Link](https://www.python.org/downloads/)                                    | \u003e= 3.9.0  |\n| [pip](https://github.com/pypa/pip/)            | [Link](https://pip.pypa.io/en/stable/installation)                           | \u003e= 24.1   |\n| [certbot](https://github.com/certbot/certbot/) | [Link](https://certbot.eff.org/instructions)                                 | \u003e= 3.0.0  |\n\u003e _Note that in theory, even an older version should work, but it has not been tested._\n\n### WAPI\nYou will also **need to have WAPI activated** for communication between Wedos and the plugin. To activate WAPI, you can read the article from Wedos, available at this link [WAPI activation and settings](https://kb.wedos.com/en/wapi-api-interface/wapi-manual/#wapi-activation).\n\u003e **CAUTION: Please note that the IP address of the server where Certbot with the plugin will be located must be allowed on WAPI, otherwise it will not work.**\n\n### The Install\n#### With snap (recommend)\n```commandline\nsnap install certbot-dns-wedos\nsudo snap set certbot trust-plugin-with-root=ok\nsudo snap connect certbot:plugin certbot-dns-wedos\n```\n---\n#### With pip\n```commandline\nsudo pip install certbot-dns-wedos\n```\n---\n#### From source\n```commandline\ngit clone https://github.com/clazzor/certbot-dns-wedos.git\nsudo pip install ./certbot-dns-wedos\n```\nAfter installation, the created folders may be deleted.\n```commandline\nrm -r certbot-dns-wedos\n```\n\n## Setup\n### Arguments \n| Name                            | Required | Description                                                                          |\n|:--------------------------------|:--------:|:-------------------------------------------------------------------------------------|\n| --dns-wedos-propagation-seconds | ❌       | Seconds to wait for DNS propagation before verifying DNS record with ACME server.    |\n| --dns-wedos-credentials         | ✅       | The complete path to the INI file for credentials containing data for authorization. |\n\u003e The default value of `propagation-seconds` is 450, if there is a problem with validation, increase the number. The lower limit is 300.\n\n### Command example\nThe basic structure of the command is the same as with all other cerbot plugins, we define which plugin to use, propagation-seconds, credentials file and domains, like this:\n```commandline\ncertbot certonly \\\n--authenticator dns-wedos \\\n--dns-wedos-propagation-seconds 450 \\\n--dns-wedos-credentials /path/to/the/file.ini \\\n-d example.com -d *.example.com\n```\n\n### Credentials file\n| Name           | Required | Description                   |\n|:---------------|:--------:|:------------------------------|\n| dns_wedos_user | ✅       | The user (email) for WAPI.    |\n| dns_wedos_auth | ✅       | The auth (password) for WAPI. |\n\nThis is what the credentials file for wedos plugin should look like.\n```commandline\ndns_wedos_user=user@example.com\ndns_wedos_auth=examplepassword\n```\n* Values are written after an equal\u0026#160;sign\u0026#160;`=`. For values with spaces, such as `hello world`, a space can be used.\n* **For the ini file you should apply permission: `chmod 600 file.ini` for security reason.**\n\n## Reloading certificates on services\nUsually services like haproxy, nginx, apache and more need to restart to retrieve a new certificate. \nFor this is used the `deploy hook`.\u003cbr\u003e\n\n## Errors\nIf an error occurs, Certbot will display the type of error that has occurred.  \n* If you get this error \"*Certbot failed to authenticate some domains (authenticator: dns-wedos)*\", increase the number in the `--dns-wedos-propagation-seconds` argument.\n* If you encounter an [HTTP error](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) related to communication with WAPI, you will receive an [HTTP error](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status).\n* If it is an error related to communication between the plugin and WAPI, you will receive a [return code](https://en.wikipedia.org/wiki/Exit_status). Wedos has a list of error codes on their website, which you can access through this link [WAPI list of return codes](https://kb.wedos.com/en/wapi-api-interface/wapi-manual/#return-codes).\n\n## Used Modules/Libraries\nI just want to mention which modules/libraries this plugin uses for better debugging of errors in the future, in case any occur.\n| Name                                                                    | License                                                                  |\n|:-----------------------------------------------------------------------:|:------------------------------------------------------------------------:|\n| [certbot](https://github.com/certbot/certbot)                           | [Apache 2.0](https://github.com/certbot/certbot/blob/master/LICENSE.txt) |\n| [datetime](https://github.com/python/cpython/blob/main/Lib/datetime.py) | [PSF](https://github.com/python/cpython/blob/main/LICENSE)               |\n| [hashlib](https://github.com/python/cpython/blob/main/Lib/hashlib.py)   | [PSF](https://github.com/python/cpython/blob/main/LICENSE)               |\n| [json](https://github.com/python/cpython/blob/main/Lib/json)            | [PSF](https://github.com/python/cpython/blob/main/LICENSE)               |\n| [logging](https://github.com/python/cpython/blob/main/Lib/logging)      | [PSF](https://github.com/python/cpython/blob/main/LICENSE)               |\n| [pytz](https://github.com/stub42/pytz)                                  | [MIT](https://github.com/stub42/pytz/blob/master/LICENSE.txt)            |\n| [re](https://github.com/python/cpython/blob/main/Lib/re)                | [PSF](https://github.com/python/cpython/blob/main/LICENSE)               |\n| [requests](https://github.com/psf/requests)                             | [Apache 2.0](https://github.com/psf/requests/blob/main/LICENSE)          |\n| [setuptools](https://github.com/pypa/setuptools)                        | [MIT](https://github.com/pypa/setuptools/blob/main/LICENSE)              |\n| [typing](https://github.com/python/cpython/blob/main/Lib/typing.py)     | [PSF](https://github.com/python/cpython/blob/main/LICENSE)               |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclazzor%2Fcertbot-dns-wedos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclazzor%2Fcertbot-dns-wedos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclazzor%2Fcertbot-dns-wedos/lists"}