kopia lustrzana https://github.com/Aircoookie/WLED
				
				
				
			
		
			
				
	
	
		
			106 wiersze
		
	
	
		
			4.3 KiB
		
	
	
	
		
			HTML
		
	
	
			
		
		
	
	
			106 wiersze
		
	
	
		
			4.3 KiB
		
	
	
	
		
			HTML
		
	
	
<!DOCTYPE html>
 | 
						|
<html lang="en">
 | 
						|
<head>
 | 
						|
	<meta name="viewport" content="width=500">
 | 
						|
	<meta charset="utf-8">
 | 
						|
	<title>Misc Settings</title>
 | 
						|
	<script>
 | 
						|
		var d = document;
 | 
						|
		function H()
 | 
						|
		{
 | 
						|
			window.open("https://github.com/Aircoookie/WLED/wiki/Settings#security-settings");
 | 
						|
		}
 | 
						|
		function B()
 | 
						|
		{
 | 
						|
			window.open("/settings","_self");
 | 
						|
		}
 | 
						|
		function U()
 | 
						|
		{
 | 
						|
			window.open("/update","_self");
 | 
						|
		}
 | 
						|
		function gId(s)
 | 
						|
		{
 | 
						|
			return d.getElementById(s);
 | 
						|
		}
 | 
						|
		function isObject(item) {
 | 
						|
			return (item && typeof item === 'object' && !Array.isArray(item));
 | 
						|
		}
 | 
						|
		var timeout;
 | 
						|
		function showToast(text, error = false)
 | 
						|
		{
 | 
						|
			var x = gId("toast");
 | 
						|
			x.innerHTML = text;
 | 
						|
			x.className = error ? "error":"show";
 | 
						|
			clearTimeout(timeout);
 | 
						|
			x.style.animation = 'none';
 | 
						|
			timeout = setTimeout(function(){ x.className = x.className.replace("show", ""); }, 2900);
 | 
						|
		}
 | 
						|
		function uploadFile(fO,name) {
 | 
						|
			var req = new XMLHttpRequest();
 | 
						|
			req.addEventListener('load', function(){showToast(this.responseText)});
 | 
						|
			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 clearLS()
 | 
						|
		{
 | 
						|
			localStorage.removeItem('wledP');
 | 
						|
			localStorage.removeItem('wledPmt');
 | 
						|
		}
 | 
						|
		function GetV()
 | 
						|
		{
 | 
						|
			//values injected by server while sending HTML
 | 
						|
		}
 | 
						|
	</script>
 | 
						|
	<style>
 | 
						|
		@import url("style.css");
 | 
						|
	</style>
 | 
						|
	<link href="/skin.css" rel="stylesheet">
 | 
						|
</head>
 | 
						|
<body onload="GetV()">
 | 
						|
	<form id="form_s" name="Sf" method="post">
 | 
						|
		<div class="toprow">
 | 
						|
		<div class="helpB"><button type="button" onclick="H()">?</button></div>
 | 
						|
		<button type="button" onclick="B()">Back</button><button type="submit">Save & Reboot</button><hr>
 | 
						|
		</div>
 | 
						|
		<h2>Security & Update setup</h2>
 | 
						|
		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!
 | 
						|
		<h3>Backup & Restore</h3>
 | 
						|
		<a class="btn lnk" href="/presets.json?download" target="download-frame">Backup presets</a><br>
 | 
						|
		<div id="presets">Restore presets:<input type="file" name="data" accept=".json"> <input type="button" value="Upload" onclick="uploadFile(d.Sf.data,'/presets.json');clearLS();"><br></div>
 | 
						|
		<a class="btn lnk" href="/cfg.json?download" target="download-frame">Backup configuration</a><br>
 | 
						|
		<div id="presets">Restore configuration:<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;">⚠ Restoring presets/configuration will OVERWRITE your current presets/configuration.<br>
 | 
						|
		Incorrect configuration may require factory reset or re-flashing of ESP.</div>
 | 
						|
		For security reasons, passwords are not backed up.
 | 
						|
		<hr>
 | 
						|
		<h3>Software Update</h3>
 | 
						|
		<button type="button" onclick="U()">Manual OTA Update</button><br>
 | 
						|
		Enable ArduinoOTA: <input type="checkbox" name="AO"><br>
 | 
						|
		<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>
 | 
						|
		(c) 2016-2021 Christian Schwinne <br>
 | 
						|
		<i>Licensed under the <a href="https://github.com/Aircoookie/WLED/blob/master/LICENSE" target="_blank">MIT license</a></i><br><br>
 | 
						|
		Server message: <span class="sip"> Response error! </span><hr>
 | 
						|
		<div id="toast"></div>
 | 
						|
		<button type="button" onclick="B()">Back</button><button type="submit">Save & Reboot</button>
 | 
						|
	</form>
 | 
						|
	<iframe name=download-frame style='display:none;'></iframe>
 | 
						|
</body>
 | 
						|
</html> |