mirror of
				https://github.com/DigitalDevices/octonet.git
				synced 2023-10-10 11:36:52 +00:00 
			
		
		
		
	1. System.html Don't submit when nothing has changed. 2. sync the file system after writing system settings.
		
			
				
	
	
		
			434 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			434 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE HTML>
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 | 
						|
<title>OctopusNet</title>
 | 
						|
<link rel="stylesheet" type="text/css" href="/style.css">
 | 
						|
<script type="text/javascript" src="/menu.js"></script>
 | 
						|
<!--  Add included scripts here -->
 | 
						|
<!-- Add page scripts here -->
 | 
						|
<script type="text/javascript">
 | 
						|
 | 
						|
var NewSettings = null;
 | 
						|
var OldSettings = null;
 | 
						|
 | 
						|
var xmlhttp = new XMLHttpRequest();
 | 
						|
var url = "/systemsettings.lua";
 | 
						|
 | 
						|
xmlhttp.onreadystatechange=function()
 | 
						|
{
 | 
						|
    if (xmlhttp.readyState == 4 )
 | 
						|
    {
 | 
						|
      if( xmlhttp.status == 200 )
 | 
						|
         myFunction(xmlhttp.responseText);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
function myFunction(response)
 | 
						|
{
 | 
						|
  var settings = JSON.parse(response);
 | 
						|
 | 
						|
  if( settings.isMaxS8 )
 | 
						|
  {
 | 
						|
    document.getElementById("trMSMode").style.display = "table-row";
 | 
						|
    if( settings.MSMode == "none" )
 | 
						|
      document.getElementById("MSMode").selectedIndex = 0;
 | 
						|
    else if( settings.MSMode == "quattro" )
 | 
						|
      document.getElementById("MSMode").selectedIndex = 2;
 | 
						|
    else
 | 
						|
      document.getElementById("MSMode").selectedIndex = 1;
 | 
						|
  }
 | 
						|
 | 
						|
  document.getElementById("BoxName").value  = settings.BoxName;
 | 
						|
 | 
						|
  document.getElementById("QOSButton").checked  = settings.vlanEnabled;
 | 
						|
  document.getElementById("TelnetButton").checked  = settings.telnetEnabled;
 | 
						|
  document.getElementById("NODMSButton").checked  = settings.nodmsEnabled;
 | 
						|
  document.getElementById("NODVBTButton").checked  = settings.nodvbtEnabled;
 | 
						|
  document.getElementById("STRICTButton").checked  = settings.strictEnabled;
 | 
						|
 | 
						|
  document.getElementById("QOSButton").disabled      = false;
 | 
						|
  document.getElementById("TelnetButton").disabled   = false;
 | 
						|
  document.getElementById("NODMSButton").disabled    = false;
 | 
						|
  document.getElementById("NODVBTButton").disabled   = false;
 | 
						|
  document.getElementById("STRICTButton").disabled   = false;
 | 
						|
  document.getElementById("BoxName").disabled        = false;
 | 
						|
  document.getElementById("MSMode").disabled         = false;
 | 
						|
 | 
						|
  OldSettings = settings;
 | 
						|
  NewSettings = JSON.parse(response);
 | 
						|
}
 | 
						|
 | 
						|
function SaveSettings()
 | 
						|
{
 | 
						|
  if( NewSettings )
 | 
						|
  {
 | 
						|
    var param = "";
 | 
						|
    if( OldSettings.BoxName != NewSettings.BoxName )
 | 
						|
    {
 | 
						|
      if( param != "" ) param += "&";
 | 
						|
      param += "boxname=" + encodeURIComponent(NewSettings.BoxName);
 | 
						|
    }        
 | 
						|
    
 | 
						|
    if( OldSettings.telnetEnabled != NewSettings.telnetEnabled )
 | 
						|
    {
 | 
						|
      if( param != "" ) param += "&";
 | 
						|
      param += "telnet=" + (NewSettings.telnetEnabled?"1":"0");
 | 
						|
    }
 | 
						|
    
 | 
						|
    if( OldSettings.vlanEnabled != NewSettings.vlanEnabled )
 | 
						|
    {
 | 
						|
      if( param != "" ) param += "&";
 | 
						|
      param += "vlan=" + (NewSettings.vlanEnabled?"1":"0");
 | 
						|
    }
 | 
						|
    
 | 
						|
    if( OldSettings.nodmsEnabled != NewSettings.nodmsEnabled )
 | 
						|
    {
 | 
						|
      if( param != "" ) param += "&";
 | 
						|
      param += "nodms=" + (NewSettings.nodmsEnabled?"1":"0");
 | 
						|
    }
 | 
						|
    
 | 
						|
    if( OldSettings.nodvbtEnabled != NewSettings.nodvbtEnabled )
 | 
						|
    {
 | 
						|
      if( param != "" ) param += "&";
 | 
						|
      param += "nodvbt=" + (NewSettings.nodvbtEnabled?"1":"0");
 | 
						|
    }
 | 
						|
    
 | 
						|
    if( OldSettings.MSMode != NewSettings.MSMode )
 | 
						|
    {
 | 
						|
      if( param != "" ) param += "&";
 | 
						|
      param += "msmode=" + NewSettings.MSMode;
 | 
						|
    }
 | 
						|
    
 | 
						|
    if( OldSettings.strictEnabled != NewSettings.strictEnabled )
 | 
						|
    {
 | 
						|
      if( param != "" ) param += "&";
 | 
						|
      param += "strict=" + (NewSettings.strictEnabled?"1":"0");
 | 
						|
    }
 | 
						|
    
 | 
						|
    document.getElementById("SetButton").disabled = true;
 | 
						|
    if( param != "" )
 | 
						|
    {    
 | 
						|
      location.replace('/systemsettings.lua?'+param);
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
function ClearSettings()
 | 
						|
{
 | 
						|
  if( NewSettings )
 | 
						|
  {
 | 
						|
    NewSettings.boxname = "";
 | 
						|
    NewSettings.telnetEnabled = false;
 | 
						|
    NewSettings.vlanEnabled = false;
 | 
						|
    NewSettings.nodmsEnabled = false;
 | 
						|
    NewSettings.nodvbtEnabled = false;
 | 
						|
    NewSettings.strictEnabled = false;
 | 
						|
    NewSettings.MSMode = "quad";
 | 
						|
    SaveSettings();
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
function OnLoad()
 | 
						|
{
 | 
						|
   xmlhttp.open("GET", url, true);
 | 
						|
   xmlhttp.send();
 | 
						|
}
 | 
						|
 | 
						|
function ChangeBoxName()
 | 
						|
{
 | 
						|
  if( NewSettings )
 | 
						|
  {
 | 
						|
    var s = document.getElementById("BoxName").value;
 | 
						|
    s = s.replace(/[^a-zA-Z0-9@ ()-\/]/g,"");
 | 
						|
    document.getElementById("BoxName").value = s;
 | 
						|
    NewSettings.BoxName = document.getElementById("BoxName").value;
 | 
						|
    document.getElementById("SetButton").disabled = false;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
function Change()
 | 
						|
{
 | 
						|
  if( NewSettings )
 | 
						|
  {
 | 
						|
    NewSettings.MSMode = document.getElementById("MSMode").value;
 | 
						|
    NewSettings.vlanEnabled = document.getElementById("QOSButton").checked;
 | 
						|
    NewSettings.telnetEnabled = document.getElementById("TelnetButton").checked;
 | 
						|
    NewSettings.nodmsEnabled = document.getElementById("NODMSButton").checked;
 | 
						|
    NewSettings.nodvbtEnabled = document.getElementById("NODVBTButton").checked;
 | 
						|
    NewSettings.strictEnabled = document.getElementById("STRICTButton").checked;
 | 
						|
    document.getElementById("SetButton").disabled = false;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
function SetPassword()
 | 
						|
{
 | 
						|
  var pwd1 = document.getElementById("pwd1").value;
 | 
						|
  var pwd2 = document.getElementById("pwd2").value;
 | 
						|
  if( pwd1 != pwd2 )
 | 
						|
  {
 | 
						|
    document.getElementById("pwd1").value = "";
 | 
						|
    document.getElementById("pwd2").value = "";
 | 
						|
    document.getElementById("PwdError").style = "color:#F02000";
 | 
						|
    return 0;
 | 
						|
  }
 | 
						|
  document.getElementById("PwdError").style = "color:#FFFFFF";
 | 
						|
  location.replace('/setpasswd.lua?'+pwd1);  
 | 
						|
}
 | 
						|
 | 
						|
function ToggleHelp(id)
 | 
						|
{
 | 
						|
  var el = document.getElementById(id);
 | 
						|
  if( el.style.display == "none")
 | 
						|
    el.style.display = "block";
 | 
						|
  else
 | 
						|
    el.style.display = "none";    
 | 
						|
}
 | 
						|
 | 
						|
</script>
 | 
						|
 | 
						|
</head>
 | 
						|
<body onload="OnLoad()">
 | 
						|
<table class="maintable" align="center">
 | 
						|
  <colgroup>
 | 
						|
    <col width="182px"/>
 | 
						|
    <col width="728px"/>
 | 
						|
  </colgroup>
 | 
						|
  <tr><td class="maintd" colspan="2">
 | 
						|
    <a href="http://www.digitaldevices.de"><img src="/BannerDD.jpg" alt="DD" width="910" height="130" /></a>
 | 
						|
  </td></tr>
 | 
						|
  <tr><td class="maintd" colspan="2"> </td></tr>
 | 
						|
  <tr>
 | 
						|
    <td class="maintd"><script type="text/javascript">CreateMenu();</script></td>
 | 
						|
    <td class="content">
 | 
						|
      <div style="position: absolute; width:720px">
 | 
						|
        <!-- Begin Content -->
 | 
						|
        <div>
 | 
						|
          <table class="tableleft" align="center" cellspacing="2px">
 | 
						|
            <tr>
 | 
						|
              <td>Server name</td>
 | 
						|
              <td style="text-align:left" colspan="2">
 | 
						|
                <form action="">
 | 
						|
                   <input id="BoxName" type="text" value="" style="width: 300px" maxlength="20" 
 | 
						|
                          pattern="[a-zA-Z0-9@ ()-]" disabled="true" oninput="ChangeBoxName()" />
 | 
						|
                </form>
 | 
						|
              </td>
 | 
						|
            <tr>
 | 
						|
              <td>Layer 2 Quality of Service</td>
 | 
						|
              <td style="text-align:right">
 | 
						|
                <form action="">
 | 
						|
                   <input id="QOSButton" type="checkbox" value="Check" disabled="true" checked="false" onclick="Change()" />
 | 
						|
                </form>
 | 
						|
              </td>
 | 
						|
              <td>See note:
 | 
						|
                <a href="javascript:ToggleHelp('qos_hlpE')">English</a>
 | 
						|
                <a href="javascript:ToggleHelp('qos_hlpD')">Deutsch</a>
 | 
						|
              </td>
 | 
						|
            </tr>
 | 
						|
 | 
						|
            <tr>
 | 
						|
              <td>Telnet</td>
 | 
						|
              <td style="text-align:right">
 | 
						|
                <form action="">
 | 
						|
                   <input id="TelnetButton" type="checkbox" value="Check" disabled="true" checked="false" onclick="Change()" />
 | 
						|
                </form>
 | 
						|
              </td>
 | 
						|
              <td>Enable it at your own risk</td>
 | 
						|
            </tr>
 | 
						|
            
 | 
						|
            <tr>
 | 
						|
              <td>Disable DMS announcement</td>
 | 
						|
              <td style="text-align:right">
 | 
						|
                <form action="">
 | 
						|
                   <input id="NODMSButton" type="checkbox" value="Check" disabled="true" checked="false" onclick="Change()" />
 | 
						|
                </form>
 | 
						|
              </td>
 | 
						|
              <td></td>
 | 
						|
            </tr>
 | 
						|
 | 
						|
            <tr>
 | 
						|
              <td>Disable DVBT announcement</td>
 | 
						|
              <td style="text-align:right">
 | 
						|
                <form action="">
 | 
						|
                  <input id="NODVBTButton" type="checkbox" value="Check" disabled="true" checked="false" onclick="Change()" />
 | 
						|
                </form>
 | 
						|
              </td>
 | 
						|
              <td></td>
 | 
						|
            </tr>
 | 
						|
            
 | 
						|
            <tr>
 | 
						|
              <td>Enforce strict SAT>IP</td>
 | 
						|
              <td style="text-align:right">
 | 
						|
                <form action="">
 | 
						|
                  <input id="STRICTButton" type="checkbox" value="Check" disabled="true" checked="false" onclick="Change()" />
 | 
						|
                </form>
 | 
						|
              </td>
 | 
						|
              <td>See note:
 | 
						|
                <a href="javascript:ToggleHelp('strict_hlpE')">English</a>
 | 
						|
                <a href="javascript:ToggleHelp('strict_hlpD')">Deutsch</a>
 | 
						|
              </td>
 | 
						|
            </tr>
 | 
						|
 | 
						|
            <tr id="trMSMode" style="display:none">
 | 
						|
              <td>Multiswitch emulation</td>
 | 
						|
              <td style="text-align:right">
 | 
						|
                <form action="">
 | 
						|
                <select id="MSMode" style="width: 70px" onchange="Change()" >
 | 
						|
                  <option value="none">Off</option>
 | 
						|
                  <option value="quad">Quad</option>
 | 
						|
                  <option value="quattro">Quattro</option>
 | 
						|
                </select>
 | 
						|
                </form>
 | 
						|
              </td>
 | 
						|
              <td>See note:
 | 
						|
                <a href="javascript:ToggleHelp('nosw_hlpE')">English</a>
 | 
						|
                <a href="javascript:ToggleHelp('nosw_hlpD')">Deutsch</a>
 | 
						|
              </td>
 | 
						|
            </tr>
 | 
						|
            
 | 
						|
            <tr>
 | 
						|
              <td colspan="2" align="right">
 | 
						|
                <div style="width: 300px">
 | 
						|
                  <form action="">
 | 
						|
                    <input type="Button" value="Cancel" onclick="location.replace('index.html')" >
 | 
						|
                    <input type="Button" value="Reset" onclick="ClearSettings()" >
 | 
						|
                    <input id="SetButton" type="Button" disabled="true" value="Set" onclick="SaveSettings()" >
 | 
						|
                  </form>
 | 
						|
                </div>
 | 
						|
              </td>
 | 
						|
            </tr>
 | 
						|
          </table>
 | 
						|
        </div>
 | 
						|
        <br/>
 | 
						|
        <div id="passwd" style="display: none">
 | 
						|
         <form action="">
 | 
						|
          <table class="tableleft" align="center" cellspacing="2px">
 | 
						|
            <tr>
 | 
						|
              <td align="right">
 | 
						|
                New password
 | 
						|
              </td>
 | 
						|
              <td>
 | 
						|
                <input id="pwd1" type="Password" value="" size="30">
 | 
						|
              </td>
 | 
						|
            </tr>
 | 
						|
            <tr>
 | 
						|
              <td align="right">
 | 
						|
                Repeat new password
 | 
						|
              </td>
 | 
						|
              <td>
 | 
						|
                <input id="pwd2" type="Password" value="" size="30">
 | 
						|
              </td>
 | 
						|
            </tr>
 | 
						|
            <tr>
 | 
						|
              <td>
 | 
						|
                <div Id="PwdError" Style="color:#FFFFFF">
 | 
						|
                  Repeated password doesn't match
 | 
						|
                </div>
 | 
						|
              </td>
 | 
						|
              <td align="right">
 | 
						|
                <input id="SetButton" type="Button" value="Set Password" onclick="SetPassword()" >
 | 
						|
              </td>
 | 
						|
            </tr>
 | 
						|
          </table>
 | 
						|
         </form>
 | 
						|
        </div>
 | 
						|
        <div id="qos_hlpE"  onclick="ToggleHelp('qos_hlpE')"
 | 
						|
             style="display: none; position: absolute; width: 660px; left: 30px; top:30px; z-index: 2; border: 1px solid #000000; background: #FFFFE0;"> 
 | 
						|
          <div style="position: relative; margin:20px; clear:both">
 | 
						|
            <h3>Layer 2 Quality of Service</h3>
 | 
						|
            This is defined in the <b>IEEE 802.1Q</b> VLAN standard, and provides QoS in a local network.<br/>
 | 
						|
            For it to work all components in the LAN must either be transparent to it or need to support it.
 | 
						|
            <ul>
 | 
						|
             <li><b>hubs:</b> always transparent.</li>
 | 
						|
             <li><b>dumb switches:</b> usually transparent, better ones use it to prioritise the traffic.</li>
 | 
						|
             <li><b>smart switches:</b> depends on setting.</li>
 | 
						|
             <li><b>PCs and the like:</b> newer systems support it by default, for older systems check the LAN adapter settings.</li>
 | 
						|
             <li><b>WLAN access points:</b> depends on firmware and model. OpenWRT based devices usually work.</li>
 | 
						|
            </ul>
 | 
						|
          </div>
 | 
						|
        </div>
 | 
						|
        <div id="qos_hlpD" onclick="ToggleHelp('qos_hlpD')" 
 | 
						|
             style="display: none; position: absolute; width: 660px; left: 30px; top:30px; z-index: 2; border: 1px solid #000000; background: #FFFFE0;"> 
 | 
						|
          <div style="position: relative; margin:20px; clear:both">
 | 
						|
            <h3>Layer 2 Quality of Service</h3>
 | 
						|
            Dies ist im <b>IEEE 802.1Q</b> VLAN Standard definiert und erlaubt QoS im lokalem Netz.<br/>
 | 
						|
            Damit es funktioniert müssen alle Netzwerkkompenenten im LAN entweder transparent sein oder es unterstützen.
 | 
						|
            <ul>
 | 
						|
             <li><b>Hubs:</b> sind immer transparent</li>
 | 
						|
             <li><b>Dumb Switches:</b> normalerweise transparent, bessere priorisieren damit den Datenverkehr</li>
 | 
						|
             <li><b>Smart Switches:</b> hängt von den Einstellungen ab</li>
 | 
						|
             <li><b>PCs und dergleichen:</b> neue Systeme unterstützten es defaultmässig, für ältere in den Einstellungen der Netzwerkarte nachschauen</li>
 | 
						|
             <li><b>WLAN Accesspoints:</b> hängt von Modell und deren Firmware ab. OpenWRT basierte Geräte unterstützen es normalerweise</li>
 | 
						|
            </ul>
 | 
						|
          </div>
 | 
						|
        </div>
 | 
						|
        <div id="nosw_hlpE"  onclick="ToggleHelp('nosw_hlpE')"
 | 
						|
             style="display: none; position: absolute; width: 660px; left: 30px; top:30px; z-index: 2; border: 1px solid #000000; background: #FFFFE0;"> 
 | 
						|
          <div style="position: relative; margin:20px; clear:both">
 | 
						|
            <h3>Multiswitch emulation on OctopusNet S8</h3>
 | 
						|
            Multiswitch emulation allows to connect directly a Quad/Quattro LNB to the 4 inputs on the S8.
 | 
						|
            <p>
 | 
						|
            <ul>
 | 
						|
             <li>Disabling configures the S8 as a standard 4 tuner system.</li>
 | 
						|
             <li>Use quad setting for connection to a quad LNB or to 4 outputs from a multiswitch.</li>
 | 
						|
             <li>Use quattro setting for connection to a quattro LNB or to the trunk outputs from a multiswitch. Ensure to connect the VL/VH/HL/HH cables correctly.</li>
 | 
						|
            </ul>
 | 
						|
            <p/>
 | 
						|
            With the quad/quattro settings only the reception of a single satellite is supported. For full flexibility an EN50607 LNB or switch is recommended.
 | 
						|
          </div>
 | 
						|
        </div>
 | 
						|
        <div id="nosw_hlpD"  onclick="ToggleHelp('nosw_hlpD')"
 | 
						|
             style="display: none; position: absolute; width: 660px; left: 30px; top:30px; z-index: 2; border: 1px solid #000000; background: #FFFFE0;"> 
 | 
						|
          <div style="position: relative; margin:20px; clear:both">
 | 
						|
            <h3>Multischalter-Emulation OctopusNet S8</h3>
 | 
						|
            Multischalter-Emulation erlaubt den direkten Anschluß eines Quad/Quattro LNB an die S8
 | 
						|
            <p>
 | 
						|
            <ul>
 | 
						|
             <li>Abschalten konfiguriert die S8 als ein Standardsystem mit 4 Tunern.</li>
 | 
						|
             <li>Für einen Quad LNB oder für 4 Ausgänge von einem Multiswitch Quad Einstellung auswählen.</li>
 | 
						|
             <li>Für einen Quattro LNB oder für den Stammausgang eines Multiswitches Quattro Einstellung auswählen.</li>
 | 
						|
            </ul>
 | 
						|
            <p/>
 | 
						|
            In der Quad oder Quattro Einstellung wird nur der Empfang eines Satelliten unterstützt. Für volle Flexibilität wird der Einsatz eines EN50607 LNB bzw Switch empfohlen. 
 | 
						|
          </div>
 | 
						|
        </div>
 | 
						|
        <div id="strict_hlpE"  onclick="ToggleHelp('strict_hlpE')"
 | 
						|
             style="display: none; position: absolute; width: 660px; left: 30px; top:30px; z-index: 2; border: 1px solid #000000; background: #FFFFE0;"> 
 | 
						|
          <div style="position: relative; margin:20px; clear:both">
 | 
						|
            <h3>Enforce strict SAT>IP</h3>
 | 
						|
            <p/>
 | 
						|
            The SAT>IP specification allows a second client to receive a stream created by another client.
 | 
						|
            The OctopusNet allows to modify some parameters (like PIDs) on this second stream. The original stream is not affected by this.
 | 
						|
            <p/>
 | 
						|
            Enforce strict SAT>IP disables this enhancment.
 | 
						|
            <br/>
 | 
						|
            Do this for testing clients to ensure they are compatible with other SAT>IP servers
 | 
						|
          </div>
 | 
						|
        </div>
 | 
						|
        <div id="strict_hlpD"  onclick="ToggleHelp('strict_hlpD')"
 | 
						|
             style="display: none; position: absolute; width: 660px; left: 30px; top:30px; z-index: 2; border: 1px solid #000000; background: #FFFFE0;"> 
 | 
						|
          <div style="position: relative; margin:20px; clear:both">
 | 
						|
            <h3>Erzwinge striktes SAT>IP</h3>
 | 
						|
            <p/>
 | 
						|
            Die SAT>IP Spezifikation erlaubt einem zweiten Client das Empfangen eines von einem anderen Client angelegten Stream. Die OctopusNet erlaubt 
 | 
						|
            die Änderung einiger Parameter (z.B. PIDs) für diesen Stream. Der orginale Stream wird dadurch nicht beeinflusst.
 | 
						|
            <p/>
 | 
						|
            Das Erzwingen von strikten SAT>IP schaltet diese Erweiterung ab.
 | 
						|
            <br/>
 | 
						|
            Beim Testen von Clients ist es sinnvoll diesen Parameter zu setzen um die Kompatibilität mit anderen SAT>IP Servern sicherzustellen.
 | 
						|
          </div>
 | 
						|
        </div>
 | 
						|
        <!-- End Content -->
 | 
						|
      </div>
 | 
						|
    </td>
 | 
						|
  </tr>
 | 
						|
  <tr><td colspan="2"> </td></tr>
 | 
						|
</table>
 | 
						|
 | 
						|
</body>
 | 
						|
</html>
 | 
						|
 | 
						|
</html>
 |