{"id":17152614,"url":"https://github.com/mkmik/zerozone","last_synced_at":"2025-04-13T12:43:13.273Z","repository":{"id":45947934,"uuid":"157183137","full_name":"mkmik/zerozone","owner":"mkmik","description":"Zero Zone is a (proof of concept) Zero Conf public domain registrar","archived":false,"fork":false,"pushed_at":"2023-02-15T03:33:47.000Z","size":172,"stargazers_count":5,"open_issues_count":2,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-27T03:41:43.684Z","etag":null,"topics":["coredns-plugin","dns","go","ipfs"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/mkmik.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-12T08:50:33.000Z","updated_at":"2021-11-09T15:38:47.000Z","dependencies_parsed_at":"2024-06-19T11:30:48.860Z","dependency_job_id":"6b17a9f8-aecc-424f-ad3f-e90326f6ead3","html_url":"https://github.com/mkmik/zerozone","commit_stats":{"total_commits":80,"total_committers":2,"mean_commits":40.0,"dds":"0.012499999999999956","last_synced_commit":"71d0fdba2366985cd91451e5286c846f4fe79eea"},"previous_names":["bitnami-labs/zerozone"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkmik%2Fzerozone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkmik%2Fzerozone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkmik%2Fzerozone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkmik%2Fzerozone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkmik","download_url":"https://codeload.github.com/mkmik/zerozone/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248717229,"owners_count":21150387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["coredns-plugin","dns","go","ipfs"],"created_at":"2024-10-14T21:44:05.944Z","updated_at":"2025-04-13T12:43:13.242Z","avatar_url":"https://github.com/mkmik.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zero Zone\n\n\u003e This project is still in preparation. I'm moving this from 0zone.mkm.pub to a non-personal domain\n\nZero Zone is a Zero Conf public domain registrar. \n\nWith Zero Zone, anybody can create a zone. Zero Zone is automation friendly; no registrations, no captchas.\nA zone is just a JSON file available via IPFS.\n\n```\n$ dig A foo.bafybeihebkzwbf2en26r7gtpvmbowai7fgvkcvhwaczgehvgzmghfyzvcq.0zone.mkm.pub +short\n10.20.30.40\n```\n\nZero zones are not good-looking. If you want a better looking name, or one you can choose yourself this tool is not for you.\nWhether zero zones are temporary is up to you: as long as the IPFS file gets served the zone is alive.\n\nThe zone is then mapped as subdomain of 0zone.mkm.pub, using the base32 encoding\nof the IPFS file address.\n\nThe JSON zone format reuses Google's Cloud DNS [format](https://cloud.google.com/dns/records/json-record),\nfor no other reason except that the authors didn't yet find a better standard (suggestions accepted) and this was easy to parse.\n\n```\n$ echo bafybeihebkzwbf2en26r7gtpvmbowai7fgvkcvhwaczgehvgzmghfyzvcq | cid format -b base58btc -v 0\nQmdgq8Q6zSty3kqQhNnCzEecYKQRimjs4dpALoPo9oyA8T\n$ ipfs cat /ipns/Qmdgq8Q6zSty3kqQhNnCzEecYKQRimjs4dpALoPo9oyA8T\n{\n   \"records\" : [\n      {\n         \"rrdatas\" : [\n            \"10.20.30.40\"\n         ],\n         \"type\" : \"A\",\n         \"ttl\" : 600,\n         \"name\" : \"foo\"\n      },\n      {\n         \"type\" : \"TXT\",\n         \"rrdatas\" : [\n            \"yadda yadda\"\n         ],\n         \"name\" : \"_acme-challenge.foo\",\n         \"ttl\" : 600\n      }\n   ]\n}\n\n```\n\n## Background\n\nWhen automating deployments that require TLS certificates, you often also need to automate DNS,\nwhich in turn requires the automation to have API access to a DNS service. This raises the barrier to entry\nfor those who just want deploy something anywhere, without having to have access to a cloud DNS service.\n\nAn example use case for this tool is streamlining installation procedures for [Bitnami Kubernetes Production Runtime](https://github.com/bitnami/kube-prod-runtime/tree/master/kubeprod)\n\n## Install\n\nThese instructions assume a IPFS node running on localhost.\n\n1. clone this outside of the GOPATH (so go modules work)\n2. `cd cmd/server`\n3. `go build \u0026\u0026 ./server`\n\nYou can try it out in another shell:\n\n```\n$ dig  @127.0.0.1 -p 8053 A foo.bafybeihebkzwbf2en26r7gtpvmbowai7fgvkcvhwaczgehvgzmghfyzvcq.0zone.mkm.pub +short\n10.20.30.40\n$ dig  @127.0.0.1 -p 8053 A foo.bafybeihumd6kyjmghotygjnrgzsyiukyjyrgzticnnf5z7eoeep563eiti.0zone.mkm.pub +short\n4.3.2.1\n```\n\n## Contributing\n\nPRs accepted.\n\nMain TODOs:\n\n1. build docker image and deploy somewhere public (I'm preparing 0zone.mkm.pub for now)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkmik%2Fzerozone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkmik%2Fzerozone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkmik%2Fzerozone/lists"}