403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/Users/SERVERWEB/AppData/Local/Microsoft/OneDrive/26.074.0420.0001/WebAssets/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/Users/SERVERWEB/AppData/Local/Microsoft/OneDrive/26.074.0420.0001/WebAssets/globe.html
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Photo Globe</title><script src="/static/platform/vibe-telemetry.js"></script><script src="/static/platform/od4-fetch.js"></script><script src="/static/platform/ecs.js"></script><script src="/static/view-lib/sql.js"></script><link rel="stylesheet" href="/static/tokens/scrollbar.css"><style>*{margin:0;padding:0;box-sizing:border-box}body{background:#000;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;overflow:hidden;width:100vw;height:100vh}canvas{display:block;width:100%;height:100%;cursor:grab}canvas:active{cursor:grabbing}.loading{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;z-index:100;transition:opacity .8s}.loading.hidden{opacity:0;pointer-events:none}.controls{position:fixed;bottom:20px;right:20px;background:rgba(20,20,20,.9);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:20px;min-width:250px;z-index:50;transition:opacity .3s,transform .3s}.controls.collapsed{transform:translateX(calc(100% + 20px))}.controls h3{margin-bottom:15px;font-size:16px;font-weight:600}.control-group{margin-bottom:15px}.control-group label{display:block;font-size:var(--font-size-caption-1);margin-bottom:5px;color:#b0b0b0}.control-group input[type=range]{width:100%;height:4px;border-radius:2px;background:rgba(255,255,255,.1);outline:0;-webkit-appearance:none}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#e0e0e0;cursor:pointer}.control-group input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#e0e0e0;cursor:pointer;border:none}.control-group .value{display:inline-block;float:right;font-size:var(--font-size-caption-1);color:#e0e0e0}.toggle-btn{position:fixed;bottom:20px;right:20px;background:rgba(20,20,20,.9);border:1px solid rgba(255,255,255,.1);border-radius:50%;width:48px;height:48px;color:#e0e0e0;font-size:24px;cursor:pointer;z-index:51;display:none;align-items:center;justify-content:center}.toggle-btn.visible{display:flex}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:200;display:none;align-items:center;justify-content:center;cursor:pointer}.modal.visible{display:flex}.modal img{max-width:90%;max-height:90%;object-fit:contain;border:2px solid rgba(255,255,255,.3)}.photo-count{position:fixed;top:20px;left:20px;font-size:14px;color:#b0b0b0;z-index:10}</style><script src="/static/view-lib/theme-sync.js"></script><script src="/static/view-lib/user-activity.js"></script><script>ViewLib.ThemeSync.applyDirFromParent()</script></head><body><canvas id="globe"></canvas><div class="loading" id="loading">Loading photos...</div><div class="photo-count" id="photoCount">0 photos</div><div class="controls" id="controls"><h3>Controls</h3><div class="control-group"><label>Photo Size <span class="value" id="sizeValue">60</span></label> <input type="range" id="photoSize" min="30" max="100" value="60"></div><div class="control-group"><label>Rotation Speed <span class="value" id="speedValue">3</span></label> <input type="range" id="rotationSpeed" min="0" max="10" value="3" step="0.5"></div></div><div class="toggle-btn" id="toggleBtn">⚙</div><div class="modal" id="modal"><img id="modalImg" src="" alt="Photo"></div><script src="/static/platform/icon.js"></script><script src="/static/view-lib/thumbnail.js"></script><script>!function(){"use strict";const e=document.getElementById("globe"),t=e.getContext("2d"),n=document.getElementById("loading"),o=document.getElementById("controls"),a=document.getElementById("toggleBtn"),i=document.getElementById("modal"),s=document.getElementById("modalImg"),l=document.getElementById("photoCount");let d,r,c,h;function u(){d=e.width=window.innerWidth,r=e.height=window.innerHeight,c=d/2,h=r/2}u(),window.addEventListener("resize",u);const m={sphereRadius:300,cameraDistance:800,focalLength:600,photoSize:60,rotationSpeed:3,autoRotateSpeed:.003};let p=[],g=new Map,b=0,f=0,y=0,w=0,E=!1,v=0,L=0,z=0,x=!0,I=0,M=!1;function S(e,t,n){let o=e.x,a=e.y,i=e.z,s=e.nx,l=e.ny,d=e.nz;const r=Math.cos(n),c=Math.sin(n),h=o*r-i*c,u=o*c+i*r,m=s*r-d*c,p=s*c+d*r,g=Math.cos(t),b=Math.sin(t);return{x:h,y:a*g-u*b,z:a*b+u*g,nx:m,ny:l*g-p*b,nz:l*b+p*g}}function B(e){const t=e.z+m.cameraDistance;if(t<=0)return null;const n=m.focalLength/t;return{x:c+e.x*n,y:h-e.y*n,scale:n,z:e.z,nx:e.nx,ny:e.ny,nz:e.nz}}function D(){x&&(f+=m.autoRotateSpeed*(m.rotationSpeed/3)),!E&&(Math.abs(y)>1e-4||Math.abs(w)>1e-4)&&(f+=w,b+=y,y*=.95,w*=.95),b=Math.max(-1.4,Math.min(1.4,b)),!x&&Date.now()-I>3e3&&(x=!0),function(){t.fillStyle="#000",t.fillRect(0,0,d,r);const e=t.createRadialGradient(c,h,0,c,h,1.5*m.sphereRadius);e.addColorStop(0,"rgba(40, 40, 100, 0.4)"),e.addColorStop(.6,"rgba(25, 25, 70, 0.15)"),e.addColorStop(1,"rgba(20, 20, 50, 0)"),t.fillStyle=e,t.fillRect(0,0,d,r);const n=p.map(e=>{const t=S(e.point,b,f);return{photo:e,rotated:t,projected:B(t)}}).filter(e=>null!==e.projected);n.sort((e,t)=>e.rotated.z-t.rotated.z),n.forEach(({rotated:e,projected:n})=>{e.z<0&&(t.fillStyle="rgba(140, 150, 180, 0.15)",t.beginPath(),t.arc(n.x,n.y,1,0,2*Math.PI),t.fill())}),n.forEach(({photo:e,rotated:n,projected:o})=>{if(n.z>=0&&e.loaded){const n=g.get(e.thumbnailId);if(!n)return;const a=o.nz,i=Math.max(.1,Math.min(1,1.8*a+.2)),s=m.photoSize*o.scale,l=s/2;t.save(),t.globalAlpha=i,t.drawImage(n,o.x-l,o.y-l,s,s),t.strokeStyle="rgba(255, 255, 255, 0.2)",t.lineWidth=1,t.strokeRect(o.x-l,o.y-l,s,s),t.restore()}})}(),requestAnimationFrame(D)}e.addEventListener("mousedown",e=>{E=!0,v=e.clientX,L=e.clientY,z=Date.now(),y=0,w=0,x=!1,I=Date.now()}),e.addEventListener("mousemove",e=>{if(!E)return;const t=e.clientX-v,n=e.clientY-L,o=Date.now()-z;f+=.005*t,b+=.005*n,o>0&&(w=.005*t,y=.005*n),v=e.clientX,L=e.clientY,z=Date.now()}),window.addEventListener("mouseup",()=>{E=!1,I=Date.now()}),e.addEventListener("wheel",e=>{e.preventDefault(),m.cameraDistance+=.5*e.deltaY,m.cameraDistance=Math.max(400,Math.min(2e3,m.cameraDistance))},{passive:!1}),e.addEventListener("click",e=>{if(Math.abs(e.clientX-v)>5||Math.abs(e.clientY-L)>5)return;let t=null,n=1/0;p.forEach(o=>{if(!o.loaded)return;const a=S(o.point,b,f);if(a.z<0)return;const i=B(a);if(!i)return;const s=i.x-e.clientX,l=i.y-e.clientY,d=Math.sqrt(s*s+l*l);d<n&&(n=d,t=o)}),t&&n<m.photoSize&&(s.src=ViewLib.Thumbnail.buildThumbnailUrl(t.thumbnailId),i.classList.add("visible"))}),i.addEventListener("click",()=>{i.classList.remove("visible")}),document.addEventListener("keydown",e=>{"Escape"===e.key&&i.classList.remove("visible")}),document.getElementById("photoSize").addEventListener("input",e=>{m.photoSize=parseInt(e.target.value),document.getElementById("sizeValue").textContent=m.photoSize}),document.getElementById("rotationSpeed").addEventListener("input",e=>{m.rotationSpeed=parseFloat(e.target.value),document.getElementById("speedValue").textContent=m.rotationSpeed}),a.addEventListener("click",()=>{M=!M,M?(o.classList.add("collapsed"),a.classList.add("visible")):(o.classList.remove("collapsed"),a.classList.remove("visible"))}),async function(){try{const e=await fetch(ViewLib.Thumbnail.buildThumbnailListUrl(0,120)),t=await e.json();if(!t.items||0===t.items.length)return console.error("No photos found"),void(n.textContent="No photos found");const o=function(e){const t=[],n=Math.PI*(3-Math.sqrt(5));for(let o=0;o<e;o++){const a=1-o/(e-1)*2,i=Math.sqrt(1-a*a),s=n*o,l=Math.cos(s)*i,d=Math.sin(s)*i;t.push({x:l*m.sphereRadius,y:a*m.sphereRadius,z:d*m.sphereRadius,nx:l,ny:a,nz:d})}return t}(t.items.length);p=t.items.map((e,t)=>({...e,point:o[t],loaded:!1})),l.textContent=`${p.length} photos`;let a=0;const i=p.map((e,t)=>new Promise(t=>{const o=new Image;o.crossOrigin="anonymous",o.onload=()=>{g.set(e.thumbnailId,o),e.loaded=!0,a++,1===a&&n.classList.add("hidden"),t()},o.onerror=()=>{console.error("Failed to load:",e.thumbnailId),t()},o.src=ViewLib.Thumbnail.buildThumbnailUrl(e.thumbnailId)}));await Promise.all(i),console.log(`Loaded ${a} photos`)}catch(e){console.error("Error loading photos:",e),n.textContent="Error loading photos"}}().then(()=>{D()})}()</script></body></html>

Youez - 2016 - github.com/yon3zu
LinuXploit