|
| 1 | +// [rule: 登录 ] 有问题tg频道留言 https://t.me/silly_MaiArk |
| 2 | +// [rule: 登陆 ] 作者QQ1483081359 转载请保留版权 github仓库:zhacha222/sillyGirljs |
| 3 | +// [priority:924703993] 优先权重 为了屏蔽内置ark |
| 4 | +// [disable: false] 是否禁用 |
| 5 | +// [admin: false] 是否只允许管理员使用 |
| 6 | + |
| 7 | +/*注意事项: |
| 8 | +1.傻妞和MaiARK都要对接青龙 |
| 9 | +2.傻妞可以对接多个青龙,但是要设置一个聚合容器 |
| 10 | +3.MaiARK只需要对接 傻妞聚合的那个青龙就行了 |
| 11 | +可以实现直接登录查询,不需要再复制ck发送给机器人,和对接Nolan的效果一样 |
| 12 | +*更新日志: |
| 13 | +6.6更新 适配QQ,微信,TG,微信公众号 全平台登录 |
| 14 | +6.7更新 修复部分人GetImType()报错,修复登录时显示获取超时但实际上有收到短信的bug |
| 15 | +6.9更新 新增 登录后更新查询数据中的【登录时长】,修复部分人登录立即查询提示过期的现象 |
| 16 | +6.12更新 增加手机号初步筛选,防止叼毛钓鱼使MaiARK频繁请求导致黑ip |
| 17 | +6.18更新 修改手机号初步筛选的逻辑bug |
| 18 | +6.19更新 新增 超时重连(默认5次),增加验证码格式验证 |
| 19 | +6.20 修复微信登录过程中撤回手机号报错的bug(仅测试vlw框架的) 彻底解决session报错的问题 |
| 20 | +*/ |
| 21 | + |
| 22 | + var addr = "http://jd7.994938.xyz:8082" |
| 23 | + //这修改成自己MaiARK的ip地址和端口 |
| 24 | + //最后面不要带“/” ,不然会出错! |
| 25 | + //只要修改这一处就行了,其他不懂就不要乱改!!! |
| 26 | + |
| 27 | + var user = GetUserID() |
| 28 | + sendText("MaiARK为你服务,请输入11位手机号:(输入“q”随时退出会话。)"); |
| 29 | + var num = input(60000) |
| 30 | + |
| 31 | +function main() { |
| 32 | + |
| 33 | + if (!num.match(/^[1][3,4,5,6.7,8,9][0-9]{9}$/)) { |
| 34 | + |
| 35 | + for (var i = 0; i < 4; i++) { |
| 36 | + //错误4次直接退出 |
| 37 | + |
| 38 | + if(!num || num == "q" || num == "Q"){ |
| 39 | + sendText("已退出会话。") |
| 40 | + return; |
| 41 | + } |
| 42 | + if(num.match(/^[1][3,4,5,6.7,8,9][0-9]{9}$/)){ |
| 43 | + sendText("正在获取登录验证码,请耐心等待...") |
| 44 | + return getcode() |
| 45 | + } |
| 46 | + else{ |
| 47 | + sendText("请输入正确的手机号:") |
| 48 | + num = input(60000) |
| 49 | + //默认等待20s,不够自己改 |
| 50 | + } |
| 51 | + |
| 52 | + } |
| 53 | + |
| 54 | + sendText("输入错误次数过多,已退出。") |
| 55 | + return; |
| 56 | + } |
| 57 | + else{ |
| 58 | + sendText("正在获取登录验证码,请耐心等待...") |
| 59 | + getcode() |
| 60 | + |
| 61 | + } |
| 62 | + |
| 63 | +} |
| 64 | + |
| 65 | +function getcode() { |
| 66 | + |
| 67 | + var result = request({ |
| 68 | + url: addr +"/getsms?mobile=" + num, |
| 69 | + "dataType": "json" |
| 70 | + }) |
| 71 | + |
| 72 | + if (!result) { |
| 73 | + |
| 74 | + sendText("获取验证码超时,请尝试重新登录,或检查MaiARK配置!"); |
| 75 | + //如果这里登录时返回这个内容,请检查自己的MaiARK是否正常 |
| 76 | + return; |
| 77 | + } |
| 78 | + |
| 79 | + |
| 80 | + if (result.code == 0) { |
| 81 | + sendText("请输入短信验证码:") |
| 82 | + LoginJD(result); |
| 83 | + } else { |
| 84 | + sendText(result.msg) |
| 85 | + return; |
| 86 | + } |
| 87 | +} |
| 88 | + |
| 89 | + |
| 90 | +function LoginJD(result) { |
| 91 | + var gsalt = result.gsalt |
| 92 | + var guid = result.guid |
| 93 | + var lsid = result.lsid |
| 94 | + var i = 0 |
| 95 | + code = input(30000) |
| 96 | + while (!code.match(/^[0-9]{6}$/)) { |
| 97 | + i++ |
| 98 | + if (i > 2) return sendText("输入错误次数过多,已退出。") |
| 99 | + if (!code || code == "q" || code == "Q") return sendText("已退出会话。") |
| 100 | + if (code.match(/(.*)revoked_msg(.*)$/)) {code = input(30000)} |
| 101 | + if (!code.match(/^[0-9]{6}$/)) { |
| 102 | + sendText("请输入正确格式的验证码:") |
| 103 | + code = input(30000) |
| 104 | + } |
| 105 | +} |
| 106 | + |
| 107 | + var result1 = request({ |
| 108 | + url: addr +"/verify?mobile="+num +"&gsalt=" + gsalt+"&guid="+guid+"&lsid="+lsid+"&smscode="+code, |
| 109 | + "dataType": "json" |
| 110 | + }) |
| 111 | + |
| 112 | + while (!result1) { |
| 113 | + i++ |
| 114 | + if (i > 4) return sendText("登录超时,请重新申请登录。") |
| 115 | + if (!result1) { |
| 116 | + |
| 117 | + sendText("正在尝试第" + i + "次重登...") |
| 118 | + result1 = request({ |
| 119 | + url: addr +"/verify?mobile="+num +"&gsalt=" + gsalt+"&guid="+guid+"&lsid="+lsid+"&smscode="+code, |
| 120 | + "dataType": "json" |
| 121 | + }) |
| 122 | + } |
| 123 | +} |
| 124 | + |
| 125 | + |
| 126 | + while (result1.msg == "验证码输入错误") { |
| 127 | + i++ |
| 128 | + if (i > 5) return sendText("输入错误次数过多,已退出。") |
| 129 | + if (result1.msg == "验证码输入错误") { |
| 130 | + sendText("验证码错误,请重新输入:") |
| 131 | + code = input(30000) |
| 132 | + result1 = request({ |
| 133 | + url: addr +"/verify?mobile="+num +"&gsalt=" + gsalt+"&guid="+guid+"&lsid="+lsid+"&smscode="+code, |
| 134 | + "dataType": "json" |
| 135 | + }) |
| 136 | + |
| 137 | + } |
| 138 | + if (!code || code == "q" || code == "Q") return sendText("已退出会话。") |
| 139 | + if (!code.match(/^[0-9]{6}$/)) return sendText("验证码格式错误,已退出会话。") |
| 140 | + if (!result1) return sendText("登录信息已过期,请重新登录。") |
| 141 | + |
| 142 | + |
| 143 | +} |
| 144 | + |
| 145 | + if (result1.msg == "验证码已过期,请重新获取") { |
| 146 | + sendText("验证码已过期,请重新登录!(如多次报错此消息,请检查MaiARK配置)"); |
| 147 | + return; |
| 148 | + } |
| 149 | + if (result1.msg == "操作过于频繁,请24小时后再试,或先使用其他方式登录") { |
| 150 | + sendText("操作过于频繁,请24小时后再试,或换使用其他方式登录!"); |
| 151 | + return; |
| 152 | + } |
| 153 | + if (result1.msg == "您的账号存在安全风险,请使用其他方式登录") { |
| 154 | + sendText("您的账号存在安全风险,请手动登录一次京东app以解除风险!"); |
| 155 | + return; |
| 156 | + } |
| 157 | + |
| 158 | + if (result1.ck != undefined) { |
| 159 | + postck(result1) |
| 160 | + |
| 161 | + }else { |
| 162 | + sendText(result1.msg + ",请重新登录!"); |
| 163 | + return; |
| 164 | + } |
| 165 | + |
| 166 | +} |
| 167 | + |
| 168 | +function postck(result1) { |
| 169 | + |
| 170 | + var rule = /[^;]+;pt_pin=(.*);$/ |
| 171 | + var ck = result1.ck |
| 172 | + var ckpin = rule.exec(ck) |
| 173 | + var jj = ckpin[1] |
| 174 | + var pin = encodeURI(jj) |
| 175 | + |
| 176 | + try |
| 177 | + { |
| 178 | + sillyGirl.session(ck) |
| 179 | + } |
| 180 | + catch (e) |
| 181 | + { |
| 182 | + sillyGirl.Session(ck) |
| 183 | + } |
| 184 | + |
| 185 | + if (ImType() == "qq" ) { |
| 186 | + bucketSet('pinQQ', pin, user) |
| 187 | + sendText("上车成功。") |
| 188 | + return; |
| 189 | + } |
| 190 | + |
| 191 | + if (ImType() == "wx" ) { |
| 192 | + bucketSet('pinWX', pin, user) |
| 193 | + sendText("登录成功。查询发送 查询") |
| 194 | + return; |
| 195 | + } |
| 196 | + if (ImType() == "wxmp" ) { |
| 197 | + bucketSet('pinWXMP', pin, user) |
| 198 | + sendText("上车成功。") |
| 199 | + return; |
| 200 | + } |
| 201 | + else if (ImType() == "tg" ) { |
| 202 | + bucketSet('pinTG', pin, user) |
| 203 | + sendText("上车成功。") |
| 204 | + return; |
| 205 | + } |
| 206 | + |
| 207 | + |
| 208 | +} |
| 209 | + |
| 210 | + |
| 211 | +main() |
| 212 | + |
| 213 | + |
0 commit comments