leaks your ip (100%)
目前為
// ==UserScript==
// @name OWoT user indicator
// @namespace https://greasyfork.org/scripts/458537-owot-online-and-offline
// @version 9.2
// @description leaks your ip (100%)
// @author e_g.
// @match https://ourworldoftext.com/*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// ==/UserScript==
let warn = true;
let counter = 0;
let amityping = false;
let people = [];
//Part made by KKosty4ka
var chat_upper = document.getElementById("chat_upper");
chat_upper.appendChild(document.createElement("br"));
var typing_display = chat_upper.appendChild(document.createElement("span"));
typing_display.style.display = "flex";
typing_display.style.justifyContent = "center";
typing_display.style.alignItems = "center";
//Part made by KKosty4ka
menu.addCheckboxOption('Online Offline warning', function(){
warn = true;
}, function(){
warn = false;
}, true);
w.broadcastReceive(true);
w.on('cmd', function(e){
if(!e.username || !warn) return;
if(e.data.startsWith('online')){
clientChatResponse(e.username + " is online!");
}
else if(e.data.startsWith('offline')){
clientChatResponse(e.username + " is now offline.");
}
else if(e.data.startsWith('back')){
clientChatResponse(e.username + " is back.");
}
else if(e.data.startsWith('afk')){
clientChatResponse(e.username + " is AFK. (Idle)");
}
else if(e.data.startsWith('typing')){
if(!people.includes(e.username)) people.push(e.username);
typing_display.innerText = people.join(" and ") + " " + (people.length > 1 ? "are" : "is") + " typing...";
}
else if(e.data.startsWith('untyping')){
people = people.filter((x, i)=>i != people.indexOf(e.username))
typing_display.innerText = people.length ? people.join(" and ") + " " + (people.length > 1 ? "are" : "is") + " typing..." : "Currently, no one is typing";
};
});
setTimeout(function(){
w.broadcastCommand('online', true);
}, 1000);
window.addEventListener('beforeunload', function(){
w.broadcastCommand('offline', true)
});
window.onblur = function(){w.broadcastCommand('afk', true)};
window.onfocus = function(){w.broadcastCommand('back', true)};
elm.chatbar.oninput = function(e){
counter = 0;
amityping = !!elm.chatbar.value.length;
if(amityping) w.broadcastCommand('typing', true)
else w.broadcastCommand('untyping', true);
};
setInterval(function(){
counter += 100;
if((counter >= 5000 && amityping) || !elm.chatbar.value.length){
w.broadcastCommand('untyping', true);
amityping = false;
};
}, 100);