收集点关于NexusPHP的东西

CaiBao
CaiBao
CaiBao
61
文章
3
评论
2020年8月6日03:18:20 评论浏览:268 4647字阅读15分29秒

收集点关于NexusPHP的东西 其实蛮早就有关注这个程序,只不过是关注加星而已,最近稍微研究了下,其实是研究了下PT,仔细想想,PT对比BT,更加符合"P2P"的概念.毕竟早些年国内的宽带上行都是小的不要不要的,大部分人用完BT就关闭了上传,生怕抢了上行宽带.至于现在嘛,我也不清楚为嘛上传宽带宽裕了,大家还是不乐意分享.废多了.

下面我用的Nexusphp是基于itzmx的二次修改版,具体他修改了些什么,你们自己去看,内容也有部分收集于itzmx,我还是给出网址.https://bbs.itzmx.com/thread-4271-1-1.html

安装教程

搭建NexusPHP需要memcache组件的支持,现在绝大数空间都不支持memcache主机,所以如果要搭建NexusPHP的话,你只好选择价格不菲的VPS主机了。
配置环境可以选用apache+php+Mysql+memcache,推荐linux环境,代码执行效率更高。作者代码所提供的安装介绍也是在linux环境下的,而且全是英文介绍,这让我这六级不过的情何以堪啊,小小的鄙视下。。。
Windows下推荐win2003,如果你对PHP有一定了解,可以自己动手搭建IIS或apache+PHP+MysqL+memcache的环境,具体教程可以google。不过这种方法很繁琐,经常会出莫名其妙的错误,你要有心理的准备。
最好的方式是选用环境集成包,比如Apmserv5.2.6功能很全,支持apache+php+mysql+memcache,还有一个集成包,nginx+php+mysql+memcache,这个集成包相当简陋,只是各种包的聚合,没有控制界面和控制面板,使用起来很不方便。这应该是众多集成包里唯一两个支持memcache的集成包了。
好了,环境搭建完毕,解压程序包,然后导入数据库文件,(根目录_db下的dbstructure.sql文件)导入完毕后修改配置文件,在config文件下下面有一个allconfig.php的文件,修改下面的内容:
‘SITENAME’=>‘站点名称’
‘baseURL’=>‘网站URL’
‘announce_url’=>‘localhost/announce.php’(announce的url地址)
‘mysql_host’=>‘MySQL主机’
‘mysql_user’=>‘数据库用户名’
‘mysql_pass’=>‘数据库密码’
‘mysql_db’=>‘数据库名’
以上无误的话应该就可以登陆NexusPHP的界面了,赶紧注册管理员账号吧。
好了,注册好用户名后,接着进入数据库管理(phpMyAdmin),在users表里面找到你注册的用户,编辑它的class属性为16,便是主管权限了。
还可以通过下面的方法设置:
1.使用正常方式在网站注册一个新用户,假设用户名为admin。
2.输入以下命令进入MySQL命令行管理工具:mysql-uroot-pnexusrocks-hlocalhost注意:将’root’,’nexusrocks’,’localhost’分别替换成你的MySQL用户名、密码、主机地址。
2.在MySQL命令行管理工具输入以下命令:USEnexus;UPDATEusersSETclass=’16′WHEREusername=’admin’;注意:将以上命令中的’nexus’替换成你的数据库名,将’admin’替换成你注册的用户名。
3.退出MySQL命令行管理工具:
到这里PT基本上就架设完毕了,现在只需要利用主管帐号对站点进行设置和调整就可以了

NexusPHP pt站点memcache中清除页面缓存的方法

地址栏输入
域名/index.php?clearcache=1
或者?forceall=1也可以试试
例如修改了news规则sql语句没有立即生效。
index.php替换成你要清除的PHP文件

NexusPHP设置站点不在线后管理员无法登录的问题

搜索配置文件找到解决方法
在allconfig.php文件里面,找到
'site_online'=>'no'修改为'yes'
保存即可。

nexusphp使用文件缓存,支持未安装memcache的服务器

编辑classes/class_cache.php 在其第2行插入

然后在网站根目录创建一个文件夹,名为“cache”用于保存缓存文件
编辑include/cleanup.php 搜索

在其前插入

每24小时自动清空一次缓存

NexusPHP用户组名字修改,NexusPHP用户组汉化

在\lang\chs\lang_functions.php中修改257-266行即可,如下图.

收集点关于NexusPHP的东西

NexusPHP汉化“管理组面板”位置

