-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathui.py
33 lines (27 loc) · 960 Bytes
/
ui.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from flask import Flask
import flask
from flask import render_template, views
from iptables_manager import IpTablesManager
app = Flask(__name__)
app.config.from_object(__name__)
class IronWeb(flask.views.MethodView):
def get(self):
# post request to server to get ip blacklist
# return 'Hello World!'
# blacklist = [{'ip' : '8.8.8.8/255.255.255.255'}]
blacklist = []
o = IpTablesManager()
res = o.get_blacklist()
for item in res:
blacklist.append(item['IP'])
return render_template('ui.html', blacklist = blacklist)
def post(self):
#add to whitelist
ip = flask.request.form['ip']
o = IpTablesManager()
o.remove_ips_from_block_list([ip])
o.add_to_white_list([ip])
app.add_url_rule('/', view_func=IronWeb.as_view('main'), methods=['GET', 'POST'])
if __name__ == '__main__':
app.debug = True
app.run(host="0.0.0.0", port=80)