漫谈PT架构(5): 构造一个SPT(Announced部分)

漫谈PT架构(5): 构造一个SPT(Announced部分)

相比于相对简单的Scrape,Announce构造相对麻烦。(嗯,从上篇文章的发出之后,我又尝试了ThinkPHP5、Symfony等架构的测试。经过多次尝试后,决定在某个Swoole的PHP框架上再次开发。之后的文章示意代码依次为准。发出鸽鸽鸽鸽鸽鸽鸽鸽鸽鸽鸽鸽鸽鸽鸽鸽的声音~总代码示例这里贴出的是一个示例的步骤(伪代码),可以看到Tracker的Announce步骤依次如下,对字段的检验和选择,获得种子信息并缓存加快响应、处理请求、生成返回信息。我将依次对这几个部分进行说明。$this->checkAnnounceFields(&$queries); // 检查请求...

PT,PHP,Knowledge 2018-12-25 PM 3065℃ 7条
使用Vultr的Snapshots API完成自动备份(Python版)

使用Vultr的Snapshots API完成自动备份(Python版)

除了免费赠送可挂载的50G Block Storage之外,Snapshots可能也是吸引我使用Vultr的原因。虽然我一直没有从快照中还原过2333(但是好歹有个心理安慰是不是)注意,默认情况下最多创建11个Snapshots!!!!可能是因为本人搜索姿势不对吧,使用“vultr snapshot script”在Google中只搜索到 Automated Snapshots 这一个使用PHP写的脚本。但是为了系统安全,我在php.ini中禁用了“shell_exec”等方法。同时,该PHP脚本只能在Vultr主机上运行且只对当前机器进行备份。所以自己模仿着这个脚本写了一下Python...

Python,VPS,Knowledge 2018-12-08 PM 3139℃ 1条
NexusPHP允许无Tracker种子上传

NexusPHP允许无Tracker种子上传

在某些NexusPHP构架的PT站点上传无tracker地址的种子时会提示目录缺少值,至少要填写一个tracker。长期以来,这个缺陷一直被要求up者在做种时任意填写一个字段使该tracker地址非空。不过经过分析,发现这个只需要改一行代码就行。照例,上NexusPHP的源代码:ZJUT/NexusPHP/takeupload.php#L140 ,是的,只要修改这一行为下列即可~list($info) = dict_check($dict, "info");完整Patch后面都是瞎写的,就不用点开看了233333

PHP,PT 2018-11-14 PM 2550℃ 0条
Pt站点禁用Aria2客户端方法分析

Pt站点禁用Aria2客户端方法分析

为什么Private Tracker需要限制客户端,因为并不是所有的BT客户端都是完全遵守BEP规范的实现(其实常用的ut、tr之流也并不是完全遵守的2333)。所以以NP框架为代表的站点要尽量把用户使用的客户端限制在允许的范围,使得能相对正确的记录用户的做种信息。但是这并不能解决一些能伪造User-Agent以及peer_id_prefix的软件,例如Aria2这样的综合下载软件或者一些流量作弊软件。因为他们可以很容易的伪造,以绕过NP的检测。甚至于Aria2专门提供了这样的配置项来进行修改。例如下面的例子中就将Aria2伪装成 Transmission/2.77,能成功的绕过原版的N...

PT,PHP,Knowledge 2018-10-01 PM 10700℃ 11条
LNMP环境下NextCloud的安装调优

LNMP环境下NextCloud的安装调优

我真是信了某些站攻略的邪,瞎写的,也不知道自己配置过没有。随着开学的临近,我也想重新调整下我的文档数据,正好原先使用的坚果云备份时间到期不想继续使用。(在5月做设计的时候遇到很严重的同步问题,一直没能解决)所以把私人云储存的目光瞄到了 Vultr 赠送的50G空间(对于文档来说够用了,大文件都是用GDrive+OneDrive存储+本地冷备份,照片则本地冷备份+Google Photos+Yandex.Disk)。环境要求官方文档见: System requirements — Nextcloud 13 Administration Manual 13 documentation本人是用...

VPS 2018-09-04 PM 4579℃ 2条
同机多NexusPHP站点改造

同机多NexusPHP站点改造

虽然我不知道为什么 @NPCHK 大佬会有这种要求,但既然提了就顺带帮忙解决。Nginx以及数据库都没有什么大的问题,对应着分开就是了。但是在缓存方面需要动点手脚,否则多站点公用一个缓存会出现错乱的问题。NP的Cache方法在 classes\class_cache.php 中,这个class_cache是对PHP的Memcache类的一个扩写。并在function.php中以include的形式引入并在全局声明。但是可惜的是,Cache的配置并没有在allconfig.php文件提供,而是直接写死在了其构造中。所以我们需要增加prefix的支持。完整patch如下:Index: cla...

PHP,PT 2018-08-21 PM 1940℃ 0条
爬取备份“忧郁的弟弟”站点Galgame

爬取备份“忧郁的弟弟”站点Galgame

我的Galgame资源发布站 - 忧郁的弟弟 是由忧郁的弟弟提供的汉化Galgame下载站点,关于该站点介绍请访问:关于若干注意事项(新人必读) | 我的Galgame资源发布站资源备份档分享请见:Mygalgame全站资源备份他人抓取项目请见: Mygalgame backup弟弟站点html结构十分规范,而且爬取特别容易。问题在于该站的资源都是用百度云进行存储,而百度云的转存与下载较为麻烦。这里我们采取抓取和转存分别进行的方法,构造备份站点。步骤如下:对弟弟站所有页面进行抓取下载并存储。进行百度云批量转存,使用BaiduPCS-GO进行下载操作。使用rclone转存到GDrive以及...

Python,Game 2018-08-07 PM 27929℃ 17条
漫谈PT架构(5): 构造一个Simple-Private-Tracker(Scrape部分)

漫谈PT架构(5): 构造一个Simple-Private-Tracker(Scrape部分)

在这节及之后的PT架构书写过程中,我将使用ThinkPHP 5作为MVC框架,rchouinard/bencode 作为Bencode编码库,实现一个演示性质的Private Tracker。在此,我将默认你已经对前面的内容有所理解,并对PHP以及composer有了解运用。该项目代码见: https://github.com/Rhilip/Simple-Private-Tracker ,仅供学习无法运行~请注意,本文所列方法,仅表示本人的一种实现。实际只要符合BEP 0003以及BEP 0027的都是可行的实现~请注意,本处所列代码并不一定是最新的,仅代表思考逻辑过程,具体代码请看re...

PT,Knowledge 2018-08-02 PM 2152℃ 0条
漫谈PT构架(4):框架结构及相关分析

漫谈PT构架(4):框架结构及相关分析

在实质性的进入Tracker内部逻辑之前,让我先水一篇分析性的文章~框架结构NexusPHP像NP这种较老的框架并没有一个很明显的架构,各项信息杂糅在一起。但从导航栏相关中,大体可以分为以下几个子模块。以下分类方式仅代表本人意见。当然,目前各站在这个基础上均增加了一些新的系统,比如(万恶的)勋章系统、发布预告系统、转种系统(含自引用与他站引用)、任务系统、考核系统;对原有系统也有些许扩展,例如Bangumi榜单、AniDB榜单等的添加。meanTorrentmeanTorrent的可以在其modules下明确的了解其架构。撰稿时,架构如下:Tracker请求生命周期从整个请求流程来看,用...

PT,Knowledge 2018-07-31 AM 2641℃ 2条
Online 5o(Start-2-XS-SATA)测试

Online 5o(Start-2-XS-SATA)测试

走过路过不要错过,Online的5o传家宝开售了首先需要明确滴是,这款机子馁并不是特价机,初始10刀安装费。(且Online前三个月不能使用Paypal付款,需要外币信用卡)1.购买网址:https://console.online.net/en/order/server目前多数状态下没货~至于Online的注册、付款以及开机不是本文重点,请另行搜索~2.测试整体测试仅从整体看,IO受限较大。据群里其他人开机测试结果来看,基本也是40-60左右,仅有少部分能开到鸡血100。 国内测速Speedtest测速[email protected]:~# wget down.46.tn/tool/spee...

VPS 2018-07-26 AM 1972℃ 0条
漫谈PT构架(3):meanTorrent简介及搭建

漫谈PT构架(3):meanTorrent简介及搭建

在简单的介绍完NP的历史以及搭建,让我们先跳出NP框架,了解下其他的一些前面讲过的框架及其搭建过程。meanTorrent是目前来看,国人新框架中功能最为齐全、开发程度较高的一个。(其他我了解的都基本在开发过程中滴说)从官方的介绍来看:meanTorrent - MEAN.JS BitTorrent Private Tracker - Full-Stack JavaScript Using MongoDB, Express, AngularJS, and Node.js, A BitTorrent Private Tracker CMS with Multilingual, and IR...

VPS,PT 2018-07-25 PM 4215℃ 1条
漫谈PT构架(2):搭建NexusPHP

漫谈PT构架(2):搭建NexusPHP

为了去了解站点构架,一个简单的搭建过程也是需要了解的。NP搭建的最重要注意点是,使用的PHP版本最高不应该超过5.6,并安装memcache软件及PHP扩展。对数据库版本要求不是很严格,我使用MySQL 5.7测试可行。本人写的十分简略(因为真心没有什么好讲的),如果有必要,还请参照他人的详细搭建过程。Linux下搭建LNMP环境及Memcache网上的教程真心啰嗦,lnmp一个一个的写过去,我个人还是喜欢用一键包来配置。lnmp1.5的自动值守命令为screen -S lnmp wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnm...

PT,Knowledge 2018-07-24 PM 3893℃ 3条
漫谈PT构架(1):NexusPHP简介

漫谈PT构架(1):NexusPHP简介

(起一个大坑,看看什么是否能填完。目前没想好写关于PT构架的哪些东西,但先开个小头吧~NexusPHP简介根据其代码中的介绍(aboutnexus.php 页面)来看:NexusPHP由来自浙江大学的Nexus团队发起并开发完成。主要是提供一个完整的、有序的、重视用户信誉和知识的资源分享社区的解决方案,是一个PT(Private Tracker,即私有的Tracker服务器,是BT下载的一种)开源软件。(当然也有人和我说,这是某浙大生毕业设计作品Orz虽然一遍一遍的在群里鄙视着NexusPHP的垃圾代码,但不得不承认就目前来看国内PT圈依然在大量使用NP(这里应该不用做详细数据统计了吧2...

PT,Knowledge 2018-07-24 AM 8756℃ 11条
蒲公英(NPUBits)站点 Banner分析

蒲公英(NPUBits)站点 Banner分析

无所事事的时候看到这站内的这个帖子,正好最近在做(学习)数据分析的工作,同时我对主帖子中的一些问题表示关注,所以顺带水一片博文进行分析。首先对从那些地方能获取到数据要进行分析:用户在论坛发帖提交Banner会留下记录,管理员使用Banner更换系统进行自动更换时会在“普通”日志中留下记录,已经展示过的Banner有集中展示页面。所有数据基于站内公开数据,数据最后更新(爬取)于2018/07/11 17:00,未统计早期(2015年1月至11月)Banner信息本文仅限NPUBits内部论坛以及本人博客( https://blog.rhilip.info )发布,禁止转载。

Python,PT 2018-07-15 PM 4026℃ 2条
某站5.20开放注册活动结果分析

某站5.20开放注册活动结果分析

很荣幸在本次活动中参与了某站点的最终审核过程。下面根据整次活动的过程进行梳理。该活动以“将特定图片上传到微信朋友圈,发完后截图朋友圈,并上传截图”的形式展开,用户通过上传的朋友圈截图信息,就可以获得一定数量以上的奖励。活动对上传的截图文件有以下要求:请不要通过仅自己可见等设限方式上传到朋友圈需要截图朋友圈带有自己发布内容的区域,不可以截图个人相册等其他区域请完整截图,不要裁剪如果同时加入了自己的文字推荐内容(如向大家介绍下本站),将有更高的几率获得更多奖励同样,也列出了一些无法通过审核的原因:图片没有标题栏或者标题没有写“朋友圈”字样,“我的相册”、“详情”均不能通过审核上传编辑也不能通...

Python,PT 2018-07-11 PM 1923℃ 0条