Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/michelboucey/ip6addr
ip6addr is a commandline tool that validates and generates IPv6 address text representations
https://github.com/michelboucey/ip6addr
commandline haskell ipv6 ipv6-address ipv6-network
Last synced: 29 days ago
JSON representation
ip6addr is a commandline tool that validates and generates IPv6 address text representations
- Host: GitHub
- URL: https://github.com/michelboucey/ip6addr
- Owner: MichelBoucey
- License: bsd-3-clause
- Created: 2010-04-25T16:50:21.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2024-09-12T12:39:42.000Z (4 months ago)
- Last Synced: 2024-12-17T20:44:07.353Z (29 days ago)
- Topics: commandline, haskell, ipv6, ipv6-address, ipv6-network
- Language: Haskell
- Homepage: https://hackage.haskell.org/package/ip6addr
- Size: 67.4 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ip6addr ![CI](https://github.com/MichelBoucey/ip6addr/actions/workflows/haskell-ci.yml/badge.svg) [![Hackage](https://img.shields.io/hackage/v/ip6addr.svg)](https://hackage.haskell.org/package/ip6addr)
## 1. Purpose
`ip6addr` is a commandline tool that validates and generates IPv6 address text representations, based upon [the library IPv6Addr](https://github.com/MichelBoucey/IPv6Addr) :
* Canonical, in conformation with [RFC 5952](https://www.rfc-editor.org/rfc/rfc5952) (default output)
* Pure, *i.e.* force the rewriting of IPv4 address if present
* Full length
* Reverse lookup domain name, in conformation with [RFC 3596 Section 2.5](https://www.rfc-editor.org/rfc/rfc3596#section-2.5)
* Windows UNC path name
* Random generation for test purpose## 2. Install
### 2.1. With Cabal
```
cabal install ip6addr
```### 2.2. With Nix
#### 2.2.1. From sources
```
nix-build
```#### 2.2.2. From Nix Packages collection
```
nix profile install nixpkgs#haskellPackages.ip6addr
```## 3. Usage
```
ip6addr v2.0.0 (c) Michel Boucey 2011-2024Usage: ip6addr [-v|--version]
[(-c|--canonical) | (-n|--no-ipv4) | (-f|--full-length) |
(-p|--ptr) | (-w|--windows-unc) | (-r|--random)]
[-q|--quantity ARG] [-s|--prefix ARG] [-d|--no-newline]
[IPv6 address]ip6addr
Available options:
-v,--version Show version
-c,--canonical In conformation with RFC 5952 (default output)
-n,--no-ipv4 Force the rewriting of the IPv4 address if present to
get a pure IPv6 address made of nibbles only
-f,--full-length Full IPv6 address length
-p,--ptr PTR reverse mapping
-w,--windows-unc Windows UNC path name
-r,--random Random generation
-q,--quantity ARG Amount of random addresses to generate
-s,--prefix ARG Set a prefix for random addresses to generate
-d,--no-newline Do not output trailing newlines
-h,--help Show this help text
```*N.B.* : In version 2, flags and arguments have changed from version 1, but the main features are identical.
## 4. Examples
```bash
[user@box ~]$ ip6addr 0:0::FFFF:192.0.2.128
::ffff:192.0.2.128
[user@box ~]$ ip6addr --no-ipv4 0:0::FFFF:192.0.2.128
::ffff:c000:280
[user@box ~]$ ip6addr --ptr 0:0::FFFF:192.0.2.128
0.8.2.0.0.0.0.c.f.f.f.f.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA.
[user@box ~]$ ip6addr --windows-unc 2001:db8:85a3:8d3:1319:8a2e:370:7348
2001-db8-85a3-8d3-1319-8a2e-370-7348.ipv6-literal.net
[user@box ~]$ ip6addr --full-length 0:0::FFFF:192.0.2.128
0000:0000:0000:0000:0000:ffff:c000:0280
[user@box ~]$ ip6addr --random
ca18::654a:57ab:2ed7
[user@box ~]$ ip6addr --random --quantity 4
488:f7f3:7f7e::6ffd
5b8b:8ab4::f0b8
f191:ecc9:8193:8a2:104c:fec1:0:8c4d
af3b:3ffd:8302:6c56::8623:26
[user@box ~]$ ip6addr --random --quantity 3 --prefix 1234:1ab2::
1234:1a2b::cda6:cf2a:bb1d:d70b
1234:1a2b::362c:8295:f546:a43a
1234:1a2b::1121:ca16:ab5:688a
```