这是一个签到(beta)
这是一个签到系统:签到(beta),功能:提供一些常用网站(目前就2个)的签到服务。
地址:签到(beta)(已失效)

这是什么
签到(Beta)是一个可以进行多个站点签到的开源程序,由PHP强力驱动,使用Laravel(5.8)框架。
原理
通过Cookies进行模拟签到,使用Crontab命令执行计划任务。
如何使用
⚠️ 这不是一个即开即用的程序,可能需要以下基础:
- 了解使用Charles进行抓包方式
- 了解HTTP协议和请求方式
- 了解JSON
- 了解Cookie、UA等一些基本的请求Header和请求Body体
- 能够忍受炒鸡简单的界面和不怎么有逻辑性的操作
没关系,签到(Beta)提供了一些基本的模板,可以直接使用。
模板
模板提供了一个请求套件,每个用户都可以创建自己的模板,一些公共模板将会展示在「模板列表」中。其实这些模板的结构很简单,主要有以下构成:
- 请求地址 - 声明该条请求的请求地址
- 请求方式 - 声明该条请求的请求方式(GET/POST/PUT等)
- 请求Header - 很多请求需要携带自己的请求头部,大多是需要注意Cookie、Refer等
- 请求Query / GET - GET方式携带的字段
- 请求POST - POST方式携带的字段
- 响应字段格式 - 响应字段的格式,目前支持JSON格式
- 响应字段 - 请求后返回的响应字段,可以多个字段,需要指明各个字段的关系
- 响应关系 - 响应的字段之间的关系,支持与、或关系
这里有一个详细的模板,可以根据这个模板了解模板的构成👉网易云音乐桌面端签到
创建模板
创建模板时,需要导出Charles的HAR文件,然后粘贴在「HAR文件」输入框中,之后,分别填写需要替换的Header(一般为Cookie)和Query/GET以及POST字段,若没有,请保留输入框中的「[]」,然后还需要添加响应的字段。
响应字段用来确认请求URL时返回的信息是否成功,在创建模板时请确认该条请求一定会返回JSON格式的数据,否则系统会解析失败。
比如一条请求的响应为:
{
"code":200,
"msg":"签到成功"
}
你已经看到,当code为200的时候表示签到成功,则你可以填写 {"code":200}。
但是如果code为100的时候也表示签到成功(比如重复签到),你也可以填写两种code的情况:[{"code":200},{"code":100}]。填写完响应后,你需要指明两个code的关系,目前支持与、或的关系。从而确定是「所有条件都必须满足」还是「只满足一个条件」即可。
⚠️ 除了模板名称和描述,所有的字段都需要JSON格式的数据,否则将提交失败。
🧨️ 如果一条响应是非JSON格式(HTML)或者不需要验证响应,可以在响应关系选择「所有的条件都不需要满足」,这时系统将会认为所有的响应都是成功的。
任务
选择一个模板,然后可以创建该模板的任务。系统会在每天的凌晨1点钟和下午13点钟进行所有任务的签到,你可以在「仪表盘」中查看所有的任务和模板,同时,「日志」页面会显示所有任务的执行情况。
除了「日志」,「消息」页面提供了你的日常操作。
创建任务
选择一个模板,点击右边的创建任务即可创建当前模板的任务,创建任务页面的侧边栏提供了需要替换的字段,由于字段的不确定性,系统没有验证所有的字段,你可以在创建之后进行测试。
💡 任务暂时不支持修改,需要修改请删除任务重新填写。
扩展性
签到(Beta)使用Laravel框架,你可以创建数据库并部署程序到自己的服务器。
创建任务调度
目前签到(Beta)提供了两种任务调度的方法:
- 使用云监控(阿里云监控)请求API文档中的
/do。 - 使用Crontab任务调度,可以参考Laravel官方文档。👈推荐
安全性
🔒 签到(Beta)的工作原理为模拟登录,而Cookie或Session是大多数网页的认证方式,所以当你提交Cookie时,服务器提供者会获取你账号一定的权限,所以如果你不放心提交的数据是否会被滥用,可以Clone仓库,并部署在自己的服务器中。Laravel文档提供了Apache或Nginx的部署方式。
部署到服务器
如果你尝试过安装Laravel,那么你将会很快的安装本程序,如果没有安装过Laravel,可以从官方文档了解Laravel的安装方式。
克隆项目
你需要从仓库中git clone项目到你的本地目录:
$ git clone https://github.com/liopoos/Qiandao-Laravel
修改.env文件
.env文件是Laravel的配置文件,你需要修改你的数据库连接信息等。可以从cp .env.example .env拷贝。
创建数据表创建迁移
之后,你需要新建数据表,Laravel的迁移将自动生成所需要的数据表:
$ php artisan migrate
运行
之后,你就可以像启动一个全新的Laravel项目一样运行签到(Beta)了。