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
web-net-class.inc
00001 "//Net class\n" 00002 "'use strict';\n" 00003 "\n" 00004 "//Private variables\n" 00005 "let netMacXhr_ = null;\n" 00006 "let netMacToFetch_ = '';\n" 00007 "\n" 00008 "class Net\n" 00009 "{\n" 00010 " //Public functions\n" 00011 " static addVendorToLocalStorage(mac)\n" 00012 " {\n" 00013 " if (netMacXhr_ && netMacXhr_.readyState != 4) return; //Do nothing if there is an ongoing request\n" 00014 " netMacToFetch_ = mac;\n" 00015 " netMacXhr_ = new XMLHttpRequest();\n" 00016 " netMacXhr_.onreadystatechange = function()\n" 00017 " {\n" 00018 " if (netMacXhr_.readyState == 4)\n" 00019 " {\n" 00020 " if (netMacXhr_.status == 200)\n" 00021 " {\n" 00022 " if (netMacXhr_.responseText == '')\n" 00023 " {\n" 00024 " localStorage.setItem(netMacToFetch_, 'Empty vendor');\n" 00025 " }\n" 00026 " else\n" 00027 " {\n" 00028 " localStorage.setItem(netMacToFetch_, netMacXhr_.responseText);\n" 00029 " }\n" 00030 " }\n" 00031 " else\n" 00032 " {\n" 00033 " localStorage.setItem(netMacToFetch_, netMacXhr_.status);\n" 00034 " }\n" 00035 " }\n" 00036 " };\n" 00037 " netMacXhr_.open('GET', 'https://api.macaddress.io/v1?apiKey=at_dzgreB2SuPBDdy5mwTvivH3R3cvkH&search=' + netMacToFetch_, true);\n" 00038 " netMacXhr_.send();\n" 00039 " }\n" 00040 " static getVendorFromLocalStorage(mac)\n" 00041 " {\n" 00042 " if (mac[1] === '2' ||\n" 00043 " mac[1] === '6' ||\n" 00044 " mac[1] === 'a' ||\n" 00045 " mac[1] === 'A' ||\n" 00046 " mac[1] === 'e' ||\n" 00047 " mac[1] === 'E' ) return '(Locally administered)';\n" 00048 " \n" 00049 " return localStorage.getItem(mac);\n" 00050 " }\n" 00051 " static clearVendorsFromLocalStorage()\n" 00052 " {\n" 00053 " localStorage.clear();\n" 00054 " }\n" 00055 " static makeIp4(text)\n" 00056 " {\n" 00057 " let result = '';\n" 00058 " result += parseInt(text.substr(6, 2), 16).toString();\n" 00059 " result += '.';\n" 00060 " result += parseInt(text.substr(4, 2), 16).toString();\n" 00061 " result += '.';\n" 00062 " result += parseInt(text.substr(2, 2), 16).toString();\n" 00063 " result += '.';\n" 00064 " result += parseInt(text.substr(0, 2), 16).toString();\n" 00065 " return result;\n" 00066 " }\n" 00067 " static makeIp4Rev(text)\n" 00068 " {\n" 00069 " let result = '';\n" 00070 " result += parseInt(text.substr(0, 2), 16).toString();\n" 00071 " result += '.';\n" 00072 " result += parseInt(text.substr(2, 2), 16).toString();\n" 00073 " result += '.';\n" 00074 " result += parseInt(text.substr(4, 2), 16).toString();\n" 00075 " result += '.';\n" 00076 " result += parseInt(text.substr(6, 2), 16).toString();\n" 00077 " return result;\n" 00078 " }\n" 00079 " static makeMac(text)\n" 00080 " {\n" 00081 " text = text.toLowerCase();\n" 00082 " let result = '';\n" 00083 " result += text.substr( 0, 2);\n" 00084 " result += ':';\n" 00085 " result += text.substr( 2, 2);\n" 00086 " result += ':';\n" 00087 " result += text.substr( 4, 2);\n" 00088 " result += ':';\n" 00089 " result += text.substr( 6, 2);\n" 00090 " result += ':';\n" 00091 " result += text.substr( 8, 2);\n" 00092 " result += ':';\n" 00093 " result += text.substr(10, 2);\n" 00094 " return result;\n" 00095 " }\n" 00096 "\n" 00097 " static hexToBit(text, iBit)\n" 00098 " {\n" 00099 " let value = parseInt(text, 16);\n" 00100 " value >>= iBit;\n" 00101 " return value & 1;\n" 00102 " }\n" 00103 " static makeIp6(text)\n" 00104 " {\n" 00105 " function makeWord(text)\n" 00106 " {\n" 00107 " let word = parseInt(text, 16);\n" 00108 " if (word === 0) return '';\n" 00109 " return word.toString(16);\n" 00110 " }\n" 00111 " text = text.toLowerCase();\n" 00112 " let result = '';\n" 00113 " result += makeWord(text.substr( 0, 4));\n" 00114 " result += ':';\n" 00115 " result += makeWord(text.substr( 4, 4));\n" 00116 " result += ':';\n" 00117 " result += makeWord(text.substr( 8, 4));\n" 00118 " result += ':';\n" 00119 " result += makeWord(text.substr(12, 4));\n" 00120 " result += ':';\n" 00121 " result += makeWord(text.substr(16, 4));\n" 00122 " result += ':';\n" 00123 " result += makeWord(text.substr(20, 4));\n" 00124 " result += ':';\n" 00125 " result += makeWord(text.substr(24, 4));\n" 00126 " result += ':';\n" 00127 " result += makeWord(text.substr(28, 4));\n" 00128 " return result;\n" 00129 " }\n" 00130 "}"
Generated on Wed Jul 13 2022 14:19:59 by 1.7.2