Initial meep
This commit is contained in:
parent
0852c2f0e9
commit
abdea7e57b
5 changed files with 67 additions and 0 deletions
1
requirements.txt
Normal file
1
requirements.txt
Normal file
|
@ -0,0 +1 @@
|
|||
flask
|
21
utils/app.py
Normal file
21
utils/app.py
Normal file
|
@ -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)
|
16
utils/generate.py
Normal file
16
utils/generate.py
Normal file
|
@ -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
|
15
utils/templates/index.j2
Normal file
15
utils/templates/index.j2
Normal file
|
@ -0,0 +1,15 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>Utilities</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>IPv6 generator</h1>
|
||||
<form method="POST">
|
||||
<input type="text" name="subnet" size="10" placeholder="IPv6 subnet" />
|
||||
<button type="submit">generate</button>
|
||||
</form>
|
||||
<footer>
|
||||
<hr />
|
||||
<a href="https://git.everypizza.im/n/utils">source code</a> | version 0.0.1
|
||||
</footer>
|
||||
</body>
|
14
utils/templates/result.j2
Normal file
14
utils/templates/result.j2
Normal file
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>Utilities</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Result for {{ action }}</h1>
|
||||
<p>
|
||||
{{ result }}
|
||||
</p>
|
||||
<footer>
|
||||
<hr />
|
||||
<a href="/">← back home</a>
|
||||
</footer>
|
||||
</body>
|
Loading…
Add table
Reference in a new issue