mirror of
https://gitea.augustin64.fr/piair/MsRewards-Reborn.git
synced 2025-06-19 09:34:45 +02:00
updated webUI according to param changes
This commit is contained in:
79
Flask/templates/base.html
Normal file
79
Flask/templates/base.html
Normal file
@ -0,0 +1,79 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta charset="utf-8">
|
||||
<link rel="icon" type="image/png" href="{{ url_for('static', filename='favicon.ico') }}">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>MS Rewards</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/flask.css')}}"/>
|
||||
<script src="{{ url_for('static', filename='js/main.js')}}"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<input id="slide-sidebar" type="checkbox" role="button"/>
|
||||
<label for="slide-sidebar">
|
||||
<div id="slide">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-menu-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M4 6l16 0"></path>
|
||||
<path d="M4 12l16 0"></path>
|
||||
<path d="M4 18l16 0"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</label>
|
||||
<div class="left-pannel">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<button class="unselected" id="sidebar_schedule" onclick="location.href = '/schedule';">schedule</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button class="unselected" id="sidebar_config" onclick="location.href = '/config';">config</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button class="unselected" id="sidebar_discord" onclick="location.href = '/discord';">discord</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button class="unselected" id="sidebar_proxy" onclick="location.href = '/proxy';">proxy</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button class="unselected" id="sidebar_logs" onclick="location.href = '/logs';">logs</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button class="unselected" id="sidebar_stats" onclick="location.href = '/stats';">stats</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button class="unselected" id="sidebar_override" onclick="location.href = '/override';">Override</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button class="unselected" id="sidebar_settings" onclick="location.href = '/settings';">settings</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<script>document.getElementById("sidebar_{% block left_pannel %}{% endblock %}").className = "selected"</script>
|
||||
</div>
|
||||
<div class="content">
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">{{version}}</div>
|
||||
</body>
|
||||
|
||||
</html>
|
22
Flask/templates/change_password.html
Normal file
22
Flask/templates/change_password.html
Normal file
@ -0,0 +1,22 @@
|
||||
{% extends "base.html" %}
|
||||
{% block left_pannel %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
{%if not current_user.is_authenticated %}
|
||||
<h1>Already logged in</h1>
|
||||
{% else %}
|
||||
<form method="post" action="/change_password/">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="comlumn-name">Change password</td>
|
||||
<td><input type="text" name="password"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="submit" name="NewPassword" value="send" class="button"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endblock %}
|
106
Flask/templates/config.html
Normal file
106
Flask/templates/config.html
Normal file
@ -0,0 +1,106 @@
|
||||
{% extends "base.html" %}
|
||||
{% block left_pannel %}config{% endblock %}
|
||||
|
||||
|
||||
|
||||
{% block content %}
|
||||
<script>data2 = JSON.parse('{{configs|tojson}}'); </script>
|
||||
{%if not current_user.is_authenticated %}
|
||||
<button class="unselected" onclick="location.href = '/login';">login</button>
|
||||
{% else %}
|
||||
<form method="post" action="/config/">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="width: 10%;">config : </td>
|
||||
<td style="width: 40%;">
|
||||
<select onchange="change_config(this.value, data2, '{{len}}')" name="config">
|
||||
<option id="config" value="{{len}}">New config</option>
|
||||
{% for i in configs %}
|
||||
<option id="{{configs[i]['name']}}" value="{{i}}">{{configs[i]['name']}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
<td style="width: 10%;">name : </td>
|
||||
<td>
|
||||
<input type="text" id="name" name="name" value = "">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 10%;">Proxy : </td>
|
||||
<td style="width: 40%;">
|
||||
<select id="proxy" name="proxy">
|
||||
<option id="" value="-1">No proxy</option>
|
||||
{% for i in proxys %}
|
||||
<option id="{{proxys[i]['name']}}" value="{{i}}">{{proxys[i]['name']}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
<td style="width: 10%;">Discord : </td>
|
||||
<td>
|
||||
<select id="discord" name="discord">
|
||||
<option id="no discord" value="-1">No discord (not sure about the support)</option>
|
||||
{% for i in discords %}
|
||||
<option id="{{discords[i]['name']}}" value="{{i}}">{{discords[i]['name']}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<table>
|
||||
<tr>
|
||||
<td>Mail</td>
|
||||
<td>Password</td>
|
||||
<td>2FA</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" id="mail1" name="mail1" value=""></td>
|
||||
<td><input type="text" id="pwd1" name="pwd1" value=""></td>
|
||||
<td><input type="text" id="2fa1" name="2fa1" value=""></td>
|
||||
<td class="left-button"><button class="ban" name="ban" value="">ban</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" id="mail2" name="mail2" value=""></td>
|
||||
<td><input type="text" id="pwd2" name="pwd2" value=""></td>
|
||||
<td><input type="text" id="2fa2" name="2fa2" value=""></td>
|
||||
<td class="left-button"><button class="ban" name="ban" value="">ban</button></td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" id="mail3" name="mail3" value=""></td>
|
||||
<td><input type="text" id="pwd3" name="pwd3" value="" ></td>
|
||||
<td><input type="text" id="2fa3" name="2fa3" value=""></td>
|
||||
<td class="left-button"><button class="ban" name="ban" value="">ban</button></td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" id="mail4" name="mail4" value=""></td>
|
||||
<td><input type="text" id="pwd4" name="pwd4" value="" ></td>
|
||||
<td><input type="text" id="2fa4" name="2fa4" value=""></td>
|
||||
<td class="left-button"><button class="ban" name="ban" value="">ban</button></td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" id="mail5" name="mail5" value=""></td>
|
||||
<td><input type="text" id="pwd5" name="pwd5" value=""></td>
|
||||
<td><input type="text" id="2fa5" name="2fa5" value=""></td>
|
||||
<td class="left-button"><button class="ban" name="ban" value="">ban</button></td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="submit" class="confirm" name="data" id="submit" value="Create !" class="button" style="width:97%;"/>
|
||||
</td>
|
||||
<td class="left-button">
|
||||
<input type="submit" name="data" id="delete" value="delete" class="ban" style="visibility: hidden;"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
{% endif %}
|
||||
{% endblock %}
|
31
Flask/templates/dev.html
Normal file
31
Flask/templates/dev.html
Normal file
@ -0,0 +1,31 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block left_pannel %}{% endblock %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
{%if not current_user.is_authenticated %}
|
||||
<button class="unselected" onclick="location.href = '/login';">login</button>
|
||||
{% else %}
|
||||
<table>
|
||||
<tr>
|
||||
<td width="20%" height="90%">
|
||||
<div id="console"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<script>
|
||||
const consoleElement = document.getElementById('console');
|
||||
const eventSource = new EventSource('/stream');
|
||||
|
||||
eventSource.onmessage = (event) => {
|
||||
console.log("je ne comprend vraiment plus rien, meme git me casse les couilles");
|
||||
const newOutput = document.createElement('div');
|
||||
newOutput.textContent = event.data;
|
||||
consoleElement.appendChild(newOutput);
|
||||
};
|
||||
|
||||
</script>
|
||||
{% endif %}
|
||||
{% endblock %}
|
56
Flask/templates/discord.html
Normal file
56
Flask/templates/discord.html
Normal file
@ -0,0 +1,56 @@
|
||||
{% extends "base.html" %}
|
||||
{% block left_pannel %}discord{% endblock %}
|
||||
{% block content %}
|
||||
<script>data = JSON.parse('{{data|tojson}}'); </script>
|
||||
{%if not current_user.is_authenticated %}
|
||||
<button class="unselected" onclick="location.href = '/login';">login</button>
|
||||
{% else %}
|
||||
<form method="post" action="/discord/">
|
||||
<table>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<select name="select" onchange="change_discord(this.value, data, '{{len}}')">
|
||||
<option selected id="new" value="{{ len }}">Create new Discord config</option>
|
||||
{% for i in data %}
|
||||
<option id="{{data[i]['name']}}" value="{{i}}">{{data[i]['name']}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="comlumn-name">name</td>
|
||||
<td><input type="text" id="name" name="name" value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="comlumn-name">Send errors</td>
|
||||
<td><input type="checkbox" id="errorsT" name="errorsT" class="toogle"/><label for="errorsT">Toggle</label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="comlumn-name">Send success</td>
|
||||
<td><input type="checkbox" id="successT" name="successT" class="toogle"/><label for="successT">Toggle</label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="comlumn-name">Success link</td>
|
||||
<td><input type="text" id="successL" name="successL" value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="comlumn-name">Failure Link</td>
|
||||
<td><input type="text" id="errorsL" name="errorsL" value=""></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
<td class="comlumn-name"></td>
|
||||
<td style="width:60%;"><input type="submit" name="DISCORD" id="submit" value="Create !" class="confirm" style="width:86%;"/></td>
|
||||
<td style="padding-right: 20px;">
|
||||
<input type="submit" name="DISCORD" id="submit" value="delete" class="ban" style="width:60%;"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
{% endif %}
|
||||
{% endblock %}
|
23
Flask/templates/login.html
Normal file
23
Flask/templates/login.html
Normal file
@ -0,0 +1,23 @@
|
||||
{% extends "base.html" %}
|
||||
{% block left_pannel %}login{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
{%if not current_user.is_authenticated %}
|
||||
<form method="post" action="/login/">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="comlumn-name">password</td>
|
||||
<td><input type="password" name="password"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="submit" name="DISCORD" value="send" class="button"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
|
||||
{% else %}
|
||||
<h1>Already logged in</h1>
|
||||
{% endif %}
|
||||
{% endblock %}
|
21
Flask/templates/logs.html
Normal file
21
Flask/templates/logs.html
Normal file
@ -0,0 +1,21 @@
|
||||
{% extends "base.html" %}
|
||||
{% block left_pannel %}logs{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
{%if not current_user.is_authenticated %}
|
||||
<h1>Already logged in</h1>
|
||||
{% else %}
|
||||
|
||||
<select name="select" onchange="change_logs(this.value)">
|
||||
<option id="null" value="0">Choisir une config</option>
|
||||
{% for i in data %}
|
||||
<option id="{{data[i]['name']}}" value="{{i}}">{{data[i]['name']}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<br><br>
|
||||
<iframe type="text/html" src="{{url_for('static', filename='logs/1.txt')}}" width="100%" height="85%" id="embed">
|
||||
|
||||
|
||||
|
||||
{% endif %}
|
||||
{% endblock %}
|
53
Flask/templates/proxy.html
Normal file
53
Flask/templates/proxy.html
Normal file
@ -0,0 +1,53 @@
|
||||
{% extends "base.html" %}
|
||||
{% block left_pannel %}proxy{% endblock %}
|
||||
|
||||
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%if not current_user.is_authenticated %}
|
||||
<button class="unselected" onclick="location.href = '/login';">login</button>
|
||||
{% else %}
|
||||
<form method="post" action="/proxy/">
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td class="comlumn-name"></td>
|
||||
<td>
|
||||
<script>data = JSON.parse('{{data|tojson}}');</script>
|
||||
<select name="select" onchange="change_proxy(this.value, data, '{{len}}')">
|
||||
<option selected id="new" value="{{ len }}">Create new proxy</option>
|
||||
{% for i in data %}
|
||||
<option id="{{data[i]['name']}}" value="{{i}}">{{data[i]['name']}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="comlumn-name">name : </td>
|
||||
<td><input type="text" name="name" value="" id="name"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="comlumn-name">address : </td>
|
||||
<td><input type="text" name="address" value="" id="address"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="comlumn-name">port : </td>
|
||||
<td><input type="text" name="port" value="" id="port"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
<td class="comlumn-name"></td>
|
||||
<td style="width:60%;"><input type="submit" name="PROXY" id="submit" value="Create !" class="confirm" style="width:86%;"/></td>
|
||||
<td style="padding-right: 20px;"><input type="submit" name="PROXY" id="submit" value="delete" class="ban" style="width:60%;"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
35
Flask/templates/schedule.html
Normal file
35
Flask/templates/schedule.html
Normal file
@ -0,0 +1,35 @@
|
||||
{% extends "base.html" %}
|
||||
{% block left_pannel %}schedule{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%if not current_user.is_authenticated %}
|
||||
<button class="unselected" onclick="location.href = '/login';">login</button>
|
||||
{% else %}
|
||||
|
||||
<form method="post" action="/schedule/">
|
||||
<table>
|
||||
{% for i in data %}
|
||||
<tr>
|
||||
<td>{{data[i]['name']}}</td>
|
||||
<td>
|
||||
<input type="time" id="{{i}}" name="time{{i}}" value="{{data[i]['time']}}" required>
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" class="toogle" id="switch{{i}}" name="switch{{i}}" {{ "checked" if data[i]['enabled'] == True else "" }} />
|
||||
<label for="switch{{i}}">
|
||||
Toggle
|
||||
</label>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<input type="submit" name="data" value="Update" class="button"/>
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
{%endblock %}
|
49
Flask/templates/settings.html
Normal file
49
Flask/templates/settings.html
Normal file
@ -0,0 +1,49 @@
|
||||
{% extends "base.html" %}
|
||||
{% block left_pannel %}settings{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{%if not current_user.is_authenticated %}
|
||||
<button class="unselected" onclick="location.href = '/login';">login</button>
|
||||
{% else %}
|
||||
<form method="post" action="/settings/">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="comlumn-name">avatar url :</td>
|
||||
<td><input type="text" name="avatarlink" value="{{data['avatarlink']}}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<input type="submit" name="settings" id="submit" value="update" class="button"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<h2>TODO</h2>
|
||||
<ul>
|
||||
<li>ban button</li>
|
||||
</ul>
|
||||
<br><br>
|
||||
<h2>Backup config files</h2>
|
||||
<ul>
|
||||
<li><a href="/download/configs.json">download account config</a></li>
|
||||
<li><a href="/download/discord.json">download discord config</a></li>
|
||||
<li><a href="/download/flask.json">download flask config</a></li>
|
||||
<li><a href="/download/proxy.json">download proxy config</a></li>
|
||||
<li><a href="/download/settings.json">download settings</a></li>
|
||||
</ul>
|
||||
|
||||
<br><br>
|
||||
<h2>Upload your files</h2>
|
||||
<form method="POST" action="/upload_file/" enctype=multipart/form-data>
|
||||
<table id="table">
|
||||
<tr><td><input type="file" id="file1" name="file1" onchange='addline(0)'></td></tr>
|
||||
<tr><td><input type="submit" name="settings" id="submit" value="send file" class="button"/></td></tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
|
||||
{% endif %}
|
||||
{%endblock %}
|
||||
|
12
Flask/templates/stats.html
Normal file
12
Flask/templates/stats.html
Normal file
@ -0,0 +1,12 @@
|
||||
{% extends "base.html" %}
|
||||
{% block left_pannel %}stats{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%if not current_user.is_authenticated %}
|
||||
<button class="unselected" onclick="location.href = '/login';">login</button>
|
||||
{% else %}
|
||||
<iframe src="/grafana?orgId=1&kiosk" width="100%" height="100%" frameborder="0"></iframe>
|
||||
{% endif %}
|
||||
|
||||
{%endblock %}
|
45
Flask/templates/vnc_get.html
Normal file
45
Flask/templates/vnc_get.html
Normal file
@ -0,0 +1,45 @@
|
||||
|
||||
{% extends "base.html" %}
|
||||
{% block left_pannel %}override{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%if not current_user.is_authenticated %}
|
||||
<button class="unselected" onclick="location.href = '/login';">login</button>
|
||||
{% else %}
|
||||
<script>data = JSON.parse('{{configs|tojson}}'); </script>
|
||||
|
||||
|
||||
<form method="post" action="/override/" height="90%">
|
||||
<select onchange="change_override(this.value, data)" name="config">
|
||||
<option id="-1" value="-1" selected>Select a config</option>
|
||||
{% for i in configs %}
|
||||
<option id="{{configs[i]['name']}}" value="{{i}}">{{configs[i]['name']}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<table height="90%" class="lines">
|
||||
<tr>
|
||||
<td width="30%">name</td>
|
||||
<td width="14%">Unban</td>
|
||||
<td width="14%">tout</td>
|
||||
<td width="14%">daily</td>
|
||||
<td width="14%">pc</td>
|
||||
<td width="14%">mobile</td>
|
||||
</tr>
|
||||
{% for i in range(0,5) %}
|
||||
<tr heigh="15%">
|
||||
<td id="compte_{{i+1}}"></td>
|
||||
<td id="{{i+1}}1" style="visibility: hidden;"><input type="checkbox" id="compte_{{i+1}}" value="{{i}}" name="unban"></td>
|
||||
<td id="{{i+1}}2" style="visibility: hidden;"><input type="checkbox" id="compte_{{i+1}}" value="{{i}}" name="tout"></td>
|
||||
<td id="{{i+1}}3" style="visibility: hidden;"><input type="checkbox" id="compte_{{i+1}}" value="{{i}}" name="daily"></td>
|
||||
<td id="{{i+1}}4" style="visibility: hidden;"><input type="checkbox" id="compte_{{i+1}}" value="{{i}}" name="pc"></td>
|
||||
<td id="{{i+1}}5" style="visibility: hidden;"><input type="checkbox" id="compte_{{i+1}}" value="{{i}}" name="mobile"></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
</table>
|
||||
|
||||
<input type="submit" name="VNC" id="submit" value="Start" class="confirm" style="width:60%;"/>
|
||||
</form>
|
||||
{% endif %}
|
||||
{%endblock %}
|
35
Flask/templates/vnc_post.html
Normal file
35
Flask/templates/vnc_post.html
Normal file
@ -0,0 +1,35 @@
|
||||
|
||||
{% extends "base.html" %}
|
||||
{% block left_pannel %}override{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%if not current_user.is_authenticated %}
|
||||
<button class="unselected" onclick="location.href = '/login';">login</button>
|
||||
{% else %}
|
||||
<table>
|
||||
<tr>
|
||||
<td width="20%" height="90%">
|
||||
<div id="console"></div>
|
||||
</td>
|
||||
<td width="80%">
|
||||
<iframe src="/novnc/vnc.html?resize=scale&path=novnc/websockify&autoconnect=true&view_only" width="100%" height="100%" frameborder="0"></iframe>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
const consoleElement = document.getElementById('console');
|
||||
const eventSource = new EventSource('/stream');
|
||||
|
||||
eventSource.onmessage = (event) => {
|
||||
document.getElementById("console").innerHTML = event.data + document.getElementById("console").innerHTML
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{%endblock %}
|
Reference in New Issue
Block a user