Common stuff for all my devices' web server pages: css, login, log, ipv4, ipv6, firmware update, clock, reset info etc.

Dependents:   oldheating gps motorhome heating

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers web-net4-script.inc Source File

web-net4-script.inc

00001 "//Net4 script\n"
00002 "'use strict';\n"
00003 "\n"
00004 "let localIp     = '';\n"
00005 "let domainName  = '';\n"
00006 "let hostName    = '';\n"
00007 "let ntpIp       = '';\n"
00008 "let dnsIp       = '';\n"
00009 "let dhcpIp      = '';\n"
00010 "let routerIp    = '';\n"
00011 "let subnetMask  = '';\n"
00012 "let broadcastIp = '';\n"
00013 "let leaseTime   = '';\n"
00014 "let renewalT1   = '';\n"
00015 "let renewalt2   = '';\n"
00016 "let elapsed     = '';\n"
00017 "let arp         = '';\n"
00018 "\n"
00019 "function parseArpLine(line)\n"
00020 "{\n"
00021 "    if (line.length == 0) return;\n"
00022 "    let fields = line.split('\\t');\n"
00023 "    \n"
00024 "    arp += parseInt(fields[0], 16).toString().padStart(2, ' ');\n"
00025 "    \n"
00026 "    let minutes  = parseInt(fields[1], 16) / 1000 / 60;\n"
00027 "    arp += Math.floor(minutes).toString().padStart(4, ' ');\n"
00028 "    \n"
00029 "    arp += ' ';\n"
00030 "    arp += Net.makeIp4(fields[2]).padEnd(15, ' ');\n"
00031 "    \n"
00032 "    arp += ' ';\n"
00033 "    let mac = Net.makeMac(fields[3]);\n"
00034 "    arp += mac;\n"
00035 "    \n"
00036 "    let vendor = Net.getVendorFromLocalStorage(mac);\n"
00037 "    if (vendor)\n"
00038 "    {\n"
00039 "        arp += ' ';\n"
00040 "        arp += vendor;\n"
00041 "    }\n"
00042 "    else\n"
00043 "    {\n"
00044 "        Net.addVendorToLocalStorage(mac);\n"
00045 "    }\n"
00046 "    \n"
00047 "    arp += '\\r\\n';\n"
00048 "}\n"
00049 "function parseArpLines(text)\n"
00050 "{\n"
00051 "    arp = '';\n"
00052 "    text.split('\\n').forEach(parseArpLine);\n"
00053 "}\n"
00054 "function parseGenLines(text)\n"
00055 "{\n"
00056 "    let lines = text.split('\\n');\n"
00057 "    localIp     = Net.makeIp4(lines[ 0])    ;\n"
00058 "    domainName  =             lines[ 1]     ;\n"
00059 "    hostName    =             lines[ 2]     ;\n"
00060 "    ntpIp       = Net.makeIp4(lines[ 3])    ;\n"
00061 "    dnsIp       = Net.makeIp4(lines[ 4])    ;\n"
00062 "    dhcpIp      = Net.makeIp4(lines[ 5])    ;\n"
00063 "    routerIp    = Net.makeIp4(lines[ 6])    ;\n"
00064 "    subnetMask  = Net.makeIp4(lines[ 7])    ;\n"
00065 "    broadcastIp = Net.makeIp4(lines[ 8])    ;\n"
00066 "    leaseTime   =    parseInt(lines[ 9], 16);\n"
00067 "    renewalT1   =    parseInt(lines[10], 16);\n"
00068 "    renewalt2   =    parseInt(lines[11], 16);\n"
00069 "    elapsed     =    parseInt(lines[12], 16);\n"
00070 "}\n"
00071 "function parse()\n"
00072 "{\n"
00073 "    let topics = Ajax.response.split('\\f');\n"
00074 "    parseGenLines(topics[0]);\n"
00075 "    parseArpLines(topics[1]);\n"
00076 "}\n"
00077 "function display()\n"
00078 "{\n"
00079 "    let elem;\n"
00080 "\n"
00081 "    elem = Ajax.getElementOrNull('ajax-local-ip'    ); if (elem) elem.textContent = localIp;\n"
00082 "    elem = Ajax.getElementOrNull('ajax-domain-name' ); if (elem) elem.textContent = domainName;\n"
00083 "    elem = Ajax.getElementOrNull('ajax-host-name'   ); if (elem) elem.textContent = hostName;\n"
00084 "    elem = Ajax.getElementOrNull('ajax-ntp-ip'      ); if (elem) elem.textContent = ntpIp;\n"
00085 "    elem = Ajax.getElementOrNull('ajax-dns-ip'      ); if (elem) elem.textContent = dnsIp;\n"
00086 "    elem = Ajax.getElementOrNull('ajax-dhcp-ip'     ); if (elem) elem.textContent = dhcpIp;\n"
00087 "    elem = Ajax.getElementOrNull('ajax-router-ip'   ); if (elem) elem.textContent = routerIp;\n"
00088 "    elem = Ajax.getElementOrNull('ajax-subnet-mask' ); if (elem) elem.textContent = subnetMask;\n"
00089 "    elem = Ajax.getElementOrNull('ajax-broadcast-ip'); if (elem) elem.textContent = broadcastIp;\n"
00090 "    elem = Ajax.getElementOrNull('ajax-lease-time'  ); if (elem) elem.textContent = leaseTime;\n"
00091 "    elem = Ajax.getElementOrNull('ajax-renewal-t1'  ); if (elem) elem.textContent = renewalT1;\n"
00092 "    elem = Ajax.getElementOrNull('ajax-renewal-t2'  ); if (elem) elem.textContent = renewalt2;\n"
00093 "    elem = Ajax.getElementOrNull('ajax-elapsed'     ); if (elem) elem.textContent = elapsed;\n"
00094 "    elem = Ajax.getElementOrNull('ajax-arp'         ); if (elem) elem.textContent = arp;\n"
00095 "}\n"
00096 "\n"
00097 "Ajax.server     = '/net4-ajax';\n"
00098 "Ajax.onResponse = function() { parse(); display(); };\n"
00099 "Ajax.init();"