{"id":13586612,"url":"https://github.com/annttu/dns-manager","last_synced_at":"2026-04-04T20:00:58.660Z","repository":{"id":28322287,"uuid":"31835258","full_name":"annttu/dns-manager","owner":"annttu","description":"Manage dynamic and static DNS-records from web frontend including simple DynDNS support.","archived":false,"fork":false,"pushed_at":"2022-05-15T12:36:56.000Z","size":74,"stargazers_count":6,"open_issues_count":1,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-17T06:20:52.732Z","etag":null,"topics":["dns","dns-manager","dnsmanager","dynamic-dns","dyndns","tsig"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/annttu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-08T02:06:31.000Z","updated_at":"2022-05-15T12:36:16.000Z","dependencies_parsed_at":"2022-08-17T17:15:26.710Z","dependency_job_id":null,"html_url":"https://github.com/annttu/dns-manager","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/annttu/dns-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annttu%2Fdns-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annttu%2Fdns-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annttu%2Fdns-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annttu%2Fdns-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/annttu","download_url":"https://codeload.github.com/annttu/dns-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annttu%2Fdns-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31411637,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T19:29:44.979Z","status":"ssl_error","status_checked_at":"2026-04-04T19:29:11.535Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["dns","dns-manager","dnsmanager","dynamic-dns","dyndns","tsig"],"created_at":"2024-08-01T15:05:40.819Z","updated_at":"2026-04-04T20:00:58.640Z","avatar_url":"https://github.com/annttu.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"DNSManager\n==========\n\nDNSManager uses TSIG-key to add, update and delete DNS-records. DNSManager works with all DNS-servers that \nupport Dynamic updates [(RFC2136)](http://tools.ietf.org/html/rfc2136) using secure transport [(RFC3007)](http://tools.ietf.org/html/rfc3007). \nFor example Bind9 and PowerDNS are supported.\n\n\nInstallation locally\n============\n\nPrerequisites\n\n * Running postgresql server\n * Some packages\n   * sudo apt-get install libpq-dev python3-dev ( debian, ubuntu, etc. )\n   * sudo yum install postgresql-devel ( centos, redhat, etc. )\n\nInstall packages etc.\n\n    virtualenv env --python=python3.4\n    . env/bin/activate\n    pip install -r requirements.txt\n    cd DNSManager\n    vi manager/settings.py\n    ./manage.py migrate\n    # Create admin account for yourself\n    ./manage.py createsuperuser\n\n\nSetup\n====\n\nSetup superuser\n\n```\n./manage.py createsuperuser\n```\n\nWith container setup, run this command after containers are started.    \n\nUsage\n=====\n\nLocally\n\n```\n./manage.py runserver 8080\n```\n\nWith Docker compose\n\n```\ndocker compose build\ndocker compose up\n```\n\nConnecting\n===\n\nGo to http://127.0.0.1:8080\n\nI strongly recommend to configure a reverse proxy with an SSL-support for\nconnections over Internet. Nginx or Apache is fine for this.\n\n\nZone config for Bind9\n=====================\n\nConfiguration for bind9 to allow dynamic updates using TSIG-key.\n\nCreate first TSIG-key.\n\n    dnssec-keygen -a HMAC-SHA256 -b 256 -n HOST domain.tld.tsigkey\n    cat domain.tld.tsigkey.*.key\n\nCopy the base64 encoded key and use it to replace the secret in \u003cb\u003ekey\u003c/b\u003e row below. The Full row is also needed later when a domain is added to the frontend.\n\nUpdate zone config with the following configuration\n\n    key \"domain.tld.tsigkey.\" { algorithm hmac-sha256; secret \"XC+/XU45WGC6ycCT9uORuqs+cPWqoyMl98F63Cw2czo=\"; };\n    zone \"domain.tld\" { type master; file \"/etc/bind/domain.tld\"; allow-transfer { my-master-server-here; key \"domain.tld.tsigkey.\"; }; allow-update { key \"domain.tld.tsigkey.\"; }; };\n\nNote to use exactly same name for the key in config than in dnssec-keygen command. Otherwise it does not work.\n\nFinally, reload config\n\n    rndc reload\n\nLicense\n=======\n\nThe MIT License (MIT)\n\nCopyright (c) 2015-2025 Antti Jaakkola\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fannttu%2Fdns-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fannttu%2Fdns-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fannttu%2Fdns-manager/lists"}