idnaparse: IDNA-aware DNS-name lint and reporter
idnaparse reads a stream of presentation-form domain names
(one per line on stdin) and emits one JSON record per name on
stdout. Each record reports either a successful parse (with
canonical presentation form, Unicode display form, and the
set of label-form classifications -- LDH, ALABEL, ULABEL,
FAKEA, ATTRLEAF, OCTET, WILDLABEL) or an error with enough
detail to identify the offending label and the specific rule
that failed.
Built on the idna2008 library. Useful for sweeping a zone
file or registrar feed for IDNA conformance, building a
summary of the label kinds present in a corpus, or as the
parsing front end for ad-hoc DNS-name analysis pipelines.
See idnaparse --help, idnaparse --explain-forms, and
idnaparse --explain-opts for the full CLI vocabulary.
[Skip to Readme]
Downloads
- idnaparse-1.0.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 1.0.0.0 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | base (>=4.18 && <5), bytestring (>=0.11 && <0.13), containers (>=0.6 && <0.9), idna2008 (>=1.0 && <1.1), optparse-applicative (>=0.17 && <0.20), streaming (>=0.2 && <0.3), streaming-bytestring (>=0.3 && <0.4), text (>=2.0 && <2.2) [details] |
| Tested with | ghc ==9.6.7, ghc ==9.8.4, ghc ==9.10.3, ghc ==9.12.3, ghc ==9.14.1 |
| License | BSD-3-Clause |
| Copyright | 2026 Viktor Dukhovni |
| Author | Viktor Dukhovni |
| Maintainer | ietf-dane@dukhovni.org |
| Uploaded | by ietfdane at 2026-07-03T05:41:11Z |
| Category | Network |
| Home page | https://github.com/dnsbase/idnaparse |
| Bug tracker | https://github.com/dnsbase/idnaparse/issues |
| Source repo | head: git clone https://github.com/dnsbase/idnaparse.git |
| Distributions | |
| Executables | idnaparse |
| Downloads | 3 total (3 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs not available [build log] Last success reported on 2026-07-03 [all 1 reports] |