您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds formatting for the code board
- // ==UserScript==
- // @name Board Formatting
- // @namespace http://www.hacker-project.com/
- // @version 1.3
- // @description Adds formatting for the code board
- // @author Kevin Mitnick
- // @match http://www.hacker-project.com/index.php?action=group*
- // @match http://hacker-project.com/index.php?action=group*
- // @grant none
- // ==/UserScript==
- function main() {
- // DEFINE YOUR NICKNAMES HERE
- var nns = [
- // FOR MASS NOTIFICATION, DO NOT CHANGE
- "all",
- // YOUR OWN NICKNAMES
- "your",
- "nicknames",
- "here"
- ];
- var username;
- var servers = document.getElementsByName("g_id")[0].getElementsByTagName("option");
- var firsttext = servers[0].innerHTML;
- var ind = firsttext.indexOf("'s");
- if (ind>-1) username=firsttext.substring(0, ind);
- var alltd = document.getElementsByTagName("fieldset")[0];
- if (new String(document.location.href).indexOf("&a2=leader")<0 && new String(document.location.href).indexOf("&a3=edit_post")<0) process(alltd);
- var numMessages;
- var as = document.getElementsByTagName("a");
- for (var i = 0; i < as.length; i++) if (as[i].href.indexOf("index.php?action=group")>-1) {
- if (as[i].innerHTML.indexOf("(")>-1) {
- numMessages = parseInt(as[i].innerHTML.substring(as[i].innerHTML.indexOf("(")+4, as[i].innerHTML.indexOf(")")-3));
- break;
- }
- else {
- numMessages = 0;
- break;
- }
- }
- if (new String(document.location.href).indexOf("&a3=new_post")>-1) numMessages++;
- for (var x = 0; x < document.getElementsByClassName("emi8").length; x++) {
- var msgtd = document.getElementsByClassName("emi8")[x];
- if (x<numMessages) msgtd.style.backgroundColor="#4C4C00";
- for (var nni = 0; nni < nns.length; nni++) {
- var nn = nns[nni];
- if (msgtd.innerHTML.indexOf("@"+nn)>-1) msgtd.style.backgroundColor="#4C4C00";
- }
- if (username !== null && msgtd.innerHTML.indexOf(username)>-1) msgtd.style.backgroundColor="#4C4C00";
- }
- }
- function process(el) {
- var val = el.innerHTML;
- // XSS
- while (val.indexOf("[[")>-1) val = val.replace("[[", "<");
- while (val.indexOf("]]")>-1) val = val.replace("]]", ">");
- while (val.indexOf("blocked")>-1) val = val.replace("blocked", "script");
- el.innerHTML = val;
- var startingPoint = 0;
- while (val.indexOf("http", startingPoint)>-1) {
- startingPoint = val.indexOf("http", startingPoint);
- if (val.substring(startingPoint-2, startingPoint)=="l:") {
- var nextSpaceIndex = Math.min(val.indexOf("<", startingPoint), val.indexOf(" ", startingPoint));
- var href = val.substring(startingPoint, nextSpaceIndex);
- console.log(href);
- var first = val.substring(0, startingPoint), last = val.substring(nextSpaceIndex, val.length);
- var link = "<a href='"+href+"' target='_blank'>"+href+"</a>";
- console.log(link);
- el.innerHTML = first.substring(0, first.length-2)+link+last;
- val = el.innerHTML;
- startingPoint = val.indexOf(link)+link.length;
- }
- else startingPoint++;
- }
- var sar = [
- [">:)", "https://twemoji.maxcdn.com/72x72/1f608.png"],
- [">:d", "https://twemoji.maxcdn.com/72x72/1f608.png"],
- [":)", "https://twemoji.maxcdn.com/72x72/1f600.png"],
- ["xd", "https://twemoji.maxcdn.com/72x72/1f600.png"],
- [":|", "https://twemoji.maxcdn.com/72x72/1f610.png"],
- [":o", "https://twemoji.maxcdn.com/72x72/1f62e.png"],
- [":(", "https://twemoji.maxcdn.com/72x72/1f615.png"],
- [":d", "https://twemoji.maxcdn.com/72x72/1f603.png"],
- ["d:", "https://twemoji.maxcdn.com/72x72/1f627.png"],
- [";(", "https://twemoji.maxcdn.com/72x72/1f62a.png"],
- [":'(", "https://twemoji.maxcdn.com/72x72/1f62a.png"],
- [":p", "https://twemoji.maxcdn.com/72x72/1f61b.png"],
- [";p", "https://twemoji.maxcdn.com/72x72/1f60b.png"],
- [";)", "https://twemoji.maxcdn.com/72x72/1f609.png"]
- ];
- for (var sari = 0; sari < sar.length; sari++) {
- var sa = sar[sari];
- var s = sa[0];
- var addr = sa[1];
- var lastPos = 0-s.length;
- while (val.toLowerCase().indexOf(s, lastPos+s.length)>-1) {
- lastPos = val.toLowerCase().indexOf(s, lastPos+s.length);
- var first2 = val.substring(0, val.toLowerCase().indexOf(s));
- var last2 = val.substring(val.toLowerCase().indexOf(s)+s.length, val.length);
- if (first2.indexOf(" ", first2.length-1)>-1 || last2.substring(0, 1).indexOf(" ")>-1)el.innerHTML = first2+"<img src='"+addr+"' width='16px' style='position: relative; top: 3px;'/>"+last2;
- val = el.innerHTML;
- }
- }
- }
- main();