QQ机器人WEB控制台
=========
该项目为QQRobot, QQParking, QzoneLiker提供一个网页版控制台,降低了使用门槛。
有关QQRobot, QQParking, QzoneLiker 请见原项目。
用户输入基本参数后点击运行,然后等待网页中出现二维码用手机QQ(或安全中心)扫描登陆即可。该项目随以上三个项目一起更新,请不要使用RELEASE,直接下载MASTER分支使用。
DEMO: qqbot.jeffery.cc (仅供测试,自动定期杀死所有进程,限制10并发)
This project is a Web-based console for QQRobot, QQParking and QzoneLiker.
Users no longer need to type command in Terminal. They can now do it with a web browser!
cd qwrapweb
sudo chmod -R 777 qqbot
vim function/sqllink.php
您可以改变qqbot文件夹内各项目的qqbot.py将tulingkey, SMTP邮箱等参数改为自己的参数。避免公用资源被耗尽引起错误。具体方案请参考3个原项目。
function/sqllink.php
$dbname 数据库名 function/sqllink.php
$dbusr 数据库用户名 function/sqllink.php
$dbpwd 数据库密码 qqbot/(qqparking|qqrobot)/qqbot.py
tuling key (见references),smtp 服务器,用户名,密码 qqbot/qzoneliker/qqbot.py
smtp 服务器,用户名,密码 qqbot/(qqparking|qqrobot|qzoneliker)/qqbot.py
二维码重新获取次数 (默认6次获取均未扫描则结束程序) qqbot/qzoneliker/qqbot.py
QzoneLiker最多错误重试次数(默认5次) create.php
$MAXPROCESS 最多并行线程数(即最多挂几个机器人,默认10) sid
长度 (create.php randomstr()
函数,默认6位大写字母,如大于10位请同时修改数据库SID的VARCHAR长度) qqbot/(qqparking|qqrobot)/qqbot.py
轮询最多失败次数限制,默认5次 输入参数页面(以QQRobot举例)
点击运行(绿色按钮)后页面 (二维码获取中)
二维码成功获取后页面(获取二维码约需要5秒钟)
扫描二维码并成功登陆后,二维码消失,此时可以关闭页面
DOWNLOAD LOG可下载完整LOG
qqbot
文件夹内各项目请参考References
create.php
是主要程序,负责产生一个进程ID,将对应的项目文件夹(qqbot|qqparking|qzoneliker)拷贝到这个ID命名的文件夹内,然后把用户输入的参数写进配置文件。最后执行shell命令启动python脚本并获取PID存入数据库。create.php创建新进程前会检查数据库内所有PID,并删除已经停止运行的PID,同时删除对应文件夹。如果删除后数据库内进程数量大于$MAXPROCESS,则拒绝添加线程请求
log.php
& logdownload.php
根据id找到qqbot/$id/log.log,并输出
image.php
根据id找到qqbot/$id/v.png,并输出
killit.php
杀死sid对应的进程
数据库中process表存有id
,pid
,sid
。其中pid
是对应BOT的进程号,id
对应的是进程编号(对应文件夹名),sid
是与前端交互的唯一标识码,用于解决id
容易猜测的问题。用户不会得到id
,只会得到sid
。
create.php
检查该user是否超过限制,如果不是则创建进程时将user id同时写入process表对应的行 status.php killit.php image.php log.php logdownload.php
检查SID同时必须检查该SID对应的行的user id与session里的user id是否一致 index.html
改为index.php
,输出数据库中该USER已经执行的BOT状态链接