H&R 功能配置说明

H&R 是 1.6.0-beta12 中新加入的功能。配置的地方在新管理后台 Setting 菜单 H&R Tab。 有以下配置项: Mode,运行模式,可选项:关闭、手动、全局。关闭即是不启用,手动是在编辑种子时选择是否进行考察。全局则是全部种子都进行考察。 Inspect time,考察时间,即从下载完成起多长时间内为考核期,单位:小时。 Seed time minimum,最小做种时间,考核期内至少做种多久算达标,不达标标记为一个 H&R。 Ignore,分享率达到此值,即使做种时间达不到上一个最小做种时间,也算达标。 Disable user,当 H&R 数量达到此值,账户会被禁用。 考察时间到,无论达标或不达标,均有站内私信通知。 用户可以花费一定魔力对 H&R 进行消除。默认消除一个 H&R 需要 10000 魔力,配置此值在[站点设定]->[魔力值设定]。

NexusPHP v1.6.0-beta12

新增: H&R 功能。 更新支持选择版本自动下载覆盖。 变更: Trakcer 针对下载者返回 peer 不考虑其可连接性,即会包含可连接为“否”的 peer。 本次更新重点功能是加入 H&R 功能,详细配置说明参考此文。 对于更新自动下载,若有改动不放心,可先手动更新代码,到第二步勾选手动更新即可。 由于可连接”否“不代表客户端之间无法连接,故亦返回之。

可连接:否是什么意思?

经常有人问,为什么我的可连接是否?要怎么办? 在此解释一下,这个否,表示的是 Tracker 服务器连接不上你的 BT 客户端。而你进行下载/上传,不是跟 Tracker 服务器交换数据,而是跟其他用户的客户端交换数据,这个”否“说明不了你们之间的连接性,你们之间能否连接,只有真正进行上传/下载才能知晓。【常见问题】里边也有相关说明。 有的站或许也是被问得太多烦了,直接全部显示为”是“,相关的判断代码也去掉。毕竟判断需要花费时间,而且泄露服务器 IP,实际却意义不大还惹来一身”质问“。 我的观点是,Tracker 服务器连接不上你,那么其他用户也连接不上你的可能性较高,因此这个”否“还是有点参考意义的。目前依然是保留,大家勿需过多关注这个问题。

NexusPHP v1.6.0-beta10

Fixed: “清理”时若匹配到要禁用用户,会出错,导致做种/下载时间等无法更新到用户主表,从而影响考核进度的更新。 “清理”时若没有匹配到老帖子,会提前退出。 发种时若种子已经存在500错误。 禁用用户重复插入封禁列表。 第二点提到的只是导致“清理”退出可能的一种情况,具体原因参见此文。 请从 beta8 请直接升级到 beta10,beta 9 可跳过。如果开启了考核,升级完后立刻在根目录下执行以下命令进行全面“清理”,否则考核进度会有所丢失(最后的是参数是1,1、2、3、4 的 1):

NexusPHP or die(mysql_errno())的坑

最近发现 NexusPHP 的“清理“不彻底,即使选择了强制清理全部,”清理“也没法走到头。几经调试发现是 or die(mysql_errno()) 导致了脚本提前结束。类似以下代码,一个计数结果为 0 导致脚本结束: 经搜索 NP 代码里边有不少 or die(mysql_errno()),其中一些比较常用的函数如 get_row_count(),get_row_sum(),get_single_vlaue() 等都有。要知道,当没有问题只是结果为空时,mysql_errno() 结果是 0,die(0) 是没有任何输出的。这将导致不可预估的问题,且很难发现。有的地方经人修改已经注释掉。这个很明显是不对的,建议全局搜索全部删除。可参考此提交@7727ffc。

NexusPHP v1.6.0-beta9

Added: 引入 rhilip/bencode,替换自带低效 bencode 编解码函数。 种子详情页添加魔力奖励。 IP 地址显示其位置(精确到国家或城市)。 Google Authenticator。 考核过滤条件添加是否捐赠。 考核添加已免除状态。 Changed: 种子下载同时支持 downhash、passkey。 签到由每天流水改为只记录最新一天的情况。 考核进度更新机制变更(用户无感知)。 数据表结构与变更替换为 migration 文件,数据填充替换为 seeder 文件。 Fixed: rss 下载链接无效。 管理员修改密码越权。 mybar.php, takemessage.php ,viewrequests.php php8下未定义常量错误。 签到流水,人数较多可能数据量较大,考虑到实际需要展示的数据有限(只需要总签到天数,连续签到天数,当天签到所得魔力),改为每人只记录一条。 考核的进度更新,由之前流水记录改为分配时记录初始值,进度即为当前最新值减去初始值。 表结构与变更和数据填充由对应的 migration/seeder 文件完成,_db 目录下的 sql 文件仅适用于 v1.6.0-beta8 或之前版本。

