(起一个大坑,看看什么是否能填完。目前没想好写关于PT构架的哪些东西,但先开个小头吧~
NexusPHP简介
根据其代码中的介绍(aboutnexus.php
页面)来看:
NexusPHP由来自浙江大学的Nexus团队发起并开发完成。主要是提供一个完整的、有序的、重视用户信誉和知识的资源分享社区的解决方案,是一个PT(Private Tracker,即私有的Tracker服务器,是BT下载的一种)开源软件。
(当然也有人和我说,这是某浙大生毕业设计作品Orz
虽然一遍一遍的在群里鄙视着NexusPHP的垃圾代码,但不得不承认就目前来看国内PT圈依然在大量使用NP(这里应该不用做详细数据统计了吧2333)。
而其他一些尝试,诸如:
- Gazelle:国外著名PT架构,然而部署安装略麻烦,且纯英文界面。国内曾有人尝试翻译并建站,然而该主比我还不靠谱,以致于在17年度被人提及是开站狂魔2333。此外就目前看TVPlay这个基于Gazelle的国内剧集站点现状比一滩死水还不如。
- YoRHa:根本没有人知道的国内构架,主要原因是因为基于ThinkPHP的构架并没有完成23333,作者曾在PT吧发过主贴 【20171009】开源一个国产PT项目...【pt吧】_百度贴吧 ,而且目前demo还存活
(并开放debug模式),但已经有一段时间没有进行更新了Orz。 - meanTorrent:同样是一个国内开源框架,基于Node.js,同样部署安装麻烦(后面会具体讲~)。目前主站被人戏称
(实际是官方简称)是地雷站 ,但就我目前感觉,迈的步子有些大——一方面,过于绚丽的前端对于PT是否需要值得思榷;另一方面,主站目前只接受1080P的一些规定是否在站点初期有利于发展。此外,该站积分策略、上传方式中的一些不同与NP的新形势新方法,对于已经在NP惯性中的使用者来说是不是能很快适应。这些都要经过时间的考验,毕竟今年6月(2018年6月)也才正式上线。 - TBsource:基于PHP,是NP的前身,应该也就只有CFFBits以及TTG这种远古站点在使用了吧~
- XBNBT: 一个基于C++的构架,国内就只有紫荆PT在使用。
- 其他一些在Discuz基础上修改的tracker:这块多为自己写的,而且未能找到公开repo,在此仅作站点列举:六维空间、北交知行、天雪PT。
所以,面对众多的 NP改
站点来说,其实这个古老的(甚至连官网都挂了的)架构依然在支撑着国内PT网站的运行。
缺陷
但是从现代的角度来看NP,我们其实能发现很多问题。
有些属于已经被发现漏洞,多为跨站请求类以及SQL注入类。截止目前(2018/7/19),在 国家信息安全漏洞库 中以 NexusPHP 为关键词搜索可以找出近26条记录 。
而更多被诟病的其实是其代码架构过于老旧也不宜于维护。下面列几点我印象比较深刻的:
- 使用这个mysql已经被抛弃的库(PHP 5.5.0起废弃,PHP 7.0.0起移除),而不是mysqli库或PDO库。而PHP 7至少从评测上看,执行效率比PHP 5优秀很多~
- 代码使用print等方式输出网页。项目受限于时代背景,没有使用MVC等先进思想。
- 数据库设置不合理,大量查询以及写入语句落在
users
以及torrents
等表上,造成数据表过热,故当站点人数过多或者种子数过多时,对站点所在服务器配置要求极其高(譬如NPU就因搜索问题换用外挂搜索引擎);而另一方面,诸如faq、rules这些应该可以直接静态输出的却使用数据库进行存储(估计是为了多语言支持) torrentsrss.php
页面对passkey是否存在没有进行检查,导致非站内用户能通过构造相关链接直接读取站内所有种子信息。(部分站点已经修复这个漏洞)
目前分支情况
鉴于NP在很早之前就已经停止维护(Github上停留在7年前,即2011年),目前很多使用NP作为基础架构的站点都对其进行了一定的改良。我仅从用户体验(比如前端页面的更改)将站点分成以下几类:
- 基本没怎么动: 不得不说,很多站点对原始NP模板并没有进行修改(这是句瞎话,比如BYR看起来和原版似乎一模一样,但是后端的修改还是挺多的;又如二娘,修改了种子的BUFF系统。)。但其实不管该站Sysop到底出力没出力,都可以将对应站点视为一个模板。
- 葡萄:该前端模板将个人信息做成置顶栏,而不是和基本模板一样放在导航栏之下。种子搜索增加“随意看看”。
- 蝴蝶:以蝴蝶和珞樱为代表,对搜索词的词长存在限制,拥有用户自定义Javascript以及自定义css。
- 蚂蚁:虽然蚂蚁因为一些原因已经停止运营,但是模板并没有消失2333。目前仍有很多新站使用蚂蚁的模板进行建站,如高清街以及美盒子(都是小站)。我个人不是很喜欢蚂蚁的模板,它将一个种子的所有信息使用两个tr加一堆rowspan进行合并展示,在我看来其实增加后期维护的困难程度,尤其是在没有模板引擎的NP构架之下。
截图为他人提供的美盒子截图。
- 蒲公英:蒲公英是魔改NP最为成功的一个站点。在它之前或者之后都有人尝试将Bootstrap与NexusPHP进行结合,虽不能说他们都失败了,但至少NPU成为了一个典型喵喵喵。。其他一些更改,比如rp系统、自动转种系统等都是该站点特点。
- HDA:良心站点HDArea添加了种子预告系统,后被集市使用。(毕竟这两个站点早期开发是同一个人)
嘛,我影响稍微深刻的就这些站点,以及他们使用的模板。其他还有一些站点,此处就不一一列举了。
而从公开仓库来看,目前站点公开并有在更新代码的有以下:
- lwenxu/jmbits:https://github.com/lwenxu/jmbits
- nwafu-mta/mtpt:https://github.com/nwafu-mta/mtpt
- zcqian/tjupt:https://github.com/zcqian/tjupt
- QingyingPT/QY-PT-tracker:https://github.com/QingyingPT/QY-PT-tracker , 非完整代码
也确实是寥寥无几~
写的非常好,学习了好多知识。
不知道蚂蚁的模板哪里可以找到或者买到,很想有啊
可以找真红酱,如果你能找到的话23333(虽然我有但是不能给。
但是其对php的支持也仅到5.3,代码质量其实也不高(太多我认为没有必要的实现,或者说高版本PHP有更加方便的实现);但这不能抹杀其对NP这个老破车维护的贡献。
https://github.com/nwafu-mta/mtpt 已经访问不了了
因为一些原因转成private repo了。你可以考虑下较早的存档: https://github.com/riverstore/mtpt
大佬您好,我们学校想做一个校园PT,在试了原版和北洋版都有smtp发件不了的问题,想求教一下是哪里的问题。
另外,听说有一个NexusPHP黑客联盟,里面都是做站技术方面类的,不知道您有群号没有,谢谢回复大佬。
可以回复在本页面上,我明天再来学习
请检查你发件服务及端口。
同样不好意思,本人也从未听说过该群。
其实关于NexusPHP还有段历史,代码源自TBSource,最早是不开源的,要使用得收取所谓的维护费的,至于后来为什么开源呢,因为和某高校合作的时候,某高校学生准守GPL协议把代码给了人人,N站就和他们吵了起来,结果就是在sf上开源了。嗯,最早公开的版本存在已知的邀请漏洞,至于N站管理层有没有利用这个漏洞在其他使用NexusPHP的站点获取注册途径呢,你猜
海胆的nexusphp实现了类似羚羊的分组效果,r大知道他们怎么做的吗?这个规模要改源码工作量很大,我有点难以置信是改源码,感觉是嫁接,但又不知道怎么做的
也不能说不可能,猫站的游戏板块就是改的分组。难道海胆用的猫站的代码?
大佬,现在的UNIT3D怎么说?