WLED/wled00/data/settings_sec.htm

95 lines
4.5 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=500">
2021-12-08 14:38:21 +01:00
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/>
2020-05-17 21:39:57 +02:00
<meta charset="utf-8">
<title>Misc Settings</title>
<script>
var d = document;
function H() { window.open("https://kno.wled.ge/features/settings/#security-settings"); }
function B() { window.open("/settings","_self"); }
function U() { window.open("/update","_self"); }
function gId(s) { return d.getElementById(s); }
function isObj(o) { return (o && typeof o === 'object' && !Array.isArray(o)); }
var timeout;
function showToast(text, error = false)
{
var x = gId("toast");
x.innerHTML = text;
x.classList.add(error ? "error":"show");
clearTimeout(timeout);
x.style.animation = 'none';
timeout = setTimeout(function(){ x.classList.remove("show"); }, 2900);
}
function uploadFile(fO,name) {
var req = new XMLHttpRequest();
2021-09-21 23:37:35 +02:00
req.addEventListener('load', function(){showToast(this.responseText,this.status >= 400)});
req.addEventListener('error', function(e){showToast(e.stack,true);});
req.open("POST", "/upload");
var formData = new FormData();
formData.append("data", fO.files[0], name);
req.send(formData);
fO.value = '';
return false;
}
function checkNum(o) {
// numeric keys only
if ([8,9,13,37,39,46,48,49,50,51,52,53,54,55,56,57,127].includes(event.keyCode)) return true;
event.preventDefault();
return false;
}
function GetV()
{
//values injected by server while sending HTML
}
</script>
<style>
@import url("style.css");
</style>
</head>
<body onload="GetV()">
<form id="form_s" name="Sf" method="post">
2021-03-05 09:50:59 +01:00
<div class="toprow">
<div class="helpB"><button type="button" onclick="H()">?</button></div>
2022-03-01 23:37:28 +01:00
<button type="button" onclick="B()">Back</button><button type="submit">Save</button><hr>
2021-03-05 09:50:59 +01:00
</div>
<h2>Security & Update setup</h2>
Settings PIN: <input type="password" name="PIN" size="4" maxlength="4" minlength="4" onkeydown="checkNum(this)"><br>
Lock wireless (OTA) software update: <input type="checkbox" name="NO"><br>
Passphrase: <input type="password" name="OP" maxlength="32"><br>
To enable OTA, for security reasons you need to also enter the correct password!<br>
The password should be changed when OTA is enabled.<br>
<b>Disable OTA when not in use, otherwise an attacker can reflash device software!</b><br>
<i>Settings on this page are only changable if OTA lock is disabled!</i><br>
Deny access to WiFi settings if locked: <input type="checkbox" name="OW"><br><br>
Factory reset: <input type="checkbox" name="RS"><br>
All settings and presets will be erased.<br><br>
HTTP traffic is unencrypted. An attacker in the same network can intercept form data!
2021-08-19 21:57:04 +02:00
<hr>
<h3>Software Update</h3>
<button type="button" onclick="U()">Manual OTA Update</button><br>
2022-03-01 23:37:28 +01:00
Enable ArduinoOTA: <input type="checkbox" name="AO">
<hr>
<h3>Backup & Restore</h3>
<a class="btn lnk" href="/presets.json?download" target="download-frame">Backup presets</a><br>
<div>Restore presets<br><input type="file" name="data" accept=".json"> <input type="button" value="Upload" onclick="uploadFile(d.Sf.data,'/presets.json');"><br></div><br>
<a class="btn lnk" href="/cfg.json?download" target="download-frame">Backup configuration</a><br>
<div>Restore configuration<br><input type="file" name="data2" accept=".json"> <input type="button" value="Upload" onclick="uploadFile(d.Sf.data2,'/cfg.json');"><br></div>
<div style="color: #fa0;">&#9888; Restoring presets/configuration will OVERWRITE your current presets/configuration.<br>
Incorrect configuration may require a factory reset or re-flashing of your ESP.</div>
For security reasons, passwords are not backed up.
2022-03-01 23:37:28 +01:00
<hr>
<h3>About</h3>
<a href="https://github.com/Aircoookie/WLED/" target="_blank">WLED</a> version ##VERSION##<!-- Autoreplaced from package.json --><br><br>
<a href="https://github.com/Aircoookie/WLED/wiki/Contributors-and-credits" target="_blank">Contributors, dependencies and special thanks</a><br>
A huge thank you to everyone who helped me create WLED!<br><br>
2022-01-21 01:48:50 +01:00
(c) 2016-2022 Christian Schwinne <br>
2020-11-10 13:30:42 +01:00
<i>Licensed under the <a href="https://github.com/Aircoookie/WLED/blob/master/LICENSE" target="_blank">MIT license</a></i><br><br>
2020-05-02 01:59:41 +02:00
Server message: <span class="sip"> Response error! </span><hr>
<div id="toast"></div>
2022-03-01 23:37:28 +01:00
<button type="button" onclick="B()">Back</button><button type="submit">Save</button>
</form>
<iframe name=download-frame style='display:none;'></iframe>
</body>
</html>