考核系统使用教程

当我们想要进行考核时,只需要新建即可。系统可同时存在多个考核,针对不同的用户。新建一个考核,有以下字段。 Name,随便起个名字,如新手考核、2021年中考核。 Uploaded,考核指标——上传量,单位:GB。 Seed time average,考核指标——平均做种时间,单位:小时。计算方式是:考核期间总做种时间除以总下载种子数,当没有下载种子时,以 1 计算。 Downloaded,考核指标——下载量,单位:GB。 Seed bonus,考核指标——做种魔力。 Status,状态,当为 Disabled 时是无效的。 Discovered,是否可发现,当为 No 时不会被自动下发给相应用户,管理员可以在管理后台的用户详情页进行 assign 手工分配给用户。 Begin,考核开始时间。 End,考核结束时间。 Duration,时长,单位为天数。当选择时长时,其开始时间是下发的时间,结束时间是开始时间加上时长天数。开始+结束、时长二者只能同时存在其一。一般针对新手考核使用 Duration,因为开始时间是用户注册之后,是动态的。 Target user class,筛选条件——目标用户的等级,即只考核哪些等级的用户,可多选。 Target user donated,筛选条件——目标用户捐赠状态,即可选择已捐赠或未捐赠的用户进行考核,可多选。多选跟没选其实是一样的。 Target user register time,筛选条件——目标用户注册时间范围,即只选择注册时间在一定范围内的用户。 Description,描述信息。针对本次考核进行一些说明之类。 三个筛选条件,至少要存在一个,否则无法新建。针对新手考核,Class 选择 User,Donated 随便,Register time 选择一个很大的范围,比如过去某时间到2099年,或者留空。 考核的自动分配、进度更新、结算都依赖后台任务,请确保按照安装文档所示正确配置了后台任务。 在管理后台的用户详情页面,管理员还可以随时对用户的考核进行免除(Avoid)。免除后进度不再更新,用户前台也看不到。注意不要删除(Remove),因为删除后系统又会自动分配,因为那个用户是符合筛选条件的。 免除后,如果有需要,还可以恢复。恢复后进度是保留的,即免除期间的进度也是考虑在内的。最终结算时,只考虑状态为 Normal 即正常状态的考核。 有问题,欢迎反馈!

特别区使用教程

特别区是 v1.6.0-beta8 加入的一个功能。此功能在原版上代码上叫音乐区,其实大家更喜欢叫为“特别区”。 要使用它首先得添加一个分类模式,在 【管理组面板->分类管理->添加】,为新分类模式起一个名字,如 special,次分类按需选择,如果跟普通区没什么区别,那就勾选一样的。注意不能一个都不选。 接着,我们为新建的分类模式添加一套图标,【管理组面板->分类管理->分类图标->添加】,名字如特别区图标,图标文件夹如 special_icons。 次分类跟普通区是一样的,我们为新建的 speical 分类模式添加主分类。在【管理组面板->分类管理->管理->分类->添加】,填写分类名如剧情,图片文件名如 juqing.jpg,分类模式记得选择 special,分类图标选择特别区图标。此时,剧情分类的图标路径为:/pic/category/special/special_icons/juqing.jpg,它是按照 /pic/category/[分类模式名称]/[图标文件夹]/[图片文件名] 来组合的,需要把对应图片放到这个目录下。 接着,在【站点设定->主要设定->开启特别区】勾选是,【站点设定->主要设定->特别区分类模式】选择新建的 special。保存后即成功配置了特别区。具体效果,可到 demo 站点查看。

NexusPHP v1.6.0-beta8

新增: 种子编辑,促销支持设置永久有效或指定结束时间或跟随系统促销规则。 种子详情,添加免登录下载链接。 种子置顶支持二级,可分别设置一级置顶、二级置顶的背景色。 清理支持使用 cli 模式执行。 新增特别区。 变更: 页面整体宽度,调整至 1200 px。 基础设定恢复基础 URL 和 tracker URL。 支持上传无 tracker 地址种子。 tracker 汇报认引入 authkey,同时仍支持 passkey。 种子免登录下载链接引入 downhash,不再支持 passkey。 修复: report.php(举报) php 8 下报错。 禁用副标题发种错误。 本次变更中的 authkey、downhash,是出于缩小 passkey 的权限范围、降低敏感信息泄露风险而增加,参考自大卫。 支持无 tracker 地址种子,来自 R大。 清理是一个比较耗时的操作,更适合在后台通过 cli 执行。修改 .env 文件将触发方式为定时任务,再添加对应的定时任务: //先编辑 .env 文件,修改USE_CRON_TRIGGER_CLEANUP=1 //然后添加定时任务*/5 * * * * php… Continue reading NexusPHP v1.6.0-beta8