You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

704 lines
134 KiB

4 years ago
if(!page.ushio){
throw new Error('ushio::Ushio quitted!');
}
(function(e,r,t){"use strict";if(typeof window!=="undefined"&&typeof define==="function"&&define.amd){define(t)}else if(typeof module!=="undefined"&&module.exports){module.exports=t()}else if(r.exports){r.exports=t()}else{r[e]=t()}})("Fingerprint2",this,function(){"use strict";if(typeof Array.isArray==="undefined"){Array.isArray=function(e){return Object.prototype.toString.call(e)==="[object Array]"}}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 t=[0,0,0,0];t[3]+=e[3]+r[3];t[2]+=t[3]>>>16;t[3]&=65535;t[2]+=e[2]+r[2];t[1]+=t[2]>>>16;t[2]&=65535;t[1]+=e[1]+r[1];t[0]+=t[1]>>>16;t[1]&=65535;t[0]+=e[0]+r[0];t[0]&=65535;return[t[0]<<16|t[1],t[2]<<16|t[3]]};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 t=[0,0,0,0];t[3]+=e[3]*r[3];t[2]+=t[3]>>>16;t[3]&=65535;t[2]+=e[2]*r[3];t[1]+=t[2]>>>16;t[2]&=65535;t[2]+=e[3]*r[2];t[1]+=t[2]>>>16;t[2]&=65535;t[1]+=e[1]*r[3];t[0]+=t[1]>>>16;t[1]&=65535;t[1]+=e[2]*r[2];t[0]+=t[1]>>>16;t[1]&=65535;t[1]+=e[3]*r[1];t[0]+=t[1]>>>16;t[1]&=65535;t[0]+=e[0]*r[3]+e[1]*r[2]+e[2]*r[1]+e[3]*r[0];t[0]&=65535;return[t[0]<<16|t[1],t[2]<<16|t[3]]};var g=function(e,r){r%=64;if(r===32){return[e[1],e[0]]}else if(r<32){return[e[0]<<r|e[1]>>>32-r,e[1]<<r|e[0]>>>32-r]}else{r-=32;return[e[1]<<r|e[0]>>>32-r,e[0]<<r|e[1]>>>32-r]}};var v=function(e,r){r%=64;if(r===0){return e}else if(r<32){return[e[0]<<r|e[1]>>>32-r,e[1]<<r]}else{return[e[1]<<r-32,0]}};var h=function(e,r){return[e[0]^r[0],e[1]^r[1]]};var m=function(e){e=h(e,[0,e[0]>>>1]);e=f(e,[4283543511,3981806797]);e=h(e,[0,e[0]>>>1]);e=f(e,[3301882366,444984403]);e=h(e,[0,e[0]>>>1]);return e};var u=function(e,r){e=e||"";r=r||0;var t=e.length%16;var a=e.length-t;var n=[0,r];var i=[0,r];var o=[0,0];var u=[0,0];var s=[2277735313,289559509];var l=[1291169091,658871167];for(var c=0;c<a;c=c+16){o=[e.charCodeAt(c+4)&255|(e.charCodeAt(c+5)&255)<<8|(e.charCodeAt(c+6)&255)<<16|(e.charCodeAt(c+7)&255)<<24,e.charCodeAt(c)&255|(e.charCodeAt(c+1)&255)<<8|(e.charCodeAt(c+2)&255)<<16|(e.charCodeAt(c+3)&255)<<24];u=[e.charCodeAt(c+12)&255|(e.charCodeAt(c+13)&255)<<8|(e.charCodeAt(c+14)&255)<<16|(e.charCodeAt(c+15)&255)<<24,e.charCodeAt(c+8)&255|(e.charCodeAt(c+9)&255)<<8|(e.charCodeAt(c+10)&255)<<16|(e.charCodeAt(c+11)&255)<<24];o=f(o,s);o=g(o,31);o=f(o,l);n=h(n,o);n=g(n,27);n=d(n,i);n=d(f(n,[0,5]),[0,1390208809]);u=f(u,l);u=g(u,33);u=f(u,s);i=h(i,u);i=g(i,31);i=d(i,n);i=d(f(i,[0,5]),[0,944331445])}o=[0,0];u=[0,0];switch(t){case 15:u=h(u,v([0,e.charCodeAt(c+14)],48));case 14:u=h(u,v([0,e.charCodeAt(c+13)],40));case 13:u=h(u,v([0,e.charCodeAt(c+12)],32));case 12:u=h(u,v([0,e.charCodeAt(c+11)],24));case 11:u=h(u,v([0,e.charCodeAt(c+10)],16));case 10:u=h(u,v([0,e.charCodeAt(c+9)],8));case 9:u=h(u,[0,e.charCodeAt(c+8)]);u=f(u,l);u=g(u,33);u=f(u,s);i=h(i,u);case 8:o=h(o,v([0,e.charCodeAt(c+7)],56));case 7:o=h(o,v([0,e.charCodeAt(c+6)],48));case 6:o=h(o,v([0,e.charCodeAt(c+5)],40));case 5:o=h(o,v([0,e.charCodeAt(c+4)],32));case 4:o=h(o,v([0,e.charCodeAt(c+3)],24));case 3:o=h(o,v([0,e.charCodeAt(c+2)],16));case 2:o=h(o,v([0,e.charCodeAt(c+1)],8));case 1:o=h(o,[0,e.charCodeAt(c)]);o=f(o,s);o=g(o,31);o=f(o,l);n=h(n,o)}n=h(n,[0,e.length]);i=h(i,[0,e.length]);n=d(n,i);i=d(i,n);n=m(n);i=m(i);n=d(n,i);i=d(i,n);return("00000000"+(n[0]>>>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.leng
//# sourceMappingURL=dist/fp.min.js.map
4 years ago
try{
5 years ago
/* reconnecting-websocket@joewalnes v1.0.0 */
!function(a,b){"function"==typeof define&&define.amd?define([],b):"undefined"!=typeof module&&module.exports?module.exports=b():a.ReconnectingWebSocket=b()}(this,function(){function a(b,c,d){function l(a,b){var c=document.createEvent("CustomEvent");return c.initCustomEvent(a,!1,!1,b),c}var e={debug:!1,automaticOpen:!0,reconnectInterval:1e3,maxReconnectInterval:3e4,reconnectDecay:1.5,timeoutInterval:2e3};d||(d={});for(var f in e)this[f]="undefined"!=typeof d[f]?d[f]:e[f];this.url=b,this.reconnectAttempts=0,this.readyState=WebSocket.CONNECTING,this.protocol=null;var h,g=this,i=!1,j=!1,k=document.createElement("div");k.addEventListener("open",function(a){g.onopen(a)}),k.addEventListener("close",function(a){g.onclose(a)}),k.addEventListener("connecting",function(a){g.onconnecting(a)}),k.addEventListener("message",function(a){g.onmessage(a)}),k.addEventListener("error",function(a){g.onerror(a)}),this.addEventListener=k.addEventListener.bind(k),this.removeEventListener=k.removeEventListener.bind(k),this.dispatchEvent=k.dispatchEvent.bind(k),this.open=function(b){h=new WebSocket(g.url,c||[]),b||k.dispatchEvent(l("connecting")),(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","attempt-connect",g.url);var d=h,e=setTimeout(function(){(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","connection-timeout",g.url),j=!0,d.close(),j=!1},g.timeoutInterval);h.onopen=function(){clearTimeout(e),(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onopen",g.url),g.protocol=h.protocol,g.readyState=WebSocket.OPEN,g.reconnectAttempts=0;var d=l("open");d.isReconnect=b,b=!1,k.dispatchEvent(d)},h.onclose=function(c){if(clearTimeout(e),h=null,i)g.readyState=WebSocket.CLOSED,k.dispatchEvent(l("close"));else{g.readyState=WebSocket.CONNECTING;var d=l("connecting");d.code=c.code,d.reason=c.reason,d.wasClean=c.wasClean,k.dispatchEvent(d),b||j||((g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onclose",g.url),k.dispatchEvent(l("close")));var e=g.reconnectInterval*Math.pow(g.reconnectDecay,g.reconnectAttempts);setTimeout(function(){g.reconnectAttempts++,g.open(!0)},e>g.maxReconnectInterval?g.maxReconnectInterval:e)}},h.onmessage=function(b){(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onmessage",g.url,b.data);var c=l("message");c.data=b.data,k.dispatchEvent(c)},h.onerror=function(b){(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onerror",g.url,b),k.dispatchEvent(l("error"))}},1==this.automaticOpen&&this.open(!1),this.send=function(b){if(h)return(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","send",g.url,b),h.send(b);throw"INVALID_STATE_ERR : Pausing to reconnect websocket"},this.close=function(a,b){"undefined"==typeof a&&(a=1e3),i=!0,h&&h.close(a,b)},this.refresh=function(){h&&h.close()}}return a.prototype.onopen=function(){},a.prototype.onclose=function(){},a.prototype.onconnecting=function(){},a.prototype.onmessage=function(){},a.prototype.onerror=function(){},a.debugAll=!1,a.CONNECTING=WebSocket.CONNECTING,a.OPEN=WebSocket.OPEN,a.CLOSING=WebSocket.CLOSING,a.CLOSED=WebSocket.CLOSED,a});
4 years ago
}catch(e){}
5 years ago
5 years ago
/* aplayer */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("APlayer",[],t):"object"==typeof exports?exports.APlayer=t():e.APlayer=t()}(window,function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:i})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=41)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=/mobile/i.test(window.navigator.userAgent),a={secondToTime:function(e){var t=Math.floor(e/3600),n=Math.floor((e-3600*t)/60),i=Math.floor(e-3600*t-60*n);return(t>0?[t,n,i]:[n,i]).map(function(e){return e<10?"0"+e:""+e}).join(":")},getElementViewLeft:function(e){var t=e.offsetLeft,n=e.offsetParent,i=document.body.scrollLeft+document.documentElement.scrollLeft;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==n&&n!==e;)t+=n.offsetLeft,n=n.offsetParent;else for(;null!==n;)t+=n.offsetLeft,n=n.offsetParent;return t-i},getElementViewTop:function(e,t){for(var n,i=e.offsetTop,a=e.offsetParent;null!==a;)i+=a.offsetTop,a=a.offsetParent;return n=document.body.scrollTop+document.documentElement.scrollTop,t?i:i-n},isMobile:i,storage:{set:function(e,t){localStorage.setItem(e,t)},get:function(e){return localStorage.getItem(e)}},nameMap:{dragStart:i?"touchstart":"mousedown",dragMove:i?"touchmove":"mousemove",dragEnd:i?"touchend":"mouseup"},randomOrder:function(e){return function(e){for(var t=e.length-1;t>=0;t--){var n=Math.floor(Math.random()*(t+1)),i=e[n];e[n]=e[t],e[t]=i}return e}([].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(Array(e))).map(function(e,t){return t}))}};t.default=a},function(e,t,n){var i=n(2);e.exports=function(e){"use strict";e=e||{};var t="",n=i.$each,a=e.audio,r=(e.$value,e.$index,i.$escape),o=e.theme,s=e.index;return n(a,function(e,n){t+='\n<li>\n <span class="aplayer-list-cur" style="background-color: ',t+=r(e.theme||o),t+=';"></span>\n <span class="aplayer-list-index">',t+=r(n+s),t+='</span>\n <span class="aplayer-list-title">',t+=r(e.name),t+='</span>\n <span class="aplayer-list-author">',t+=r(e.artist),t+="</span>\n</li>\n"}),t}},function(e,t,n){"use strict";e.exports=n(15)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=g(n(33)),a=g(n(32)),r=g(n(31)),o=g(n(30)),s=g(n(29)),l=g(n(28)),u=g(n(27)),c=g(n(26)),p=g(n(25)),d=g(n(24)),h=g(n(23)),y=g(n(22)),f=g(n(21)),v=g(n(20)),m=g(n(19));function g(e){return e&&e.__esModule?e:{default:e}}var w={play:i.default,pause:a.default,volumeUp:r.default,volumeDown:o.default,volumeOff:s.default,orderRandom:l.default,orderList:u.default,menu:c.default,loopAll:p.default,loopOne:d.default,loopNone:h.default,loading:y.default,right:f.default,skip:v.default,lrc:m.default};t.default=w},function(e,t,n){"use strict";var i,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(e){"object"===("undefined"==typeof window?"undefined":a(window))&&(i=window)}e.exports=i},function(e,t,n){"use strict";var i,a,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};void 0===(a="function"==typeof(i=function(){if("object"===("undefined"==typeof window?"undefined":r(window))&&void 0!==document.querySelecto
//# sourceMappingURL=https://cdn.yimian.xyz/aplayer/APlayer.min.js.map
5 years ago
/* Tips @iziToast | v1.4.0 */
;if(typeof block_tips == "undefined"){!function(t,e){"function"==typeof define&&define.amd?define([],e(t)):"object"==typeof exports?module.exports=e(t):t.tipsObj=e(t)}("undefined"!=typeof global?global:window||this.window||this.global,function(t){"use strict";var e={},n="iziToast",o=(document.querySelector("body"),!!/Mobi/.test(navigator.userAgent)),i=/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor),s="undefined"!=typeof InstallTrigger,a="ontouchstart"in document.documentElement,r=["bottomRight","bottomLeft","bottomCenter","topRight","topLeft","topCenter","center"],l={info:{color:"blue",icon:"ico-info"},success:{color:"green",icon:"ico-success"},warning:{color:"orange",icon:"ico-warning"},error:{color:"red",icon:"ico-error"},question:{color:"yellow",icon:"ico-question"}},d=568,c={};e.children={};var u={id:null,"class":"",title:"",titleColor:"",titleSize:"",titleLineHeight:"",message:"",messageColor:"",messageSize:"",messageLineHeight:"",backgroundColor:"",theme:"light",color:"",icon:"",iconText:"",iconColor:"",iconUrl:null,image:"",imageWidth:50,maxWidth:null,zindex:null,layout:1,balloon:!1,close:!0,closeOnEscape:!1,closeOnClick:!1,displayMode:0,position:"bottomRight",target:"",targetFirst:!0,timeout:5e3,rtl:!1,animateInside:!0,drag:!0,pauseOnHover:!0,resetOnHover:!1,progressBar:!0,progressBarColor:"",progressBarEasing:"linear",overlay:!1,overlayClose:!1,overlayColor:"rgba(0, 0, 0, 0.6)",transitionIn:"fadeInUp",transitionOut:"fadeOut",transitionInMobile:"fadeInUp",transitionOutMobile:"fadeOutDown",buttons:{},inputs:{},onOpening:function(){},onOpened:function(){},onClosing:function(){},onClosed:function(){}};if("remove"in Element.prototype||(Element.prototype.remove=function(){this.parentNode&&this.parentNode.removeChild(this)}),"function"!=typeof window.CustomEvent){var p=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n};p.prototype=window.Event.prototype,window.CustomEvent=p}var m=function(t,e,n){if("[object Object]"===Object.prototype.toString.call(t))for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.call(n,t[o],o,t);else if(t)for(var i=0,s=t.length;s>i;i++)e.call(n,t[i],i,t)},g=function(t,e){var n={};return m(t,function(e,o){n[o]=t[o]}),m(e,function(t,o){n[o]=e[o]}),n},f=function(t){var e=document.createDocumentFragment(),n=document.createElement("div");for(n.innerHTML=t;n.firstChild;)e.appendChild(n.firstChild);return e},v=function(t){var e=btoa(encodeURIComponent(t));return e.replace(/=/g,"")},y=function(t){return"#"==t.substring(0,1)||"rgb"==t.substring(0,3)||"hsl"==t.substring(0,3)},h=function(t){try{return btoa(atob(t))==t}catch(e){return!1}},b=function(){return{move:function(t,e,o,a){var r,l=.3,d=180;0!==a&&(t.classList.add(n+"-dragged"),t.style.transform="translateX("+a+"px)",a>0?(r=(d-a)/d,l>r&&e.hide(g(o,{transitionOut:"fadeOutRight",transitionOutMobile:"fadeOutRight"}),t,"drag")):(r=(d+a)/d,l>r&&e.hide(g(o,{transitionOut:"fadeOutLeft",transitionOutMobile:"fadeOutLeft"}),t,"drag")),t.style.opacity=r,l>r&&((i||s)&&(t.style.left=a+"px"),t.parentNode.style.opacity=l,this.stopMoving(t,null)))},startMoving:function(t,e,n,o){o=o||window.event;var i=a?o.touches[0].clientX:o.clientX,s=t.style.transform.replace("px)","");s=s.replace("translateX(","");var r=i-s;n.transitionIn&&t.classList.remove(n.transitionIn),n.transitionInMobile&&t.classList.remove(n.transitionInMobile),t.style.transition="",a?document.ontouchmove=function(o){o.preventDefault(),o=o||window.event;var i=o.touches[0].clientX,s=i-r;b.move(t,e,n,s)}:document.onmousemove=function(o){o.preventDefault(),o=o||window.event;var i=o.clientX,s=i-r;b.move(t,e,n,s)}},stopMoving:function(t,e){a?document.ontouchmove=function(){}:document.onmousemove=function(){},t.style.opacity="",t.style.transform="",t.classList.contains(n+"-dragged")&&(t.classList.remove(n+"-dragged"),t.style.transition="transform 0.4s ease, opacity 0.4s ease",setTimeout(function(){t.style.transition=""},400))}}}();return e.setSetting=function(t,n,o){
5 years ago
/* jQuery md5 */
if(typeof block_md5 == "undefined") document.write('<script src="https://cdn.yimian.xyz/ushio-js/jquery.md5.min.js"></script>');
/* page reload */
4 years ago
$('head').append('<meta charset="UTF-8">');
$('title').remove();
$('head').append('<title>' + page.title + '</title>');
$('[rel="icon"]').remove();
$('head').append('<link rel="icon" type="image/x-icon" href="' + page.icon + '">');
5 years ago
if(!$('[name="viewport"]').length && typeof block_viewport == "undefined") {
$('head').append('<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">');
}
if(!$('[name="keywords"]').length) {
$('head').append('<meta name="keywords" content="Ushio,iotcat,yimian">');
}
if(!$('[name="description"]').length) {
$('head').append('<meta name="description" content="小汐の页">');
}
/* 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") {
5 years ago
session.close();
4 years ago
page.window = false;
log_update();
var rand = Math.random() * 100;
4 years ago
if(rand < 30) {if(page.tran.getLang() == 'zh')document.title = '啊咧(⊙0⊙)';else document.title = 'Aha (⊙0⊙)';}
else if(rand < 55) {if(page.tran.getLang() == 'zh')document.title = '快来戳我呀( ´∀`)σ';else document.title = 'Click Me ( ´∀`)σ';}
else if(rand < 75) {if(page.tran.getLang() == 'zh')document.title = '躲起来(´・ω・`)';else document.title = 'Hiding(´・ω・`)';}
else {if(page.tran.getLang() == 'zh')document.title = '哎呦,页面崩掉了吗(>﹏<)';else document.title = 'Wow, page crashed(>﹏<)';}
setTimeout("document.title = page.title", 2400);
clearInterval(page.TimerObj);
page.TimerObj = null;
}
if(document[getVisibilityState()] == "visible") {
document.title = page.title;
4 years ago
page.window = true;
page.LastWindowOpenTime = new Date().valueOf();
5 years ago
session.open();
if(page.TimerObj == null) page.TimerObj = setInterval("page.Timer++", 1000);
}
}, false);
}
4 years ago
async function log_ini(){
page.fp = await fp;
page.fpObj = await fp_details;
page.fpObj.forEach(item=>{
page[item.key] = item.value;
});
4 years ago
$.get("https://log.yimian.xyz/iis.php",{
4 years ago
"fp":page.fp,
5 years ago
"url": page.url,
4 years ago
"lang": page.language,
"timezone": page.timezone,
"platform": page.platform,
"ram": page.deviceMemory,
"screen": page.screenResolution,
"userAgent": page.userAgent,
"webgl": page.webglVendorAndRenderer
}, function(res){
page.sid = JSON.parse(res).sid;
page.ip = JSON.parse(res).ip;
4 years ago
who();
});
4 years ago
updateHref();
}
/* session */
function who(){
$.get('https://auth.yimian.xyz/who.php?mask='+page.mask+'&fp='+page.fp+'&ip='+page.ip, function(res){
if(res.code == 200){
session_ini_pre();
}else{
window.location.href='https://auth.yimian.xyz/?from='+window.btoa(page.url);
4 years ago
throw new Error('ushio::Redirect to Ushio-auth!');
4 years ago
}
});
}
/* log */
/*window.addEventListener('message',function(event){
if(event.data=='ok'){
session_ini_pre();
}
})*/
async function session_ini_pre () {
//if(!page.fp || !page.ip) {setTimeout(session_ini_pre, 30);return;}
if(typeof WebSocket != 'undefined'){
session_websocket_ini();
}else{
session_ajax_ini();
}
if(session.status) drawBrand();
else setTimeout(drawBrand, 3300);
}
function log_update() {
4 years ago
$.get('https://log.yimian.xyz/iis.php',{
"sid": page.sid,
"sessiontime": page.Timer
})
}
4 years ago
setTimeout("log_ini();",20);
5 years ago
4 years ago
/* update the href in <a> with from*/
5 years ago
function updateHref(){
4 years ago
if(page.url.indexOf('?from=') != -1) window.history.replaceState(null, 'ushio', page.url.substr(0, page.url.indexOf('?from=')));
if(page.url.indexOf('&from=') != -1) window.history.replaceState(null, 'ushio', page.url.substr(0, page.url.indexOf('&from=')));
5 years ago
var links = $(document).find("a");
for(var index in links) {
var _href = links.eq(index).attr("href");
5 years ago
var _id = (links.eq(index).attr("id"));
if(_id) _id = _id.substr(0, 5);
5 years ago
if(_href != null) {
4 years ago
if(_href.indexOf("?") == -1 && _id == "ushio") links.eq(index).attr("href",_href + ((page.host) ? ("?from=https://"+page.host) : ""));
else if(_id == "ushio") links.eq(index).attr("href",_href + ((page.host) ? ("&from=https://"+page.host) : ""));
5 years ago
}
}
};
5 years ago
/* connect to session server */
5 years ago
function session_websocket_ini(){
4 years ago
page.ws = new ReconnectingWebSocket("wss://session.yimian.xyz/websocket/?fp="+page.fp+"&mask="+page.mask+'&flag='+page.flag);
5 years ago
page.ws.maxReconnectInterval = 60;
page.ws.onopen = function(evt) {
if(session.status === false) console.log('Ushio - Session Connected!!');
5 years ago
5 years ago
page.ws.send("get");
session.set = function(key, val){
page.session[key] = val;
page.session['LastOperateTime'] = (new Date()).valueOf();
page.ws.send('{"key":"'+key+'", "val": "'+val+'", "t":'+page.session.LastOperateTime+'}');
page.ws.send('get');
if(session.status) return true;
else return false;
}
session.get = function(key){
page.ws.send('get');
return page.session[key];
}
session.del = function(key){
delete page.session[key];
page.session['LastOperateTime'] = (new Date()).valueOf();
4 years ago
page.ws.send('{"del":"'+key+'", "t":"'+page.session['LastOperateTime']+'"}');
5 years ago
page.ws.send('get');
if(session.status) return true;
else return false;
}
5 years ago
session.close = function(){
4 years ago
try{
page.ws.close();
}catch(e){}
session.status =false;
5 years ago
delete page.ws;
}
session.open = function(){
session_websocket_ini();
}
5 years ago
};
page.ws.onmessage = function(msg){
page.session = JSON.parse(msg.data);
5 years ago
session.method = 'WebSocket';
session.status = true;
5 years ago
}
page.ws.onerror = function(err){
console.log('Ushio - Session Error::'+JSON.stringify(err));
session.status = false;
}
page.ws.onclose = function(){
console.log('Ushio - Session Connection Lost!!');
session.status = false;
}
}
4 years ago
function session_ajax_ini(isPhp){
var sss = ['', ''];
if(isPhp){
sss = ['php/', '.php'];
}
try{
session.close();
5 years ago
delete session.set;
delete session.get;
delete session.del;
delete session.open;
delete session.close;
4 years ago
}catch(e){}
session.set = function(key, val){
page.session[key] = val;
page.session['LastOperateTime'] = (new Date()).valueOf();
$.get('https://session.yimian.xyz/'+sss[0]+'set'+sss[1]+'?fp='+page.fp+'&flag='+page.flag+'&mask='+page.mask+'&key='+key+'&val='+val+'&t='+page.session.LastOperateTime).fail(function () {session.status = false;console.log('Ushio - Ajax Session Connection Lost!!');});
$.get('https://session.yimian.xyz/'+sss[0]+'get'+sss[1]+'?fp='+page.fp+'&flag='+page.flag+'&mask='+page.mask, function(res2){
if(isPhp) res2 = JSON.parse(res2);
page.session = res2;
session.status = true;
session.method = 'ajax';
}).fail(function () {session.status = false;console.log('Ushio - Ajax Session Connection Lost!!');});
if(session.status) return true;
else return false;
}
session.get = function(key){
$.get('https://session.yimian.xyz/'+sss[0]+'get'+sss[1]+'?fp='+page.fp+'&flag='+page.flag+'&mask='+page.mask, function(res2){
if(isPhp) res2 = JSON.parse(res2);
page.session = res2;
session.status = true;
session.method = 'ajax';
}).fail(function () {session.status = false;console.log('Ushio - Ajax Session Connection Lost!!');});
return page.session[key];
}
session.del = function(key){
delete page.session[key];
page.session['LastOperateTime'] = (new Date()).valueOf();
$.get('https://session.yimian.xyz/'+sss[0]+'del'+sss[1]+'?fp='+page.fp+'&flag='+page.flag+'&mask='+page.mask+'&del='+key+'&t='+page.session.LastOperateTime).fail(function () {session.status = false;console.log('Ushio - Ajax Session Connection Lost!!');});
$.get('https://session.yimian.xyz/'+sss[0]+'get'+sss[1]+'?fp='+page.fp+'&flag='+page.flag+'&mask='+page.mask, function(res2){
if(isPhp) res2 = JSON.parse(res2);
page.session = res2;
session.status = true;
session.method = 'ajax';
}).fail(function () {session.status = false;console.log('Ushio - Ajax Session Connection Lost!!');});
if(session.status) return true;
else return false;
}
session.close = function(){
console.log('Ushio - Session Connection Lost!!');
session.status =false;
}
session.open = function(){
session.get('LastOperateTime');
}
$.get('https://session.yimian.xyz/'+sss[0]+'get'+sss[1]+'?fp='+page.fp+'&flag='+page.flag+'&mask='+page.mask, function(res){
if(isPhp) res = JSON.parse(res);
page.session = res;
5 years ago
if(session.status === false) console.log('Ushio - Session Connected!!');
session.status = true;
});
}
4 years ago
/* session onload */
var session_ini = function(f, c, fhash){
if(!c || fhash != session.get('hash')){
f();
return;
}
setTimeout(session_ini, 500, f, --c, fhash);
}
var session_wait = function(f){
var fhash = session.get('hash');
session_ini(f, 0, fhash);
}
/* session onload app */
session.onload(function(){
console.log('Ushio - session loaded.. '+(new Date().valueOf()/1000 - page.openTime)+'s');
});
session.onload(function(){
if(typeof block_aplayer == "undefined"){
player_ini();
}
});
session.onload(function(){
var isStop = false;
4 years ago
if(typeof session.get('group') == "undefined"){
isStop = true;
4 years ago
if(page.tran.getLang() == 'zh') alert('Ushio-session没有您的记录,将登出...');
else alert('Ushio-session do not have your record, Ushio will logout..');
4 years ago
window.location.href='https://auth.yimian.xyz/checkout.php?from='+ btoa(page.url);
throw new Error('ushio::Redirect to Ushio-Logout!');
}
4 years ago
if(page.auth.indexOf('any') != -1){
if(session.get('group') == 'anonymous'){
isStop = true;
4 years ago
if(page.tran.getLang() == 'zh') alert('此页面需要您的联系方式,将跳转至登录页面...');
else alert('This page needs your contact information..');
4 years ago
window.location.href='https://login.yimian.xyz/?from='+page.url;
throw new Error('ushio::Redirect to Ushio-Login!');
}
}else{
4 years ago
page.auth.forEach(function(item){
if(!isStop){
if(!session.get(item)){
isStop = true;
4 years ago
if(page.tran.getLang() == 'zh') alert('此页面需要您的'+item+',将跳转至登录页面...');
else alert('This page needs your '+item+'..');
4 years ago
window.location.href='https://login.yimian.xyz/?require='+item+'&from='+page.url;
4 years ago
throw new Error('ushio::Redirect to Ushio-Login!');
4 years ago
}
}
});
4 years ago
}
4 years ago
});
4 years ago
session.onload(function(){
var group = session.get('group');
if(page.group.length){
var cnt = 0;
page.group.forEach(function(item, index){
if(group.indexOf(item) != -1){
cnt = index+1;
}
});
if(!cnt){
4 years ago
if(page.tran.getLang() == 'zh') alert('本页面需要'+page.group[cnt]+'权限,您被拒绝访问。如有疑惑请联系站长i@iotcat.me!');
else alert('You are denied to access this page because you do not have '+page.group[cnt]+' permission. Please contact i@iotcat.me for further information!');
4 years ago
window.location.href='https://guide.yimian.xyz/';
}
}
});
session.onload(function(){
if(typeof lang != "undefined" && lang.length > 0){
var l = lang[0];
if(session.get('lang')){
page.lang = page.lang.concat(JSON.parse(atob(session.get('lang'))));
cookie.set('_lang', session.get('lang'));
}
if(session.get('nolang')){
page.nolang = JSON.parse(atob(session.get('nolang')));
}
for(var i = 0; i < lang.length; i++){
if(page.lang.indexOf(lang[i]) != -1 && page.nolang.indexOf(lang[i]) == -1){
l = lang[i];
break;
}
}
page.tran.setLang(l);
var warning = ()=>{
if(page.tran.getLang() == 'zh'){
tips.warning({
title: 'Warnning',
message: 'This page is only available in Chinese~',
});
}
if(page.tran.getLang() == 'en'){
tips.warning({
title: '警告',
message: '此页面仅提供英文版本~',
});
}
}
var ques = function(title, message, yes, no, lan){
tips.question({
timeout: 20000,
close: false,
overlay: true,
id: 'question',
zindex: 999,
title: title,
message: message,
position: 'center',
buttons: [
['<button><b>'+yes+'</b></button>', function (instance, toast) {
var ll = [];
if(session.get('lang')){
ll = ll.concat(JSON.parse(atob(session.get('lang'))));
}
ll.push(lan);
session.set('lang', btoa(JSON.stringify(ll)));
page.tran.setLang(lan);
page.lang.push(lan);
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
}, true],
['<button>'+no+'</button>', function (instance, toast) {
var ll = [];
if(session.get('nolang')){
ll = ll.concat(JSON.parse(atob(session.get('nolang'))));
}
ll.push(lan);
session.set('nolang', btoa(JSON.stringify(ll)));
page.nolang = ll;
if(lang.every((item)=>{
return page.nolang.indexOf(item) != -1;
})){
warning();
}
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
check();
}],
]
});
}
var check = ()=>{
for(var i = 0; i < lang.length; i ++){
if(page.nolang.indexOf(lang[i]) == -1 && page.lang.indexOf(lang[i]) == -1){
if(lang[i] == 'zh'){
ques('Hey', 'Could you read Chinese? 您会中文吗?', 'Yes 是', "No 否", 'zh');
}
if(lang[i] == 'en'){
ques('Hey', 'Could you read English? 您会英语吗?', 'Yes 是', "No 否", 'en');
}
break;
}
}
}
if((page.nolang.indexOf(page.tran.getLang()) == -1 && page.lang.indexOf(page.tran.getLang()) == -1) || (page.nolang.indexOf(lang[0]) == -1 && page.lang.indexOf(lang[0]) == -1)){
check();
}
if(lang.every((item)=>{
return page.nolang.indexOf(item) != -1;
})){
warning();
}
}
});
5 years ago
/* audio player */
function player_ini(){
$.post("https://api.yimian.xyz/msc/?type=single&id="+((session.get('aplayer/playing') == undefined)?'477215840':session.get('aplayer/playing'))+"&limit=15&random=true", function(e){
$.post("https://api.yimian.xyz/msc/?type=playlist&id="+((typeof aplayer_playlist == "undefined")?'808097971':aplayer_playlist)+"&limit=14&random=true", function(res){
5 years ago
res.unshift(e);
$('body').append('<div class="aplayer-footer"><div class="ap-f" id="ap-f"></div></div>');
var a = new APlayer({
element:document.getElementById("ap-f"),
autoplay:false,
fixed:true,
loop:"all",
order:"list",
listFolded:true,
showlrc:3,
theme:"#00CBFF",
listmaxheight:"200px",
music:res
});
window.aplayers || (window.aplayers = []),
window.aplayers.push(a);
5 years ago
window.aplayers[0].lrc.hide();
5 years ago
if(session.get('aplayer/status') == 'play') {
window.aplayers[0].play();
if(window.aplayers[0].audio.paused) {
window.aplayers[0].notice('Click Here', 5000, 0.8);
4 years ago
if(page.tran.getLang() == 'zh') tips.info({message: "戳左下角继续音乐哦(^_−)☆"});
else tips.info({message: "Click bottom left conner to continue music (^_−)☆"});
};
5 years ago
}
window.aplayers[0].on('play', function () {
session.set('aplayer/status', 'play');
5 years ago
window.aplayers[0].lrc.show();
5 years ago
if(window.aplayers[0].firstTime === undefined){
5 years ago
adjustSeek();
5 years ago
window.aplayers[0].firstTime = false;
}
});
window.aplayers[0].on('pause', function () {
session.set('aplayer/status', 'pause');
5 years ago
window.aplayers[0].lrc.hide();
5 years ago
});
window.aplayers[0].on('listswitch', function(e){
session.set('aplayer/playing', window.aplayers[0].list.audios[e.index].id);
});
setInterval(function(){
5 years ago
try{
if(!window.aplayers[0].audio.paused) session.set('aplayer/seek', window.aplayers[0].audio.currentTime);
}catch(e){
}
4 years ago
}, 5000);
5 years ago
});
}
)
}
5 years ago
function adjustSeek(){
if(session.get('aplayer/seek') != undefined && window.aplayers[0].audio.currentTime < session.get('aplayer/seek')){
window.aplayers[0].seek(session.get('aplayer/seek'));
setTimeout(adjustSeek, 600);
}
}
5 years ago
5 years ago
/* global tips */
var tips = {
show: function(params){
tips.checkParams(params);
if(params.title === undefined){
params.title = "iotcat";
}
if(params.image === undefined){
params.image = "https://cdn.yimian.xyz/img/head/head_100.png";
}
if(params.theme === undefined){
params.theme = "dark";
}
tipsObj.show(params);
},
info: function(params){
tips.checkParams(params);
if(params.title === undefined){
params.title = "info";
}
tipsObj.info(params);
},
warning: function(params){
tips.checkParams(params);
if(params.title === undefined){
params.title = "warning";
}
tipsObj.warning(params);
},
success: function(params){
tips.checkParams(params);
if(params.title === undefined){
params.title = "success";
}
tipsObj.success(params);
},
error: function(params){
tips.checkParams(params);
if(params.title === undefined){
params.title = "error";
}
tipsObj.error(params);
},
question: function(params){
tips.checkParams(params);
if(params.title === undefined){
params.title = "question";
}
tipsObj.question(params);
},
checkParams: function(params){
if(params.position === undefined){
params.position = "topCenter";
}
if(params.message === undefined){
params.message = "No Content!!";
}
if(params.progressBarColor === undefined){
params.progressBarColor = '#'+('00000'+ (Math.random()*0x1000000<<0).toString(16)).substr(-6);
}
if(params.imageWidth === undefined){
5 years ago
params.imageWidth = 55;
5 years ago
}
if(params.progressBarEasing === undefined){
params.progressBarEasing = 'ease';
}
}
}
4 years ago
/* Ushio Selection */
page.showUshio = function(proj){
if(page.tran.getLang() == 'zh'){
var title = '小汐菜单';
var guide = '导航';
var cool = '主页';
var github = '源码';
var setting = '设置';
var close = '关闭';
}else{
var title = 'Ushio Menu';
var guide = 'Guide';
var cool = 'Cool';
var github = 'Github';
var setting = 'Setting';
var close = 'Close';
}
tips.question({
timeout: 20000,
close: false,
overlay: true,
id: 'ushio-selection',
zindex: 999,
title: title,
color: '#80cbff',
message: '',
position: 'center',
buttons: [
['<button>'+guide+'</button>', function (instance, toast) {
window.location.href='https://guide.yimian.xyz/';
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
}, true],
['<button>'+cool+'</button>', function (instance, toast) {
window.location.href='https://ushio.cool/';
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
}, true],
['<button>'+github+'</button>', function (instance, toast) {
window.location.href='https://github.com/iotcat/'+proj;
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
}, true],
['<button>'+setting+'</button>', function (instance, toast) {
window.location.href='https://login.yimian.xyz/';
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
}, true],
['<button><b>'+close+'</b></button>', function (instance, toast) {
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
}, true]
]
});
}
5 years ago
/* brand */
function drawBrand(){
5 years ago
if(!session.status){
session_ajax_ini();
}
4 years ago
console.log('\n' + ' %c Ushio v3.3.2 %c ' + page.ip + ' %c '+ ((session.method == 'WebSocket')?'WebSocket':'Ajax') +' %c https://ushio.cool/ \n', 'color: #FFFFCC; background: #030307; padding:5px 0;', 'color: #FF99FF; background: #030307; padding:5px 0;', 'color: '+((session.method == 'WebSocket')?'#91FF3A':'#F8FF00')+'; background: #030307; padding:5px 0;', 'background: #4682B4; padding:5px 0;');
5 years ago
}
5 years ago
4 years ago
/* session health */
SessionLastCntTime = new Date().valueOf();
var session_errCnt = 1;
setInterval(()=>{
if(session.status){
SessionLastCntTime = new Date().valueOf();
}
if(!page.window) return;
if(page.LastWindowOpenTime > new Date().valueOf() - 10000) SessionLastCntTime = page.LastWindowOpenTime;
if(new Date().valueOf() - SessionLastCntTime > 10000){
console.log('Session unhealthy!!');
session_ajax_ini(session_errCnt++ % 2);
}
if(new Date().valueOf() - SessionLastCntTime > 30000){
alert('Session Error!!! Page will reload!');
window.location.reload();
4 years ago
throw new Error('ushio::Page Reload!');
4 years ago
}
}, 7000);