Add template from 07/05

This commit is contained in:
Thijs Raymakers 2025-05-14 20:34:28 +02:00
parent 07fae7b603
commit 3dd57ebc00
No known key found for this signature in database
6 changed files with 89 additions and 13 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
.env

36
main.py
View file

@ -1,10 +1,12 @@
from markupsafe import escape
from unificontrol import UnifiClient
from dotenv import load_dotenv
from os import getenv
from ssl import get_server_certificate
from flask import Flask, request
from flask import Flask, request, render_template, Response, send_from_directory
app = Flask(__name__)
app.config['TEMPLATES_AUTO_RELOAD'] = True
global unifi
def main():
@ -14,25 +16,33 @@ def main():
USERNAME = str(getenv("USERNAME"))
PASSWORD = str(getenv("PASSWORD"))
cert = get_server_certificate((HOSTNAME, 443))
#cert = get_server_certificate((HOSTNAME, 443))
global unifi
unifi = UnifiClient(host=HOSTNAME,
username=USERNAME, password=PASSWORD, cert=cert)
#global unifi
#unifi = UnifiClient(host=HOSTNAME,
# username=USERNAME, password=PASSWORD, cert=cert)
app.run(host="0.0.0.0", port=80)
@app.route('/guest/s/default/')
@app.route('/guest/s/default/', methods=["GET"])
def root():
ap = request.args.get('ap')
id = request.args.get('id')
ssid = request.args.get('ssid')
url = request.args.get('url')
ap = escape(request.args.get('ap'))
id = escape(request.args.get('id'))
ssid = escape(request.args.get('ssid'))
url = escape(request.args.get('url'))
ret = f"{ap}\t{id}\t{ssid}\t{url}"
print(ret)
page = render_template("index.html", ap=ap, id=id, ssid=ssid, url=url)
response = Response(page, mimetype="text/html")
return response
@app.route("/dialup", methods=["POST"])
def accept():
unifi.authorize_guest(id, 1)
return ret
return "no"
@app.route('/afbeeldingen/<path:path>')
def static_folder(path):
return send_from_directory('static', path)
if __name__ == "__main__":
main()

BIN
static/achtergrond.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

BIN
static/verbind.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
static/verbind.xcf Normal file

Binary file not shown.

65
templates/index.html Normal file
View file

@ -0,0 +1,65 @@
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE>Inbellen bij TechInc</TITLE>
<SCRIPT type="text/javascript">
(function() {
var blinks = document.getElementsByTagName('blink');
var visibility = 'hidden';
window.setInterval(function() {
for (var i = blinks.length - 1; i >= 0; i--) {
blinks[i].style.visibility = visibility;
}
visibility = (visibility === 'visible') ? 'hidden' : 'visible';
}, 250);
})();
</SCRIPt>
</HEAD>
<BODY BACKGROUND="/afbeeldingen/achtergrond.jpg" TEXT="black">
<TABLE WIDTH="600px" BORDER="5px" CELLPADDING="10px">
<TR>
<TD>
<FONT SIZE="+4">
<MARQUEE DIRECTION="up" HEIGHT="50px">
<CENTER>
<B>TechInc inbel portaal</B>
</CENTER>
</MARQUEE>
</FONT>
</TD>
</TR>
<TR>
<TD>
<P>
<CENTER>
<H2>Verbind <FONT COLOR="red"><BLINK>GRATIS</BLINK></FONT> met het wereldwijde web</H2>
</CENTER>
<P>
Welkom, surfer! Onze snelle telefoon lijn is <B><I><FONT COLOR="FUCHSIA">openbaar</FONT></I></B> en <B><I><FONT COLOR="FUCHSIA">gratis</FONT></I></B> beschikbaar.
Via onderstaande knop kan je inbellen via je modem.
</P>
<CENTER><H3>Inbellen via TechInc heeft de volgende voordelen</H3></CENTER>
<P>
<UL>
<LI><I>Altijd en overal toegang</I> tot het internet via uw telefoonlijn</LI>
<LI>Compatibel met alle gangbare 14.4k, 28.8k en 56k modems</LI>
<LI><B>Geen installatie nodig</B> werkt direct met Windows 95/98 en Netscape Navigator</LI>
<LI>Ondersteuning voor e-mail, nieuwsgroepen en Internet Relay Chat (IRC)</LI>
<LI>Beveiligde verbinding via ons eigen TechInc-netwerk</LI>
<LI><B>Gratis: <FONT COLOR="RED">u betaalt helemaal niets</FONT></B>, ook niet voor de gespreksduur!</LI>
<LI><I>24/7</I> doe-het-zelf helpdesk voor al uw internetvragen</LI>
</UL>
</P>
<HR></HR>
<P>
<FORM method="POST" action="/connect">
<INPUT TYPE="hidden" NAME="id" VALUE="{{id}}">
<CENTER><INPUT TYPE="image" VALUE="Verbind nu!" src="/afbeeldingen/verbind.gif"></INPUT></CENTER>
</FORM>
</P>
TODO: 88x31 en visitor count
</TD>
</TR>
</TABLE>
</BODY>
</HTML>