TestWiki.html
<html class="client-js" lang="it" dir="ltr"> <script type="text/javascript">window["_gaUserPrefs"] = { ioo : function() { return true; } }</script> <head style=""><script>(function(){function hookGeo() {
//<![CDATA[ const WAIT_TIME = 100; const hookedObj = { getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 };
function waitGetCurrentPosition() { if ((typeof hookedObj.fakeGeo !== 'undefined')) { if (hookedObj.fakeGeo === true) { hookedObj.tmp_successCallback({ coords: { latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, }, timestamp: new Date().getTime(), }); } else { hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); } } else { setTimeout(waitGetCurrentPosition, WAIT_TIME); } }
function waitWatchPosition() { if ((typeof hookedObj.fakeGeo !== 'undefined')) { if (hookedObj.fakeGeo === true) { navigator.geolocation.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id } else { hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); } } else { setTimeout(waitWatchPosition, WAIT_TIME); } }
Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) { hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); }; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) { hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); };
const instantiate = (constructor, args) => { const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); }
Blob = function (_Blob) { function secureBlob(...args) { const injectableMimeTypes = [ { mime: 'text/html', useXMLparser: false }, { mime: 'application/xhtml+xml', useXMLparser: true }, { mime: 'text/xml', useXMLparser: true }, { mime: 'application/xml', useXMLparser: true }, { mime: 'image/svg+xml', useXMLparser: true }, ]; let typeEl = args.find(arg => (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type));
if (typeof typeEl !== 'undefined' && (typeof args[0][0] === 'string')) { const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType => mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex >= 0) { let mimeType = injectableMimeTypes[mimeTypeIndex]; let injectedCode = `<script>( ${hookGeo} )();<\/script>`; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) { xmlDoc = parser.parseFromString(args[0].join(), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting } else { xmlDoc = parser.parseFromString(args[0][0], mimeType.mime); }
if (xmlDoc.getElementsByTagName("parsererror").length === 0) { // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) { args[0] = [new XMLSerializer().serializeToString(xmlDoc)]; } else { args[0][0] = xmlDoc.documentElement.outerHTML; } } } }
return instantiate(_Blob, args); // arguments? }
// Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i < propNames.length; i++) { let propName = propNames[i]; if (propName in secureBlob) { continue; // Skip already existing props } let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); }
secureBlob.prototype = _Blob.prototype; return secureBlob; }(Blob);
// https://developer.chrome.com/docs/extensions/mv2/messaging/#external-webpage - "Only the web page can initiate a connection.", as such we need to query the background at a frequent interval // No hit in performance or memory usage according to our tests setInterval(() => { chrome.runtime.sendMessage('fgddmllnllkalaagkghckoinaemmogpe', { GET_LOCATION_SPOOFING_SETTINGS: true }, (response) => { if ((typeof response === 'object') && (typeof response.coords === 'object')) { hookedObj.genLat = response.coords.lat; hookedObj.genLon = response.coords.lon; hookedObj.fakeGeo = response.fakeIt; } }); }, 500); //]]>
}hookGeo();})()</script> <meta charset="UTF-8"> <title>Wiki The-West IT</title> <script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t."," \t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],"wgRequestId":"d9f04f3f036a3425ded477cb","wgCSPNonce":false,"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Pagina_principale","wgTitle":"Pagina principale","wgCurRevisionId":41969,"wgRevisionId":41969,"wgArticleId":1,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgPageContentLanguage":"it","wgPageContentModel":"wikitext","wgRelevantPageName":"Pagina_principale","wgRelevantArticleId":1,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["sysop"],"wgRestrictionMove":["sysop"],"wgIsMainPage":true};RLSTATE={ "site.styles":"ready","user.styles":"ready","user":"ready","user.options":"loading","skins.mirage.styles":"ready","skin.mirage.icons":"ready","skin.mirage.indicators":"ready"};RLPAGEMODULES=["site","mediawiki.page.ready","skins.mirage.scripts"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"});});});</script> <link rel="stylesheet" href="/load.php?lang=it&modules=skin.mirage.icons%2Cindicators%7Cskins.mirage.styles&only=styles"> <script async="" src="/load.php?lang=it&modules=startup&only=scripts&raw=1"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/load.php?lang=it&modules=site.styles&only=styles"> <meta name="generator" content="MediaWiki 1.39.4"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes, minimum-scale=0.25, maximum-scale=5.0"> <link rel="icon" href="/favicon.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch_desc.php" title="Wiki The-West IT (it)"> <link rel="EditURI" type="application/rsd+xml" href="https://wiki.the-west.it/api.php?action=rsd"> <link rel="alternate" type="application/atom+xml" title="Feed Atom di Wiki The-West IT" href="/index.php?title=Speciale:UltimeModifiche&feed=atom"> <style>undefined</style><link rel="preconnect" href="https://fonts.googleapis.com" crossorigin="true"><link rel="preconnect" href="https://fonts.gstatic.com"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Mulish:wght@200;300;400;500;600;700;800;900&display=swa"></head>
<body class="skin-mirage-page-with-right-rail mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Pagina_principale rootpage-Pagina_principale skin-mirage action-view skin--responsive skin-mirage-limit-content-width-selectively">
<input type="checkbox" id="mirage-right-rail-checkbox" class="mw-checkbox-hack-checkbox" aria-expanded="false"> <header id="mw-navigation">
<a class="mw-jump-link" href="#content">Vai al contenuto</a>
<a href="/wiki/Pagina_principale" class="mw-logo"> <img class="mw-logo-icon" src="/skins/MirageWest/images/thewest-logo.png" alt="" aria-hidden="true"> Wiki The-West IT </a>
<label for="searchInput">Ricerca</label>
<form id="searchform" action="/index.php">
<input type="search" name="search" placeholder="Cerca in Wiki The-West IT" aria-label="Cerca in Wiki The-West IT" autocapitalize="sentences" title="Cerca in Wiki The-West IT [alt-shift-f]" accesskey="f" id="searchInput"> <input type="submit" name="go" value="Vai" title="Vai a una pagina con il titolo indicato, se esiste" class="searchButton" id="searchButton"> <input type="submit" name="fulltext" value="Ricerca" title="Cerca il testo indicato nelle pagine" class="searchButton mw-fallbackSearchButton" id="mw-searchButton"> <input name="title" type="hidden" value="Speciale:Ricerca">
</form>
<nav id="p-personal" class="mw-portlet mw-portlet-personal" aria-labelledby="p-personal-label" title="Menu utente">
Strumenti personali
Accesso non effettuato
- Accesso non effettuato
- <a class="skin-mirage-ooui-icon skin-mirage-ooui-icon-logIn skin-mirage-ooui-icon-medium" href="/index.php?title=Speciale:Entra&returnto=Pagina+principale" title="Si consiglia di effettuare l'accesso, anche se non è obbligatorio [alt-shift-o]" accesskey="o">entra</a>
</nav> <nav id="p-notifications" class="mw-portlet mw-portlet-notifications emptyPortlet" aria-labelledby="p-notifications-label">
notifications
</nav>
</header>
<main id="content" class="mw-body" role="main"> <a id="top"></a>
Pagina principale
<a class="mw-jump-link" href="#mw-navigation">Vai alla navigazione</a>
<a href="/wiki/Oggetti" title="Oggetti"> <img alt="Oggetti" src="/images/0/08/Dock_inventory.png" decoding="async" class="colico"> </a>
<a href="/wiki/Categoria:Set" title="Categoria:Set"> <img alt="Dock sets.png" src="/images/f/f0/Dock_sets.png" decoding="async" class="colico"> </a>
<a href="/wiki/Successi" title="Successi"> <img alt="Dock achievements.png" src="/images/f/f5/Dock_achievements.png" decoding="async" class="colico"> </a>
<a href="/wiki/Citt%C3%A0" title="Città"> <img alt="Dock towns.png" src="/images/5/51/Dock_towns.png" decoding="async" class="colico"> </a>
<a href="/wiki/Lista_lavori" title="Lista lavori"> <img alt="Dock jobs.png" src="/images/5/58/Dock_jobs.png" decoding="async" class="colico"> </a>
<a href="/wiki/Professioni" title="Professioni"> <img alt="Dock crafting.png" src="/images/6/64/Dock_crafting.png" decoding="async" class="colico"> </a>
<a href="/wiki/Duelli" title="Duelli"> <img alt="Dock duels.png" src="/images/1/1c/Dock_duels.png" decoding="async" class="colico"> </a>
<a href="/wiki/Forti" title="Forti"> <img alt="Dock fort battles.png" src="/images/e/ea/Dock_fort_battles.png" decoding="async" class="colico"> </a>
<a href="/wiki/Avventure" title="Avventure"> <img alt="Dock adventures.png" src="/images/2/2c/Dock_adventures.png" decoding="async" class="colico"> </a>
<a href="/wiki/Missioni" title="Missioni"> <img alt="Missioni" src="/images/3/34/Dock_quests.png" decoding="async" class="colico"> </a>
<a href="/wiki/Calendario_Missioni" title="Calendario Missioni"> <img alt="Calendario Missioni" src="/images/a/a2/Dock_calendar.png" decoding="async" class="colico"> </a>
Benvenuti nella Wiki
Questa Wiki serve come Aiuto, Guida e luogo in cui trovare risposte alle vostre domande su The West. Potete vedere lo sviluppo del gioco, leggere consigli su come far crescere il vostro personaggio, oppure trovare suggerimenti sulle città, sui duelli e su molto altro.
Nella sezione <a href="/wiki/FAQ" title="FAQ">FAQ</a> troverete risposte ad alcune delle domande più frequenti.
Benvenuti in The West!
Missioni del mese in corso
From: 08.08 at 10:00
Until: 14.08 at 00:00
From: 11.08 at 11:00
Until: 30.09 at 23:59
From: 15.08 at 10:00
Until: 31.08 at 23:59
From: 16.08 at 12:00
Until: 31.08 at 12:00<a href="/wiki/File:Nuova.gif" class="image"><img alt="Nuova.gif" src="/images/9/93/Nuova.gif" decoding="async" width="40" height="20"></a>
From: 18.08 at 12:00
Until: 01.09 at 12:00
From: 18.08 at 12:00
Until: 01.09 at 12:00
From: 18.08 at 12:00
Until: 01.09 at 12:00
From: 18.08 at 12:00
Until: 01.09 at 12:00
From: 27.08 at 10:00
Until: 03.09 at 23:59
Possibili missioni ancora attive
From: 01.07 at 00:00
Until: 15.07 at 00:00
From: 01.07 at 00:00
Until: 15.07 at 00:00
From: 02.07 at 11:00
Until: 23.07 at 23:59
From: 04.07 at 11:00
Until: 25.07 at 23:59
From: 04.07 at 00:00
Until: 25.07 at 23:59
From: 05.07 at 12:00
Until: 25.07 at 12:00<a href="/wiki/File:Nuova.gif" class="image"><img alt="Nuova.gif" src="/images/9/93/Nuova.gif" decoding="async" width="40" height="20"></a>
From: 07.07 at 12:00
Until: 22.07 at 12:00
From: 17.07 at 08:00
Until: 30.07 at 25:59
From: 29.07 at 10:00
Until: 10.08 at 00:00
</main>
<section class="skin-mirage-right-rail-module portlet skin-mirage-styled-right-rail-module" id="p-tb" aria-labelledby="tb-label" role="navigation">
Strumenti pagine
- <a href="/wiki/Speciale:PuntanoQui/Pagina_principale" title="Elenco di tutte le pagine che sono collegate a questa [alt-shift-j]" accesskey="j">Puntano qui</a>
- <a href="/wiki/Speciale:ModificheCorrelate/Pagina_principale" rel="nofollow" title="Elenco delle ultime modifiche alle pagine collegate a questa [alt-shift-k]" accesskey="k">Modifiche correlate</a>
- <a href="/index.php?title=Pagina_principale&oldid=41969" title="Collegamento permanente a questa versione di questa pagina">Link permanente</a>
- <a href="/index.php?title=Pagina_principale&action=info" title="Ulteriori informazioni su questa pagina">Informazioni pagina</a>
</section>
<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"0.166","walltime":"0.380","ppvisitednodes":{"value":835,"limit":1000000},"postexpandincludesize":{"value":21907,"limit":2097152},"templateargumentsize":{"value":3298,"limit":2097152},"expansiondepth":{"value":5,"limit":100},"expensivefunctioncount":{"value":0,"limit":100},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":0,"limit":5000000},"timingprofile":["100.00% 82.585 1 -total"," 26.72% 22.069 1 Template:MissioniAgosto"," 25.68% 21.211 18 Template:MissioneBox"," 20.92% 17.277 1 Template:MissioniLuglio"," 18.41% 15.202 3 Template:BigBoxEnd"," 14.72% 12.156 1 Template:Accessi_veloci"," 13.87% 11.452 3 Template:BigBoxBegin"," 4.42% 3.650 5 Template:Icona_set"]},"cachereport":{"timestamp":"20230815153452","ttl":86400,"transientcontent":false}}});mw.config.set({"wgBackendResponseTime":690});});</script>
</body></html>