您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Update for Hackforums Trust Scan
// ==UserScript== // @name TrustScan Update // @namespace http://www.hackforums.net/member.php?action=profile&uid=1769039 // @version 1.0 // @description Update for Hackforums Trust Scan // @author LazySoftware // @match http://www.hackforums.net/trustscan.php?uid=* // ==/UserScript== // ======== Fix Table ======== \\ document.getElementsByClassName("thead")[1].colSpan = "3"; document.getElementsByClassName("tborder")[1].insertRow(1).innerHTML = "<td class='tcat' colspan='1' width='76%'><span class='smalltext'><strong><a href=''>Information</a> </strong></span></td><td class='tcat' align='center' ><span class='smalltext'><strong><a href='' rel='nofollow'>Result</a> </strong></span></td><td class='tcat' align='center' width='7%''><span class='smalltext'><strong><a href='' rel='nofollow'>Score</a> </strong></span></td>"; document.getElementsByClassName("tborder")[1].insertRow(document.getElementsByClassName("tborder")[1].rows.length).innerHTML = "<td class='trow1' width='80%'>Trust Score:</td><td class='trow1' align='center'>0%</td><td class='trow1' align='center'>0/0</td>"; for (i=2;i<13;i++){ var newCell = document.getElementsByClassName("tborder")[1].rows[i].insertCell(2); newCell.innerHTML = "<td class='trow1' align='center'>0/0</td>"; newCell.className = "trow1"; newCell.align = "center"; } // ======== Gather all data ======== \\ var TrustScan_Header = document.getElementsByClassName("tborder")[1].rows[0]; var Information_Header = document.getElementsByClassName("tborder")[1].rows[1]; var Gauth_Data = document.getElementsByClassName("tborder")[1].rows[2]; var LastEmail_Data = document.getElementsByClassName("tborder")[1].rows[3]; var CountryLogins_Data = document.getElementsByClassName("tborder")[1].rows[4]; var LoginIPs_Data = document.getElementsByClassName("tborder")[1].rows[5]; var UniqueISPs_Data = document.getElementsByClassName("tborder")[1].rows[6]; var MatchingRegistration_Data = document.getElementsByClassName("tborder")[1].rows[7]; var MatchingRegion_Data = document.getElementsByClassName("tborder")[1].rows[8]; var IPMatching_Data = document.getElementsByClassName("tborder")[1].rows[9]; var DealDisputes_Data = document.getElementsByClassName("tborder")[1].rows[10]; var PasswordReset_Data = document.getElementsByClassName("tborder")[1].rows[11]; var IPChangeDate_Data = document.getElementsByClassName("tborder")[1].rows[12]; var TrustScore_Data = document.getElementsByClassName("tborder")[1].rows[13]; // ======== Trust Score Editting ======== \\ function updateScore(rowData, updatedScore, scoreMax) { rowData.getElementsByTagName("td")[2].innerHTML = updatedScore + "/" + scoreMax; } function getData(rowData) { return rowData.getElementsByTagName("td")[1].innerHTML; } // ======== Trust Score Calcularor ======= \\ var totalTrustScore = 0; var checkHacked = 0; // Gauth/2FA activation date: if (getData(Gauth_Data) == "Not Activated") { updateScore(Gauth_Data, 0, 20); } else { updateScore(Gauth_Data, 20, 20); totalTrustScore += 20; } // Last Email Change: if (getData(LastEmail_Data) == "No Changes") { updateScore(LastEmail_Data, 10, 10); totalTrustScore += 10; } else { updateScore(LastEmail_Data, 5, 10); totalTrustScore += 5; checkHacked += 1; } // Number of Unique Country Logins: if (getData(CountryLogins_Data) == "1") { updateScore(CountryLogins_Data, 20, 20); totalTrustScore += 20; } else if (getData(CountryLogins_Data) == 2) { updateScore(CountryLogins_Data, 10, 20); totalTrustScore += 10; } else if (getData(CountryLogins_Data) > 2) { updateScore(CountryLogins_Data, 0, 20); checkHacked += 1; } // Number of Unique Login IP's: updateScore(LoginIPs_Data, "N", "A"); // Number of Unique ISP's: if (getData(UniqueISPs_Data) == "1") { updateScore(UniqueISPs_Data, 20, 20); totalTrustScore += 20; } else if (getData(UniqueISPs_Data) == 2) { updateScore(UniqueISPs_Data, 10, 20); totalTrustScore += 10; } else if (getData(UniqueISPs_Data) > 2) { updateScore(UniqueISPs_Data, 0, 20); checkHacked += 1; } // Matching registration and last IP: updateScore(MatchingRegistration_Data, "N", "A"); // Matching region of registration and latest IP: updateScore(MatchingRegion_Data, "N", "A"); // Latest IP Matching Other Members: if (getData(IPMatching_Data) > 0) { updateScore(IPMatching_Data, 0, 30); checkHacked += 5; } else { updateScore(IPMatching_Data, 30, 30); totalTrustScore += 30; } // Deal Disputes (Claimant/Defendant): if (getData(DealDisputes_Data).split('/')[1] > 0) { updateScore(DealDisputes_Data, 0, 100); } else { updateScore(DealDisputes_Data, 100, 100); totalTrustScore += 100; } // Password Reset in Last Week: if (getData(PasswordReset_Data) == "No") { updateScore(PasswordReset_Data, 50, 50); totalTrustScore += 50; } else { updateScore(PasswordReset_Data, 0, 50); checkHacked += 5; } // Last Login IP Change Date: updateScore(IPChangeDate_Data, "N", "A"); // Update Trust Score: updateScore(TrustScore_Data, totalTrustScore, 250); TrustScore_Data.getElementsByTagName("td")[1].innerHTML = totalTrustScore / 250 * 100 + "%"; // ======== Deal Disputes Warning ======== \\ var DealDisputesCount = getData(DealDisputes_Data).split('/')[1]; if (DealDisputesCount > 0) { document.getElementsByClassName("tborder")[1].insertAdjacentHTML("beforeBegin", "<div class='red_alert'><b>WARNING:</b>This user has open scam reports!<br></div>"); } // ======== Add Pro/Con Table ======== \\ document.getElementsByClassName("tborder")[1].insertAdjacentHTML("afterend", "<br><table border='0' cellspacing='1' cellpadding='4' class='tborder'><tbody><tr><td class='thead'><strong>More Information</strong></td></tr><tr><td class='trow1'>Pros;<span style='color: white;'><ul id='pros'></ul></span>Cons;<span style='color: white;'><ul id='cons'></ul></span></td></tr></tbody></table>"); if ((totalTrustScore / 250 * 100) < 70) { document.getElementById("cons").innerHTML += "This users trust score is below 70%!<br>"; } else { document.getElementById("pros").innerHTML += "This users trust score is above 70%<br>"; } if (DealDisputesCount > 0) { document.getElementById("cons").innerHTML += "This user has an open scam report!<br>"; } else { document.getElementById("pros").innerHTML += "This user has no open scan reports.<br>"; } if (checkHacked > 3) { document.getElementById("cons").innerHTML += "This user may have been hacked recently! (Scored: " + checkHacked + "/18)<br>"; } else { document.getElementById("pros").innerHTML += "This user seems to have not been hacked.<br>"; }