很早以前就在用 binux 大佬的 qiandao.today,但后来不知道是用的人多了,还是大佬不怎么维护了,所以后来渐渐地就会登录不上,或者签到失败。干脆直接自己部署一个自己使用。

qiandao 项目是一个使用 Python 编写的自动化签到框架。最早由 Binux 开发,现在项目转到了组织中由 a76yyyy 维护。qiandao 是一个 HTTP 请求定时任务自动执行框架,基于 HAR 和 Tornado 服务。

Docker 部署

docker-compose 配置见 GitHub,克隆项目,直接 docker-compose up -d ,搭配 Nginx Proxy Manager 即可。

我自己搭建的服务如果有兴趣可以加入讨论群组 向我索要地址。

什么是 HAR

[[HAR]] 是 HTTP Archive format 的缩写,即 HTTP 存档格式,一种 JSON 格式的存档格式,用于记录浏览器和网站的交互过程。文件扩展名通常是 .har。签到项目提供了一个基于 Web 页面的 HAR 编辑器,可以通过浏览器录制,然后上传到网站中编辑的方式来快速制作符合自己需求的 HAR 文件。

HAR 文件包含有关网页或应用程序加载过程中所执行的 HTTP 请求和响应的信息。 HAR 文件通常是由浏览器开发工具或类似的工具生成的,可以在许多浏览器中使用。可以使用这些工具来查看网站或应用程序的加载情况,并分析其中的性能问题。

如何获取 HAR 文件

在 Google Chrome 中,可以打开开发人员工具(通常可以通过按 F12 键或在浏览器菜单中选择“更多工具”>“开发人员工具”来访问)。然后,在左侧的菜单中选择“网络”,然后在页面加载过程中会显示所有 HTTP 请求的列表。可以使用“导出为 HAR”按钮将这些请求保存到一个 HAR 文件中。

如何制作 HAR 签到模板

在制作模板时,需要将请求中的 Cookie 替换为双花括号,并且保存,那么通过这个模板创建签到时就会有 Cookie 字段定义。

如何处理 Cloudflare 拦截

api

api 地址 参数 参数是否必须 说明 用例
时间戳 http://localhost/util/timestamp ts 默认返回当前时间戳和时间,如果参数带时间戳,返回所对应北京时间 http://localhost/util/timestamp http://localhost/util/timestamp?ts=1586921249
Unicode 转中文 http://localhost/util/unicode content 要转码的内容 http://localhost/util/unicode?content=今日签到:1\u5929\u5ef6\u4fdd
Url 转中文 http://localhost/util/urldecode content 要转码的内容 http://localhost/util/urldecode?content=签到成功!每日签到获得%2C
正则表达式 http://localhost/util/regex data,p data:原始数据 p:正则表达式 http://localhost/util/regex?data=origin_data&p=regex
字符串替换 http://localhost/util/string/replace p,s,t p:正则表达式 s:要替换的字符串 t:要替换的内容 http://localhost/util/string/replace?p=regex&t=text_to_replace&s=text

其他工具

Google 提供的分析 HAR 的工具

最后

我自己的新建的签到网站,虽然目前只有我一个人用,但是我自己也创建了不少好用的模板,尤其是 PT 站点签到的模板,如果有朋友有需要可以加入 Telegram Group ,然后大家在群里一起讨论怎么充分利用签到程序。

reference