在adminpanel表、modpanel表、sysoppanel表里面修改

Ps.这个我没去仔细看,居然写到数据库里面去了???

修改pt程序nexusphp代码支持compact=1参数返回二进制文件的 ipv6 peers列表用于客户端互相连接下载的方法

问题所在:

“peers”后面的354字节二进制数据都是ipv4 peer,每个ipv4 peer含4字节ip和2字节port共6字节,所以peer个数是354/6=59。ipv6 peers二进制数据按照协议是在“peers6”节点返回,从抓包看没有。
现在的pt程序,客户端收不到ipv6地址的,只能连接ipv4
这是修改过的,可以直接让客户端拿到ipv6
如果两边都是内网ipv4,那么,就会可能导致无法连接
如果连接成功,客户端才会互相汇报本地ipv6到对方客户端进行连接
直接服务器下发列表,客户端拿到了可以直接请求,不需要先ipv4建立

修改:
announce.php文件
114行搜索

下方增加

130行搜索

下方增加

147行搜索

下方增加

修改pt程序nexusphp代码支持download.php强制返回rss的https地址

在67行,把下发的http改成https就行了,这样输出也就是https了

pt做种tracker不能返回全部peer list用户数据,可连接否检测

这个问题仅针对使用ITZMX修改版的用户.

发现全站的可连接全是“否”状态,但是在其它站点可以正常连接和上传
所以分析tracker所用到的文件也就是announce.php文件

直接修改356行代码

变为

然后在分号后面回车新建一行插入代码

这时候从353行代码到363行代码将显示为如下所示

然后保存文件。
这时候再测试发现可连接全都变成“是”了
做种后需要3-30秒时间才会有数据,然后其它人已经可以获取到tracker服务器返回的用户数了

NexusPHP程序同一个服务器上的多个PT共用memcache

这个问题,换到13年的我肯定不知道,当然现在一看就知道是缓存标识符重复了.解决办法如下.

1.下载解压附件得到class_cache.php文件,打开,
找到195行,将WinCache改为Memcache。(如果不是memcahce自己灵活更改);
2.找到210行,将ANTSOUL_改为与服务器上现存PT代码中对应设置不同的任意字符。(只要不傻乎乎地改为中文或特殊字符就不会有问题)
3.将class_cache,php文件上传到/classes/下,替换原有文件。
4.大功告成!!

缓存(支持WinCache_Memcache_APCCache_[XCache]_[eAccelerator]

nexusphp程序默认邮件通知提示勾选收到短讯的时候提醒我,设置显示包括断种,数据库结构修改

users表单
notifs默认值

pm字段是收到短讯的时候提醒我。
email字段是当默认分类中有新种子的时候通知我。
incldead=0字段是搜索默认显示全部种子

收集点关于NexusPHP的东西

新用户注册默认勾选了,老用户怎么办呢?
直接sql语句升级一下

修改pt程序nexusphp代码支持details.php种子链接让BT客户端直接下载的办法

106行,搜索

替换如下,加入&passkey=$CURUSER[passkey]参数即可

让NexusPHP支持@功能

1598757176-at_user.zip (下载4)

先下载文件包,将里面的三个文件上传至文件夹根目录(当然,js和css样式文件可以传到其它目录,确保路径正确就行了),这里为了省事,我上传的是根文件夹下面

1、修改include文件夹下面的functions.php文件

funtion.php搜索:

在下面添加

继续搜索function quickreply($formname, $taname,$submit){

在该方法的最后一行添加

该方法中textarea 添加ID参数

2、种子回复评论页面为comment.php,论坛帖子回复页面为:forums.php

下面以修改forums.php页面为例,(comment.php回复的话系统会自动发送消息的,只不过由于改了functions.php,@还是会显示用户名的,不过不发送系统定义消息)

在// ------------- start: functions ------------------//下面添加如下方法

搜索$postid = mysql_insert_id()

在这一行下面添加如下部分(调用上面的函数语句) 

然后就可以使用功能了,@某一位后,系统会发送短消息的。(comment.php可以根据需求修改at_user_message函数)

收集点关于NexusPHP的东西

CaiBao
  • 本文由 发表于 2020年8月6日03:18:20
宝塔面板安装composer 乱七八糟

宝塔面板安装composer

有些项目安装会用到 composer,如果直接安装会报错 Warning: putenv() has been disabled 所以宝塔面板安装 composer 我们需要删除禁用函数,删除之后,才...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: