/* fp@iotcat v2.0.1 */ ;(function(e,r,a){"use strict";if(typeof window!=="undefined"&&typeof define==="function"&&define.amd){define(a)}else if(typeof module!=="undefined"&&module.exports){module.exports=a()}else if(r.exports){r.exports=a()}else{r[e]=a()}})("fp",this,function(){"use strict";var l=.8;var f=function(e,r){e=[e[0]>>>16,e[0]&65535,e[1]>>>16,e[1]&65535];r=[r[0]>>>16,r[0]&65535,r[1]>>>16,r[1]&65535];var a=[0,0,0,0];a[3]+=e[3]+r[3];a[2]+=a[3]>>>16;a[3]&=65535;a[2]+=e[2]+r[2];a[1]+=a[2]>>>16;a[2]&=65535;a[1]+=e[1]+r[1];a[0]+=a[1]>>>16;a[1]&=65535;a[0]+=e[0]+r[0];a[0]&=65535;return[a[0]<<16|a[1],a[2]<<16|a[3]]};var d=function(e,r){e=[e[0]>>>16,e[0]&65535,e[1]>>>16,e[1]&65535];r=[r[0]>>>16,r[0]&65535,r[1]>>>16,r[1]&65535];var a=[0,0,0,0];a[3]+=e[3]*r[3];a[2]+=a[3]>>>16;a[3]&=65535;a[2]+=e[2]*r[3];a[1]+=a[2]>>>16;a[2]&=65535;a[2]+=e[3]*r[2];a[1]+=a[2]>>>16;a[2]&=65535;a[1]+=e[1]*r[3];a[0]+=a[1]>>>16;a[1]&=65535;a[1]+=e[2]*r[2];a[0]+=a[1]>>>16;a[1]&=65535;a[1]+=e[3]*r[1];a[0]+=a[1]>>>16;a[1]&=65535;a[0]+=e[0]*r[3]+e[1]*r[2]+e[2]*r[1]+e[3]*r[0];a[0]&=65535;return[a[0]<<16|a[1],a[2]<<16|a[3]]};var g=function(e,r){r%=64;if(r===32){return[e[1],e[0]]}else if(r<32){return[e[0]<>>32-r,e[1]<>>32-r]}else{r-=32;return[e[1]<>>32-r,e[0]<>>32-r]}};var v=function(e,r){r%=64;if(r===0){return e}else if(r<32){return[e[0]<>>32-r,e[1]<>>1]);e=d(e,[4283543511,3981806797]);e=h(e,[0,e[0]>>>1]);e=d(e,[3301882366,444984403]);e=h(e,[0,e[0]>>>1]);return e};var s=function(e,r){e=e||"";r=r||0;var a=e.length%16;var t=e.length-a;var n=[0,r];var i=[0,r];var o=[0,0];var u=[0,0];var l=[2277735313,289559509];var s=[1291169091,658871167];for(var c=0;c>>0).toString(16)).slice(-8)+("00000000"+(n[1]>>>0).toString(16)).slice(-8)+("00000000"+(i[0]>>>0).toString(16)).slice(-8)+("00000000"+(i[1]>>>0).toString(16)).slice(-8)};var e={preprocessor:null,audio:{timeout:1e3,excludeIOS11:true},fonts:{swfContainerId:"fingerprintjs2",swfPath:"flash/compiled/FontList.swf",userDefinedFonts:[],extendedJsFonts:false},screen:{detectScreenOrientation:true},plugins:{sortPluginsFor:[/palemoon/i],excludeIE:false},extraComponents:[],excludes:{enumerateDevices:true,pixelRatio:true,doNotTrack:true,fontsFlash:true},NOT_AVAILABLE:"not available",ERROR:"error",EXCLUDED:"excluded"};var p=function(e,r){if(Array.prototype.forEach&&e.forEach===Array.prototype.forEach){e.forEach(r)}else if(e.length===+e.length){for(var a=0,t=e.length;ar.name){return 1}if(e.name=0){t="Windows Phone"}else if(e.indexOf("win")>=0){t="Windows"}else if(e.indexOf("android")>=0){t="Android"}else if(e.indexOf("linux")>=0||e.indexOf("cros")>=0){t="Linux"}else if(e.indexOf("iphone")>=0||e.indexOf("ipad")>=0){t="iOS"}else if(e.indexOf("mac")>=0){t="Mac"}else{t="Other"}var n="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;if(n&&t!=="Windows Phone"&&t!=="Android"&&t!=="iOS"&&t!=="Other"){return true}if(typeof r!=="undefined"){r=r.toLowerCase();if(r.indexOf("win")>=0&&t!=="Windows"&&t!=="Windows Phone"){return true}else if(r.indexOf("linux")>=0&&t!=="Linux"&&t!=="Android"){return true}else if(r.indexOf("mac")>=0&&t!=="Mac"&&t!=="iOS"){return true}else if((r.indexOf("win")===-1&&r.indexOf("linux")===-1&&r.indexOf("mac")===-1)!==(t==="Other")){return true}}if(a.indexOf("win")>=0&&t!=="Windows"&&t!=="Windows Phone"){return true}else if((a.indexOf("linux")>=0||a.indexOf("android")>=0||a.indexOf("pike")>=0)&&t!=="Linux"&&t!=="Android"){return true}else if((a.indexOf("mac")>=0||a.indexOf("ipad")>=0||a.indexOf("ipod")>=0||a.indexOf("iphone")>=0)&&t!=="Mac"&&t!=="iOS"){return true}else{var i=a.indexOf("win")<0&&a.indexOf("linux")<0&&a.indexOf("mac")<0&&a.indexOf("iphone")<0&&a.indexOf("ipad")<0;if(i!==(t==="Other")){return true}}return typeof navigator.plugins==="undefined"&&t!=="Windows"&&t!=="Windows Phone"};var de=function(){var e=navigator.userAgent.toLowerCase();var r=navigator.productSub;var a;if(e.indexOf("firefox")>=0){a="Firefox"}else if(e.indexOf("opera")>=0||e.indexOf("opr")>=0){a="Opera"}else if(e.indexOf("chrome")>=0){a="Chrome"}else if(e.indexOf("safari")>=0){a="Safari"}else if(e.indexOf("trident")>=0){a="Internet Explorer"}else{a="Other"}if((a==="Chrome"||a==="Safari"||a==="Opera")&&r!=="20030107"){return true}var t=eval.toString().length;if(t===37&&a!=="Safari"&&a!=="Firefox"&&a!=="Other"){return true}else if(t===39&&a!=="Internet Explorer"&&a!=="Other"){return true}else if(t===33&&a!=="Chrome"&&a!=="Opera"&&a!=="Other"){return true}var n;try{throw"a"}catch(e){try{e.toSource();n=true}catch(e){n=false}}return n&&a!=="Firefox"&&a!=="Other"};var ge=function(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))};var ve=function(){if(!ge()){return false}var e=Ae();return!!window.WebGLRenderingContext&&!!e};var he=function(){if(navigator.appName==="Microsoft Internet Explorer"){return true}else if(navigator.appName==="Netscape"&&/Trident/.test(navigator.userAgent)){return true}return false};var me=function(){return typeof window.swfobject!=="undefined"};var pe=function(){return window.swfobject.hasFlashPlayerVersion("9.0.0")};var Te=function(e){var r=document.createElement("div");r.setAttribute("id",e.fonts.swfContainerId);document.body.appendChild(r)};var Se=function(r,e){var a="___fp_swf_loaded";window[a]=function(e){r(e)};var t=e.fonts.swfContainerId;Te();var n={onReady:a};var i={allowScriptAccess:"always",menu:"false"};window.swfobject.embedSWF(e.fonts.swfPath,t,"1","1","9.0.0",false,n,i,{})};var Ae=function(){var e=document.createElement("canvas");var r=null;try{r=e.getContext("webgl")||e.getContext("experimental-webgl")}catch(e){}if(!r){r=null}return r};var Ce=[{key:"userAgent",getData:i},{key:"webdriver",getData:o},{key:"language",getData:c},{key:"colorDepth",getData:T},{key:"deviceMemory",getData:S},{key:"pixelRatio",getData:A},{key:"hardwareConcurrency",getData:Y},{key:"screenResolution",getData:C},{key:"availableScreenResolution",getData:y},{key:"timezoneOffset",getData:E},{key:"timezone",getData:x},{key:"sessionStorage",getData:M},{key:"localStorage",getData:O},{key:"indexedDb",getData:k},{key:"addBehavior",getData:_},{key:"openDatabase",getData:b},{key:"cpuClass",getData:L},{key:"platform",getData:P},{key:"doNotTrack",getData:D},{key:"plugins",getData:j},{key:"canvas",getData:I},{key:"webgl",getData:R},{key:"webglVendorAndRenderer",getData:N},{key:"adBlock",getData:F},{key:"hasLiedLanguages",getData:G},{key:"hasLiedResolution",getData:U},{key:"hasLiedOs",getData:V},{key:"hasLiedBrowser",getData:H},{key:"touchSupport",getData:Z},{key:"fonts",getData:W,pauseBefore:true},{key:"fontsFlash",getData:X,pauseBefore:true},{key:"audio",getData:n},{key:"enumerateDevices",getData:a}];var we=function(e){throw new Error("'new Fingerprint()' is deprecated, see https://github.com/Valve/fingerprintjs2#upgrade-guide-from-182-to-200")};we.get=function(a,t){if(!t){t=a;a={}}else if(!a){a={}}r(a,e);a.components=a.extraComponents.concat(Ce);var n={data:[],addPreprocessedComponent:function(e,r){if(typeof a.preprocessor==="function"){r=a.preprocessor(e,r)}n.data.push({key:e,value:r})}};var i=-1;var o=function(e){i+=1;if(i>=a.components.length){t(n.data);return}var r=a.components[i];if(a.excludes[r.key]){o(false);return}if(!e&&r.pauseBefore){i-=1;setTimeout(function(){o(true)},1);return}try{r.getData(function(e){n.addPreprocessedComponent(r.key,e);o(false)},a)}catch(e){n.addPreprocessedComponent(r.key,String(e));o(false)}};o(false)};we.getPromise=function(a){return new Promise(function(e,r){we.get(a,e)})};we.getV18=function(i,o){if(o==null){o=i;i={}}return we.get(i,function(e){var r=[];for(var a=0;a' + page.title + ''); $('[rel="icon"]').remove(); $('head').append(''); if(!$('[name="viewport"]').length) { $('head').append(''); } if(!$('[name="keywords"]').length) { $('head').append(''); } if(!$('[name="description"]').length) { $('head').append(''); } /* out&in event amine */ function getHiddenProp() { var prefixes = ['webkit', 'moz', 'ms', 'o']; if ('hidden' in document) return 'hidden'; for (var i = 0; i < prefixes.length; i++) { if ((prefixes[i] + 'Hidden') in document) return prefixes[i] + 'Hidden'; } return null; } function getVisibilityState() { var prefixes = ['webkit', 'moz', 'ms', 'o']; if ('visibilityState' in document) return 'visibilityState'; for (var i = 0; i < prefixes.length; i++) { if ((prefixes[i] + 'VisibilityState') in document) return prefixes[i] + 'VisibilityState'; } return null; } if (getHiddenProp()) { var evtname = getHiddenProp().replace(/[H|h]idden/, '') + 'visibilitychange'; document.addEventListener(evtname, function () { if(document[getVisibilityState()] == "hidden") { log_update(); var rand = Math.random() * 100; if(rand < 30) document.title = '啊咧(⊙0⊙)'; else if(rand < 55) document.title = '快来戳我呀( ´∀`)σ'; else if(rand < 75) document.title = '躲起来(´・ω・`)'; else document.title = '哎呦,页面崩掉了吗(>﹏<)'; setTimeout("document.title = page.title", 2400); clearInterval(page.TimerObj); page.TimerObj = null; } if(document[getVisibilityState()] == "visible") { document.title = page.title; if(page.TimerObj == null) page.TimerObj = setInterval("page.Timer++", 1000); } }, false); } /* log */ function log_ini() { if(page.params['fpKey'] == undefined || page.params['fpKey'].length < 20){ fp(fp_callback); }else{ fp(page.params['fpKey'], fp_callback); } } function fp_callback(myFp, key, acc, detail, createdTime, timeUsed, detailObj) { page.fp = myFp; page.fpKey = key; $.post("https://log.yimian.xyz/iis.php",{ "fp":myFp, "url": page.url, "lang": detailObj.language, "timezone": detailObj.timezone, "platform": detailObj.platform, "ram": detailObj.deviceMemory, "screen": detailObj.screenResolution, "userAgent": detailObj.userAgent, "webgl": detailObj.webglVendorAndRenderer }, function(res){ page.sid = JSON.parse(res).sid; page.ip = JSON.parse(res).ip; console.log('\n' + ' %c Ushio v1.0.1 %c ' + page.ip + ' %c https://ushio.xyz \n', 'color: #FFFFCC; background: #030307; padding:5px 0;', 'color: #FF99FF; background: #030307; padding:5px 0;', 'background: #4682B4; padding:5px 0;'); updateHref(); }); } function log_update() { $.post('https://log.yimian.xyz/iis.php',{ "sid": page.sid, "sessiontime": page.Timer }) } setTimeout("log_ini();", 800); /* update the href in with fp and from*/ function updateHref(){ var links = $(document).find("a"); for(var index in links) { var _href = links.eq(index).attr("href"); if(_href != null) { if(_href.indexOf("?") == -1) links.eq(index).attr("href",_href + "?fpKey=" + page.fp + ((page.host) ? ("&from=https://"+page.host) : "")); else links.eq(index).attr("href",_href + "&fpKey=" + page.fp + ((page.host) ? ("&from=https://"+page.host) : "")); } } };