【宅技术】手撕包菜安装教程(原DHT磁力链程序一键安装包)

发布于 2018-04-01  7128 次阅读


前言 0X001

好多小伙伴问我要宅客BT的源码,可惜本人不才,学习Python才一星期不到,是写不出来的,但是今天将源码跟安装步骤大致讲一下,因为一键安装包没什么好讲的,也就是有一些注意事项我给大家解释一下。

操作步骤 0X002

1、准备

一、1台服务器,当然配置越高越好。我的服务器1H2G3MB根本不够用,十几个人访问都会突然崩溃,还要写定时重启脚本才勉强运行。

二、安装CentOS7.2 64位,经过本博主反复测试,只有7.2不报错,其他都报错,当然只能使用CentOS系统。

三、放行服务器所有端口,博主就因为没有放行,反反复复装了5遍才发现。

四、连接服务器;

2、安装

wget --no-check-certificate https://www.moerats.com/usr/down/ssbc/ssbc-reboot.sh && chmod +x ssbc-reboot.sh

复制到服务器,按下回车;

备用链接:(请把下链接中的TXT更换为.sh;或者下载附件上传至服务器运行)

wget --no-check-certificate http://www.zkjd.me/content/uploadfile/201804/6b571522583664.txt && chmod +x 6b571522583664.txt

ssbc1.41.txt

然后会让你输入域名:

输入你们之前解析好的域名然后回车,此时打开你的浏览器去访问一下网站看是否能够打开。一般是没有问题肯定可以打开的,打不开一般也是你的DNS解析还没有生效。

继续回车下去会提示你程序显示的IP是不是你当前服务器的IP,一般也肯定是没有问题的,我们就输入Y回车。

最后就是创建管理员账号,会提示你输入用户名,不输入默认就是root。然后填写邮箱和密码。如图:

现在就已经搭建好程序了,我们可以访问网站看看:(直接输入服务器外网IP地址)

很丑对不对!没关系我们有模板:

3、更换模板

首先下载SSBC模板:ssbczw.zip

解压缩后还是老样子使用SFTP将模版文件上传到/root/ssbc-master/web/目录下。(提示文件覆盖就全部覆盖)

然后运行如下命令使模版生效:

 

ln -s /usr/lib/python2.7/site-packages/django/contrib/admin/static/admin /root/ssbc-master/web/static/admin
killall gunicorn
cd /root/ssbc-master/
nohup gunicorn ssbc.wsgi:application -b 127.0.0.1:8000 --reload>/dev/zero 2>&1&

然后刷新一下就可以看到新模板;

当然模板不只这个一个,还有好多,等你自己开发吧。

然而这个爬虫有个致命BUG,运行一会儿会自己卡死,然后还要写个定时重启脚本;

4、定时重启爬虫

在服务器root界面输入:

wget --no-check-certificate https://www.moerats.com/usr/down/ssbc/ssbc-reboot.sh && chmod +x ssbc-reboot.sh

增加计划任务:

crontab -e

按  进入编辑模式:

0,30 * * * * sh /root/ssbc-reboot.sh

意思是每小时的0分和30分自动执行ssbc-reboot.sh这个文件,然后按Esc键退出编辑模式,然后按着shift并同时连按2次z,即回到shell界面。

5、常见问题及解决

1.必须centos7吗?
非常建议使用centos7,centos6可能会有意想不到的错误
2.如何设置首页关键字?
登录管理员后台,点击Rec keywordss,右上角新增
3.怎么查看入库的文件?
登录管理员后台,点击 Hashs
4.怎么查看每天入库了多少文件,以便清楚入库效率?
登录管理员后台,点击 Status reports
5.如何确认web服务器、采集、入库正在运行?
运行 ps -ef|grep python|grep -v grep
结果里面有
gunicorn ssbc.wsgi:application -b 127.0.0.1:8000 --reload
python simdht_worker.py
python index_worker.py
即表示正在运行。
——————————————————————————————————————
去除搜索页 右下角广告
[root@localhost ssbc-master]# cd web/static/js
[root@localhost js]# vi ssbc.js 找到如下3行,在前面添加//进行注释,保存
// document.write(’<script src="http://v.6dvip.com/ge/?s=47688"></script>’);
// document.writeln("<script language="JavaScript" type="text/javascript" src="http://js.6dad.com/js/xiaoxia.js"></script>");
// document.writeln("<script language="JavaScript" type="text/javascript" src="http://js.ta80.com/js/12115.js"></script>");
——————————————————————————————————————
如何修改扩展名归类?
workers/metautils.py文件中有如下代码:
def get_category(ext):
ext = ext + ’.’
cats = {
u’video’: ’.avi.mp4.rmvb.m2ts.wmv.mkv.flv.qmv.rm.mov.vob.asf.3gp.mpg.mpeg.m4v.f4v.’,
u’image’: ’.jpg.bmp.jpeg.png.gif.tiff.’,
u’document’: ’.pdf.isz.chm.txt.epub.bc!.doc.ppt.’,
u’music’: ’.mp3.ape.wav.dts.mdf.flac.’,
u’package’: ’.zip.rar.7z.tar.gz.iso.dmg.pkg.’,
u’software’: ’.exe.app.msi.apk.’
}

