Linux ubuntu 6.8.0-90-generic #91-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 18 14:14:30 UTC 2025 x86_64
nginx/1.24.0
: 67.217.245.49 | : 216.73.216.153
Cant Read [ /etc/named.conf ]
8.3.6
www-data
Bypass.pw
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
Backdoor Scanner
Backdoor Create
Alfa Webshell
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
var /
www /
html /
mangaberri /
public_html /
games /
[ HOME SHELL ]
Name
Size
Permission
Action
background.png
1.31
MB
-rw-rw-r--
basketball.php
7.5
KB
-rw-rw-r--
bird.php
14.99
KB
-rw-rw-r--
capybara_jump.png
1.36
MB
-rw-rw-r--
capybara_stand.png
1.34
MB
-rw-rw-r--
galaxian.php
11.92
KB
-rw-rw-r--
rock_pipe.png
1.49
MB
-rw-rw-r--
snake.php
4.31
KB
-rw-rw-r--
storm_cloud.png
1.35
MB
-rw-rw-r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : snake.php
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Snake Game</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> html, body { margin: 0; padding: 0; background: #000; overflow: hidden; height: 100%; } canvas { display: block; background: #222; } </style> </head> <body> <canvas id="gameCanvas"></canvas> <script> const canvas = document.getElementById("gameCanvas"); const ctx = canvas.getContext("2d"); let tileSize, gridWidth, gridHeight; function resizeCanvas() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; tileSize = Math.floor(Math.min(canvas.width, canvas.height) / 25); gridWidth = Math.floor(canvas.width / tileSize); gridHeight = Math.floor(canvas.height / tileSize); } window.addEventListener("resize", resizeCanvas); resizeCanvas(); let snake, food, dir, nextDir, score, speed, gameOver, startTime, duration; function resetGame() { snake = [{ x: 5, y: 5 }]; food = { x: 10, y: 10 }; dir = { x: 1, y: 0 }; nextDir = { x: 1, y: 0 }; score = 0; speed = 200; gameOver = false; startTime = Date.now(); duration = 0; gameLoop(); } function gameLoop() { if (gameOver) return; setTimeout(() => { requestAnimationFrame(gameLoop); update(); draw(); }, speed); } function update() { dir = nextDir; const head = { x: snake[0].x + dir.x, y: snake[0].y + dir.y }; if ( head.x < 0 || head.x >= gridWidth || head.y < 0 || head.y >= gridHeight || snake.some(s => s.x === head.x && s.y === head.y) ) { gameOver = true; return; } snake.unshift(head); if (head.x === food.x && head.y === food.y) { score++; food = { x: Math.floor(Math.random() * gridWidth), y: Math.floor(Math.random() * gridHeight) }; if (speed > 50) speed -= 5; } else { snake.pop(); } duration = Math.floor((Date.now() - startTime) / 1000); } function draw() { ctx.fillStyle = "#222"; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.fillStyle = "lime"; snake.forEach(s => ctx.fillRect(s.x * tileSize, s.y * tileSize, tileSize - 2, tileSize - 2) ); ctx.fillStyle = "red"; ctx.fillRect(food.x * tileSize, food.y * tileSize, tileSize - 2, tileSize - 2); ctx.fillStyle = "white"; ctx.font = `${tileSize * 0.6}px Arial`; ctx.fillText(`Score: ${score}`, 10, tileSize); ctx.fillText(`Time: ${duration}s`, 10, tileSize * 2); if (gameOver) { ctx.fillStyle = "yellow"; ctx.font = `${tileSize}px Arial`; ctx.fillText("Game Over - Tap or Press SPACE to Restart", 30, canvas.height / 2); } } function setDirection(newDir) { if (gameOver) return; const opposite = (dir.x + newDir.x === 0 && dir.y + newDir.y === 0); if (!opposite) nextDir = newDir; } // Keyboard controls document.addEventListener("keydown", e => { switch (e.key) { case "ArrowUp": case "w": setDirection({ x: 0, y: -1 }); break; case "ArrowDown": case "s": setDirection({ x: 0, y: 1 }); break; case "ArrowLeft": case "a": setDirection({ x: -1, y: 0 }); break; case "ArrowRight": case "d": setDirection({ x: 1, y: 0 }); break; case " ": if (gameOver) resetGame(); break; } }); // Mobile swipe support let touchStartX = 0, touchStartY = 0; canvas.addEventListener("touchstart", e => { const t = e.touches[0]; touchStartX = t.clientX; touchStartY = t.clientY; }); canvas.addEventListener("touchend", e => { if (gameOver) return resetGame(); const t = e.changedTouches[0]; const dx = t.clientX - touchStartX; const dy = t.clientY - touchStartY; if (Math.abs(dx) > Math.abs(dy)) { if (dx > 10) setDirection({ x: 1, y: 0 }); else if (dx < -10) setDirection({ x: -1, y: 0 }); } else { if (dy > 10) setDirection({ x: 0, y: 1 }); else if (dy < -10) setDirection({ x: 0, y: -1 }); } }); canvas.addEventListener("click", () => { if (gameOver) resetGame(); }); resetGame(); </script> </body> </html>
Close