自动解码ACG.TF的加密链接

无意中发现的神站一枚,各种绅士,你懂得。
之前老是手动复制,重复的劳动干多了,就想着要变通。
引用了外部js,不能传到greasyfork,放到我闲置的虚拟主机了。现在把引用的脚本加入到JS里边然后提交过去了(需要登录GreasyFork才能查看)

http://userscript.32.pm/qia/acg.tf.helper.user.js

https://greasyfork.org/zh-CN/scripts/14822-acg-tf-helper

 

2015.12.07 v0.1.3
1、修复密码带&会导致解密失败的bug;
2、给链接增加了a标签属性,现在可以配合自动填写密码脚本(https://greasyfork.org/zh-CN/scripts/13463)使用了。
3、给磁力链接增加了二维码,方便扫一扫
2015.12.06 v0.1.1
1、增加密匙没加密的判断

// ==UserScript==
// @name        ACG.TF Helper
// @namespace   http://userscript.32.pm/qia/
// @version     0.1.4
// @author      Charisma
// @description 方便拤
// @include     http://www.acg.tf/*.html
// @require http://tool.oschina.net/js/CryptoJS/rollups/aes.js
// @grant       none
// ==/UserScript==
function createPlement(str) {
    var p =  document.createElement('p');
    p.innerHTML = str;
    return p;
}
(function() {
    var ps = document.getElementsByClassName("entry-inner")[0].getElementsByTagName('p');
    for (var i=ps.length-1;i>=0;i--) {
        var pass = ps[i].innerHTML;
        if (pass.indexOf('密匙') >= 0) {
            var pass = pass.substring(pass.indexOf('密匙') + 3,pass.length);
            pass = pass.replace('&','&');
            var link = ps[i+1].innerHTML;
            var target = ps[i+1];
            try {
                link = CryptoJS.AES.decrypt(link,CryptoJS.enc.Base64.parse(pass).toString(CryptoJS.enc.Utf8)).toString(CryptoJS.enc.Utf8);
            } catch(mfe) {
                link = CryptoJS.AES.decrypt(target.innerHTML,pass).toString(CryptoJS.enc.Utf8);
            }
            link = link.replace(/((http|ftp|https):\/\/)(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(\/[a-zA-Z0-9\&%_\.\/-~-]*)?/g,"<a href=\"$&\">$&</a>");
            ps[i].innerHTML = '和谐信息已经解密! by <a href="http://32mb.cn/" target="_blank">Charisma</a>';
            target.innerHTML = '(压缩包中的密码是用<a href="http://tool.oschina.net/encrypt?type=3" target="_blank">Base64</a>加密的)';
            var magnet = link.match(/magnet:?[^"]+/);
            if (magnet != null) {
                target = target.parentNode.insertBefore(createPlement('<img src="http://qr.liantu.com/api.php?text='+ link +'"/>'),target);
                link = link.replace(magnet,"<a href=\"" + magnet + "\">" + magnet + "</a>");
            }
            target = target.parentNode.insertBefore(createPlement(link),target);        
    }
}
}());
分享到:

2 条评论

昵称
  1. 好文章
    感谢分享
  2. 2016贺岁档
    过来看看、感谢分享