基于 php 的百度贴吧云签到系统搭建教程

近期 GitHub Action 封杀严重,一众使用 GitHub Action 实现的百度贴吧签到解决方案均告失效或效果不佳。
在 GitHub Action 签到出现之前很早就有基于 php 执行的贴吧签到系统,比如无名智者(Kenvix)的 Tieba-Cloud-Sign 和 @kookxiang 的贴吧签到,前者目前还在佛系更新,后者,在我知道有贴吧云签到这玩意的时候就已经停更了。
本文旨在指导 MoeNetwork/Tieba-Cloud-Sign 百度贴吧云签到系统的部署、初始化即进行线上生产(毕竟我也是 Contributor 之一)。贴吧云签是我建站之路开始的地方。

建议使用国内机器部署,家人们,吃灰的腾讯云轻量用起来(

一、环境部署
添加站点、上传程序之类的步骤就不必赘叙了,效果如图:

二、安装
访问你的站点,执行安装即可。
这个步骤本用于兼容 SAE (新浪云应用引擎),一般环境下请选择“不,我不是”

数据库信息按实际情况填写

计划任务问题后面会将,在此按下不表。

三、获取百度账号登录凭据
访问百度统一登录页面 https://passport.baidu.com/ 登录你的账号
F12 打开,找到 application/cookies,将 passport.baidu.com 项内的 BDUSS 的值取出,
BDUSS 长这样:

带一长串的 A 的那个就是 BDUSS

(BDUSS 是百度账号的凭据,将 BDUSS 注入 Cookies 即相当于登录了这个账号。虽然百度在 16 年初对 BDUSS 的操作权限作出了限制,但凭 BDUSS 还是能进行很多操作的,且失效期限极长,修改密码或手动退出此次登录后才会失效。因此请保管好自己的 BDUSS)

由于程序用于查询 BDUSS 是否有效的接口被百度取消了,故,如果你选择在程序里直接手动导入 BDUSS 会被拒绝,表现如下

上面提了,BDUSS 还是能够用于签到的,所以我们需要绕过程序目前的问题,将 BDUSS 强制写入数据库。
祭出 phpMyAdmin,进入 数据库名/tc_baiduid

进入 SQL 选项卡,执行以下 SQL 语句:

INSERT INTO `tc_baiduid` (`id`, `uid`, `bduss`, `name`) VALUES
(1, 1, 'yourBDUSS', 'yourBaiduId');

其中,第一个 1 为主键、自增量,若您本表已有数据,请将第一个 1 改为您的行数+1 的值;第二个 1 为此系统中的用户的 ID,对应 tc_users 表中的键 id;yourBDUSS 为你刚刚提取出来的 BDUSS;yourBaiduId 为你的百度用户名。
单击执行

结果应如下所示:

回到网站,可以发现 BDUSS 导入成功

四、刷新贴吧列表
进入 云签到设置和日志,单击“刷新贴吧列表”,一般等待一分钟即可

五、配置计划任务
5.1. 使用本机的 php 执行计划任务
使用 Crontab 配置如下:

*/5  * * * * php 程序的绝对路径 签到程序网站根目录/do.php >/dev/null 2>&1

时间按需修改。

不推荐此方案,因其问题多多。

5.2. 使用云监控执行计划任务
阿里云、百度智能云等均有云监控服务,具体使用方案请自行寻找文档
站点监控的 URL 为

http(s)://你的站点/do.php?pw=

http(s) 请自行调整。

若计划任务在今日至少运行过一次,程序主界面将不会出现错误提示。

留下评论