| 286 | } |
| 287 | |
| 288 | function generateHTML(备案内容) { |
| 289 | return `<!DOCTYPE html> |
| 290 | <html lang="zh-CN"> |
| 291 | <head> |
| 292 | <meta charset="UTF-8"> |
| 293 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 294 | <meta name="color-scheme" content="light dark"> |
| 295 | <title>Check ProxyIP</title> |
| 296 | <link rel="preconnect" href="https://fonts.googleapis.com"> |
| 297 | <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> |
| 298 | <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;700&display=swap" rel="stylesheet"> |
| 299 | <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" /> |
| 300 | <script> |
| 301 | (function () { |
| 302 | const storageKey = 'cf_proxy_theme'; |
| 303 | let theme = 'dark'; |
| 304 | try { |
| 305 | const storedTheme = localStorage.getItem(storageKey); |
| 306 | if (storedTheme === 'light' || storedTheme === 'dark') { |
| 307 | theme = storedTheme; |
| 308 | } else { |
| 309 | theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; |
| 310 | } |
| 311 | } catch (error) { |
| 312 | theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; |
| 313 | } |
| 314 | document.documentElement.dataset.theme = theme; |
| 315 | document.documentElement.style.colorScheme = theme; |
| 316 | })(); |
| 317 | </script> |
| 318 | <style> |
| 319 | :root { |
| 320 | --bg-base: #07111d; |
| 321 | --bg-deep: #0b1726; |
| 322 | --panel: rgba(10, 24, 40, 0.78); |
| 323 | --panel-strong: rgba(15, 31, 49, 0.92); |
| 324 | --line: rgba(144, 180, 212, 0.18); |
| 325 | --text: #edf7ff; |
| 326 | --text-soft: #d4e4f3; |
| 327 | --muted: #8ea6bc; |
| 328 | --accent: #61dbff; |
| 329 | --accent-strong: #2dd4bf; |
| 330 | --accent-warm: #ffb869; |
| 331 | --success: #34d399; |
| 332 | --error: #fb7185; |
| 333 | --warning: #fbbf24; |
| 334 | --shadow: 0 24px 80px rgba(0, 0, 0, 0.34); |
| 335 | --shadow-soft: 0 16px 44px rgba(0, 0, 0, 0.26); |
| 336 | --radius-xl: 30px; |
| 337 | --radius-lg: 24px; |
| 338 | --radius-md: 20px; |
| 339 | } |
| 340 | |
| 341 | html { |
| 342 | color-scheme: dark; |
| 343 | } |
| 344 | |
| 345 | html[data-theme='light'] { |