您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Extract DAWN token.
// ==UserScript== // @name DAWN Token Extractor // @namespace forestarmy // @version 4.0 // @description Extract DAWN token. // @match https://dashboard.dawninternet.com/* // @grant none // @author. Itsmesatyavir // @license MIT // ==/UserScript== (function () { 'use strict'; let token = null; // === Create UI box (Top-Right Corner) === const box = document.createElement('div'); box.style.position = 'fixed'; box.style.top = '10px'; box.style.right = '10px'; box.style.zIndex = '999999'; box.style.background = '#000'; box.style.color = '#0ff'; box.style.padding = '12px'; box.style.border = '2px solid #0ff'; box.style.borderRadius = '12px'; box.style.fontSize = '12px'; box.style.width = '300px'; box.style.fontFamily = 'monospace'; box.style.boxShadow = '0 0 12px #0ff'; const title = document.createElement('div'); title.textContent = 'DAWN Token Extractor FORESTARMY'; title.style.fontWeight = 'bold'; title.style.fontSize = '14px'; title.style.marginBottom = '6px'; const tokenDisplay = document.createElement('div'); tokenDisplay.textContent = 'Detecting...'; tokenDisplay.style.maxHeight = '32px'; tokenDisplay.style.overflow = 'hidden'; tokenDisplay.style.textOverflow = 'ellipsis'; tokenDisplay.style.whiteSpace = 'nowrap'; tokenDisplay.style.marginBottom = '8px'; tokenDisplay.style.color = '#fff'; const copyBtn = document.createElement('button'); copyBtn.textContent = '📋 Copy Token'; copyBtn.style.background = '#0ff'; copyBtn.style.color = '#000'; copyBtn.style.border = 'none'; copyBtn.style.padding = '6px 10px'; copyBtn.style.cursor = 'pointer'; copyBtn.style.borderRadius = '6px'; copyBtn.style.width = '100%'; copyBtn.disabled = true; copyBtn.onclick = () => { if (token) { navigator.clipboard.writeText(token).then(() => { copyBtn.textContent = '✅ Copied'; setTimeout(() => copyBtn.textContent = '📋 Copy Token', 2000); }); } }; box.appendChild(title); box.appendChild(tokenDisplay); box.appendChild(copyBtn); document.body.appendChild(box); // === Telegram Widget Embed === const telegram = document.createElement('script'); telegram.async = true; telegram.src = 'https://telegram.org/js/telegram-widget.js?22'; telegram.setAttribute('data-telegram-post', 'forestarmy/3954'); telegram.setAttribute('data-width', '100%'); document.body.appendChild(telegram); // === Token Updater === function updateToken(newToken) { if (!newToken || newToken === token) return; token = newToken; tokenDisplay.textContent = newToken; copyBtn.disabled = false; console.log('[FORESTARMY] Token:', token); } // === 1. Try localStorage.user === try { const userData = localStorage.getItem('user'); if (userData) { const parsed = JSON.parse(userData); if (parsed.token) updateToken(parsed.token); } } catch (e) {} // === 2. Hook fetch === const origFetch = window.fetch; window.fetch = async function (...args) { const response = await origFetch.apply(this, args); // Check headers const config = args[1]; if (config?.headers?.Authorization?.startsWith('Bearer ')) { updateToken(config.headers.Authorization.split(' ')[1]); } // Check JSON response try { const cloned = response.clone(); const type = cloned.headers.get('content-type') || ''; if (type.includes('application/json')) { const json = await cloned.json(); if (json?.token) updateToken(json.token); } } catch (e) {} return response; }; // === 3. Hook XHR === const origOpen = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function () { this.addEventListener('readystatechange', function () { if (this.readyState === 4) { try { const type = this.getResponseHeader('content-type') || ''; if (type.includes('application/json')) { const json = JSON.parse(this.responseText); if (json?.token) updateToken(json.token); } } catch (e) {} } }); origOpen.apply(this, arguments); }; })();