{"id":41942517,"url":"https://github.com/domeneshop/certbot-dns-domeneshop","last_synced_at":"2026-01-25T18:40:11.615Z","repository":{"id":62561400,"uuid":"181514753","full_name":"domeneshop/certbot-dns-domeneshop","owner":"domeneshop","description":"Domeneshop DNS Authenticator plugin for certbot.","archived":false,"fork":false,"pushed_at":"2024-05-02T12:06:11.000Z","size":19,"stargazers_count":35,"open_issues_count":1,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-01-04T21:56:06.107Z","etag":null,"topics":["certbot","certbot-dns","certbot-plugin"],"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/domeneshop.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2019-04-15T15:24:21.000Z","updated_at":"2025-09-06T16:19:48.000Z","dependencies_parsed_at":"2024-05-02T13:32:55.173Z","dependency_job_id":"1d5eba18-1b6d-4c4d-844e-9eb1c26e0b20","html_url":"https://github.com/domeneshop/certbot-dns-domeneshop","commit_stats":{"total_commits":18,"total_committers":2,"mean_commits":9.0,"dds":0.05555555555555558,"last_synced_commit":"80624ac46404c9eb2610f8495e7ca25a3e574c3d"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/domeneshop/certbot-dns-domeneshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domeneshop%2Fcertbot-dns-domeneshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domeneshop%2Fcertbot-dns-domeneshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domeneshop%2Fcertbot-dns-domeneshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domeneshop%2Fcertbot-dns-domeneshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/domeneshop","download_url":"https://codeload.github.com/domeneshop/certbot-dns-domeneshop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domeneshop%2Fcertbot-dns-domeneshop/sbom","scorecard":{"id":350456,"data":{"date":"2025-08-11","repo":{"name":"github.com/domeneshop/certbot-dns-domeneshop","commit":"fb0bccd72e76d2f046215c4a7a86df241f1bda1a"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.8,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/20 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating certbot/certbot:v2.10.0 to certbot/certbot:v2.10.0@sha256:8d785998c367a7c1058f9b8878fce4c728c725b4ba0fef57ed5322ef38b82613","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-18T08:11:09.741Z","repository_id":62561400,"created_at":"2025-08-18T08:11:09.741Z","updated_at":"2025-08-18T08:11:09.741Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28756442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T16:32:25.380Z","status":"ssl_error","status_checked_at":"2026-01-25T16:32:09.189Z","response_time":113,"last_error":"SSL_read: 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","certbot-plugin"],"created_at":"2026-01-25T18:40:11.007Z","updated_at":"2026-01-25T18:40:11.601Z","avatar_url":"https://github.com/domeneshop.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"certbot-dns-domeneshop\n======================\n\nDomeneshop_ DNS Authenticator plugin for certbot_.\n\nThis plugin automates the process of completing a ``dns-01`` challenge by\ncreating, and subsequently removing, TXT records using the `Domeneshop API`_.\n\n.. _domeneshop: https://domene.shop\n.. _`Domeneshop API`: https://api.domeneshop.no/docs\n.. _`Docker Hub`: https://hub.docker.com/r/domeneshop/certbot-dns-domeneshop\n.. _certbot: https://certbot.eff.org/\n\n\nNamed Arguments\n---------------\n\n================================================================  =====================================\n``--dns-domeneshop-credentials``                                  domeneshop credentials_ INI file. **(required)**\n``--dns-domeneshop-propagation-seconds``                          The number of seconds to wait for DNS to propagate before asking the ACME server to verify the DNS record(Default: 120)\n================================================================  =====================================\n\nNote that for certbot **1.6.0** and older, a prefix (``certbot-dns-domeneshop:``) is required in front of the arguments, see the examples below. The prefix is also required in the credentials file.\n\nInstallation\n------------\n\n.. code-block:: bash\n   \n   pip install certbot-dns-domeneshop\n\nCredentials\n-----------\n\nUse of this plugin requires a configuration file containing Domeneshop API\ncredentials.\n\nSee the `Domeneshop API`_ documentation for more information (in Norwegian).\n\nAn example ``credentials.ini`` file:\n\n.. code-block:: ini\n\n   dns_domeneshop_client_token=1234567890abcdef\n   dns_domeneshop_client_secret=1234567890abcdefghijklmnopqrstuvxyz1234567890abcdefghijklmnopqrs\n\nThe path to this file can be provided interactively or using the\n``--dns-domeneshop-credentials`` command-line argument. Certbot\nrecords the path to this file for use during renewal, but does not store the\nfile's contents.\n\n**CAUTION:** You should protect these API credentials as you would the\npassword to your Domeneshop user account. Users who can read this file can use these\ncredentials to issue arbitrary API calls on your behalf. Users who can cause\nCertbot to run using these credentials can complete a ``dns-01`` challenge to\nacquire new certificates or revoke existing certificates for associated\ndomains, even if those domains aren't being managed by this server.\n\nIf applicable, we suggest that you create API credentials for domains used by your\napplication, in order to reduce the potential impact of lost credentials.\n\nCertbot will emit a warning if it detects that the credentials file can be\naccessed by other users on your system. The warning reads \"Unsafe permissions\non credentials configuration file\", followed by the path to the credentials\nfile. This warning will be emitted each time Certbot uses the credentials file,\nincluding for renewal, and cannot be silenced except by addressing the issue\n(e.g., by using a command like ``chmod 600`` to restrict access to the file).\n\n\nExamples\n--------\n\nTo acquire a single certificate for both ``example.com`` and\n``www.example.com``, waiting 120 seconds for DNS propagation (the default):\n\n.. code-block:: bash\n\n   certbot certonly \\\n     --authenticator dns-domeneshop \\\n     --dns-domeneshop-credentials ~/.secrets/certbot/domeneshop.ini \\\n     --dns-domeneshop-propagation-seconds 120 \\\n     -d example.com \\\n     -d www.example.com\n\nIf you are using certbot **1.6.0** or older, you should call the plugin with prefixes the prefix:\n\n.. code-block:: bash\n\n   certbot certonly \\\n     --authenticator certbot-dns-domeneshop:dns-domeneshop \\\n     --certbot-dns-domeneshop:dns-domeneshop-credentials ~/.secrets/certbot/domeneshop.ini \\\n     --certbot-dns-domeneshop:dns-domeneshop-propagation-seconds 120 \\\n     -d example.com \\\n     -d www.example.com\n\nIn this second example, make sure you are also adding the prefixes in ``~/.secrets/certbot/domeneshop.ini`` (e.g. ``certbot-dns-domeneshop:dns_domeneshop_client_token``). Certbot will fail to discover your credentials otherwise.\n\nDocker image\n------------\n\nA docker image is also available on `Docker Hub`_.\n\nExample usage (where the local directory ``/etc/letsencrypt/domeneshop.ini`` contains your secrets):\n\n.. code-block:: bash\n\n   docker run --rm \\\n     -v /etc/letsencrypt:/etc/letsencrypt \\\n     -v /var/lib/letsencrypt:/var/lib/letsencrypt \\\n     domeneshop/certbot-dns-domeneshop \\\n     certonly \\\n     --authenticator dns-domeneshop \\\n     --dns-domeneshop-credentials /etc/letsencrypt/domeneshop.ini \\\n     --agree-tos \\\n     --email \"email@example.com\" \\\n     -d example.com","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdomeneshop%2Fcertbot-dns-domeneshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdomeneshop%2Fcertbot-dns-domeneshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdomeneshop%2Fcertbot-dns-domeneshop/lists"}