看到这段返回的 JSON 数据,我必须告诉你一个非常残酷的现实
dartnode 核心发现:你排到了也没用!
可能是弄晚了 只是玩下的心态 这机器没啥需要

脚本只是参考 F12直接在排队页用 没货就不排了 AI写的 也不知道对不
(function() {
if (window.__dnHUDInjected) {
console.log("[DartNode HUD] 面板已存在,请勿重复注入!");
return;
}
window.__dnHUDInjected = true;
// ================= 1. 注入 HUD 样式 =================
const style = document.createElement('style');
style.textContent = `
#dn-hud {
position: fixed; bottom: 20px; right: 20px; width: 300px;
background: rgba(10, 10, 15, 0.95); border: 1px solid #ff6b35;
border-radius: 12px; box-shadow: 0 0 25px rgba(255, 107, 53, 0.4);
z-index: 999999; font-family: 'JetBrains Mono', monospace, sans-serif;
color: #fff; overflow: hidden; backdrop-filter: blur(10px);
user-select: none; transition: width 0.3s ease;
}
#dn-hud.minimized { width: 180px; }
#dn-hud-header {
background: linear-gradient(90deg, #ff6b35, #ff9f1c); color: #0a0a0f;
padding: 8px 12px; font-weight: bold; font-size: 13px;
display: flex; justify-content: space-between; align-items: center; cursor: move;
}
#dn-hud-min {
background: rgba(0,0,0,0.2); border: none; color: #fff; width: 20px; height: 20px;
border-radius: 4px; font-weight: bold; cursor: pointer; line-height: 1;
display: flex; align-items: center; justify-content: center;
}
#dn-hud-body { padding: 10px 12px; font-size: 12px; }
#dn-hud.minimized #dn-hud-body { display: none; }
#dn-hud .row {
display: flex; justify-content: space-between; margin-bottom: 6px;
border-bottom: 1px dashed rgba(255,255,255,0.1); padding-bottom: 4px;
}
#dn-hud .row:last-child { border-bottom: none; margin-bottom: 0; }
#dn-hud .label { color: #888; flex-shrink: 0; }
#dn-hud .val { color: #00ff88; font-weight: bold; text-align: right; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#dn-hud .val.warn { color: #ff9f1c; }
#dn-hud .val.err { color: #ff3b30; }
#dn-hud .val.info { color: #00d4ff; }
`;
document.head.appendChild(style);
// ================= 2. 注入 HUD 面板 HTML =================
document.body.insertAdjacentHTML('beforeend', `
<div id="dn-hud">
<div id="dn-hud-header">
<span>🛡️ DartNode Sniper</span>
<button id="dn-hud-min">-</button>
</div>
<div id="dn-hud-body">
<div class="row"><span class="label">Status</span><span id="hud-status" class="val">🟢 Hooked</span></div>
<div class="row"><span class="label">Uptime</span><span id="hud-uptime" class="val info">00:00:00</span></div>
<div class="row"><span class="label">Polls</span><span id="hud-polls" class="val">0</span></div>
<div class="row"><span class="label">Queue</span><span id="hud-queue" class="val warn">-- -> --</span></div>
<div class="row"><span class="label">Progress</span><span id="hud-progress" class="val">0%</span></div>
<div class="row"><span class="label">Stock</span><span id="hud-stock" class="val">--</span></div>
<div class="row"><span class="label">Stage</span><span id="hud-stage" class="val info">Connecting...</span></div>
<div class="row"><span class="label">Target</span><span id="hud-url" class="val" style="font-size:10px;">Waiting...</span></div>
</div>
</div>
`);
// ================= 3. 面板交互逻辑 (最小化 & 拖拽) =================
const hud = document.getElementById('dn-hud');
const header = document.getElementById('dn-hud-header');
document.getElementById('dn-hud-min').addEventListener('click', (e) => {
e.stopPropagation();
hud.classList.toggle('minimized');
e.target.textContent = hud.classList.contains('minimized') ? '+' : '-';
});
let isDragging = false, offsetX, offsetY;
header.addEventListener('mousedown', (e) => {
if (e.target.id === 'dn-hud-min') return;
isDragging = true;
offsetX = e.clientX - hud.getBoundingClientRect().left;
offsetY = e.clientY - hud.getBoundingClientRect().top;
hud.style.transition = 'none';
});
document.addEventListener('mousemove', (e) => {
if (!isDragging) return;
hud.style.left = (e.clientX - offsetX) + 'px';
hud.style.top = (e.clientY - offsetY) + 'px';
hud.style.right = 'auto'; hud.style.bottom = 'auto';
});
document.addEventListener('mouseup', () => { isDragging = false; hud.style.transition = ''; });
// ================= 4. 核心数据与状态管理 =================
let pollCount = 0;
let startPos = null;
let startTime = Date.now();
let currentStatus = "🟢 Hooked & Waiting";
let isRedirecting = false;
// 更新 Uptime 计时器
setInterval(() => {
let diff = Math.floor((Date.now() - startTime) / 1000);
let h = String(Math.floor(diff / 3600)).padStart(2, '0');
let m = String(Math.floor((diff % 3600) / 60)).padStart(2, '0');
let s = String(diff % 60).padStart(2, '0');
document.getElementById('hud-uptime').textContent = `${h}:${m}:${s}`;
}, 1000);
function updateHUDStatus() {
const el = document.getElementById('hud-status');
el.textContent = currentStatus;
el.className = 'val' + (currentStatus.includes("🚀") ? " warn" : currentStatus.includes("❌") ? " err" : "");
}
// ================= 5. 全局拦截 Ajax 心跳请求 =================
$(document).ajaxSuccess(function(event, xhr, settings) {
// 只拦截排队状态的心跳 GET 请求
if (settings.url && settings.url.includes("/wh-session/179") && settings.type !== "POST") {
try {
let d = xhr.responseJSON || JSON.parse(xhr.responseText);
if (!d || typeof d !== "object") return;
pollCount++;
document.getElementById('hud-polls').textContent = pollCount;
// 更新排队位置与进度
if (typeof d.position === "number" && d.position > 0) {
if (!startPos || d.position > startPos) startPos = d.position;
document.getElementById('hud-queue').textContent = `#${startPos} -> #${d.position}`;
let pct = startPos <= 1 ? 92 : ((startPos - d.position) / startPos) * 100;
pct = Math.max(1, Math.min(99, pct));
document.getElementById('hud-progress').textContent = pct.toFixed(1) + '%';
} else {
document.getElementById('hud-queue').textContent = "Calculating...";
}
// 更新库存
if (d.stock_left !== undefined) {
const stockEl = document.getElementById('hud-stock');
stockEl.textContent = d.stock_left + " left";
stockEl.className = 'val ' + (d.stock_left < 10 ? 'err' : 'warn');
}
// 更新阶段状态
document.getElementById('hud-stage').textContent = d.stage || d.status || "Waiting";
// 🚀 核心秒杀逻辑:一旦轮到 Claim,立刻后台自动提交
if (d.stage === "claim" && d.claim_url && !window.__dnClaiming) {
window.__dnClaiming = true;
currentStatus = "🚀 Auto-Claiming...";
updateHUDStatus();
// 禁用原生按钮防止冲突
const btn = document.getElementById('whqClaimBtn');
if (btn) { btn.disabled = true; btn.innerHTML = '🚀 Bot Claiming...'; }
// 发送 POST 领取订单
$.ajax({
url: d.claim_url, type: "POST", dataType: "json", cache: false, timeout: 8000,
success: function(r) {
if (r && r.ok && r.send) {
currentStatus = "✅ Success! Redirecting...";
document.getElementById('hud-url').textContent = r.send;
document.getElementById('hud-url').className = 'val';
updateHUDStatus();
if (typeof celebrate === 'function') celebrate();
setTimeout(() => { window.location.href = r.send; }, 800);
} else {
currentStatus = "❌ Claim Failed: " + (r?.error || "Unknown");
updateHUDStatus();
window.__dnClaiming = false;
}
},
error: function() {
currentStatus = "❌ Claim Network Error";
updateHUDStatus();
window.__dnClaiming = false;
}
});
}
// 兜底:如果服务器直接返回了 send 链接
if (d.send && !isRedirecting) {
isRedirecting = true;
currentStatus = "🎉 Direct Redirect!";
document.getElementById('hud-url').textContent = d.send;
updateHUDStatus();
setTimeout(() => { window.location.href = d.send; }, 800);
}
if (!window.__dnClaiming && !isRedirecting) {
currentStatus = "🟢 Hooked & Waiting";
updateHUDStatus();
}
} catch(e) { console.error("[HUD] Parse Error", e); }
}
});
console.log("%c[DartNode HUD] 🛡️ 监控面板已激活!右下角可查看实时进度。", "color: #00ff88; font-weight: bold; font-size: 14px;");
})();
纯耍猴的,只能说
竞争不大
@Nebulas #1
排到是有用的,我是排到的。看样子是等前一个退单了才排到的,到了第一名还排队了1个多小时。。
有卡单的,30分钟不加入购物车就放出来了。不过也感觉这个有点傻,哈哈。还不如直接付款排队,没得原路退回
@icelee123 #4
AI有说前面有人退出 你有机会
不过还是早买货多好排点了
更喜欢naranja的7欧和12欧
好的不学,学耍猴,垃圾商家
@xikk #0 隔壁LET也有人说了,有个哥们排到第7名,然后莫名其妙掉到57名,还有一个人排了两个小时,纹丝不动,只能说难以绷住
@xikk #3 我刚才点进去试了一下其实是 left 0 但是还让你排队
耍猴的,谁策划的这么耍的活动,