diff options
| -rw-r--r-- | webAO/client.js | 13 | ||||
| -rw-r--r-- | webAO/master.js | 41 |
2 files changed, 50 insertions, 4 deletions
diff --git a/webAO/client.js b/webAO/client.js index 59cdf1d..5c211c3 100644 --- a/webAO/client.js +++ b/webAO/client.js @@ -51,9 +51,16 @@ const fp = new Fingerprint({ screen_resolution: true }); -// An emulated, semi-unique HDID that is generally safe for HDID bans. -const hdid = fp.get(); -console.info(`Your emulated HDID is ${hdid}`); +/** An emulated, semi-unique HDID that is generally safe for HDID bans. */ +const cookieid = getCookie("fingerprint"); +let hdid; +if (cookieid) { + hdid = cookieid; +} else { + hdid = fp.get(); + setCookie("fingerprint",hdid); +} +console.log(`Your emulated HDID is ${hdid}`); let lastICMessageTime = new Date(0); diff --git a/webAO/master.js b/webAO/master.js index d12a7ec..863c311 100644 --- a/webAO/master.js +++ b/webAO/master.js @@ -9,7 +9,14 @@ const fp = new Fingerprint({ }); /** An emulated, semi-unique HDID that is generally safe for HDID bans. */ -const hdid = fp.get(); +const cookieid = getCookie("fingerprint"); +let hdid; +if (cookieid) { + hdid = cookieid; +} else { + hdid = fp.get(); + setCookie("fingerprint",hdid); +} console.log(`Your emulated HDID is ${hdid}`); let oldLoading = false; @@ -28,6 +35,38 @@ const server_description = []; server_description[-1] = "This is your computer on port 50001"; const online_counter = []; +/** + * read a cookie from storage + * got this from w3schools + * https://www.w3schools.com/js/js_cookies.asp + * @param {String} cname The name of the cookie to return + */ +function getCookie(cname) { + var name = cname + "="; + var decodedCookie = decodeURIComponent(document.cookie); + var ca = decodedCookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) === ' ') { + c = c.substring(1); + } + if (c.indexOf(name) === 0) { + return c.substring(name.length, c.length); + } + } + return ""; +} + +/** + * set a cookie + * the version from w3schools expects these to expire + * @param {String} cname The name of the cookie to return + * @param {String} value The value of that cookie option + */ +function setCookie(cname,value) { + document.cookie = cname + "=" + value; +} + export function setServ(ID) { console.log(server_description[ID]); if (server_description[ID] !== undefined) { |
