IPv6 address classification utilities.
This module provides functions to classify IPv6 addresses into well-known ranges defined by IANA and various RFCs. Each function checks if an IPv6 address (as a 128-bit bigint) belongs to a specific range.
Classify an IPv6 address
Classify an IPv6 address
import { assertEquals } from "@std/assert"; import { classifyAddressv6 } from "@hertzg/ip/classifyv6"; import { parseAddressv6 } from "@hertzg/ip/addressv6"; assertEquals(classifyAddressv6(parseAddressv6("::1").address), "loopback"); assertEquals(classifyAddressv6(parseAddressv6("2001:db8::1").address), "documentation"); assertEquals(classifyAddressv6(parseAddressv6("fe80::1").address), "link-local"); assertEquals(classifyAddressv6(parseAddressv6("2607:f8b0:4004:800::200e").address), "global-unicast");
Check specific ranges
Check specific ranges
import { assert, assertEquals } from "@std/assert"; import { isAddressv6Loopback, isAddressv6UniqueLocal } from "@hertzg/ip/classifyv6"; import { parseAddressv6 } from "@hertzg/ip/addressv6"; assert(isAddressv6Loopback(parseAddressv6("::1").address)); assert(isAddressv6UniqueLocal(parseAddressv6("fd00::1").address)); assertEquals(isAddressv6Loopback(parseAddressv6("::2").address), false);
Classifies an IPv6 address into its well-known range.
Checks if an IPv6 address is in the benchmarking range (RFC 5180).
Checks if an IPv6 address is in the documentation range (RFC 3849).
Checks if an IPv6 address is a global unicast address (RFC 4291).
Checks if an IPv6 address is a link-local address (RFC 4291).
Checks if an IPv6 address is the loopback address (RFC 4291).
Checks if an IPv6 address is an IPv4-mapped address (RFC 4291).
Checks if an IPv6 address is a multicast address (RFC 4291).
Checks if an IPv6 address is an ORCHIDv2 address (RFC 7343).
Checks if an IPv6 address is a Teredo address (RFC 4380).
Checks if an IPv6 address is an IPv4-translated address (RFC 6052).
Checks if an IPv6 address is a unique local address (RFC 4193).
Checks if an IPv6 address is the unspecified address (RFC 4291).
Usage
import * as mod from "classifyv6.ts";