TrustScan Update

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>"; 
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址