Coder Social home page Coder Social logo

yfcn / qbotwebwrap Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zeruniverse/qbotwebwrap

0.0 0.0 0.0 405 KB

Web Wrap for QBot series QQ/QQ空间在线挂机

License: GNU General Public License v3.0

PHP 10.49% CSS 11.87% HTML 10.47% JavaScript 9.57% Python 56.90% Shell 0.70%

qbotwebwrap's Introduction

QQ机器人WEB控制台

Build Status Codacy Badge Environment Environment Environment License
该项目为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!

如何使用(服务器端配置)

  • 确保安装有PHP 5.2+,MySQL与Python2.7(需要PyExecJS包)  
  • 新建一个文件夹并将此作为网站根目录,将QBotWebWrap解压至文件夹内。
  • 新建一个数据库,导入qwrap.sql
  • 假设您刚刚建立的文件夹是qwrapweb. cd qwrapweb
  • 将里面的qqbot文件夹权限改为777 sudo chmod -R 777 qqbot
  • 将function/sqllink.php改为您自己的数据库用户名,数据库和密码。 vim function/sqllink.php

您可以改变qqbot文件夹内各项目的qqbot.py将tulingkey, SMTP邮箱等参数改为自己的参数。避免公用资源被耗尽引起错误。具体方案请参考3个原项目。

如何使用(客户端)

  • 打开浏览器,在主页选择需要启动的项目
  • 输入参数(如有必要),点击 RUN XXX
  • 浏览器稍候将自动跳转至状态页
  • 等待状态页QR CODE 出现
  • 用手机QQ/安全中心扫描QR CODE
  • 等待QR CODE消失
  • 记录SID并关闭页面(可用SID在首页重新进入状态页)
  • 使用SID从首页进入状态页检查状态,下载log 或结束自己的BOT(杀死进程)

References

可更改参数列表

必须更改

  • 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举例)

capture111

  • 点击运行(绿色按钮)后页面 (二维码获取中)

capture222

  • 二维码成功获取后页面(获取二维码约需要5秒钟)

capture333

  • 扫描二维码并成功登陆后,二维码消失,此时可以关闭页面

capture444

  • DOWNLOAD LOG可下载完整LOG

capture555

可扩展性/二次开发

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

举例:添加用户登录功能,限制每个用户最多只能开两个BOT

  • 数据库中加入user表,做好注册登陆模块
  • process表中加入user字段,将每个process对应到user
  • 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状态链接

qbotwebwrap's People

Contributors

zeruniverse avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.