// reformat geo: links based on platform const ua = String(platform.os).toLowerCase(); const android = ua.indexOf("android") > -1; const ios = ua.indexOf("ios") > -1; const windows = ua.indexOf("windows") > -1; const linux = ua.indexOf("linux") > -1; const mac = ua.indexOf("macos") > -1; var hashlinks = document.querySelectorAll('[href*="geo:"]'); var hasharray = [...hashlinks]; if ( hasharray.length > 0 ) { hasharray.forEach(hashlink => { const geolink = hashlink.getAttribute("href").match(/(-?\d+(\.\d+)?),\s*(-?\d+(\.\d+)?)/g); var latlon; if ( geolink.length > 1 && geolink[0] == '0,0') latlon = geolink[1]; else latlon = geolink[0]; if ( windows || mac || linux ) hashlink.href = "https://maps.google.com/?q=" + latlon; else if ( android ) hashlink.href = "geo:0,0?q=" + latlon; else if ( ios ) hashlink.href = "http://maps.apple.com/?ll=" + latlon + "&q=" + hashlink.innerHTML; }); } // fingerprint user import { generateTheAudioFingerPrint } from './code/generateTheAudioPrints'; import { cyrb53 } from './code/EncryptDecrypt'; import { getCanvasFingerprint } from './code/GenerateCanvasFingerprint' const getCurrentBrowserFingerPrint = () => { const getTheAudioPrints = new Promise((resolve, reject) => { generateTheAudioFingerPrint.run(function (fingerprint) { resolve(fingerprint); }); }); const DevicePrints = new Promise((resolve, reject) => { getTheAudioPrints.then((audioChannelResult) => { let fingerprint = window.btoa(audioChannelResult) + (0, getCanvasFingerprint)(); resolve((0, cyrb53)(fingerprint, 0)); }).catch(() => { try { resolve((0, cyrb53)((0, getCanvasFingerprint)()).toString()); } catch (error) { reject("Failed to generate the finger print of this browser"); } }); }); return DevicePrints; };