|
插件:ServUPlus(all)
0. 版本说明 =========== ServUPlus是Serv-U的一个插件,其主要功能就是捕捉Serv-U的事件,然后做适当的功能增强、扩展。
现在共有3个版本: ServUPlus(only SFV)----只有SFV校验功能 ServUPlus(MD5+SFV)-----SFV校验功能+论坛用户扩展(不带数据库,用论坛的ID登陆FTP,根据积分,威望,区分用户等级) ServUPlus(all)---------SFV校验功能+论坛用户扩展等所有功能(带数据库,可以利用论坛金币购买下载量,根据积分(威望)区分用户等级)
(备注:ServUPlus(only SFV)和ServUPlus(MD5+SFV)版本是ServUPlus(all)的简化版本,ServUPlus(all)已经在300人下载的FTP测试了1年。)
1. 下载与文件清单 ================= 下载压缩文件 ServUPlus.rar,解压后得到以下文件:
[\]根目录 Readme.txt 自述文件 MySQL_SQL.txt MySQL的数据结构 MSSQL_SQL.txt MSSQL的数据结构 Update.txt 升级说明
[\ServU]目录 dbexpmysql.dll 访问MySQL的DLL(可选) dbexpmss.dll 访问MSSQL的DLL(可选) libmySQL.dll 数据库接口DLL MIDAS.DLL 数据库接口DLL ServUPlus.dll 扩充功能库 ServUPlus.ini 配置文件 ServUPlus_Man.exe 管理主程序
[\LBXP]目录 LB论坛插件(可选)
[\UT]目录 UT论坛插件(可选)
[\动网]目录 动网论坛插件(可选)
[\VBB]目录 VBB论坛插件(可选)
3. 安装条件 =========== 1) 理论ServU 3.1以上,建议ServU 4.1.0.0或以上(因为这个版本修正了对DLL的支持,以及很多BUG) 2) ServU上面安装MySQL 3) 不同论坛请看对应目录里面的Readme.txt文件
4. 建立数据库 ======================== 建立数据库的SQL语句: MySQL: MySQL_SQL.txt MSSQL: MSSQL_SQL.txt
5. 修改配置文件(ServUPlus.ini) ============================== [DataServer] //[数据库部分] Type=1 //数据库类型1:MySQL,2:MS SQL Server Host=127.0.0.1 //IP User=root //用户 Pass= //密码 Database=ServUPlus //数据库 AutoRetry=1 //是(1)否(0)自动尝试连接 RetryTime=60 //尝试连接的间隔时间(秒)
[Option] //[其他] User_Cache=60 //缓存时间(秒) NameAddStr=sisha_ //用户名前面增加的标识(暂时无用) RatiosType=1 //(0)为下载完毕才扣下载量,(1)为按照实际下载量扣。(推荐使用1) LockDomain=0 //是(1)否(0)锁定域(4.1.0.0以下不能使用)
[FilterCommand] //[过滤命令] ListR=0 //是(1)否(0)过滤LIST -alR命令
[IPRule] //[IP限制规则] Max=3 //用户自定义IP允许的个数,-1为不必输入,0为不限制个数 Depth=2 //规则的位数,0为不限制
[Log] //[Log记录] DL_OK=1 //是(1)否(0)记录下载文件成功 DL_ERR=1 //是(1)否(0)记录下载文件失败 UL_OK=1 //是(1)否(0)记录上传文件成功 UL_ERR=1 //是(1)否(0)记录上传文件失败
[SFVCheck] //[SFV校验] SFVEnable=1 //是(1)否(0)激活SFV检测 DelOtherMsg=1 //是(1)否(0)删除空文件(文件名为-*-) HideTmpFile=1 //是(1)否(0)隐藏临时文件 AddMsg=sisha //这个就是你加入的标识,随便起一个即可,比如起名叫sisha,然后你上传SFV后会显示:-[#####-----.50%]-[5.of.10]-[ServUPlus.******]-[sisha]-,就在方括号内 MsgUpFile=1 //是(1)否(0)标识上传中的文件 SkipUpFile=1 //是(1)否(0)跳过检测上传中的文件 SkipCompleteSFV=1 //是(1)否(0)跳过已经检测过的SFV文件。 SkipFileMax=10 //如果被检测的文件大于10 byte,则跳过检测,0为不限制。(建议使用) MsgSkipFile=1 //是(1)否(0)标识跳过检测的文件(限制了文件大小才显示) LimitCheckPath=1 //是(1)否(0)限制要检测的目录(限制了,就只会检测以下的目录) CheckPath1=E:\ CheckPath2=F:\ //这个是要检查的目录(包括其子目录),也就是其他用户可以上载的目录,如有多个目录要检查...用CheckPath3=XXX...CheckPath4=XXXX如此类推
[Msgs] //[自定义信息] GroupTooMany=Your group is too many users - please try again later. AccountTooMany=Too many users - please try again later. AccountExpired=Your account expired.
6. 安装扩充功能库(ServUPlus.dll) ================================= 以 Serv-U 4.1.0.0 为例: 1) 关闭 Serv-U(单击停止服务器 -> 立即停止)。 2) 将ServU目录下面的5个文件放在上 Serv-U 的安装目录下(不能放在其它目录)。 3) 修改 ServUDaemon.ini,添加以下设置(Serv-U 在启动时自动调用):
[EXTERNAL] ClientCheckDLL1=ServUPlus.dll EventHookDLL1=ServUPlus.dll
4) 如果[EXTERNAL]已经存在:
[EXTERNAL] ClientCheckDLL1=XXXX.dll EventHookDLL1=XXXX.dll 在后面加入 ClientCheckDLL2=ServUPlus.dll EventHookDLL2=ServUPlus.dll
5) 重新启动 Serv-U(单击开始服务器),如果安装成功,您会在看到如下信息,表示 ServUPlus.dll 已成功加载。
Mon 15Jul02 12:48:45 - Serv-U FTP Server v4.0 (4.1.0.0) - Copyright (c) 1995-2002 Cat Soft, All Rights Reserved - by Rob Beckers Mon 15Jul02 12:48:45 - Cat Soft is an affiliate of Rhino Software, Inc. Mon 15Jul02 12:48:46 - Loaded external DLL ServUPlus.dll Mon 15Jul02 12:48:46 - Using WinSock 2.0 - max. 32767 sockets Mon 15Jul02 12:48:46 - Starting FTP Server... Mon 15Jul02 12:48:50 - Loaded SSL/TLS libraries Mon 15Jul02 12:48:50 - FTP Server listening on port number 21, IP 192.168.0.3, 127.0.0.1 Mon 15Jul02 12:48:50 - FTP Server listening on port number 33, IP 192.168.0.3, 127.0.0.1 Mon 15Jul02 12:48:50 - FTP Server listening on port number 43958, IP 127.0.0.1 Mon 15Jul02 12:48:50 - Valid registration key found Mon 15Jul02 12:48:50 - Loaded external DLL ServUPlus.dll
【Loaded external DLL ServUPlus.dll】有了这两行才说明安装成功
7. 安装论坛插件 =============== 详见对应目录里面的readme.txt文件
8. 版权信息 =========== 本软件的版权为作者(斯沙 sisha@21cn.com)所有,用户可免费用作非商业用途。如欲购作商业使用,请联系本人洽谈相关事宜,否则本人保留一切起诉权利。下载与使用该软件为用户的自愿行为,作者不对由于软件运行错误对用户造成的损失负责。 如自行开发FTP中心,请在FTP中心备注ServUPlus作者信息(主页: http://www.plusxp.net),方便用者回馈信息,改进版本,谢谢! 不同论坛的Hack(LB以外)由不同作者完成,这里不一一列出,目录里面的Readme文件有说明作者信息。 ServUPlus主页: http://www.plusxp.net
9. 升级历史 =========== 1.6.5.0 2003-11-09 1) 改造数据模块,提高了数据库访问效率。 2) 修正了信息错误,使所有客户端软件能正常识别。 3) 修正了保存记录BUG。 4) 增加上传流量、上传等记录。 5) 增加帐户过期属性。 6) 增加自定义信息。 7) 修正SFV校验BUG。 8) SFV增加自动清除其他站点信息文件。 9) 增加过滤LIST -alR命令。 10) 增强管理器(ServUPlus_Man.exe) 11)LB Hack重新整理代码,增加免DBI、DBD-MYSQL模块(能在绝大部分主机上面使用),增加威望限制等功能。 12)增加UT Hack。(感谢网友 6371 提供) 13)增加动网 Hack。(感谢网友 奔腾 提供)
1.6.3.3 2003-08-29 1) 修正MSSQL的不能用管理器修改用户问题。
1.6.3.0 2003-08-28 1) 增加连接数据库失败后,自动尝试连接数据库功能,以下是ServUPlus.INI增加的选项。 AutoRetry=1 //是(1)否(0)自动尝试连接 RetryTime=60 //尝试连接的间隔时间(秒) 2) 修正了继承用户LIST权限的错误。 3) 增加用户登陆成功后,记录最后登陆时间。 4) 增加记录上传流量。 5) 记录下载流量的计算方式修改为记录实际下载量。 6) 增加新的计费方式:按照实际下载量扣下载量。 RatiosType=0 //0为下载完毕才扣下载量,1为按照实际下载量扣。 7) 修正了关闭ServU时候清除已完成Queue。 8) 增加继承Always allow login。 9) 增加对MS SQL Server的支持 10)增加锁定域 LockDomain=0 //是(1)否(0)锁定继承的域(只对继承的域生效,注意:ServU 4.1.0.0以下不能使用,否则会出错) 11)隐藏SFV临时文件,如果有浏览隐藏文件权限一样可以看到。 12)修改SFV校验显示信息,更清晰。 13)增强管理器(ServUPlus_Man.exe)
1.6.1.0 2003-06-22 第一个正式发布的版本,修正了免费下载等严重的BUG,增加了IP规则、SFV校验等新功能,重新编写代码,提升了性能。增加稳定性。
10. 其他说明 ============ 注意: 现在从Serv-U用户中只继承有以下权限(没说明的都没继承): [Account] home directory Lock user in home directory [General] Hide 'hidden' files Always allow login Allow only _ login(s) from same IP address Max. upload speed Max. download speed Idle time-out Session time-out Max. no. of users Login message file [Dir Access] 所有
11. 使用方法 ============ 例如: 1. 在ServU上面建立用户down_lv1_1,密码随便,帐户的Enable属性取消。 2. 在插件管理器的虚拟组建立组group_lv_1,组的DomainID选择刚才的Domain,第一个域为1,具体可以看ServUDaemon.ini,选择了DomainID后,ServU帐户下来菜单就能选择刚才建立的帐户down_lv1_1。 3. 然后在插件管理器的虚拟用户里面建立用户test,虚拟组选择group_lv1_1。
12. FTP 信息帮助 ================ A) 由于用户是多种语言,所以 FTP 插件采用了英文信息,以下是插件特有或者常用的信息对照表: 530 Not logged in, unauthorized IP address. (Plus.4/60 Sec Cache) -> 530 未经认可的IP. (Plus. 4/60 秒的缓冲)(如果你填入了允许的IP才生效)
421 Too many users - please try again later. -> 421 太多用户了, 请稍后再试. (你超出了 ServU 里面的总用户数)
421 Too many users - please try again later. (Plus.6/60 Sec Cache) -> 421 太多用户了, 请稍后再试. (Plus. 6/60 秒的缓冲)(一般每个用户的线程数都是有限制的,这时候你要注意了,检查自己已开的线程数,比较一下 FTP 上面你最多能开的线程数,看看是否被盗!)
421 Your group is too many users - please try again later. (Plus) -> 421 你所在的组太多人了, 请稍后再试. (一般FTP管理者都限制了每个组最大的用户数!)
226-Using UL/DL ratio 1/1, counting bytes over all sessions -> 226-上传/下载比率 1/1, 在所有进程计算文件大小. (这项说明了上传/下载比率)
Current UL/DL ratio credit 47834044 Kbytes -> 当前上传/下载比率信用值 47834044 Kbytes(这项说明了你有 47834044 Kbytes 的下载量可以下载)
550 Sorry, insufficient credit for download - upload first. -> 500 对不起, 没有足够的信用值来下载, 请先上传.(你没有足够的下载量来下载文件,请先到论坛购买)
B) 关于缓冲: 1) 例如:(Plus.4/60 Sec Cache),意思是 FTP 里面有60秒的缓冲时间,现在第4秒了。 2) 所以你们每次在论坛上面操作以后,可能要过了这个缓冲时间才能生效的,具体时间要看 FTP 的配置。(默认60秒) 3) 使用缓冲时间,能大大减小 FTP 的负荷。
13. 其他 ========
SFV校验: 当上传了SFV后,开始校验,并列出SFV里面的文件信息。 缺文件(*****.missing) 坏文件(*****.bad) 上传中的文件(*****.uploading) 跳过检测的文件(*****.skip) 上传进度(-[#####-----.50%]-[5.of.10]-[ServUPlus.******]-[sisha]-) (-[进度]-[成功检测的文件数.of.要检测文件数]-[插件名字.SFV名字]-[加入的标识]-) 如果是使用ServUPlus(MD5+SFV)或以上的版本,还可以限制用户下载上传中的文件
开发其他论坛Hack: 可以参考LB Hack的功能。(论坛的Hack主要是连接数据库,操作表[TUser])
结构/关系: --------- ------------- -------------------------- ------------ -------- [ ServU ]<-->[ ServUPlus ]<-->[ 数据库(MySQL or MSSQL) ]<-->[ 论坛Hack ]<-->[ 论坛 ] --------- ------------- -------------------------- ------------ -------- | | |X----------------------------X (不能直接访问) X----------------------------X|
主要数据库结构说明: [TUser]用户表 FUserName //账号 FPassword //密码 FGroupName //所属虚拟组 FUpLoad //上传量累计 FDownLoad //下载量累计 FCredit //剩余下载流量 FLastLogin //最后登录时间 FEnable //开启/关闭这个账号 FExpired //过期时间,留空表示不限制 FAllow_IP //允许登录的IP FMemo //描述
[TGroup]虚拟组表 FGroupName //组名 FSUUserName //所映射的ServU上的账号 FSUDomainID //所映射的ServU上的账号所在的域ID FEnable //开启/关闭这个虚拟组 FRatios //是/否用下载流量控制 FRatiosUp //上传比率(保留字段) FRatiosDown //下载比率(保留字段) FMaxUser //允许登录的最大人数,-1为不限制 FMemo //说明
///////////////////////////////////////////////////////////// // “ServUPlus插件”LB论坛插件程式 v 1.20 正式版 ///// // 版权所有: 兰荫论坛 ///// // www.lanyin.net ///// // 制作人 : SiSha (兰荫ID:SiSha) ///// // sisha@21cn.com ///// // 需要配合ServUPlus(all)一起使用 ///// // ServUPlus主页:http://www.plusxp.net ///// /////////////////////////////////////////////////////////////
0. 安装条件 =========== LBXP0705~LBXP1201~LBXP3.X~LBXP4.X
1. 下载与文件清单 ================= e-ftp.cgi (必须) e-ftp.pl (必须) data\ftpinfo.cgi (必须) DBDMySQL.pm (可选)使用DBI,DBD-MySQL模块 NetMySQL.pm (可选)使用NetMySQL模块(你主机必须已经安装NetMySQL模块) Net\MySQL.pm (可选)NetMySQL模块
2. 安装方法 =========== A)接口的安装(可选择DBDMySQL或者NetMySQL): 1)安装DBDMySQL模块接口(你主机必须已经安装DBI,DBD-MySQL模块) 将DBDMySQL.pm拷贝到cgi-bin目录即可
2)安装NetMySQL模块接口(你主机必须已经安装NetMySQL模块) 将NetMySQL.pm拷贝到cgi-bin目录即可
B)模块的安装 1)安装DBI,DBD-MySQL模块 到http://search.cpan.org/dist/DBI/下载DBI模块 到http://search.cpan.org/dist/DBD-mysql/下载DBD-mysql模块 (安装方法见Readme) 2)安装NetMySQL模块 将Net\MySQL.pm拷贝到cgi-bin\Net目录即可(如没Net目录,自行建立)
B)插件的安装: 1)将e-ftp.cgi,e-ftp.pl拷贝到cgi-bin目录即可(如果是Linux系统,需要改变属性为755) 2)将data\ftpinfo.cgi拷贝到cgi-bin/data目录里面,(如果是Linux系统,需要改变属性为666)
3. 配置 ======= 1)e-ftp.cgi部分: $MaxAllowIP = 3; # 最多允许的IP $PerGBSize = 1024 * 1024 * 1024; # 每GB文件的大小(Bytes) $BuyMaxGB = 20; # 允许购买下载量的最多GB数 $NameAddStr = "ly_"; # 注册时候,ID前面要加的字符,这样容易区分 $OwnerMoney = ""; # 购买金额是否加到FTP主人帐户(yes:是) $ExpiredDay = 30; # 过期天数,留空表示不使用 ############################################################## use NetMySQL; # 使用NetMySQL模块接口(必须选择一个) #use DBDMySQL; # 使用DBD-MySQL模块接口(必须选择一个)
第143行 LBXP4.X以上包括LBXP4.X,应修改为: &output(-Title => "$boardname - $PlusName", -ToPrint => \$output, -Version => $versionnumber); LBXP4.X以下,应修改为: &output(-Title => "$boardname - $PlusName", -ToPrint => $output, -Version => $versionnumber);
2)data\ftpinfo.cgi部分: 威望、折扣的配置
4. 版权信息 =========== 本软件的版权为作者(斯沙 sisha@21cn.com)所有,用户可免费用作非商业用途。如欲购作商业使用,请联系本人洽谈相关事宜,否则本人保留一切起诉权利。下载与使用该软件为用户的自愿行为,作者不对由于软件运行错误对用户造成的损失负责。 如自行开发FTP中心,请在FTP中心备注ServUPlus作者信息(主页: http://www.plusxp.net),方便用者回馈信息,改进版本,谢谢! 不同论坛的Hack(LB以外)由不同作者完成,这里不一一列出,目录里面的Readme文件有说明作者信息。 ServUPlus主页: http://www.plusxp.net
5. 升级历史 =========== FTP中心 v1.20 2003-11-09 整理重新代码,增加免DBI、DBD-MYSQL模块[NetMySQL](能在绝大部分主机上面使用),增加威望限制等功能。
#------------------------------------------------------------------------------ # ServUPlus Admin of UltraThreads # Copyright (c) 2003 6371 # # 2003.11 #------------------------------------------------------------------------------
#------------------------------------------------------------------------------
ALTER TABLE ut_users ADD money INT(11) NOT NULL DEFAULT '0' AFTER score;
#------------------------------------------------------------------------------
打开 topic_new_x.cgi、post_reply_x.cgi
查找 $query = "UPDATE ut_users SET postNum = postNum + 1, lastPost = $now WHERE id = $userid";
改为 $query = "UPDATE ut_users SET postNum = postNum + 1, money = money + 1, lastPost = $now WHERE id = $userid";
#------------------------------------------------------------------------------
打开 topic_show.cgi
查找 my $scoreStr = $board->{'score'} ? "<b>$lng{'topicScore'}:</b> $post->{'score'}\n" : "";
改为 my $scoreStr = $board->{'score'} ? "<b>$lng{'topicScore'}:</b> $post->{'score'}\n" : "";
my $moneyStr = $post->{'money'} ? "<b>$lng{'topicMoney'}:</b> $post->{'money'}\n" : "";
#------------------------------------------------------------------------------
打开 topic_show.cgi
查找 print "<br><br>$postNum";
改为 print "<br>$scoreStr" if $scoreStr; print "<br>$moneyStr" if $moneyStr;
#------------------------------------------------------------------------------
打开 user_admopt.cgi
查找 "<tr bgcolor=$cfg{'lightCellColor'}><td><b>$lng{'userOptScore'}</b></td>\n",
改为 "<tr bgcolor=$cfg{'lightCellColor'}><td><b>$lng{'userOptMoney'}</b></td>\n", "<td><INPUT TYPE='text' NAME='money' SIZE=6 MAXLENGTH=11", " VALUE='$optUser->{'money'}' class=subject></td></tr>\n", "<tr bgcolor=$cfg{'lightCellColor'}><td><b>$lng{'userOptScore'}</b></td>\n",
#------------------------------------------------------------------------------
打开 user_admopt_x.cgi
查找 my $score = $cgi->param('score');
改为 my $score = $cgi->param('score'); my $money = $cgi->param('money');
#------------------------------------------------------------------------------
打开 user_admopt_x.cgi
查找 score = $score
改为 score = $score, money = $money
#------------------------------------------------------------------------------
打开 UTMain.pm
找到 use UTConfig;
改为 use UT66; use UTConfig;
#------------------------------------------------------------------------------
打开 UTMain.pm
找到 "<SPAN TITLE='$lng{'headerOptionsTT'}'>",
改为 "<SPAN TITLE='$hack{'ftpsName'}'>", "<A HREF='ftp_show.cgi'>$hack{'ftpsName'}</A> | \n", "<SPAN TITLE='$lng{'headerOptionsTT'}'>",
#------------------------------------------------------------------------------
打开 UTLanguage.pm
查找 $lng{'topicScore'} = "积分";
改为 $lng{'topicScore'} = "积分"; $lng{'topicMoney'} = "金钱";
#------------------------------------------------------------------------------
打开 UTLanguage.pm
查找 $lng{'userOptScore'} = "积分";
改为 $lng{'userOptScore'} = "积分"; $lng{'userOptMoney'} = "金钱";
#------------------------------------------------------------------------------
6371@0451.com
#------------------------------------------------------------------------------
--===ServUPlus流量插件FOR动网MSSQL版安装办法===--
这个版本是在动网的For mssql PLUS (储存过程版)和ServU Plus 1.65 调试成功的,使用的是MySQL的数据库。 请大家务必升级到ServU Plus 1.65否则会影响正常使用 大家可以访问我的论坛-=http://www.homebbs.net=- 1、安装mysql(安装数据库的文件MySQL_SQL.txt),不是ServU Plus 1.65的请升级。升级帮助请查看update.txt 2、把servuplus目录下的文件copy到serv-u的目录下。 3、修改serv-u目录下的ServUDaemon.ini文件,添加以下设置(Serv-U 在启动时自动调用): [EXTERNAL] ClientCheckDLL1=ServUPlus.dll EventHookDLL1=ServUPlus.dll 4、重启serv-u 5、在DOS窗口中打入命令 c:\mysql\bin\mysqld-nt --install 6、在管理工具->服务中启动mysql,并改mysql的启动方式为自动 7、运行serv-u下的ServUPlus_Man.exe 先建立虚拟组,在输入的时候指定ServU的端口和用户 按照以下方法建立帐号: 虚拟组vir50k serv-u的用户vir50K 虚拟组vir100k serv-u的用户vir100K 虚拟组vir150k serv-u的用户vir150K 虚拟组vir200k serv-u的用户vir200K 因为这个虚拟组会继承这个ServU的用户。 虚拟组勾选激活、流量控制。你就可以使用刚建立的虚拟用户登陆了。 再次重启SERV-U 8、修改\inc\char.asp 在: if request.cookies("BoardList")(boardid & "BoardID")="NNotShow" then response.write " <a href=""?BoardID="&boardid&"&cBoardid="&boardid&"&Catlog=Y"" title=""展开论坛列表"">[展开]</a>" end if elseif IsBoard=2 then response.write HTMLEncode(stats) 后增加以下代码: elseif IsBoard=99 then response.write "<a href="&GetUrl&">"&GetTitle&"</a>" 9、在SQL SERVER的查询分析器上,打开BBS数据库,运行EftpItem.sql,生成EftpItem表。
///////////////////////////////////////////////////////////// // “ServUPlus插件”VBB论坛插件程式 v 0.96 试用版 ///// // 版权所有: 影音休闲中心 ///// // www.zingking.com ///// // 制作人 : ★高高★ (影音ID:gao365) ///// // gao3y@yahoo.com ///// // 需要配合ServUPlus(all)一起使用 ///// // ServUPlus主页:http://www.plusxp.net ///// /////////////////////////////////////////////////////////////
1.拷贝buy_byte.php 到vbb230目录下 2.拷贝buy_admin.php到vbb230\admin子目录下 3.在vbb230的数据库中建立2个表,操作语句在"数据库.txt"里面 4.在模板中建立5个模板,分别是(buy_byte,buy_error,buy_message,ftp_list,ftp_listbits),在压缩文件中有,只要粘贴过去就行 5.在vbb230\admin子目录下index.php中,money选项下面(哪儿都行)
makenavoption("添加","buy_admin.php?action=add_ftp","|"); makenavoption("修改/删除","buy_admin.php?action=list_ftp","<br>"); makenavselect("FTP 选项"); // ***
6.执行buy_byte.php |