Skip to content

Commit 4eb8062

Browse files
authored
Create blocked.html
1 parent 495917e commit 4eb8062

File tree

1 file changed

+152
-0
lines changed

1 file changed

+152
-0
lines changed

static/html/errors/blocked.html

+152
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Access Restricted | Open-Domains</title>
7+
<style>
8+
body {
9+
margin: 0;
10+
font-family: 'Arial', sans-serif;
11+
background: linear-gradient(to bottom right, #002b5c, #00509e);
12+
color: white;
13+
text-align: center;
14+
display: flex;
15+
flex-direction: column;
16+
align-items: center;
17+
justify-content: center;
18+
height: 100vh;
19+
overflow: hidden;
20+
}
21+
h1 {
22+
font-size: 3rem;
23+
margin: 0.5em;
24+
}
25+
p {
26+
font-size: 1.2rem;
27+
max-width: 600px;
28+
margin: 0.5em auto;
29+
line-height: 1.5;
30+
}
31+
.btn {
32+
display: inline-block;
33+
margin-top: 1em;
34+
padding: 0.8em 1.5em;
35+
color: #00509e;
36+
background-color: white;
37+
border: none;
38+
border-radius: 5px;
39+
font-size: 1.1rem;
40+
cursor: pointer;
41+
transition: background-color 0.3s ease, transform 0.3s ease;
42+
}
43+
.btn:hover {
44+
background-color: #ffc107;
45+
transform: scale(1.1);
46+
}
47+
canvas {
48+
position: absolute;
49+
top: 0;
50+
left: 0;
51+
width: 100%;
52+
height: 100%;
53+
z-index: -1;
54+
}
55+
.header {
56+
position: absolute;
57+
top: 10px;
58+
left: 10px;
59+
display: flex;
60+
align-items: center;
61+
}
62+
.header img {
63+
height: 40px;
64+
margin-right: 10px;
65+
}
66+
.header span {
67+
font-size: 1.5rem;
68+
font-weight: bold;
69+
color: #ffc107;
70+
}
71+
.info {
72+
margin-top: 1.5em;
73+
font-size: 1rem;
74+
background: rgba(255, 255, 255, 0.2);
75+
padding: 1em;
76+
border-radius: 10px;
77+
display: inline-block;
78+
}
79+
</style>
80+
</head>
81+
<body>
82+
<canvas id="background"></canvas>
83+
<div class="header">
84+
<img src="https://raw.githubusercontent.com/open-domains/website/refs/heads/main/static/img/logo.png" alt="Open-Domains Logo">
85+
<span>Open-Domains</span>
86+
</div>
87+
<h1>Access Restricted</h1>
88+
<p>
89+
Unfortunately, access to this resource is not allowed from your current location or IP address.
90+
If you believe this is a mistake, please contact the site administrator.
91+
</p>
92+
<div class="info">
93+
<p><strong>Client IP:</strong> ::CLIENT_IP::</p>
94+
<p><strong>Ray ID:</strong> ::RAY_ID::</p>
95+
<p><strong>Location:</strong> ::GEO::</p>
96+
</div>
97+
<button class="btn" onclick="window.location.href='mailto:[email protected]'">Contact Support</button>
98+
99+
<script>
100+
// Create animated background
101+
const canvas = document.getElementById('background');
102+
const ctx = canvas.getContext('2d');
103+
104+
const particles = [];
105+
const particleCount = 100;
106+
const colors = ['#ffc107', '#00509e', '#ffffff'];
107+
108+
function resizeCanvas() {
109+
canvas.width = window.innerWidth;
110+
canvas.height = window.innerHeight;
111+
}
112+
113+
function createParticles() {
114+
for (let i = 0; i < particleCount; i++) {
115+
particles.push({
116+
x: Math.random() * canvas.width,
117+
y: Math.random() * canvas.height,
118+
radius: Math.random() * 3 + 1,
119+
color: colors[Math.floor(Math.random() * colors.length)],
120+
speedX: (Math.random() - 0.5) * 2,
121+
speedY: (Math.random() - 0.5) * 2
122+
});
123+
}
124+
}
125+
126+
function drawParticles() {
127+
ctx.clearRect(0, 0, canvas.width, canvas.height);
128+
129+
particles.forEach((particle) => {
130+
ctx.beginPath();
131+
ctx.arc(particle.x, particle.y, particle.radius, 0, Math.PI * 2);
132+
ctx.fillStyle = particle.color;
133+
ctx.fill();
134+
135+
particle.x += particle.speedX;
136+
particle.y += particle.speedY;
137+
138+
if (particle.x < 0 || particle.x > canvas.width) particle.speedX *= -1;
139+
if (particle.y < 0 || particle.y > canvas.height) particle.speedY *= -1;
140+
});
141+
142+
requestAnimationFrame(drawParticles);
143+
}
144+
145+
window.addEventListener('resize', resizeCanvas);
146+
147+
resizeCanvas();
148+
createParticles();
149+
drawParticles();
150+
</script>
151+
</body>
152+
</html>

0 commit comments

Comments
 (0)