From b0999adf5de52037c25380a06140964338dd2b53 Mon Sep 17 00:00:00 2001 From: Marek Isalski Date: Mon, 2 Jan 2023 00:26:23 +0000 Subject: [PATCH] add IPv6 ULA generators --- generate-ula48.py | 17 +++++++++++++++++ generate-ula56.py | 17 +++++++++++++++++ generate-ula64.py | 17 +++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100755 generate-ula48.py create mode 100755 generate-ula56.py create mode 100755 generate-ula64.py diff --git a/generate-ula48.py b/generate-ula48.py new file mode 100755 index 0000000..6f8b27f --- /dev/null +++ b/generate-ula48.py @@ -0,0 +1,17 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Generate RFC 4193 ULA Locally Assigned Address Block /48 +# @raycast.mode silent +# @raycast.packageName Developer Utilities + +# Optional parameters: +# @raycast.icon 💻 + +import os, binascii, subprocess +prefix = "fd" + binascii.b2a_hex( os.urandom( 5 ) ).decode( "utf-8" ) +prefix = prefix[ 0:4 ] + ":" + prefix[ 4:8 ] + ":" + prefix[ 8:12 ] + "::/48" +subprocess.run( [ "/usr/bin/pbcopy" ], input = prefix.encode( "utf-8" ) ) +print( prefix ) diff --git a/generate-ula56.py b/generate-ula56.py new file mode 100755 index 0000000..a62fee0 --- /dev/null +++ b/generate-ula56.py @@ -0,0 +1,17 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Generate RFC 4193 ULA Locally Assigned Address Block /56 +# @raycast.mode silent +# @raycast.packageName Developer Utilities + +# Optional parameters: +# @raycast.icon 💻 + +import os, binascii, subprocess +prefix = "fd" + binascii.b2a_hex( os.urandom( 6 ) ).decode( "utf-8" ) + "00" +prefix = prefix[ 0:4 ] + ":" + prefix[ 4:8 ] + ":" + prefix[ 8:12 ] + ":" + prefix[ 12:16 ] + "::/56" +subprocess.run( [ "/usr/bin/pbcopy" ], input = prefix.encode( "utf-8" ) ) +print( prefix ) diff --git a/generate-ula64.py b/generate-ula64.py new file mode 100755 index 0000000..8fbf087 --- /dev/null +++ b/generate-ula64.py @@ -0,0 +1,17 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Generate RFC 4193 ULA Locally Assigned Address Block /64 +# @raycast.mode silent +# @raycast.packageName Developer Utilities + +# Optional parameters: +# @raycast.icon 💻 + +import os, binascii, subprocess +prefix = "fd" + binascii.b2a_hex( os.urandom( 7 ) ).decode( "utf-8" ) +prefix = prefix[ 0:4 ] + ":" + prefix[ 4:8 ] + ":" + prefix[ 8:12 ] + ":" + prefix[ 12:16 ] + "::/64" +subprocess.run( [ "/usr/bin/pbcopy" ], input = prefix.encode( "utf-8" ) ) +print( prefix )