什么是 PT?
请见 Private Tracker 介绍 一文。
什么是 PT 架构?
PT 站作为资源社区,内容较多、功能较复杂,因此,如果让每一位站长都自己从零开始编写一个完整的网站,显然是不现实的。而为了降低开站的门槛,一些站点直接公开了(部分)源代码,让其他有志之士改改就能跑,这类公开出来的完整站点方案就是架构。
作为中文 PT 的用户,你应该可以在很多站点的底部看到「Powered by NexusPHP」的字样,这意味着它们采用了 NexusPHP 架构。其原始介绍如下:
NexusPHP 由来自浙江大学的 Nexus 团队发起并开发完成。它的目标是代替 TBSource 项目,提供一个完整的、有序的、重视用户信誉和知识的资源分享社区的解决方案。
NexusPHP 第一阶段的版本是基于 TBSource 开发的。我们在后者的基础上添加或完善了大量功能,同时极大地提高了代码效率。除 TBSource 外,我们还吸取了一些其它 Private Tracker 的想法或代码,如 Bit-HDTV、What.CD 和 SceneTorrents。
引文中提到的「What.CD」在 PT 史上写下了辉煌的一页,请见 全球最大音乐 PT 站的前世今生 一文来了解它的故事。
GPW 与 Gazelle
What.CD 开源了自己所使用的架构,名为 Gazelle,官方介绍如下:
Gazelle is a web framework geared towards private torrent trackers. Although naturally focusing on music, it can be modified for most needs. Gazelle is written in PHP, JS, and MySQL.
Gazelle 是一套适用于 PT 的网站架构。尽管原生状态下专注于音乐,但也可修改以适应其他需求。Gazelle 使用 PHP、JS 和 MySQL 编写。
这段介绍里提到的「可修改以适应其他需求」是已被证明的事实。目前国际上有一批专注类型资源的 PT,在各自领域高居榜首,被称为「联盟站」,英文用户将它们称为「Cabal Trackers」,是 PT 玩家之路的终点。一般认为,联盟站包括如下站点:
- AB,ACG 站,包括动漫、漫画、期刊、音乐等;
- BIB,电子书站(非 Gazelle);
- BTN,剧集站;
- EMP,爱情动作片站;
- GGN,游戏站;
- PTP,电影站;
- RED,音乐站,但也提供电子书、破解软件等。
What.CD 在 2016 被关闭以后,其官方对 Gazelle 的维护就终止了,但其分支仍在继续流布。音乐站分支 仍在继续优化,维护方是 OPS,一个仅次于 RED 的音乐大站。而目前完善度较高、且优化活跃的 电影站分支 则由 GPW 开源并维护,它是全球首个以中文为主的多语言 Gazelle 电影站。后文也会采用 GPW 的截图以辅助讲解。首先简要介绍 GPW。
这就是 GPW 的首页,中央最顶上就是数据,上传量、下载量、分享率、积分;右侧是发布、邀请、图床、语言切换、用户名和主菜单(包括个人设置、种子历史、退出登录等各类入口)。首页一般都会放上最新公告、站点最新的实时数据,这一点,各站基本都大同小异。「求贤若渴」横幅下方是六个搜索框,多个搜索框的并排是 Gazelle 架构的一大特色(一般你看到站点界面一批搜索框一字排开,不用多想,大概率就是 Gazelle 架构),非常方便用于各类搜索,举个例子:
输入内容能够自动预测你想要搜索的目标。那我们看看《钢铁侠》的电影页面是怎样的:
首先是一个电影自身的信息展示栏,有 IMDb、豆瓣、烂番茄的评分,导演、片长、地区、语言等信息,也有影片情节梗概,点击可以展开阅读全文,下面是演员展示。
由于 Gazelle 架构的特性,海豹能将一部电影的所有种子都汇聚到一起管理,无论是搜索还是对比都很方便,我们有一套种子优胜劣汰的规则,它是基于「槽位」系统运转的,槽位简单来说就是规定符合什么条件的种子能够占有一席之地,不同倾向的种子能够各得其所,同类型种子如果发布出来需要争夺槽位,下文有更具体的展示。
下面介绍 GPW 和 Gazelle 一些很棒或很特别的功能和特性。
分组管理
「分组」的思想贯彻 Gazelle 设计的始终,我认为它是最核心的特性。因此,任何 PT 站,只要其内的种子可以按某种标准分组,就可以采用 Gazelle 架构,即使种子的类型多种多样。举个例子,上文提到的 AB,其内有番剧、漫画、游戏、专辑等多种资源,但由于可以按「作品」分,于是一个「组」下面可以囊括游戏原作、衍生漫画、衍生番剧和游戏原声,尽管类型多种多样,却不会混乱。
如果资源类型纯粹,就更好办了,组的管理可以更加精细且齐整。以电影站 GPW 为例,每一部存在于站点的电影都是一个单独的「种子组」,「种子组」下面按照清晰度再划分几个层次,使下属的各个种子有序排列其中:
这样一来,同一电影的所有种子都汇聚在一起,一目了然。有的电影有「未删减版」「导演剪辑版」等一类内容有实质性不同的版本;还有的电影有 3D 版、原盘里有花絮等,这些资源也能各得其所。可以说,Gazelle 天生就是专类资源的档案馆。
除了按照电影分,GPW 还能用「艺人」与「合集」模块汇总种子,以成龙为例,我们可以看到:
除了图中所示的海报墙,还有艺人相关介绍和一些别的统计信息。
「合集」功能则可以按一定标准将诸多电影组织到一起,比如「豆瓣 2020 年度电影榜单」:
合集有多种类型,如果是个人私有的合集,就没有任何限制,你想要收集涩涩电影归拢一个合集也完全没问题!
所有用户都不必再漫无目的地寻找,而是可以直接从这些优秀电影的榜单中寻找自己青睐的作品观看。而这些榜单也都是由站点用户自发创建和维护的,这也是 Gazelle 站点共建思想的冰山一角。另一个策略是在种子搜索箱按照评分排:
由分组带来的种子管理策略,其核心是优胜劣汰,具体分为「重复(Dupe)」与「替代(Trump)」两方面。重复和替代意味着发生了「槽位(Slot)」的争夺,下面具体介绍这三个概念。
槽位
槽位规定了种子组下具有哪些空位可供放入种子,并且规定种子要符合怎样的条件才能放入该空位。下面是 GPW 的槽位设置:
如图槽位的设置,核心思路有二:① 满足不同爱好的国内用户需求;② 保留尽可能优质的面向世界各地用户的压制。
借此,各类不同倾向的种子都有适合自己的位置。为了方便用户了解槽位的具体情况,GPW 提供了「空槽总览」和「槽位视图」两个层级的展示页。
空槽总览
列表从左到右,分别是「完成数」「求种数」,以及各类种子的槽位状态。
「完成数」和「求种数」在某种程度上反映了影片的受欢迎程度,越大,说明越多人感兴趣。当每一个「类」被完全填满时,就会显示红色的「×」;还有空位时,则显示黄色的「○」,你可以鼠标悬停其上,获知具体还有什么槽位等候你的光临;而要是某一类槽位还是一片未开垦的土地,显示的就是绿色的「√」了,那还不赶紧冲冲冲?
通过这个页面,所有用户都能轻松、准确地把握全站电影的槽位剩余情况,做到有的放矢。
槽位视图
在槽位视图,用户能清晰地看到空余槽位的具体情况,左侧的彩线指示了该种子所属的槽位大类,拥有权限的用户能够指定种子所属的槽位。
为了方便用户,将鼠标悬停到槽位名称上时,还会浮现其具体的要求。
如果有两个种子内容实质性相同或只有可忽略的差异,且要占据同一个槽位,就会发生重复与替代。
重复与替代
简单来说,如果我们认为新发种子的质量不如老种子,我们就认定它是重复,会被直接删掉;而如果新发种子的质量可能强于老种子,它就要针对老种子发起替代,提供能证明它质量更优的证据,若确实更优,老种子被删,新种子替代成功;若相等或更劣,则视为重复并删除。
在音乐站,质量高下的比较通常借助抓轨日志、频谱等信息来判断;而电影站用于评判质量高下的依据则是多组画面对比,这就要提到 GPW 的截图对比功能了。
易用的截图对比
「截图对比」是一个很常用的手段,它可以同时比较多个视频文件的同帧画面来横向对比。因此,它不仅可以用于替代时的质量判定,也可用于比较不同地区原盘的画质、原盘修复前后的画面变化、原盘与 Encode 的画面等。GPW 的截图对比功能在使用上和 PTP 很接近,同时额外增加了一些功能。
下列用于讲解的示例截图大多取自猫站官组的作品,他们出品了很多精品压制,是压制爱好者的不二之选。
以《小人物》为例,原盘的一个常见问题是「脏线(Dirtyline)」,常在画面边缘,不太容易发现,用心的压制者会修复此问题:
该原盘的脏线并不显眼,你可能甚至都没找到它在哪。但是没关系,你只需要在 GPW 的截图对比界面中按下 A
键即可开启「像素对比」功能:
你可以看到顶部一根红色的线,这就是原盘和使用滤镜修复后的差异部分,现在你再回过头比较两者,就能发现原盘的脏线区域略亮一些,色彩和下面不匹配。
脏线不仅以更亮的形式展现,也有更暗的,比如《大话西游之仙履奇缘》:
画面最左侧的竖向脏线看起来就明显得多。
以《我的野蛮女友》为例,原盘的另一个常见问题是「色块(Block)」和「色带(Band)」,容易在大面积相近色的位置出现:
夜晚的天空黑漆漆,色带不太容易察觉。但是没关系,你只需要在 GPW 的截图对比界面中按下 S
键即可开启「曲线滤镜」功能:
如此一来,即使是没有相关经验的萌新也可以容易地判断得失了。
GPW 推崇优质压制
为什么原盘会有缺陷?因为蓝光原盘也可以被视为压制品,其压制所用的源就是电影的母带,所以不同地区发行的蓝光原盘质量有高下之分。高水平压制者会比较不同的压制源,从中选取最优者作为基底,并对其存在的问题加以修复,从而产出精品压制,比如《复仇者联盟 4:终局之战》:
注意看画面的暗部,蓝光盘存在很多无序的细小条状斑纹,而 WEB 源没有,这些纹路不应该出现,当是制作时引入的错误。源更好,自然就有可能压出更好的成品。
精选压制源只是手段之一,还有的压制者会综合若干原盘中好的部分,博采众长,下举《你的名字。》和《环太平洋:雷霆再起》两例。
压制组在压制《你的名字。》时,将多个地区发行的原盘作为素材,以意大利盘为基底,从日本盘拿来评论音轨,从美国盘拿来英语配音轨,再用韩国盘和日本盘的一些更优画面替换进来,集百家之长。
压制《环太平洋:雷霆再起》的 NCmt 组则是以两个原盘为源,将其中一个原盘带有硬字幕的部分用另一原盘替换掉,最终得到一份没有硬字幕的压制:
优质压制能够挑选最佳的压制源,综合各源的优势,修复原盘的问题,并且采用精雕细琢的参数以保证观感同原盘几无肉眼可见的差异,凝结了压制者的智慧和汗水,文件结构简单且空间占用相对原盘小,这就是 GPW 推崇它们的原因。当然,GPW 也兼容并包,同样欢迎优质的 Remux、DIY 原盘、特效字幕等作品。
分享率「透支」机制
在很多 NexusPHP 架构的站点,分享率低于 1 是不可接受的事,而两位数却是家常便饭。但是在 GPW 等 Gazelle 站点,分享率的规则却完全不同。
Gazelle 站点基本都带有一个名为「合格分享率」的透支机制,它允许用户在分享率低于 1 的情况下各方面权益不受影响(但可能无法提升用户等级),条件是更积极地保种。以 GPW 的规则为例:
从图中可以看到,如果用户在 GPW 下载的所有种子都保种,在下载量达到 20 GB 前都不需要获得任何上传量;如果下载量达到 35 GB 以内,只需要拥有 3.5 GB 上传量就够了。但如果完全不保种,则需要至少 14 GB 上传量,否则分享率就会低于合格分享率。
分享率低于合格分享率并非大问题,只是下载权会被暂时封禁,无法下载新的种子而已。在此期间,只要用户能提高自己的分享率(在 GPW 可以用积分兑换上传量),使之高于合格分享率,隔天就能被系统放出来继续嗨皮。可见这是一个非常友好的机制。
Gazelle 站点的友好不仅体现在分享率上,也体现在对不活跃账号的处置上。
宽松的生存环境
绝大多数站点都设置了针对不活跃(长期不登录站点)账号的措施,有些站点会直接删除此类账号,想要再次加入就必须再被邀请一次,而且一切从零开始。
Gazelle 站点在这方面的要求则相当宽松。以 GPW 为例,如果账号连续 4 个月不登录,才会进入不活跃状态,且进入此状态以后只会被封禁,而不会被删除。用户如果因不活跃被封禁,则可在尝试登录时利用邮箱自助申请恢复,站方对于首次不活跃的情况都会无条件批准。恢复后,用户的数据不会损伤分毫,可以继续向上攀登。当然了,由此带来的一个规定就是一个人一生只能拥有一个账号。
Gazelle 站点的保号要求往往也很低,很多都设置在 Power User 这一级别,一个萌新只需要升级两次就能抵达。以 GPW 为例,只需要达到「真实下载量 200 GiB、分享率 1.2、注册时间 2 周、发布 1 个种子」的要求就能保号。
此外 GPW 没有新手考核,它更希望用户通过学习相关知识成为懂行人士。
许多人对于「发种」这件事不太熟悉,但是在 GPW,发种并不难。
高度自动化的发种系统
终于要介绍 GPW 的发种系统了,它好用得让人想给开发加俩大鸡腿。
首先,选择一部符合站点规则的电影:
然后按下「自动填充」按钮……
看来已经有人发布过了,如果没有对应的槽位空着,就不能发了,那看看别的:
只需要正确将 MediaInfo 粘贴到填写栏,下面的「片源」「编码」「分辨率」「容器」「字幕」都会被自动填写上:
如果对一些项目的填写有疑问,还可以点击页面上的填写指导来查阅,比如:
精细、准确地填写信息能够为所有用户带来良好的使用体验,包括但不限于更加多元化且细致的筛选条件、更加丰富的预览信息、更加丰富的压制过程介绍、感言……将一件事玩得越专业,你就能从中获得越多的乐趣。
知识库(Wiki)
前文说 Gazelle 站点是档案馆,其长处不仅在于有序的资源管理,也在于应资源专精而生的专业化知识库。在 GPW 的知识库中,你可以了解诸多相关知识,包括视频压制、软件使用、专业术语……
有的文章是依据站点设计原创的,有的文章征得许可并翻译自同类网站,也有的是在论坛发现用户贡献的高质量文章。如果你有好的教程,也欢迎参与贡献。
美观的界面设计
对于原生的 Gazelle 站点来说,如果网页部分代码差异足够小,是可以相互混用的,通过「外部样式链接」即可挂载外部的 CSS 文件,让站点样式风格更加多元化,甚至和基本样式完全不同。
举个例子,现在的 DIC(中文 Gazelle 音乐站)仍可以挂载以前 What.CD 的 CSS:
如果你也想用,请复制 此链接,它也适用于 RED、OPS。
由于 GPW 基本算是「另起炉灶」,整理了所有网页元素的结构,更加清晰明了且规范统一,因此与音乐站的 CSS 不兼容,但是如果热心人士根据 GPW 的规范修改一份出来也一样可以挂载使用,虽然 Gazelle 和 NexusPHP 是同一个时代的产物,但是在网页元素的安排上更加灵活,可定制程度更高,最终呈现的效果上限也更高。
GPW 的外观有浅色和深色两种模式,配色不同,而如果选择「自动」则可以在白天使用浅色,夜晚自动切换成深色。
结语
我在 2018 年 2 月通过 文字面试 加入了 RED,从此开启了在联盟站的冒险旅程;又在 2019 年 6 月走官邀加入了 PTP,为它们资源的齐全度、各类系统的完善度心折不已,它们哪儿都好,只是没有中文。
中国人应当拥有属于自己的优质特色站点,这也是 DIC、GPW 诞生的初衷。现如今,我认为,它们在硬件方面已经满足了标准,但还需要更多人参与「挖井」,好让后来者「吃水」,故撰此文,望更多人了解并感兴趣,进而投身其中。
- GPW QQ 群号:
715770399
- DIC QQ 群号:
370321105
最后以一首诗结尾,共勉。
七律・长征
毛泽东
红军不怕远征难,万水千山只等闲。
五岭逶迤腾细浪,乌蒙磅礴走泥丸。
金沙水拍云崖暖,大渡桥横铁索寒。
更喜岷山千里雪,三军过后尽开颜。