Files
ppf/static/map.html

32 lines
1.8 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>PPF Proxy Map</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/static/style.css">
<link rel="stylesheet" href="/static/lib/leaflet.css">
<link rel="stylesheet" href="/static/lib/MarkerCluster.css">
<link rel="stylesheet" href="/static/lib/MarkerCluster.Default.css">
</head>
<body class="map-page">
<div class="map-nav glass" style="display:flex;align-items:center;gap:12px"><a href="/dashboard">&larr; Dashboard</a><button class="theme-toggle" id="themeToggle" title="Toggle theme"><span class="theme-toggle-icon">&#9790;</span></button></div>
<div class="map-stats-panel glass">
<div class="map-stat"><span class="map-stat-val" id="countryCount">-</span><span class="map-stat-lbl">Countries</span></div>
<div class="map-stat"><span class="map-stat-val" id="proxyCount">-</span><span class="map-stat-lbl">Proxies</span></div>
</div>
<div id="map"></div>
<div class="map-legend-panel glass">
<div class="map-legend-title">Anonymity Level</div>
<div class="map-legend-row"><div class="map-legend-dot elite"></div> Elite</div>
<div class="map-legend-row"><div class="map-legend-dot anonymous"></div> Anonymous</div>
<div class="map-legend-row"><div class="map-legend-dot transparent"></div> Transparent</div>
</div>
<div class="map-footer">PPF uses the IP2Location LITE database for <a href="https://lite.ip2location.com">IP geolocation</a>.</div>
<script src="/static/lib/leaflet.js"></script>
<script src="/static/lib/leaflet-heat.js"></script>
<script src="/static/lib/leaflet.markercluster.js"></script>
<script src="/static/map.js"></script>
</body>
</html>