意思是:扩展名为.exe、.app、.msi、,.apk的文件都属于software类型。
如果你把u’software’: ’.exe.app.msi.apk.’ 改为 u’software’: ’app.msi.apk.’,那么exe将会被归为other类型。
所以在这里修改归类设置。
——————————————————————————————————————
如何禁止某些格式/分类的文件入库?
workers/metadata.py文件中有如下代码:
info[’extension’] = metautils.get_extension(bigfname).lower()
info[’category’] = metautils.get_category(info[’extension’])
所以如果你要排除扩展名为.exe的文件,或者类型为software,可以在上面代码后面加上
##########这是增加的过滤-开始############
#按扩张名过滤,禁止扩展名为.exe的入库
if info[’extension’] == ’exe’:
return # 直接返回,跳过下面的入库
#按文件类型过滤,禁止类型为software的入库
if info[’category’] == ’software’:
return
#禁止类型为other的入库
if info[’category’] == ’other’:
return
##########这是增加的过滤-结束############
——————————————————————————————————————
如何重建索引?
第一步:
删除/data目录
第二步:
进入数据库,把search_hash表中所有记录的tagged字段置为0。
UPDATE search_hash SET tagged=0
然后启动sphinx、index_worker.py。
——————————————————————————————————————
MySQL server has gone away提示怎么办?
ssbc 运行一段时间后,大概半个小时,就莫名奇妙停止不爬了。 错误提示如下:
MySQL server has gone away
通过错误提示可以看出,其实是ssbc与mysql(maridb)断开连接了,导致程序异常,当然就插入不了数据了。
有3种解决办法:
方法1是写个脚本,定时重启爬虫。
方法2是修改下代码,当mysql断开连接时,再次重连mysql就可以拉。
方法3是修改Mysql配置,将闲置时间wait_timeout设置长一点。
——————————————————————————————————————
哪里设置爬虫线程?让爬虫爬快/慢点?
在workers/simdht_worker.py里面把MAX_QUEUE_LT、MAX_QUEUE_PT、max_node_qsize设大/小一点。
如何关闭调试模式?设置404页面?
请参考 http://www.githubs.cn/post/19
——————————————————————————————————————
如何在搜索结果页面添加迅雷链接?
在web/views.py文件加入以下代码生成迅雷链接:
import base64
xunleiurl = ’AAmagnet:?xt=urn:btih:’ + d[’info’][’info_hash’] + ’ZZ’
d[’xunlei_url’] = ’thunder://’ + base64.b64encode(xunleiurl)
可以在模板中用“ {{xunlei_url}} ”调用。位置要放在return render(request, ’info.html’, d)的前面。
——————————————————————————————————————
SSBC如何搬家?
数据库用mysqldump导出sql,在新服务器上运行一键包,再导入刚才的sql。
——————————————————————————————————————
提示duplicate id ’xxxx’解决办法
进入数据库,执行语句
update search_hash set tagged=True where id=xxxx;

6、介绍宅客BT

www.bt5.xyz

【宅技术】手撕包菜安装教程(原DHT磁力链程序一键安装包)

宅客BT运行1月收入500W条数据,中间死机无数次,平均每天访问访客260+,搜索引擎不知道为什么只收录主页,内页不在收录,腾讯QQ标红,磁力搜索类的网站早在几年前还是非常火爆的,比如比较有名的种子猫(TorrentKitty)、Btsow(现为btso.pw)。但正因为这类站点很吃香,以至于很多同类型的站点都陆续崭露头角,导致现在遍地都是这类磁力搜索站点。说白了就是已经烂大街了,我们现在再去涉足这个磁力搜索的行业未免太晚了点。另外在数据量方面,人家都是爬了多少年的数据,而我们只是刚开始爬,我们的数据量也和别人不是一个级别的。在人家那里能搜索到的资源往往在我们这里还搜索不到。当然还有最重要的一个点就是,这种东西还是玩玩或者自用就好,如果真的做大了,未免会有查水表风险。望君玩的开心。

BY:zhaike

 

郑州90后一名计算机爱好者,希望能通过网络结交更多朋友!
最后更新于 2018-04-01