{"id":15063360,"url":"https://github.com/simonmittag/punycoder","last_synced_at":"2025-06-13T04:06:22.854Z","repository":{"id":161262108,"uuid":"635999200","full_name":"simonmittag/punycoder","owner":"simonmittag","description":"A cli tool to convert idna domain names to punycode. IDNA (Internationalized Domain Name in Applications) is a set of standards and protocols used to support non-ASCII characters in domain names. ","archived":false,"fork":false,"pushed_at":"2023-06-16T09:59:41.000Z","size":140,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T11:03:09.530Z","etag":null,"topics":["bash","cli","dns","domains","emoji","idna","idna-converter","idna2008","internationalization","punycode","rfc-1035","rfc-5890","unicode","zsh"],"latest_commit_sha":null,"homepage":"","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/simonmittag.png","metadata":{"files":{"readme":"ReadMe.Md","changelog":null,"contributing":"Contributing.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-05-03T23:13:49.000Z","updated_at":"2024-01-26T18:24:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"6deae8ac-9364-4bb2-afdc-e5936dc6c7e7","html_url":"https://github.com/simonmittag/punycoder","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/simonmittag/punycoder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonmittag%2Fpunycoder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonmittag%2Fpunycoder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonmittag%2Fpunycoder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonmittag%2Fpunycoder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonmittag","download_url":"https://codeload.github.com/simonmittag/punycoder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonmittag%2Fpunycoder/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259578201,"owners_count":22879213,"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":["bash","cli","dns","domains","emoji","idna","idna-converter","idna2008","internationalization","punycode","rfc-1035","rfc-5890","unicode","zsh"],"created_at":"2024-09-24T23:55:36.109Z","updated_at":"2025-06-13T04:06:22.828Z","avatar_url":"https://github.com/simonmittag.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Punycoder Logo](punycoder_80.png)\n\nPunycoder converts international domain names to their ([RFC1035](https://www.rfc-editor.org/rfc/rfc1035.txt) compatible)\npunycode representations on the commandline, so you can use them with `nslookup` or `dig`.\n\nThis is done by first converting the non-ASCII characters into their Unicode code points, and then encoding those code \npoints using a special base-36 encoding scheme. The resulting string of ASCII characters is prefixed with the \ncharacters \"xn--\" to indicate that it is a Punycode-encoded domain name.\n\n[![Circleci Builds](https://circleci.com/gh/simonmittag/punycoder.svg?style=shield)](https://circleci.com/gh/simonmittag/punycoder)\n[![Github Issues](https://img.shields.io/github/issues/simonmittag/punycoder)](https://github.com/simonmittag/punycoder/issues)\n[![Github Activity](https://img.shields.io/github/commit-activity/m/simonmittag/punycoder)](https://img.shields.io/github/commit-activity/m/simonmittag/punycoder)  \n[![CodeClimate Maintainability](https://api.codeclimate.com/v1/badges/43f4fcf279d9d0ea72a6/maintainability)](https://codeclimate.com/github/simonmittag/punycoder/maintainability)\n[![CodeClimate Test Coverage](https://api.codeclimate.com/v1/badges/43f4fcf279d9d0ea72a6/test_coverage)](https://codeclimate.com/github/simonmittag/punycoder/test_coverage)\n[![Go Version](https://img.shields.io/github/go-mod/go-version/simonmittag/punycoder)](https://img.shields.io/github/go-mod/go-version/simonmittag/punycoder)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Version](https://img.shields.io/badge/version-0.2.2-orange)](https://github.com/simonmittag/punycoder)\n\n## What's new\n### v0.2.2 (16/06/23)\n* new logo\n\n### v0.2.1 (25/05/23)\n* refactored cli args.\n\n### v0.2.0 (22/05/23)\n* support unicode encoding of punycode\n\n## Up and running\n### Homebrew\n```\nbrew tap simonmittag/cli \u0026\u0026\n  brew install punycoder \u0026\u0026\n  punycoder \n```\n\n### Golang\n```bash\ngit clone https://github.com/simonmittag/punycoder \u0026\u0026 cd punycoder \u0026\u0026 \ngo install github.com/simonmittag/punycoder/cmd/punycoder \u0026\u0026 \npunycoder \n```\n\n## Usage\n```\n🌐 punycoder[v0.2.2]\nλ Usage: punycoder host | [-u] host | [-v] | [-h]\n  -h    print usage\n  -u    convert to unicode\n  -v    print punycoder version\n```\n\n## Examples\n\nUse punycoder with bash pipes reading from stdin\n```\necho 1❤️.ws | punycoder | nslookup\nServer:\t\t8.8.8.8\nAddress:\t8.8.8.8#53\n\nNon-authoritative answer:\nName:\txn--1-7iqv272g.ws\nAddress: 64.70.19.203\n```\n\n```\necho xn--1-7iqv272g.ws | punycoder -u \n1❤️.ws\n```\n\n## Contributions\nThe punycoder team welcomes all [contributors](https://github.com/simonmittag/punycoder/blob/master/CONTRIBUTING.md). Everyone interacting with the project's codebase, issue trackers, chat rooms and mailing lists\nis expected to follow the [code of conduct](https://github.com/simonmittag/punycoder/blob/master/CODE_OF_CONDUCT.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonmittag%2Fpunycoder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonmittag%2Fpunycoder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonmittag%2Fpunycoder/lists"}