From abdea7e57b152b211f253c39e2fd97b17d711867 Mon Sep 17 00:00:00 2001 From: Nyx Date: Sat, 22 Mar 2025 03:18:19 -0500 Subject: [PATCH] Initial meep --- requirements.txt | 1 + utils/app.py | 21 +++++++++++++++++++++ utils/generate.py | 16 ++++++++++++++++ utils/templates/index.j2 | 15 +++++++++++++++ utils/templates/result.j2 | 14 ++++++++++++++ 5 files changed, 67 insertions(+) create mode 100644 requirements.txt create mode 100644 utils/app.py create mode 100644 utils/generate.py create mode 100644 utils/templates/index.j2 create mode 100644 utils/templates/result.j2 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8ab6294 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +flask \ No newline at end of file diff --git a/utils/app.py b/utils/app.py new file mode 100644 index 0000000..bfd8662 --- /dev/null +++ b/utils/app.py @@ -0,0 +1,21 @@ +from flask import request, redirect, session, render_template, send_from_directory, Flask, url_for + +import generate + +app = Flask(__name__) + +@app.route('/', methods=['GET', 'POST']) +def index(): + if request.method == 'POST': + subnet = request.form['subnet'] + ip = generate.generate_ip(subnet) + return redirect(url_for('result', ip=ip)) + return render_template('index.j2') + +@app.route('/result') +def result(): + ip = request.args.get('ip') + return render_template('result.j2', result=ip) + +if __name__ == '__main__': + app.run(debug=True) \ No newline at end of file diff --git a/utils/generate.py b/utils/generate.py new file mode 100644 index 0000000..ca1f3f9 --- /dev/null +++ b/utils/generate.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python3 +""" +Generate a random IPv6 address for a specified subnet +""" + +from random import seed, getrandbits +from ipaddress import IPv6Network, IPv6Address + +def generate_ip(subnet): + subnet = subnet + + seed() + network = IPv6Network(subnet) + address = IPv6Address(network.network_address + getrandbits(network.max_prefixlen - network.prefixlen)) + + return address \ No newline at end of file diff --git a/utils/templates/index.j2 b/utils/templates/index.j2 new file mode 100644 index 0000000..e6ecc04 --- /dev/null +++ b/utils/templates/index.j2 @@ -0,0 +1,15 @@ + + + Utilities + + +

IPv6 generator

+
+ + +
+ + \ No newline at end of file diff --git a/utils/templates/result.j2 b/utils/templates/result.j2 new file mode 100644 index 0000000..7de3657 --- /dev/null +++ b/utils/templates/result.j2 @@ -0,0 +1,14 @@ + + + Utilities + + +

Result for {{ action }}

+

+ {{ result }} +

+ + \ No newline at end of file