129 lines
2.9 KiB
Perl
129 lines
2.9 KiB
Perl
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
|
<title>GeoIPGuesser</title>
|
|
<meta name="description" content="like GeoGuessr, but with IP addresses.">
|
|
<meta name="author" content="sdomi">
|
|
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A==" crossorigin=""/>
|
|
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" crossorigin=""></script>
|
|
<style>
|
|
body {
|
|
font-family: sans-serif;
|
|
background-color: #333;
|
|
color: #fff;
|
|
}
|
|
#map {
|
|
height: 600px;
|
|
width: 768px;
|
|
}
|
|
.load {
|
|
height: 100%;
|
|
width: 100%;
|
|
z-index: 10000;
|
|
display: none;
|
|
position: fixed;
|
|
background-color: #333;
|
|
color: #fff;
|
|
margin: 0;
|
|
top: 0;
|
|
left: 0;
|
|
padding: 10px;
|
|
}
|
|
.container {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
width: 768px;
|
|
display: block;
|
|
}
|
|
.ip {
|
|
color: #c22;
|
|
}
|
|
.data, .traceroute {
|
|
width: 768px;
|
|
}
|
|
.traceroute {
|
|
margin-top: 16px;
|
|
}
|
|
.guess, .next {
|
|
background-color: #444;
|
|
display: block;
|
|
width: 128px;
|
|
height: 20px;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
text-align: center;
|
|
cursor: pointer;
|
|
}
|
|
.next {
|
|
background-color: #4a4;
|
|
}
|
|
.result-container {
|
|
visibility: hidden;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
width: 768px;
|
|
}
|
|
.scoring {
|
|
position: fixed;
|
|
right: 10px;
|
|
top: 10px;
|
|
width: 256px;
|
|
height: 64px;
|
|
background-color: #444;
|
|
z-index: 9999;
|
|
}
|
|
.ipa, .whois, .traceroute {
|
|
word-wrap : break-word;
|
|
font-family: monospace;
|
|
}
|
|
.footer {
|
|
text-align: center;
|
|
font-family: monospace;
|
|
}
|
|
a, a:visited, a:hover {
|
|
color: #3c3;
|
|
}
|
|
@media (max-width: 768px) {
|
|
#map, .container, .result-container, .data, .traceroute, .ipa {
|
|
width: 100%;
|
|
}
|
|
#map {
|
|
margin-top: 64px;
|
|
}
|
|
.scoring {
|
|
width: 100%;
|
|
left: 0;
|
|
top: 0;
|
|
right: unset;
|
|
background-color: #333;
|
|
}
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="load">
|
|
<div class="container">
|
|
<h1>Loading Geo<span class="ip">IP</span>Guesser...</h1>
|
|
<div>This usually takes about 10 seconds - traceroute needs tiiiiiimeee ;3</div>
|
|
</div>
|
|
</div>
|
|
<div class="container">
|
|
<div id="map"></div>
|
|
<div class="guess">Take a guess</div>
|
|
<div class="result-container">
|
|
<div class="result"></div>
|
|
<div class="targetDetail"></div>
|
|
<div class="next">Next round!</div>
|
|
</div>
|
|
<h3 class="ipa"></h3>
|
|
<div class="whois"></div>
|
|
<div class="traceroute"></div>
|
|
</div>
|
|
<div class="scoring"></div>
|
|
<div class="footer">by <a href="https://sdomi.pl/">sdomi</a> | <a href="https://git.sakamoto.pl/domi/geoipguesser">source</a> | <a href="https://paypal.me/sdomiuwu">donate?</a></div>
|
|
<script src="/game.js"></script>
|
|
</body>
|
|
</html>
|