失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Node.js 去掉种子(torrent)文件里的邪恶信息【node.js】

Node.js 去掉种子(torrent)文件里的邪恶信息【node.js】

时间:2021-12-03 19:02:16

相关推荐

Node.js 去掉种子(torrent)文件里的邪恶信息【node.js】

web前端|js教程

Node.js,种子,torrent

web前端-js教程

年,一部名为 ABS-130 的日本影片引起了网络的震动,网络上纷纷出现了 “当初求种像条狗,如今*完嫌人丑”的现象,成为了 年互联网的一件大事件。

开源微信客服系统源码,vscode程序员,ubuntu系统ps,tomcat7.065,sqlite有存储结构吗,爬虫软件怎么加入计算器,php 获取字符位置,seo免费自媒体,电子商务网站asp源码,网页录音代码,赞片模板破解lzw

,净网行动如火如荼地进行,各大互联网公司都作出了表率,一时之间XX云、X雷都把万恶的种子拒之门外。净网行动万岁!!(还我苍老师!!)

博客系统源码,ionic vscode,tar备份ubuntu,tomcat无效,sqlite 外键,阿里云服务器死机了怎么办,日历签到插件 移动端,ui前端框架图片,tomcat 防爬虫,我想学php,优化网站seo公司,医院网站源码php,舞蹈培训 网页模板,hmtl节日模板,js页面下拉刷新插件,会员卡管理系统下载,开发编码程序下载lzw

各大网盘、下载应用都从种子当中提取关键信息,将种子拒之门外。这些关键信息究竟藏在哪里?让我们一探究竟。

fms聊天室源码,vscode print,360云盘ubuntu,tomcat key,SQLite存图,棋牌服务器租用,jquery sidebar插件,新的前端框架,gevent 爬虫,仿闲鱼php,轻松seo优化排名,织梦系统seo网站模板,网页制作初级代码,discuz 添加模板,.net 生成静态页面,办公信息管理系统V2.1,二进制转十进制程序lzw

种子文件结构

以下内容来自维基百科

上图是一个典型种子的结构,那些被识别出来的邪恶关键字就藏在 name 和 file 当中。name 包含了该种子的名字,如:abcd-123 性感XXXX。而 file 当中的 path 则包含了要下载的所有文件的信息,如:草X社区最新地址.txt等等。

Node.js 和 parse-torrent 库

为了寻找出种子当中的邪恶信息我们请出了 Node.js 和 parse-torrent库 作为助手。

实验准备:

种子一枚安装 Node.js 电脑一台

首先我们利用 npm 安装 parse-torrent 库,它帮助我们快速找到种子内的信息。

npm install parse-torrent

var fs = require("fs");var parseTorrent = require(parse-torrent);var info = parseTorrent(fs.readFileSync(my.torrent));console.log(info);

这个库会将种子的信息解析出来,以对象的形式返回给我们。

查看结果:

name:

files:

可以看到用 parse-torrent 库解析出来的 name 和 files 的信息都是以 Buffer 形式存储。

清洗种子

如何将种子里的邪恶信息清洗掉,把万恶的种子扼杀在摇篮之中,最重要的就算要清除调 name 和 files 里面 path 的信息。

function cleanInfo (info) { // 将种子名用 md5 加密 info.name = md5(info.name); info[ ame.utf-8] = md5(info[ ame.utf-8]); var files = info.files; for (var i = 0; i < files.length; i++) { var file = files[i]; for (var key in file) { if (key == "path" || key == "path.utf-8") { for (var j = 0; j < file[key].length; j++) {var text = file[key][j].toString();var dotIndex = text.lastIndexOf(".");// 将种子名用 md5 加密file[key][j] = md5(text.slice(0,dotIndex)) + text.slice(dotIndex,text.length); } } } } return info;}

// 将清洗干净后的 info 对象重新生成一个 torrent 文件var buf = parseTorrent.toTorrentFile({ info: cleanInfos[i]});fs.writeFile(dir + "/" + cleanInfos[i].name + ".torrent", buf);

经过这样之后,我们的邪恶种子文件就变成这样了:

实战阶段

首先准备一个种子,进行XX云的离线下载。

一开始它是被拒绝的。

然后运行脚本进行清洗。

node cleanTorrent IPTD-XXX.torrent

下载成功了!

脚本源码放在这里了,要去看一下我的下载内容了!!!

(**都脱了你给我看这个!!!)

最后

本文纯属技术讨论,感谢你的阅读,有不足之处请为我指出。

请您花一点时间将文章分享给您的朋友或者留下评论。我们将会由衷感谢您的支持!

如果觉得《Node.js 去掉种子(torrent)文件里的邪恶信息【node.js】》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。