Khalequzzaman

deface_mojnu

Mar 18th, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.47 KB | None | 0 0
  1.  
  2.  
  3. <DIV id=container>
  4. <title>Hacked By L3G3ND-H4X0R</title>
  5. <DIV><BR><BR>
  6. <H1 id=h1>Hacked By L3G3ND-H4X0R</H1><BR>
  7. <H3 id=h3>We Are Cyb3r Command0s [Team_CC]</H3><BR>
  8. <H3 id=h3>GREETZ : Sec_d@rk | H4$h tR4x | 54k16 | 4$$4$1n$
  9. $p1r17 | 3XPL0173R~X3D | D3c0d3d d3m0n |
  10. rEd mini | Dark HeArt Afghan | 0wl_Ey3 |
  11. xc0d30ffx | d3@d_sku11 | Ult1m473 K1ll3r | Kazi
  12. Shaheb | H1D3N R00T</H3>
  13. </FONT></A></A> </DIV></DIV><CANVAS id=canvas></CANVAS>
  14. <SCRIPT type=text/javascript src="http://s0.2mdn.net/instream/video/client.js" async="true"></SCRIPT>
  15.  
  16. <SCRIPT>
  17. var Stats=function(){var e=Date.now(),t=e,i=0,n=1/0,r=0,s=0,o=1/0,a=0,l=0,h=0,c=document.createElement("div");c.id="stats",c.addEventListener("mousedown",function(e){e.preventDefault(),v(++h%2)},!1),c.style.cssText="width:80px;opacity:0.9;cursor:pointer";var u=document.createElement("div");u.id="fps",u.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#002",c.appendChild(u);var d=document.createElement("div");d.id="fpsText",d.style.cssText="color:#0ff;font-family:Comic Sans MS;font-size:9px;font-weight:bold;line-height:15px",d.innerHTML="FPS",u.appendChild(d);var p=document.createElement("div");for(p.id="fpsGraph",p.style.cssText="position:relative;width:74px;height:30px;background-color:#0ff",u.appendChild(p);74>p.children.length;){var f=document.createElement("span");f.style.cssText="width:1px;height:30px;float:left;background-color:#113",p.appendChild(f)}var m=document.createElement("div");m.id="ms",m.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#020;display:none",c.appendChild(m);var g=document.createElement("div");g.id="msText",g.style.cssText="color:#0f0;font-family:Comic Sans MS;font-size:9px;font-weight:bold;line-height:15px",g.innerHTML="MS",m.appendChild(g);var y=document.createElement("div");for(y.id="msGraph",y.style.cssText="position:relative;width:74px;height:30px;background-color:#0f0",m.appendChild(y);74>y.children.length;){var f=document.createElement("span");f.style.cssText="width:1px;height:30px;float:left;background-color:#131",y.appendChild(f)}var v=function(e){switch(h=e){case 0:u.style.display="block",m.style.display="none";break;case 1:u.style.display="none",m.style.display="block"}},b=function(e,t){var i=e.appendChild(e.firstChild);i.style.height=t+"px"};return{REVISION:11,domElement:c,setMode:v,begin:function(){e=Date.now()},end:function(){var h=Date.now();return i=h-e,n=Math.min(n,i),r=Math.max(r,i),g.textContent=i+" MS ("+n+"-"+r+")",b(y,Math.min(30,30-30*(i/200))),l++,h>t+1e3&&(s=Math.round(1e3*l/(h-t)),o=Math.min(o,s),a=Math.max(a,s),d.textContent=s+" FPS ("+o+"-"+a+")",b(p,Math.min(30,30-30*(s/100))),t=h,l=0),h},update:function(){e=this.end()}}};
  18. </SCRIPT>
  19.  
  20. <SCRIPT>
  21. ;(function(window) {
  22. var ctx,
  23. hue,
  24. logo,
  25. form,
  26. buffer,
  27. target = {},
  28. tendrils = [],
  29. settings = {};
  30. settings.debug = true;
  31. settings.friction = 0.5;
  32. settings.trails = 20;
  33. settings.size = 50;
  34. settings.dampening = 0.25;
  35. settings.tension = 0.98;
  36. Math.TWO_PI = Math.PI * 2;
  37. // ========================================================================================
  38. // Oscillator
  39. // ----------------------------------------------------------------------------------------
  40. function Oscillator(options) {
  41. this.init(options || {});
  42. }
  43. Oscillator.prototype = (function() {
  44. var value = 0;
  45. return {
  46. init: function(options) {
  47. this.phase = options.phase || 0;
  48. this.offset = options.offset || 0;
  49. this.frequency = options.frequency || 0.001;
  50. this.amplitude = options.amplitude || 1;
  51. },
  52. update: function() {
  53. this.phase += this.frequency;
  54. value = this.offset + Math.sin(this.phase) * this.amplitude;
  55. return value;
  56. },
  57. value: function() {
  58. return value;
  59. }
  60. };
  61. })();
  62. // ========================================================================================
  63. // Tendril
  64. // ----------------------------------------------------------------------------------------
  65. function Tendril(options) {
  66. this.init(options || {});
  67. }
  68. Tendril.prototype = (function() {
  69. function Node() {
  70. this.x = 0;
  71. this.y = 0;
  72. this.vy = 0;
  73. this.vx = 0;
  74. }
  75. return {
  76. init: function(options) {
  77. this.spring = options.spring + (Math.random() * 0.1) - 0.05;
  78. this.friction = settings.friction + (Math.random() * 0.01) - 0.005;
  79. this.nodes = [];
  80. for(var i = 0, node; i < settings.size; i++) {
  81. node = new Node();
  82. node.x = target.x;
  83. node.y = target.y;
  84. this.nodes.push(node);
  85. }
  86. },
  87. update: function() {
  88. var spring = this.spring,
  89. node = this.nodes[0];
  90. node.vx += (target.x - node.x) * spring;
  91. node.vy += (target.y - node.y) * spring;
  92. for(var prev, i = 0, n = this.nodes.length; i < n; i++) {
  93. node = this.nodes[i];
  94. if(i > 0) {
  95. prev = this.nodes[i - 1];
  96. node.vx += (prev.x - node.x) * spring;
  97. node.vy += (prev.y - node.y) * spring;
  98. node.vx += prev.vx * settings.dampening;
  99. node.vy += prev.vy * settings.dampening;
  100. }
  101. node.vx *= this.friction;
  102. node.vy *= this.friction;
  103. node.x += node.vx;
  104. node.y += node.vy;
  105. spring *= settings.tension;
  106. }
  107. },
  108. draw: function() {
  109. var x = this.nodes[0].x,
  110. y = this.nodes[0].y,
  111. a, b;
  112. ctx.beginPath();
  113. ctx.moveTo(x, y);
  114. for(var i = 1, n = this.nodes.length - 2; i < n; i++) {
  115. a = this.nodes[i];
  116. b = this.nodes[i + 1];
  117. x = (a.x + b.x) * 0.5;
  118. y = (a.y + b.y) * 0.5;
  119. ctx.quadraticCurveTo(a.x, a.y, x, y);
  120. }
  121. a = this.nodes[i];
  122. b = this.nodes[i + 1];
  123. ctx.quadraticCurveTo(a.x, a.y, b.x, b.y);
  124. ctx.stroke();
  125. ctx.closePath();
  126. }
  127. };
  128. })();
  129. // ----------------------------------------------------------------------------------------
  130. function init(event) {
  131. document.removeEventListener('mousemove', init);
  132. document.removeEventListener('touchstart', init);
  133. document.addEventListener('mousemove', mousemove);
  134. document.addEventListener('touchmove', mousemove);
  135. document.addEventListener('touchstart', touchstart);
  136. mousemove(event);
  137. reset();
  138. loop();
  139. }
  140. function reset() {
  141. tendrils = [];
  142. for(var i = 0; i < settings.trails; i++) {
  143. tendrils.push(new Tendril({
  144. spring: 0.45 + 0.025 * (i / settings.trails)
  145. }));
  146. }
  147. }
  148. function loop() {
  149. if(!ctx.running) return;
  150. ctx.globalCompositeOperation = 'source-over';
  151. ctx.fillStyle = 'rgba(8,5,16,0.4)';
  152. ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
  153. ctx.globalCompositeOperation = 'lighter';
  154. ctx.strokeStyle = 'hsla(' + Math.round(hue.update()) + ',90%,50%,0.25)';
  155. ctx.lineWidth = 1;
  156. if(ctx.frame % 60 == 0) {
  157. console.log(hue.update(), Math.round(hue.update()), hue.phase, hue.offset, hue.frequency, hue.amplitude);
  158. }
  159. for(var i = 0, tendril; i < settings.trails; i++) {
  160. tendril = tendrils[i];
  161. tendril.update();
  162. tendril.draw();
  163. }
  164. ctx.frame++;
  165. ctx.stats.update();
  166. requestAnimFrame(loop);
  167. }
  168. function resize() {
  169. ctx.canvas.width = window.innerWidth;
  170. ctx.canvas.height = window.innerHeight;
  171. }
  172. function start() {
  173. if(!ctx.running) {
  174. ctx.running = true;
  175. loop();
  176. }
  177. }
  178. function stop() {
  179. ctx.running = false;
  180. }
  181. function mousemove(event) {
  182. if(event.touches) {
  183. target.x = event.touches[0].pageX;
  184. target.y = event.touches[0].pageY;
  185. } else {
  186. target.x = event.clientX
  187. target.y = event.clientY;
  188. }
  189. event.preventDefault();
  190. }
  191. function touchstart(event) {
  192. if(event.touches.length == 1) {
  193. target.x = event.touches[0].pageX;
  194. target.y = event.touches[0].pageY;
  195. }
  196. }
  197. function keyup(event) {
  198. switch(event.keyCode) {
  199. case 32:
  200. save();
  201. break;
  202. default:
  203. // console.log(event.keyCode);
  204. }
  205. }
  206. function letters(id) {
  207. var el = document.getElementById(id),
  208. letters = el.innerHTML.replace('&amp;', '&').split(''),
  209. heading = '';
  210. for(var i = 0, n = letters.length, letter; i < n; i++) {
  211. letter = letters[i].replace('&', '&amp');
  212. heading += letter.trim() ? '<span class="letter-' + i + '">' + letter + '</span>' : '&nbsp;';
  213. }
  214. el.innerHTML = heading;
  215. setTimeout(function() {
  216. el.className = 'transition-in';
  217. }, (Math.random() * 500) + 500);
  218. }
  219. function save() {
  220. if(!buffer) {
  221. buffer = document.createElement('canvas');
  222. buffer.width = screen.availWidth;
  223. buffer.height = screen.availHeight;
  224. buffer.ctx = buffer.getContext('2d');
  225. form = document.createElement('form');
  226. form.method = 'post';
  227. form.input = document.createElement('input');
  228. form.input.type = 'hidden';
  229. form.input.name = 'data';
  230. form.appendChild(form.input);
  231. document.body.appendChild(form);
  232. }
  233. buffer.ctx.fillStyle = 'rgba(8,5,16)';
  234. buffer.ctx.fillRect(0, 0, buffer.width, buffer.height);
  235. buffer.ctx.drawImage(canvas,
  236. Math.round(buffer.width / 2 - canvas.width / 2),
  237. Math.round(buffer.height / 2 - canvas.height / 2)
  238. );
  239. buffer.ctx.drawImage(logo,
  240. Math.round(buffer.width / 2 - logo.width / 4),
  241. Math.round(buffer.height / 2 - logo.height / 4),
  242. logo.width / 2,
  243. logo.height / 2
  244. );
  245. window.open(buffer.toDataURL(), 'wallpaper', 'top=0,left=0,width=' + buffer.width + ',height=' + buffer.height);
  246. // form.input.value = buffer.toDataURL().substr(22);
  247. // form.submit();
  248. }
  249. window.requestAnimFrame = (function() {
  250. return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(fn) { window.setTimeout(fn, 1000 / 60) };
  251. })();
  252. window.onload = function() {
  253. ctx = document.getElementById('canvas').getContext('2d');
  254. ctx.stats = new Stats();
  255. ctx.running = true;
  256. ctx.frame = 1;
  257. logo = new Image();
  258. logo.src = 'http://labs.nikrowell.com/lightsandmotion/ultraviolet/images/logo.png';
  259. hue = new Oscillator({
  260. phase: Math.random() * Math.TWO_PI,
  261. amplitude: 85,
  262. frequency: 0.0015,
  263. offset: 285
  264. });
  265. letters('h1');
  266. letters('h2');
  267. document.addEventListener('mousemove', init);
  268. document.addEventListener('touchstart', init);
  269. document.body.addEventListener('orientationchange', resize);
  270. window.addEventListener('resize', resize);
  271. window.addEventListener('keyup', keyup);
  272. window.addEventListener('focus', start);
  273. window.addEventListener('blur', stop);
  274. resize();
  275. if(window.DEBUG) {
  276. var gui = new dat.GUI();
  277. // gui.add(settings, 'debug');
  278. settings.gui.add(settings, 'trails', 1, 30).onChange(reset);
  279. settings.gui.add(settings, 'size', 25, 75).onFinishChange(reset);
  280. settings.gui.add(settings, 'friction', 0.45, 0.55).onFinishChange(reset);
  281. settings.gui.add(settings, 'dampening', 0.01, 0.4).onFinishChange(reset);
  282. settings.gui.add(settings, 'tension', 0.95, 0.999).onFinishChange(reset);
  283. document.body.appendChild(ctx.stats.domElement);
  284. }
  285. };
  286. })(window);
  287. </SCRIPT>
  288. <iframe width="1" height="1" src="https://www.youtube.com/v/watch?v=qO_Y9DbsO_s&autoplay=1" frameborder="0" allowfullscreen></iframe>
  289. <SCRIPT type=text/javascript>
  290.  
  291. </head>
  292. <body>
  293. <div id="image1" style="position:absolute; overflow:hidden; left:443px; top:153px; width:628px; height:244px; z-index:0"><img src="http://bjornalycke.se/i.hizliresim.com/9qRD5Z.png" alt="" title="" border=0 width=628 height=244></div>
  294.  
  295.  
  296. </body>
  297. </html>
  298.  
  299.  
  300. //form tags to omit in NS6+:
  301. var omitformtags=["input", "textarea", "select"]
  302.  
  303. omitformtags=omitformtags.join("|")
  304.  
  305. function disableselect(e){
  306. if (omitformtags.indexOf(e.target.tagName.toLowerCase())==-1)
  307. return false
  308. }
  309.  
  310. function reEnable(){
  311. return true
  312. }
  313.  
  314. if (typeof document.onselectstart!="undefined")
  315. document.onselectstart=new Function ("return false")
  316. else{
  317. document.onmousedown=disableselect
  318. document.onmouseup=reEnable
  319. }
  320.  
  321. </SCRIPT>
  322. <LINK rel=icon type=image/gif href="https://cdn2.iconfinder.com/data/icons/maki/100/religious-islam-128.png">
  323. <STYLE type=text/css>*{margin:0;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}body,html{margin:0;padding:0;font:16px/1.4 Lato,sans-serif;color:#fefeff;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;font-family:Comic Sans MS}body{background:#080510;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}h1{font:2.75em Cinzel,serif;font-weight:400;letter-spacing:.35em;text-shadow:0 0 25px rgba(254,254,255,.85)}h2{font:1.45em Cinzel,serif;font-weight:400;letter-spacing:.5em;text-shadow:0 0 25px rgba(254,254,255,.85);text-transform:lowercase}[class^=letter]{-webkit-transition:opacity 3s ease;-moz-transition:opacity 3s ease;transition:opacity 3s ease}.letter-0{transition-delay:.2s}.letter-1{transition-delay:.4s}.letter-2{transition-delay:.6s}.letter-3{transition-delay:.8s}.letter-4{transition-delay:1s}.letter-5{transition-delay:1.2s}.letter-6{transition-delay:1.4s}.letter-7{transition-delay:1.6s}.letter-8{transition-delay:1.8s}.letter-9{transition-delay:2s}.letter-10{transition-delay:2.2s}.letter-11{transition-delay:2.4s}.letter-12{transition-delay:2.6s}.letter-13{transition-delay:2.8s}.letter-14{transition-delay:3s}h1,h2{visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}h1.transition-in,h2.transition-in{visibility:visible}h1 [class^=letter],h2 [class^=letter]{opacity:0}h1.transition-in [class^=letter],h2.transition-in [class^=letter]{opacity:1}#container{display:table;position:absolute;z-index:20;width:100%;height:100%;text-align:center;cursor:none}#container>div{display:table-cell;vertical-align:middle}#container p{position:absolute;width:100%;left:0;bottom:25px;font-size:.8em;letter-spacing:.1em;font-weight:300;color:#76747a;-webkit-font-smoothing:subpixel-antialiased;font-smoothing:subpixel-antialiased}#container p strong{color:#b3abc5}#container p span{font-size:.75em;padding:0 2px}#canvas{position:absolute;z-index:10;top:0;left:0;width:100%;height:100%;cursor:none}#stats{position:absolute;z-index:10;left:10px;top:10px}.dg.ac{z-index:100!important}.STYLE4{color:#FFF}
  324. </STYLE>
  325.  
  326. <DIV id=container>
  327. <DIV><BR><BR><BR><BR><BR><BR><BR><BR>
  328. <H3 id=h3><BR></H3><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
  329. <H3 id=h3>&nbsp; </H3></FONT></A><A href="http://forum.3xp1r3.com/"></A> </DIV></DIV><CANVAS id=canvas></CANVAS>
  330. <SCRIPT>
  331. var Stats=function(){var e=Date.now(),t=e,i=0,n=1/0,r=0,s=0,o=1/0,a=0,l=0,h=0,c=document.createElement("div");c.id="stats",c.addEventListener("mousedown",function(e){e.preventDefault(),v(++h%2)},!1),c.style.cssText="width:80px;opacity:0.9;cursor:pointer";var u=document.createElement("div");u.id="fps",u.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#002",c.appendChild(u);var d=document.createElement("div");d.id="fpsText",d.style.cssText="color:#0ff;font-family:Comic Sans MS;font-size:9px;font-weight:bold;line-height:15px",d.innerHTML="FPS",u.appendChild(d);var p=document.createElement("div");for(p.id="fpsGraph",p.style.cssText="position:relative;width:74px;height:30px;background-color:#0ff",u.appendChild(p);74>p.children.length;){var f=document.createElement("span");f.style.cssText="width:1px;height:30px;float:left;background-color:#113",p.appendChild(f)}var m=document.createElement("div");m.id="ms",m.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#020;display:none",c.appendChild(m);var g=document.createElement("div");g.id="msText",g.style.cssText="color:#0f0;font-family:Comic Sans MS;font-size:9px;font-weight:bold;line-height:15px",g.innerHTML="MS",m.appendChild(g);var y=document.createElement("div");for(y.id="msGraph",y.style.cssText="position:relative;width:74px;height:30px;background-color:#0f0",m.appendChild(y);74>y.children.length;){var f=document.createElement("span");f.style.cssText="width:1px;height:30px;float:left;background-color:#131",y.appendChild(f)}var v=function(e){switch(h=e){case 0:u.style.display="block",m.style.display="none";break;case 1:u.style.display="none",m.style.display="block"}},b=function(e,t){var i=e.appendChild(e.firstChild);i.style.height=t+"px"};return{REVISION:11,domElement:c,setMode:v,begin:function(){e=Date.now()},end:function(){var h=Date.now();return i=h-e,n=Math.min(n,i),r=Math.max(r,i),g.textContent=i+" MS ("+n+"-"+r+")",b(y,Math.min(30,30-30*(i/200))),l++,h>t+1e3&&(s=Math.round(1e3*l/(h-t)),o=Math.min(o,s),a=Math.max(a,s),d.textContent=s+" FPS ("+o+"-"+a+")",b(p,Math.min(30,30-30*(s/100))),t=h,l=0),h},update:function(){e=this.end()}}};
  332. </SCRIPT>
  333.  
  334. <SCRIPT>
  335. ;(function(window) {
  336. var ctx,
  337. hue,
  338. logo,
  339. form,
  340. buffer,
  341. target = {},
  342. tendrils = [],
  343. settings = {};
  344. settings.debug = true;
  345. settings.friction = 0.5;
  346. settings.trails = 20;
  347. settings.size = 50;
  348. settings.dampening = 0.25;
  349. settings.tension = 0.98;
  350. Math.TWO_PI = Math.PI * 2;
  351. // ========================================================================================
  352. // Oscillator
  353. // ----------------------------------------------------------------------------------------
  354. function Oscillator(options) {
  355. this.init(options || {});
  356. }
  357. Oscillator.prototype = (function() {
  358. var value = 0;
  359. return {
  360. init: function(options) {
  361. this.phase = options.phase || 0;
  362. this.offset = options.offset || 0;
  363. this.frequency = options.frequency || 0.001;
  364. this.amplitude = options.amplitude || 1;
  365. },
  366. update: function() {
  367. this.phase += this.frequency;
  368. value = this.offset + Math.sin(this.phase) * this.amplitude;
  369. return value;
  370. },
  371. value: function() {
  372. return value;
  373. }
  374. };
  375. })();
  376. // ========================================================================================
  377. // Tendril
  378. // ----------------------------------------------------------------------------------------
  379. function Tendril(options) {
  380. this.init(options || {});
  381. }
  382. Tendril.prototype = (function() {
  383. function Node() {
  384. this.x = 0;
  385. this.y = 0;
  386. this.vy = 0;
  387. this.vx = 0;
  388. }
  389. return {
  390. init: function(options) {
  391. this.spring = options.spring + (Math.random() * 0.1) - 0.05;
  392. this.friction = settings.friction + (Math.random() * 0.01) - 0.005;
  393. this.nodes = [];
  394. for(var i = 0, node; i < settings.size; i++) {
  395. node = new Node();
  396. node.x = target.x;
  397. node.y = target.y;
  398. this.nodes.push(node);
  399. }
  400. },
  401. update: function() {
  402. var spring = this.spring,
  403. node = this.nodes[0];
  404. node.vx += (target.x - node.x) * spring;
  405. node.vy += (target.y - node.y) * spring;
  406. for(var prev, i = 0, n = this.nodes.length; i < n; i++) {
  407. node = this.nodes[i];
  408. if(i > 0) {
  409. prev = this.nodes[i - 1];
  410. node.vx += (prev.x - node.x) * spring;
  411. node.vy += (prev.y - node.y) * spring;
  412. node.vx += prev.vx * settings.dampening;
  413. node.vy += prev.vy * settings.dampening;
  414. }
  415. node.vx *= this.friction;
  416. node.vy *= this.friction;
  417. node.x += node.vx;
  418. node.y += node.vy;
  419. spring *= settings.tension;
  420. }
  421. },
  422. draw: function() {
  423. var x = this.nodes[0].x,
  424. y = this.nodes[0].y,
  425. a, b;
  426. ctx.beginPath();
  427. ctx.moveTo(x, y);
  428. for(var i = 1, n = this.nodes.length - 2; i < n; i++) {
  429. a = this.nodes[i];
  430. b = this.nodes[i + 1];
  431. x = (a.x + b.x) * 0.5;
  432. y = (a.y + b.y) * 0.5;
  433. ctx.quadraticCurveTo(a.x, a.y, x, y);
  434. }
  435. a = this.nodes[i];
  436. b = this.nodes[i + 1];
  437. ctx.quadraticCurveTo(a.x, a.y, b.x, b.y);
  438. ctx.stroke();
  439. ctx.closePath();
  440. }
  441. };
  442. })();
  443. // ----------------------------------------------------------------------------------------
  444. function init(event) {
  445. document.removeEventListener('mousemove', init);
  446. document.removeEventListener('touchstart', init);
  447. document.addEventListener('mousemove', mousemove);
  448. document.addEventListener('touchmove', mousemove);
  449. document.addEventListener('touchstart', touchstart);
  450. mousemove(event);
  451. reset();
  452. loop();
  453. }
  454. function reset() {
  455. tendrils = [];
  456. for(var i = 0; i < settings.trails; i++) {
  457. tendrils.push(new Tendril({
  458. spring: 0.45 + 0.025 * (i / settings.trails)
  459. }));
  460. }
  461. }
  462. function loop() {
  463. if(!ctx.running) return;
  464. ctx.globalCompositeOperation = 'source-over';
  465. ctx.fillStyle = 'rgba(8,5,16,0.4)';
  466. ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
  467. ctx.globalCompositeOperation = 'lighter';
  468. ctx.strokeStyle = 'hsla(' + Math.round(hue.update()) + ',90%,50%,0.25)';
  469. ctx.lineWidth = 1;
  470. if(ctx.frame % 60 == 0) {
  471. console.log(hue.update(), Math.round(hue.update()), hue.phase, hue.offset, hue.frequency, hue.amplitude);
  472. }
  473. for(var i = 0, tendril; i < settings.trails; i++) {
  474. tendril = tendrils[i];
  475. tendril.update();
  476. tendril.draw();
  477. }
  478. ctx.frame++;
  479. ctx.stats.update();
  480. requestAnimFrame(loop);
  481. }
  482. function resize() {
  483. ctx.canvas.width = window.innerWidth;
  484. ctx.canvas.height = window.innerHeight;
  485. }
  486. function start() {
  487. if(!ctx.running) {
  488. ctx.running = true;
  489. loop();
  490. }
  491. }
  492. function stop() {
  493. ctx.running = false;
  494. }
  495. function mousemove(event) {
  496. if(event.touches) {
  497. target.x = event.touches[0].pageX;
  498. target.y = event.touches[0].pageY;
  499. } else {
  500. target.x = event.clientX
  501. target.y = event.clientY;
  502. }
  503. event.preventDefault();
  504. }
  505. function touchstart(event) {
  506. if(event.touches.length == 1) {
  507. target.x = event.touches[0].pageX;
  508. target.y = event.touches[0].pageY;
  509. }
  510. }
  511. function keyup(event) {
  512. switch(event.keyCode) {
  513. case 32:
  514. save();
  515. break;
  516. default:
  517. // console.log(event.keyCode);
  518. }
  519. }
  520. function letters(id) {
  521. var el = document.getElementById(id),
  522. letters = el.innerHTML.replace('&amp;', '&').split(''),
  523. heading = '';
  524. for(var i = 0, n = letters.length, letter; i < n; i++) {
  525. letter = letters[i].replace('&', '&amp');
  526. heading += letter.trim() ? '<span class="letter-' + i + '">' + letter + '</span>' : '&nbsp;';
  527. }
  528. el.innerHTML = heading;
  529. setTimeout(function() {
  530. el.className = 'transition-in';
  531. }, (Math.random() * 500) + 500);
  532. }
  533. function save() {
  534. if(!buffer) {
  535. buffer = document.createElement('canvas');
  536. buffer.width = screen.availWidth;
  537. buffer.height = screen.availHeight;
  538. buffer.ctx = buffer.getContext('2d');
  539. form = document.createElement('form');
  540. form.method = 'post';
  541. form.input = document.createElement('input');
  542. form.input.type = 'hidden';
  543. form.input.name = 'data';
  544. form.appendChild(form.input);
  545. document.body.appendChild(form);
  546. }
  547. buffer.ctx.fillStyle = 'rgba(8,5,16)';
  548. buffer.ctx.fillRect(0, 0, buffer.width, buffer.height);
  549. buffer.ctx.drawImage(canvas,
  550. Math.round(buffer.width / 2 - canvas.width / 2),
  551. Math.round(buffer.height / 2 - canvas.height / 2)
  552. );
  553. buffer.ctx.drawImage(logo,
  554. Math.round(buffer.width / 2 - logo.width / 4),
  555. Math.round(buffer.height / 2 - logo.height / 4),
  556. logo.width / 2,
  557. logo.height / 2
  558. );
  559. window.open(buffer.toDataURL(), 'wallpaper', 'top=0,left=0,width=' + buffer.width + ',height=' + buffer.height);
  560. // form.input.value = buffer.toDataURL().substr(22);
  561. // form.submit();
  562. }
  563. window.requestAnimFrame = (function() {
  564. return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(fn) { window.setTimeout(fn, 1000 / 60) };
  565. })();
  566. window.onload = function() {
  567. ctx = document.getElementById('canvas').getContext('2d');
  568. ctx.stats = new Stats();
  569. ctx.running = true;
  570. ctx.frame = 1;
  571. logo = new Image();
  572. logo.src = 'http://labs.nikrowell.com/lightsandmotion/ultraviolet/images/logo.png';
  573. hue = new Oscillator({
  574. phase: Math.random() * Math.TWO_PI,
  575. amplitude: 85,
  576. frequency: 0.0015,
  577. offset: 285
  578. });
  579. letters('h1');
  580. letters('h2');
  581. document.addEventListener('mousemove', init);
  582. document.addEventListener('touchstart', init);
  583. document.body.addEventListener('orientationchange', resize);
  584. window.addEventListener('resize', resize);
  585. window.addEventListener('keyup', keyup);
  586. window.addEventListener('focus', start);
  587. window.addEventListener('blur', stop);
  588. resize();
  589. if(window.DEBUG) {
  590. var gui = new dat.GUI();
  591. // gui.add(settings, 'debug');
  592. settings.gui.add(settings, 'trails', 1, 30).onChange(reset);
  593. settings.gui.add(settings, 'size', 25, 75).onFinishChange(reset);
  594. settings.gui.add(settings, 'friction', 0.45, 0.55).onFinishChange(reset);
  595. settings.gui.add(settings, 'dampening', 0.01, 0.4).onFinishChange(reset);
  596. settings.gui.add(settings, 'tension', 0.95, 0.999).onFinishChange(reset);
  597. document.body.appendChild(ctx.stats.domElement);
  598. }
  599. };
  600. })(window);
  601. </SCRIPT>
  602.  
  603. <SCRIPT type=text/javascript>
  604.  
  605. //form tags to omit in NS6+:
  606. var omitformtags=["input", "textarea", "select"]
  607.  
  608. omitformtags=omitformtags.join("|")
  609.  
  610. function disableselect(e){
  611. if (omitformtags.indexOf(e.target.tagName.toLowerCase())==-1)
  612. return false
  613. }
  614.  
  615. function reEnable(){
  616. return true
  617. }
  618.  
  619. if (typeof document.onselectstart!="undefined")
  620. document.onselectstart=new Function ("return false")
  621. else{
  622. document.onmousedown=disableselect
  623. document.onmouseup=reEnable
  624. }
  625.  
  626. </SCRIPT>
  627.  
  628.  
  629. <DIV id=container>
  630. <DIV><BR><BR>
  631. <H1 id=h1>Hacked By L3G3ND-H4X0R</H1><BR>
  632. <H2 id=h2>Team Cyb3r Command0s
  633. </H2>
  634. <H3 id=h3><BR></H3><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
  635. </FONT></A></A> </DIV></DIV><CANVAS id=canvas></CANVAS>
  636. <SCRIPT type=text/javascript src="http://s0.2mdn.net/instream/video/client.js" async="true"></SCRIPT>
  637.  
  638. <SCRIPT>
  639. var Stats=function(){var e=Date.now(),t=e,i=0,n=1/0,r=0,s=0,o=1/0,a=0,l=0,h=0,c=document.createElement("div");c.id="stats",c.addEventListener("mousedown",function(e){e.preventDefault(),v(++h%2)},!1),c.style.cssText="width:80px;opacity:0.9;cursor:pointer";var u=document.createElement("div");u.id="fps",u.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#002",c.appendChild(u);var d=document.createElement("div");d.id="fpsText",d.style.cssText="color:#0ff;font-family:Comic Sans MS;font-size:9px;font-weight:bold;line-height:15px",d.innerHTML="FPS",u.appendChild(d);var p=document.createElement("div");for(p.id="fpsGraph",p.style.cssText="position:relative;width:74px;height:30px;background-color:#0ff",u.appendChild(p);74>p.children.length;){var f=document.createElement("span");f.style.cssText="width:1px;height:30px;float:left;background-color:#113",p.appendChild(f)}var m=document.createElement("div");m.id="ms",m.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#020;display:none",c.appendChild(m);var g=document.createElement("div");g.id="msText",g.style.cssText="color:#0f0;font-family:Comic Sans MS;font-size:9px;font-weight:bold;line-height:15px",g.innerHTML="MS",m.appendChild(g);var y=document.createElement("div");for(y.id="msGraph",y.style.cssText="position:relative;width:74px;height:30px;background-color:#0f0",m.appendChild(y);74>y.children.length;){var f=document.createElement("span");f.style.cssText="width:1px;height:30px;float:left;background-color:#131",y.appendChild(f)}var v=function(e){switch(h=e){case 0:u.style.display="block",m.style.display="none";break;case 1:u.style.display="none",m.style.display="block"}},b=function(e,t){var i=e.appendChild(e.firstChild);i.style.height=t+"px"};return{REVISION:11,domElement:c,setMode:v,begin:function(){e=Date.now()},end:function(){var h=Date.now();return i=h-e,n=Math.min(n,i),r=Math.max(r,i),g.textContent=i+" MS ("+n+"-"+r+")",b(y,Math.min(30,30-30*(i/200))),l++,h>t+1e3&&(s=Math.round(1e3*l/(h-t)),o=Math.min(o,s),a=Math.max(a,s),d.textContent=s+" FPS ("+o+"-"+a+")",b(p,Math.min(30,30-30*(s/100))),t=h,l=0),h},update:function(){e=this.end()}}};
  640. </SCRIPT>
  641.  
  642. <SCRIPT>
  643. ;(function(window) {
  644. var ctx,
  645. hue,
  646. logo,
  647. form,
  648. buffer,
  649. target = {},
  650. tendrils = [],
  651. settings = {};
  652. settings.debug = true;
  653. settings.friction = 0.5;
  654. settings.trails = 20;
  655. settings.size = 50;
  656. settings.dampening = 0.25;
  657. settings.tension = 0.98;
  658. Math.TWO_PI = Math.PI * 2;
  659. // ========================================================================================
  660. // Oscillator
  661. // ----------------------------------------------------------------------------------------
  662. function Oscillator(options) {
  663. this.init(options || {});
  664. }
  665. Oscillator.prototype = (function() {
  666. var value = 0;
  667. return {
  668. init: function(options) {
  669. this.phase = options.phase || 0;
  670. this.offset = options.offset || 0;
  671. this.frequency = options.frequency || 0.001;
  672. this.amplitude = options.amplitude || 1;
  673. },
  674. update: function() {
  675. this.phase += this.frequency;
  676. value = this.offset + Math.sin(this.phase) * this.amplitude;
  677. return value;
  678. },
  679. value: function() {
  680. return value;
  681. }
  682. };
  683. })();
  684. // ========================================================================================
  685. // Tendril
  686. // ----------------------------------------------------------------------------------------
  687. function Tendril(options) {
  688. this.init(options || {});
  689. }
  690. Tendril.prototype = (function() {
  691. function Node() {
  692. this.x = 0;
  693. this.y = 0;
  694. this.vy = 0;
  695. this.vx = 0;
  696. }
  697. return {
  698. init: function(options) {
  699. this.spring = options.spring + (Math.random() * 0.1) - 0.05;
  700. this.friction = settings.friction + (Math.random() * 0.01) - 0.005;
  701. this.nodes = [];
  702. for(var i = 0, node; i < settings.size; i++) {
  703. node = new Node();
  704. node.x = target.x;
  705. node.y = target.y;
  706. this.nodes.push(node);
  707. }
  708. },
  709. update: function() {
  710. var spring = this.spring,
  711. node = this.nodes[0];
  712. node.vx += (target.x - node.x) * spring;
  713. node.vy += (target.y - node.y) * spring;
  714. for(var prev, i = 0, n = this.nodes.length; i < n; i++) {
  715. node = this.nodes[i];
  716. if(i > 0) {
  717. prev = this.nodes[i - 1];
  718. node.vx += (prev.x - node.x) * spring;
  719. node.vy += (prev.y - node.y) * spring;
  720. node.vx += prev.vx * settings.dampening;
  721. node.vy += prev.vy * settings.dampening;
  722. }
  723. node.vx *= this.friction;
  724. node.vy *= this.friction;
  725. node.x += node.vx;
  726. node.y += node.vy;
  727. spring *= settings.tension;
  728. }
  729. },
  730. draw: function() {
  731. var x = this.nodes[0].x,
  732. y = this.nodes[0].y,
  733. a, b;
  734. ctx.beginPath();
  735. ctx.moveTo(x, y);
  736. for(var i = 1, n = this.nodes.length - 2; i < n; i++) {
  737. a = this.nodes[i];
  738. b = this.nodes[i + 1];
  739. x = (a.x + b.x) * 0.5;
  740. y = (a.y + b.y) * 0.5;
  741. ctx.quadraticCurveTo(a.x, a.y, x, y);
  742. }
  743. a = this.nodes[i];
  744. b = this.nodes[i + 1];
  745. ctx.quadraticCurveTo(a.x, a.y, b.x, b.y);
  746. ctx.stroke();
  747. ctx.closePath();
  748. }
  749. };
  750. })();
  751. // ----------------------------------------------------------------------------------------
  752. function init(event) {
  753. document.removeEventListener('mousemove', init);
  754. document.removeEventListener('touchstart', init);
  755. document.addEventListener('mousemove', mousemove);
  756. document.addEventListener('touchmove', mousemove);
  757. document.addEventListener('touchstart', touchstart);
  758. mousemove(event);
  759. reset();
  760. loop();
  761. }
  762. function reset() {
  763. tendrils = [];
  764. for(var i = 0; i < settings.trails; i++) {
  765. tendrils.push(new Tendril({
  766. spring: 0.45 + 0.025 * (i / settings.trails)
  767. }));
  768. }
  769. }
  770. function loop() {
  771. if(!ctx.running) return;
  772. ctx.globalCompositeOperation = 'source-over';
  773. ctx.fillStyle = 'rgba(8,5,16,0.4)';
  774. ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
  775. ctx.globalCompositeOperation = 'lighter';
  776. ctx.strokeStyle = 'hsla(' + Math.round(hue.update()) + ',90%,50%,0.25)';
  777. ctx.lineWidth = 1;
  778. if(ctx.frame % 60 == 0) {
  779. console.log(hue.update(), Math.round(hue.update()), hue.phase, hue.offset, hue.frequency, hue.amplitude);
  780. }
  781. for(var i = 0, tendril; i < settings.trails; i++) {
  782. tendril = tendrils[i];
  783. tendril.update();
  784. tendril.draw();
  785. }
  786. ctx.frame++;
  787. ctx.stats.update();
  788. requestAnimFrame(loop);
  789. }
  790. function resize() {
  791. ctx.canvas.width = window.innerWidth;
  792. ctx.canvas.height = window.innerHeight;
  793. }
  794. function start() {
  795. if(!ctx.running) {
  796. ctx.running = true;
  797. loop();
  798. }
  799. }
  800. function stop() {
  801. ctx.running = false;
  802. }
  803. function mousemove(event) {
  804. if(event.touches) {
  805. target.x = event.touches[0].pageX;
  806. target.y = event.touches[0].pageY;
  807. } else {
  808. target.x = event.clientX
  809. target.y = event.clientY;
  810. }
  811. event.preventDefault();
  812. }
  813. function touchstart(event) {
  814. if(event.touches.length == 1) {
  815. target.x = event.touches[0].pageX;
  816. target.y = event.touches[0].pageY;
  817. }
  818. }
  819. function keyup(event) {
  820. switch(event.keyCode) {
  821. case 32:
  822. save();
  823. break;
  824. default:
  825. // console.log(event.keyCode);
  826. }
  827. }
  828. function letters(id) {
  829. var el = document.getElementById(id),
  830. letters = el.innerHTML.replace('&amp;', '&').split(''),
  831. heading = '';
  832. for(var i = 0, n = letters.length, letter; i < n; i++) {
  833. letter = letters[i].replace('&', '&amp');
  834. heading += letter.trim() ? '<span class="letter-' + i + '">' + letter + '</span>' : '&nbsp;';
  835. }
  836. el.innerHTML = heading;
  837. setTimeout(function() {
  838. el.className = 'transition-in';
  839. }, (Math.random() * 500) + 500);
  840. }
  841. function save() {
  842. if(!buffer) {
  843. buffer = document.createElement('canvas');
  844. buffer.width = screen.availWidth;
  845. buffer.height = screen.availHeight;
  846. buffer.ctx = buffer.getContext('2d');
  847. form = document.createElement('form');
  848. form.method = 'post';
  849. form.input = document.createElement('input');
  850. form.input.type = 'hidden';
  851. form.input.name = 'data';
  852. form.appendChild(form.input);
  853. document.body.appendChild(form);
  854. }
  855. buffer.ctx.fillStyle = 'rgba(8,5,16)';
  856. buffer.ctx.fillRect(0, 0, buffer.width, buffer.height);
  857. buffer.ctx.drawImage(canvas,
  858. Math.round(buffer.width / 2 - canvas.width / 2),
  859. Math.round(buffer.height / 2 - canvas.height / 2)
  860. );
  861. buffer.ctx.drawImage(logo,
  862. Math.round(buffer.width / 2 - logo.width / 4),
  863. Math.round(buffer.height / 2 - logo.height / 4),
  864. logo.width / 2,
  865. logo.height / 2
  866. );
  867. window.open(buffer.toDataURL(), 'wallpaper', 'top=0,left=0,width=' + buffer.width + ',height=' + buffer.height);
  868. // form.input.value = buffer.toDataURL().substr(22);
  869. // form.submit();
  870. }
  871. window.requestAnimFrame = (function() {
  872. return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(fn) { window.setTimeout(fn, 1000 / 60) };
  873. })();
  874. window.onload = function() {
  875. ctx = document.getElementById('canvas').getContext('2d');
  876. ctx.stats = new Stats();
  877. ctx.running = true;
  878. ctx.frame = 1;
  879. logo = new Image();
  880. logo.src = 'http://labs.nikrowell.com/lightsandmotion/ultraviolet/images/logo.png';
  881. hue = new Oscillator({
  882. phase: Math.random() * Math.TWO_PI,
  883. amplitude: 85,
  884. frequency: 0.0015,
  885. offset: 285
  886. });
  887. letters('h1');
  888. letters('h2');
  889. document.addEventListener('mousemove', init);
  890. document.addEventListener('touchstart', init);
  891. document.body.addEventListener('orientationchange', resize);
  892. window.addEventListener('resize', resize);
  893. window.addEventListener('keyup', keyup);
  894. window.addEventListener('focus', start);
  895. window.addEventListener('blur', stop);
  896. resize();
  897. if(window.DEBUG) {
  898. var gui = new dat.GUI();
  899. // gui.add(settings, 'debug');
  900. settings.gui.add(settings, 'trails', 1, 30).onChange(reset);
  901. settings.gui.add(settings, 'size', 25, 75).onFinishChange(reset);
  902. settings.gui.add(settings, 'friction', 0.45, 0.55).onFinishChange(reset);
  903. settings.gui.add(settings, 'dampening', 0.01, 0.4).onFinishChange(reset);
  904. settings.gui.add(settings, 'tension', 0.95, 0.999).onFinishChange(reset);
  905. document.body.appendChild(ctx.stats.domElement);
  906. }
  907. };
  908. })(window);
  909. </SCRIPT>
  910. <SCRIPT type=text/javascript>
  911.  
  912. //form tags to omit in NS6+:
  913. var omitformtags=["input", "textarea", "select"]
  914.  
  915. omitformtags=omitformtags.join("|")
  916.  
  917. function disableselect(e){
  918. if (omitformtags.indexOf(e.target.tagName.toLowerCase())==-1)
  919. return false
  920. }
  921.  
  922. function reEnable(){
  923. return true
  924. }
  925.  
  926. if (typeof document.onselectstart!="undefined")
  927. document.onselectstart=new Function ("return false")
  928. else{
  929. document.onmousedown=disableselect
  930. document.onmouseup=reEnable
  931. }
  932.  
  933. </SCRIPT>
  934. <LINK rel=icon type=image/gif href="https://cdn2.iconfinder.com/data/icons/maki/100/religious-islam-128.png">
  935. <STYLE type=text/css>*{margin:0;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}body,html{margin:0;padding:0;font:16px/1.4 Lato,sans-serif;color:#fefeff;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;font-family:Comic Sans MS}body{background:#080510;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}h1{font:2.75em Cinzel,serif;font-weight:400;letter-spacing:.35em;text-shadow:0 0 25px rgba(254,254,255,.85)}h2{font:1.45em Cinzel,serif;font-weight:400;letter-spacing:.5em;text-shadow:0 0 25px rgba(254,254,255,.85);text-transform:lowercase}[class^=letter]{-webkit-transition:opacity 3s ease;-moz-transition:opacity 3s ease;transition:opacity 3s ease}.letter-0{transition-delay:.2s}.letter-1{transition-delay:.4s}.letter-2{transition-delay:.6s}.letter-3{transition-delay:.8s}.letter-4{transition-delay:1s}.letter-5{transition-delay:1.2s}.letter-6{transition-delay:1.4s}.letter-7{transition-delay:1.6s}.letter-8{transition-delay:1.8s}.letter-9{transition-delay:2s}.letter-10{transition-delay:2.2s}.letter-11{transition-delay:2.4s}.letter-12{transition-delay:2.6s}.letter-13{transition-delay:2.8s}.letter-14{transition-delay:3s}h1,h2{visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}h1.transition-in,h2.transition-in{visibility:visible}h1 [class^=letter],h2 [class^=letter]{opacity:0}h1.transition-in [class^=letter],h2.transition-in [class^=letter]{opacity:1}#container{display:table;position:absolute;z-index:20;width:100%;height:100%;text-align:center;cursor:none}#container>div{display:table-cell;vertical-align:middle}#container p{position:absolute;width:100%;left:0;bottom:25px;font-size:.8em;letter-spacing:.1em;font-weight:300;color:#76747a;-webkit-font-smoothing:subpixel-antialiased;font-smoothing:subpixel-antialiased}#container p strong{color:#b3abc5}#container p span{font-size:.75em;padding:0 2px}#canvas{position:absolute;z-index:10;top:0;left:0;width:100%;height:100%;cursor:none}#stats{position:absolute;z-index:10;left:10px;top:10px}.dg.ac{z-index:100!important}.STYLE4{color:#FFF}
  936. </STYLE>
  937.  
  938. <DIV id=container>
  939. <DIV><BR><BR><BR><BR><BR><BR><BR><BR>
  940. <H3 id=h3><BR></H3><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
  941. <H3 id=h3>&nbsp; </H3></FONT></A><A href="http://3xp1r3.com"></A> </DIV></DIV><CANVAS id=canvas></CANVAS>
  942. <SCRIPT>
  943. var Stats=function(){var e=Date.now(),t=e,i=0,n=1/0,r=0,s=0,o=1/0,a=0,l=0,h=0,c=document.createElement("div");c.id="stats",c.addEventListener("mousedown",function(e){e.preventDefault(),v(++h%2)},!1),c.style.cssText="width:80px;opacity:0.9;cursor:pointer";var u=document.createElement("div");u.id="fps",u.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#002",c.appendChild(u);var d=document.createElement("div");d.id="fpsText",d.style.cssText="color:#0ff;font-family:Comic Sans MS;font-size:9px;font-weight:bold;line-height:15px",d.innerHTML="FPS",u.appendChild(d);var p=document.createElement("div");for(p.id="fpsGraph",p.style.cssText="position:relative;width:74px;height:30px;background-color:#0ff",u.appendChild(p);74>p.children.length;){var f=document.createElement("span");f.style.cssText="width:1px;height:30px;float:left;background-color:#113",p.appendChild(f)}var m=document.createElement("div");m.id="ms",m.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#020;display:none",c.appendChild(m);var g=document.createElement("div");g.id="msText",g.style.cssText="color:#0f0;font-family:Comic Sans MS;font-size:9px;font-weight:bold;line-height:15px",g.innerHTML="MS",m.appendChild(g);var y=document.createElement("div");for(y.id="msGraph",y.style.cssText="position:relative;width:74px;height:30px;background-color:#0f0",m.appendChild(y);74>y.children.length;){var f=document.createElement("span");f.style.cssText="width:1px;height:30px;float:left;background-color:#131",y.appendChild(f)}var v=function(e){switch(h=e){case 0:u.style.display="block",m.style.display="none";break;case 1:u.style.display="none",m.style.display="block"}},b=function(e,t){var i=e.appendChild(e.firstChild);i.style.height=t+"px"};return{REVISION:11,domElement:c,setMode:v,begin:function(){e=Date.now()},end:function(){var h=Date.now();return i=h-e,n=Math.min(n,i),r=Math.max(r,i),g.textContent=i+" MS ("+n+"-"+r+")",b(y,Math.min(30,30-30*(i/200))),l++,h>t+1e3&&(s=Math.round(1e3*l/(h-t)),o=Math.min(o,s),a=Math.max(a,s),d.textContent=s+" FPS ("+o+"-"+a+")",b(p,Math.min(30,30-30*(s/100))),t=h,l=0),h},update:function(){e=this.end()}}};
  944. </SCRIPT>
  945.  
  946. <SCRIPT>
  947. ;(function(window) {
  948. var ctx,
  949. hue,
  950. logo,
  951. form,
  952. buffer,
  953. target = {},
  954. tendrils = [],
  955. settings = {};
  956. settings.debug = true;
  957. settings.friction = 0.5;
  958. settings.trails = 20;
  959. settings.size = 50;
  960. settings.dampening = 0.25;
  961. settings.tension = 0.98;
  962. Math.TWO_PI = Math.PI * 2;
  963. // ========================================================================================
  964. // Oscillator
  965. // ----------------------------------------------------------------------------------------
  966. function Oscillator(options) {
  967. this.init(options || {});
  968. }
  969. Oscillator.prototype = (function() {
  970. var value = 0;
  971. return {
  972. init: function(options) {
  973. this.phase = options.phase || 0;
  974. this.offset = options.offset || 0;
  975. this.frequency = options.frequency || 0.001;
  976. this.amplitude = options.amplitude || 1;
  977. },
  978. update: function() {
  979. this.phase += this.frequency;
  980. value = this.offset + Math.sin(this.phase) * this.amplitude;
  981. return value;
  982. },
  983. value: function() {
  984. return value;
  985. }
  986. };
  987. })();
  988. // ========================================================================================
  989. // Tendril
  990. // ----------------------------------------------------------------------------------------
  991. function Tendril(options) {
  992. this.init(options || {});
  993. }
  994. Tendril.prototype = (function() {
  995. function Node() {
  996. this.x = 0;
  997. this.y = 0;
  998. this.vy = 0;
  999. this.vx = 0;
  1000. }
  1001. return {
  1002. init: function(options) {
  1003. this.spring = options.spring + (Math.random() * 0.1) - 0.05;
  1004. this.friction = settings.friction + (Math.random() * 0.01) - 0.005;
  1005. this.nodes = [];
  1006. for(var i = 0, node; i < settings.size; i++) {
  1007. node = new Node();
  1008. node.x = target.x;
  1009. node.y = target.y;
  1010. this.nodes.push(node);
  1011. }
  1012. },
  1013. update: function() {
  1014. var spring = this.spring,
  1015. node = this.nodes[0];
  1016. node.vx += (target.x - node.x) * spring;
  1017. node.vy += (target.y - node.y) * spring;
  1018. for(var prev, i = 0, n = this.nodes.length; i < n; i++) {
  1019. node = this.nodes[i];
  1020. if(i > 0) {
  1021. prev = this.nodes[i - 1];
  1022. node.vx += (prev.x - node.x) * spring;
  1023. node.vy += (prev.y - node.y) * spring;
  1024. node.vx += prev.vx * settings.dampening;
  1025. node.vy += prev.vy * settings.dampening;
  1026. }
  1027. node.vx *= this.friction;
  1028. node.vy *= this.friction;
  1029. node.x += node.vx;
  1030. node.y += node.vy;
  1031. spring *= settings.tension;
  1032. }
  1033. },
  1034. draw: function() {
  1035. var x = this.nodes[0].x,
  1036. y = this.nodes[0].y,
  1037. a, b;
  1038. ctx.beginPath();
  1039. ctx.moveTo(x, y);
  1040. for(var i = 1, n = this.nodes.length - 2; i < n; i++) {
  1041. a = this.nodes[i];
  1042. b = this.nodes[i + 1];
  1043. x = (a.x + b.x) * 0.5;
  1044. y = (a.y + b.y) * 0.5;
  1045. ctx.quadraticCurveTo(a.x, a.y, x, y);
  1046. }
  1047. a = this.nodes[i];
  1048. b = this.nodes[i + 1];
  1049. ctx.quadraticCurveTo(a.x, a.y, b.x, b.y);
  1050. ctx.stroke();
  1051. ctx.closePath();
  1052. }
  1053. };
  1054. })();
  1055. // ----------------------------------------------------------------------------------------
  1056. function init(event) {
  1057. document.removeEventListener('mousemove', init);
  1058. document.removeEventListener('touchstart', init);
  1059. document.addEventListener('mousemove', mousemove);
  1060. document.addEventListener('touchmove', mousemove);
  1061. document.addEventListener('touchstart', touchstart);
  1062. mousemove(event);
  1063. reset();
  1064. loop();
  1065. }
  1066. function reset() {
  1067. tendrils = [];
  1068. for(var i = 0; i < settings.trails; i++) {
  1069. tendrils.push(new Tendril({
  1070. spring: 0.45 + 0.025 * (i / settings.trails)
  1071. }));
  1072. }
  1073. }
  1074. function loop() {
  1075. if(!ctx.running) return;
  1076. ctx.globalCompositeOperation = 'source-over';
  1077. ctx.fillStyle = 'rgba(8,5,16,0.4)';
  1078. ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
  1079. ctx.globalCompositeOperation = 'lighter';
  1080. ctx.strokeStyle = 'hsla(' + Math.round(hue.update()) + ',90%,50%,0.25)';
  1081. ctx.lineWidth = 1;
  1082. if(ctx.frame % 60 == 0) {
  1083. console.log(hue.update(), Math.round(hue.update()), hue.phase, hue.offset, hue.frequency, hue.amplitude);
  1084. }
  1085. for(var i = 0, tendril; i < settings.trails; i++) {
  1086. tendril = tendrils[i];
  1087. tendril.update();
  1088. tendril.draw();
  1089. }
  1090. ctx.frame++;
  1091. ctx.stats.update();
  1092. requestAnimFrame(loop);
  1093. }
  1094. function resize() {
  1095. ctx.canvas.width = window.innerWidth;
  1096. ctx.canvas.height = window.innerHeight;
  1097. }
  1098. function start() {
  1099. if(!ctx.running) {
  1100. ctx.running = true;
  1101. loop();
  1102. }
  1103. }
  1104. function stop() {
  1105. ctx.running = false;
  1106. }
  1107. function mousemove(event) {
  1108. if(event.touches) {
  1109. target.x = event.touches[0].pageX;
  1110. target.y = event.touches[0].pageY;
  1111. } else {
  1112. target.x = event.clientX
  1113. target.y = event.clientY;
  1114. }
  1115. event.preventDefault();
  1116. }
  1117. function touchstart(event) {
  1118. if(event.touches.length == 1) {
  1119. target.x = event.touches[0].pageX;
  1120. target.y = event.touches[0].pageY;
  1121. }
  1122. }
  1123. function keyup(event) {
  1124. switch(event.keyCode) {
  1125. case 32:
  1126. save();
  1127. break;
  1128. default:
  1129. // console.log(event.keyCode);
  1130. }
  1131. }
  1132. function letters(id) {
  1133. var el = document.getElementById(id),
  1134. letters = el.innerHTML.replace('&amp;', '&').split(''),
  1135. heading = '';
  1136. for(var i = 0, n = letters.length, letter; i < n; i++) {
  1137. letter = letters[i].replace('&', '&amp');
  1138. heading += letter.trim() ? '<span class="letter-' + i + '">' + letter + '</span>' : '&nbsp;';
  1139. }
  1140. el.innerHTML = heading;
  1141. setTimeout(function() {
  1142. el.className = 'transition-in';
  1143. }, (Math.random() * 500) + 500);
  1144. }
  1145. function save() {
  1146. if(!buffer) {
  1147. buffer = document.createElement('canvas');
  1148. buffer.width = screen.availWidth;
  1149. buffer.height = screen.availHeight;
  1150. buffer.ctx = buffer.getContext('2d');
  1151. form = document.createElement('form');
  1152. form.method = 'post';
  1153. form.input = document.createElement('input');
  1154. form.input.type = 'hidden';
  1155. form.input.name = 'data';
  1156. form.appendChild(form.input);
  1157. document.body.appendChild(form);
  1158. }
  1159. buffer.ctx.fillStyle = 'rgba(8,5,16)';
  1160. buffer.ctx.fillRect(0, 0, buffer.width, buffer.height);
  1161. buffer.ctx.drawImage(canvas,
  1162. Math.round(buffer.width / 2 - canvas.width / 2),
  1163. Math.round(buffer.height / 2 - canvas.height / 2)
  1164. );
  1165. buffer.ctx.drawImage(logo,
  1166. Math.round(buffer.width / 2 - logo.width / 4),
  1167. Math.round(buffer.height / 2 - logo.height / 4),
  1168. logo.width / 2,
  1169. logo.height / 2
  1170. );
  1171. window.open(buffer.toDataURL(), 'wallpaper', 'top=0,left=0,width=' + buffer.width + ',height=' + buffer.height);
  1172. // form.input.value = buffer.toDataURL().substr(22);
  1173. // form.submit();
  1174. }
  1175. window.requestAnimFrame = (function() {
  1176. return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(fn) { window.setTimeout(fn, 1000 / 60) };
  1177. })();
  1178. window.onload = function() {
  1179. ctx = document.getElementById('canvas').getContext('2d');
  1180. ctx.stats = new Stats();
  1181. ctx.running = true;
  1182. ctx.frame = 1;
  1183. logo = new Image();
  1184. logo.src = 'http://labs.nikrowell.com/lightsandmotion/ultraviolet/images/logo.png';
  1185. hue = new Oscillator({
  1186. phase: Math.random() * Math.TWO_PI,
  1187. amplitude: 85,
  1188. frequency: 0.0015,
  1189. offset: 285
  1190. });
  1191. letters('h1');
  1192. letters('h2');
  1193. document.addEventListener('mousemove', init);
  1194. document.addEventListener('touchstart', init);
  1195. document.body.addEventListener('orientationchange', resize);
  1196. window.addEventListener('resize', resize);
  1197. window.addEventListener('keyup', keyup);
  1198. window.addEventListener('focus', start);
  1199. window.addEventListener('blur', stop);
  1200. resize();
  1201. if(window.DEBUG) {
  1202. var gui = new dat.GUI();
  1203. // gui.add(settings, 'debug');
  1204. settings.gui.add(settings, 'trails', 1, 30).onChange(reset);
  1205. settings.gui.add(settings, 'size', 25, 75).onFinishChange(reset);
  1206. settings.gui.add(settings, 'friction', 0.45, 0.55).onFinishChange(reset);
  1207. settings.gui.add(settings, 'dampening', 0.01, 0.4).onFinishChange(reset);
  1208. settings.gui.add(settings, 'tension', 0.95, 0.999).onFinishChange(reset);
  1209. document.body.appendChild(ctx.stats.domElement);
  1210. }
  1211. };
  1212. })(window);
  1213. </SCRIPT>
  1214.  
  1215. <SCRIPT type=text/javascript>
  1216.  
  1217. //form tags to omit in NS6+:
  1218. var omitformtags=["input", "textarea", "select"]
  1219.  
  1220. omitformtags=omitformtags.join("|")
  1221.  
  1222. function disableselect(e){
  1223. if (omitformtags.indexOf(e.target.tagName.toLowerCase())==-1)
  1224. return false
  1225. }
  1226.  
  1227. function reEnable(){
  1228. return true
  1229. }
  1230.  
  1231. if (typeof document.onselectstart!="undefined")
  1232. document.onselectstart=new Function ("return false")
  1233. else{
  1234. document.onmousedown=disableselect
  1235. document.onmouseup=reEnable
  1236. }
  1237.  
  1238. </SCRIPT>
Advertisement
Add Comment
Please, Sign In to add comment