Skip to content

Commit 17ab135

Browse files
authored
Add files via upload
1 parent ffc63b0 commit 17ab135

9 files changed

+3122
-0
lines changed

Diff for: MaiARK登录6.18.2.js

+162
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
// [rule: 登录 ]
2+
// [rule: 登陆 ]
3+
// [priority:924703993]
4+
// [disable: false] 是否禁用
5+
// [admin: false] 是否只允许管理员使用
6+
//有问题tg频道留言 https://t.me/silly_MaiArk
7+
//作者QQ1483081359 转载请保留版权 github仓库:zhacha222/sillyGirljs
8+
//傻妞和MaiARK都要对接青龙
9+
//傻妞可以对接多个青龙,但是要设置一个聚合容器
10+
//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+
19+
var addr = "http://jd.994938.xyz:8082"
20+
//这修改成自己MaiARK的ip地址和端口
21+
//最后面不要带“/” ,不然会出错!
22+
//只要修改这一处就行了,其他不懂就不要乱改!!!
23+
24+
var user = GetUserID()
25+
sendText("MaiARK为你服务,请输入11位手机号:(输入“q”随时退出会话。)");
26+
var num = input(60000)
27+
28+
29+
function main() {
30+
31+
if (!num.match(/^[1][3,4,5,6.7,8,9][0-9]{9}$/)) {
32+
33+
for (var i = 0; i < 4; i++) {
34+
//错误4次直接退出
35+
36+
if(!num || num == "q" || num == "Q"){
37+
sendText("已退出会话。")
38+
return;
39+
}
40+
if(num.match(/^[1][3,4,5,6.7,8,9][0-9]{9}$/)){
41+
sendText("正在获取登录验证码,请耐心等待...")
42+
return getcode()
43+
}
44+
else{
45+
sendText("请输入正确的手机号:")
46+
num = input(60000)
47+
//默认等待20s,不够自己改
48+
}
49+
50+
}
51+
52+
sendText("输入错误次数过多,已退出。")
53+
return;
54+
}
55+
else{
56+
sendText("正在获取登录验证码,请耐心等待...")
57+
getcode()
58+
59+
}
60+
61+
}
62+
63+
function getcode() {
64+
65+
var result = request({
66+
url: addr +"/getsms?mobile=" + num,
67+
"dataType": "json"
68+
})
69+
70+
if (!result) {
71+
72+
sendText("获取验证码超时,请尝试重新登录,或检查MaiARK配置!");
73+
//如果这里登录时返回这个内容,请检查自己的MaiARK是否正常
74+
return;
75+
}
76+
77+
78+
if (result.code == 0) {
79+
sendText("请输入短信验证码:")
80+
LoginJD(result);
81+
} else {
82+
sendText(result.msg)
83+
return;
84+
}
85+
}
86+
87+
88+
function LoginJD(result) {
89+
var gsalt = result.gsalt
90+
var guid = result.guid
91+
var lsid = result.lsid
92+
code = input(30000);
93+
//默认等待30s,不够自己改
94+
if(!code || code == "q" || code == "Q"){
95+
sendText("已退出会话。");
96+
return;
97+
}
98+
99+
var result1 = request({
100+
url: addr +"/verify?mobile="+num +"&gsalt=" + gsalt+"&guid="+guid+"&lsid="+lsid+"&smscode="+code,
101+
"dataType": "json"
102+
})
103+
104+
if (!result1) {
105+
sendText("登录超时,请重新申请登录");
106+
return;
107+
}
108+
if (result1.msg == "您的账号存在安全风险,请使用其他方式登录") {
109+
sendText("您的账号存在安全风险,请手动登录一次京东app解除风险!");
110+
return;
111+
}
112+
if (result1.msg == "验证码输入错误") {
113+
sendText("验证码错误,请重新登录");
114+
return;
115+
}
116+
117+
if (result1.ck != undefined) {
118+
119+
var rule = /[^;]+;pt_pin=(.*);$/
120+
var ck = result1.ck
121+
var ckpin = rule.exec(ck)
122+
var jj = ckpin[1]
123+
var pin = encodeURI(jj)
124+
sillyGirl.session(ck)
125+
126+
if (ImType() == "qq" ) {
127+
bucketSet('pinQQ', pin, user)
128+
sendText("上车成功。")
129+
return;
130+
}
131+
132+
if (ImType() == "wx" ) {
133+
bucketSet('pinWX', pin, user)
134+
sendText("登录成功。查询发送 查询")
135+
return;
136+
}
137+
if (ImType() == "wxmp" ) {
138+
bucketSet('pinWXMP', pin, user)
139+
sendText("上车成功。")
140+
return;
141+
}
142+
else if (ImType() == "tg" ) {
143+
bucketSet('pinTG', pin, user)
144+
sendText("上车成功。")
145+
return;
146+
}
147+
148+
149+
}
150+
else {
151+
sendText(result1.msg + ",请重新登录!");
152+
return;
153+
}
154+
}
155+
156+
157+
main()
158+
159+
160+
161+
162+

Diff for: MaiARK登录6.20.2.js

+213
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
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

Comments
 (0)