Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simonmittag/punycoder
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.
https://github.com/simonmittag/punycoder
bash cli dns domains emoji idna idna-converter idna2008 internationalization punycode rfc-1035 rfc-5890 unicode zsh
Last synced: 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/simonmittag/punycoder
- Owner: simonmittag
- License: apache-2.0
- Created: 2023-05-03T23:13:49.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-06-16T09:59:41.000Z (over 1 year ago)
- Last Synced: 2024-09-30T08:40:50.300Z (3 months ago)
- Topics: bash, cli, dns, domains, emoji, idna, idna-converter, idna2008, internationalization, punycode, rfc-1035, rfc-5890, unicode, zsh
- Language: Go
- Homepage:
- Size: 137 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.Md
- Contributing: Contributing.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
![Punycoder Logo](punycoder_80.png)
Punycoder converts international domain names to their ([RFC1035](https://www.rfc-editor.org/rfc/rfc1035.txt) compatible)
punycode representations on the commandline, so you can use them with `nslookup` or `dig`.This is done by first converting the non-ASCII characters into their Unicode code points, and then encoding those code
points using a special base-36 encoding scheme. The resulting string of ASCII characters is prefixed with the
characters "xn--" to indicate that it is a Punycode-encoded domain name.[![Circleci Builds](https://circleci.com/gh/simonmittag/punycoder.svg?style=shield)](https://circleci.com/gh/simonmittag/punycoder)
[![Github Issues](https://img.shields.io/github/issues/simonmittag/punycoder)](https://github.com/simonmittag/punycoder/issues)
[![Github Activity](https://img.shields.io/github/commit-activity/m/simonmittag/punycoder)](https://img.shields.io/github/commit-activity/m/simonmittag/punycoder)
[![CodeClimate Maintainability](https://api.codeclimate.com/v1/badges/43f4fcf279d9d0ea72a6/maintainability)](https://codeclimate.com/github/simonmittag/punycoder/maintainability)
[![CodeClimate Test Coverage](https://api.codeclimate.com/v1/badges/43f4fcf279d9d0ea72a6/test_coverage)](https://codeclimate.com/github/simonmittag/punycoder/test_coverage)
[![Go Version](https://img.shields.io/github/go-mod/go-version/simonmittag/punycoder)](https://img.shields.io/github/go-mod/go-version/simonmittag/punycoder)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Version](https://img.shields.io/badge/version-0.2.2-orange)](https://github.com/simonmittag/punycoder)## What's new
### v0.2.2 (16/06/23)
* new logo### v0.2.1 (25/05/23)
* refactored cli args.### v0.2.0 (22/05/23)
* support unicode encoding of punycode## Up and running
### Homebrew
```
brew tap simonmittag/cli &&
brew install punycoder &&
punycoder
```### Golang
```bash
git clone https://github.com/simonmittag/punycoder && cd punycoder &&
go install github.com/simonmittag/punycoder/cmd/punycoder &&
punycoder
```## Usage
```
🌐 punycoder[v0.2.2]
λ Usage: punycoder host | [-u] host | [-v] | [-h]
-h print usage
-u convert to unicode
-v print punycoder version
```## Examples
Use punycoder with bash pipes reading from stdin
```
echo 1❤️.ws | punycoder | nslookup
Server: 8.8.8.8
Address: 8.8.8.8#53Non-authoritative answer:
Name: xn--1-7iqv272g.ws
Address: 64.70.19.203
``````
echo xn--1-7iqv272g.ws | punycoder -u
1❤️.ws
```## Contributions
The 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
is expected to follow the [code of conduct](https://github.com/simonmittag/punycoder/blob/master/CODE_OF_CONDUCT.md)