前言
“天下苦无自动登录久矣~”
自从ninja和jdc等一众扫码平台挂了之后,强东哥还来个ck不定时掉线,可谓是雪上加霜。同时被代挂的用户自己也没法知道是否掉线,代挂更没有精力去时时关注并且通知用户容器里ck过期情况。
因此,本人绞尽脑汁想出来一个思路,就是让用户自己安装app,好处如下:
a、打开app后如果ck过期则跳转到登录页重新登录,并且登录成功后自动同步到对应青龙服务器的容器内ck。
b、加入的ck二次生效时间控制,让用户隔三差五打开app去通过做任务的方式延长ck二次生效时间,从而保证用户能够主动监控自己ck在线状况。
哈哈,妈妈再也不用担心ck掉线且用户不自知了~
安装教程
1、安装青龙(已安装用户可以直接跳到2)
目前测试可兼容2.9.0版本,低于此版本兼容,高于此版本未测试
2、安装jdk、nginx、mysql
安装过程不赘述,请百度
3、拷贝d5c压缩包
解压至home目录,路径如下图
4、新建db
建议使用navicat可视化操作,具体配置如图
1、新建连接
2、新建db(名称为:d5c_hengli)
3、新建数据库表
直接在执行如下sql:
CREATE TABLE `t_x_device` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`device_id` varchar(255) DEFAULT NULL COMMENT '设备号',
`create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
`remark` varchar(255) DEFAULT NULL,
`ck` varchar(255) DEFAULT NULL COMMENT 'ck',
`pin` varchar(255) DEFAULT NULL COMMENT 'pin',
`k_id` varchar(255) DEFAULT NULL COMMENT '容器ckid',
`weight` int(11) DEFAULT '0' COMMENT '权重',
`top` int(32) DEFAULT '999' COMMENT '排行榜',
`container_id` int(11) DEFAULT '1' COMMENT '容器id',
PRIMARY KEY (`id`) USING BTREE,
KEY `create_time` (`create_time`) USING BTREE,
KEY `device_id` (`device_id`) USING BTREE,
KEY `pin` (`pin`) USING BTREE,
KEY `k_id` (`k_id`) USING BTREE,
KEY `weight` (`weight`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=219 DEFAULT CHARSET=utf8 COMMENT='设备表';
CREATE TABLE `t_x_login` (
`id` int(11) NOT NULL,
`name` varchar(255) DEFAULT NULL COMMENT '账号',
`password` varchar(255) DEFAULT NULL COMMENT '密码(明文)',
`token` varchar(500) DEFAULT NULL COMMENT '鉴权参数',
`container_id` int(11) DEFAULT NULL COMMENT '容器id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
执行后会生成如下两表
4、在t_x_login新建青龙容器记录
admin为青龙账号,password为青龙密码(手动登录一次青龙后把头部Authorization后的鉴权信息复制进表中,container_id填1)
5、更改java默认配置
1、cd /home/d5c/hengli/config
2、vim application.yml
qlUrl:为访问域名或ip+/qlck
logUrl:为个人资产变动记录日志路径
admin:青龙账号
password:青龙密码
top:为保证用户经常打开app校验是否掉线,故加入积分制度,积分越高,排名越高,每天凌晨1点会刷新容器排名,top为前多少个账号不会被积分排序影响,最多10个
3、cd /home/d5c/hengli
4、./restart (两次回车,成功后如下图)
6、更改nginx配置
可直接拷贝附件nginx.conf替换自己nginx的conf下的文件,然后更改文件内的ip为本机ip,如下图
更改完成后记得重启nginx
7、验证
打开安装apk,输入http://域名或ip,短信登录后在在青龙容器后台检查是否自动插入
8、注意事项
由于青龙容器每次登陆后Authorization都会变动,并没有主动同步至db,故写了定时器每半小时会刷一遍Authorization作为容错,如果手动登录青龙后台,请将头部Authorization的信息拷贝至db表t_x_login中的token字段内,否则app此时操作会报错
本服务完全去中心化,不会有任何对外同步请求,所以大家不用担心ck泄露,欢迎各位大佬抓包检测~
交流群:644971640
文件提取地址:
链接:https://pan.baidu.com/s/1FIdF3HTjlv6djb6y7k7QYg
提取码:0X01