Skip to content

Commit 63e40b0

Browse files
committed
更新[顺丰速运]: 增加 27 周年签到
1 parent e110baf commit 63e40b0

5 files changed

Lines changed: 139 additions & 13 deletions

File tree

QuantumultX_AppStore_Local_Cookie.conf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# 本配置适用于: QuanX 商店版 v1.0.6-build194 及之前版本
22
# 如果你是TF版, 请使用: QuantumultX_Local_Cookie.conf
33

4-
hostname = frodo.douban.com, luckman.suning.com, passport.suning.com, sign.suning.com, gameapi.suning.com, m.ctrip.com, 110.43.90.61, zt.wps.cn, daojia.jd.com, app.nio.com, wxprdapplet.gac-nio.com, maicai.api.ddxq.mobi, group.baicizhan.com, api.everphoto.cn, promotion.waimai.meituan.com, wx.10086.cn, www.maomicd.com, m.client.10010.com, act.10010.com, api-takumi.mihoyo.com, gdws.nsenz.com, credits.bz.mgtv.com, *.csdn.net, wapside.189.cn, *.acfun.cn, apk.tw, *.bilibili.com, api.dongqiudi.com, *.feng.com, www.flyertea.com, music.163.com, *.m.163.com, user.qunar.com, *.rr.tv, sf-integral-sign-in.weixinjia.net, *.smzdm.com, tieba.baidu.com, *.v2ex.com, *.video.qq.com, mobwsa.ximalaya.com, *.you.163.com, *.rrys2019.com, ios.zmzapi.com
4+
hostname = frodo.douban.com, luckman.suning.com, passport.suning.com, sign.suning.com, gameapi.suning.com, m.ctrip.com, 110.43.90.61, zt.wps.cn, daojia.jd.com, app.nio.com, wxprdapplet.gac-nio.com, maicai.api.ddxq.mobi, group.baicizhan.com, api.everphoto.cn, promotion.waimai.meituan.com, wx.10086.cn, www.maomicd.com, m.client.10010.com, act.10010.com, api-takumi.mihoyo.com, gdws.nsenz.com, credits.bz.mgtv.com, *.csdn.net, wapside.189.cn, *.acfun.cn, apk.tw, *.bilibili.com, api.dongqiudi.com, *.feng.com, www.flyertea.com, music.163.com, *.m.163.com, user.qunar.com, *.rr.tv, sf-integral-sign-in.weixinjia.net, mcs-mimp-web.sf-express.com, *.smzdm.com, tieba.baidu.com, *.v2ex.com, *.video.qq.com, mobwsa.ximalaya.com, *.you.163.com, *.rrys2019.com, ios.zmzapi.com
55

66
# 电信营业厅
77
^https:\/\/wapside.189.cn:9001\/api\/home\/homeInfo url script-request-header chavyleung/10000/10000.cookie.js
@@ -43,6 +43,7 @@ hostname = frodo.douban.com, luckman.suning.com, passport.suning.com, sign.sunin
4343

4444
# 顺丰速运
4545
^https:\/\/sf-integral-sign-in.weixinjia.net\/app\/index url script-request-header chavyleung/sfexpress/sfexpress.cookie.js
46+
^https:\/\/mcs-mimp-web.sf-express.com\/mcs-mimp\/share\/app\/shareRedirect url script-request-header chavyleung/sfexpress/sfexpress.cookie.js
4647

4748
# 什么值得买
4849
^https:\/\/www\.smzdm\.com\/?.? url script-request-header chavyleung/smzdm/quanx/smzdm.cookie.js

QuantumultX_Local_Cookie.conf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# 本配置适用于: QuanX TestFlight v1.0.6-build195 及以后版本
22
# 如果你是商店版, 请使用: QuantumultX_AppStore_Local_Cookie.conf
33

4-
hostname = frodo.douban.com, luckman.suning.com, passport.suning.com, sign.suning.com, gameapi.suning.com, m.ctrip.com, 110.43.90.61, zt.wps.cn, m-bean.kaola.com, daojia.jd.com, app.nio.com, wxprdapplet.gac-nio.com, node.kg.qq.com, api.dushu.io, pm.m.fenqile.com, maicai.api.ddxq.mobi, group.baicizhan.com, api.everphoto.cn, i.meituan.com, promotion.waimai.meituan.com, wx.10086.cn, www.maomicd.com, m.client.10010.com, act.10010.com, api-takumi.mihoyo.com, m.gdoil.cn, credits.bz.mgtv.com, *.csdn.net, wapside.189.cn, *.acfun.cn, apk.tw, *.bilibili.com, api.dongqiudi.com, *.feng.com, www.flyertea.com, music.163.com, *.m.163.com, user.qunar.com, *.rr.tv, sf-integral-sign-in.weixinjia.net, *.smzdm.com, tieba.baidu.com, *.v2ex.com, *.video.qq.com, mobwsa.ximalaya.com, *.you.163.com, *.rrys2019.com, ios.zmzapi.com
4+
hostname = frodo.douban.com, luckman.suning.com, passport.suning.com, sign.suning.com, gameapi.suning.com, m.ctrip.com, 110.43.90.61, zt.wps.cn, m-bean.kaola.com, daojia.jd.com, app.nio.com, wxprdapplet.gac-nio.com, node.kg.qq.com, api.dushu.io, pm.m.fenqile.com, maicai.api.ddxq.mobi, group.baicizhan.com, api.everphoto.cn, i.meituan.com, promotion.waimai.meituan.com, wx.10086.cn, www.maomicd.com, m.client.10010.com, act.10010.com, api-takumi.mihoyo.com, m.gdoil.cn, credits.bz.mgtv.com, *.csdn.net, wapside.189.cn, *.acfun.cn, apk.tw, *.bilibili.com, api.dongqiudi.com, *.feng.com, www.flyertea.com, music.163.com, *.m.163.com, user.qunar.com, *.rr.tv, sf-integral-sign-in.weixinjia.net, mcs-mimp-web.sf-express.com, *.smzdm.com, tieba.baidu.com, *.v2ex.com, *.video.qq.com, mobwsa.ximalaya.com, *.you.163.com, *.rrys2019.com, ios.zmzapi.com
55

66
# 电信营业厅
77
^https:\/\/wapside.189.cn:9001\/api\/home\/homeInfo url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/10000/10000.cookie.js
@@ -43,6 +43,7 @@ hostname = frodo.douban.com, luckman.suning.com, passport.suning.com, sign.sunin
4343

4444
# 顺丰速运
4545
^https:\/\/sf-integral-sign-in.weixinjia.net\/app\/index url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/sfexpress/sfexpress.cookie.js
46+
^https:\/\/mcs-mimp-web.sf-express.com\/mcs-mimp\/share\/app\/shareRedirect url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/sfexpress/sfexpress.cookie.js
4647

4748
# 什么值得买
4849
^https:\/\/www\.smzdm\.com\/?.? url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/smzdm/quanx/smzdm.cookie.js

sfexpress/README.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,34 @@
88
99
> 2020.3.20 修复多余的登录失败提示问题 & 修复没有 \$done() 问题
1010
11+
> 2020.3.30 增加 27 周年签到 (增加 1 条`mitm`和 1 条`rewrite`)
12+
1113
## 配置 (Surge)
1214

1315
```properties
1416
[MITM]
15-
hostname = sf-integral-sign-in.weixinjia.net
17+
hostname = sf-integral-sign-in.weixinjia.net, mcs-mimp-web.sf-express.com
1618

1719
[Script]
18-
http-request ^https:\/\/sf-integral-sign-in.weixinjia.net\/app\/index script-path=scripts/sfexpress.cookie.js,debug=true
19-
cron "*/10 * * * * *" script-path=scripts/sfexpress.js,debug=true
20+
http-request ^https:\/\/sf-integral-sign-in.weixinjia.net\/app\/index script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/sfexpress/sfexpress.cookie.js
21+
http-request ^https:\/\/mcs-mimp-web.sf-express.com\/mcs-mimp\/share\/app\/shareRedirect script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/sfexpress/sfexpress.cookie.js
22+
cron "*/10 * * * * *" script-path=scripts/sfexpress.js
2023
```
2124

2225
## 配置 (QuanX)
2326

2427
```properties
2528
[MITM]
26-
hostname = sf-integral-sign-in.weixinjia.net
29+
hostname = sf-integral-sign-in.weixinjia.net, mcs-mimp-web.sf-express.com
2730

2831
[rewrite_local]
32+
# [商店版]
2933
^https:\/\/sf-integral-sign-in.weixinjia.net\/app\/index url script-request-header sfexpress.cookie.js
34+
^https:\/\/mcs-mimp-web.sf-express.com\/mcs-mimp\/share\/app\/shareRedirect url script-request-header sfexpress.cookie.js
35+
36+
# [TF版]
37+
^https:\/\/sf-integral-sign-in.weixinjia.net\/app\/index url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/sfexpress/sfexpress.cookie.js
38+
^https:\/\/mcs-mimp-web.sf-express.com\/mcs-mimp\/share\/app\/shareRedirect url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/sfexpress/sfexpress.cookie.js
3039

3140
[task_local]
3241
1 0 * * * sfexpress.js
@@ -38,8 +47,8 @@ hostname = sf-integral-sign-in.weixinjia.net
3847
2. 再配置重写规则:
3948
- Surge: 把两条远程脚本放到`[Script]`
4049
- QuanX: 把`sfexpress.cookie.js``sfexpress.js`传到`On My iPhone - Quantumult X - Scripts` (传到 iCloud 相同目录也可, 注意要打开 quanx 的 iCloud 开关)
41-
3. 打开 APP, 访问下`我的顺丰` > `去签到` (访问下`去签到`的页面即可, 不用点`签到`)
42-
4. 系统提示: `获取Cookie: 成功` (如果不提示获取成功, 尝试杀进程再进签到页面)
50+
3. 打开 APP, 访问下`我的顺丰` > `去签到` (访问下`去签到`的页面即可, 不用点`签到`), 系统提示: `获取Cookie: 成功`
51+
4. 打开 APP, 访问下`27周年庆`, 系统提示: `获取Cookie: 成功 (27周年)`
4352
5. 最后就可以把第 1 条脚本注释掉了
4453

4554
> 第 1 条脚本是用来获取 cookie 的, 用浏览器访问一次获取 cookie 成功后就可以删掉或注释掉了, 但请确保在`登录成功`后再获取 cookie.

sfexpress/sfexpress.cookie.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,21 @@ const chavy = init()
22
const cookieName = '顺丰速运'
33
const KEY_loginurl = 'chavy_loginurl_sfexpress'
44
const KEY_loginheader = 'chavy_loginheader_sfexpress'
5+
const KEY_login27url = 'chavy_login27url_sfexpress'
6+
const KEY_login27header = 'chavy_login27header_sfexpress'
57

6-
if ($request && $request.method != 'OPTIONS') {
8+
if ($request && $request.method != 'OPTIONS' && $request.url.match(/app\/index/)) {
79
const VAL_loginurl = $request.url
810
const VAL_loginheader = JSON.stringify($request.headers)
911
if (VAL_loginurl) chavy.setdata(VAL_loginurl, KEY_loginurl)
1012
if (VAL_loginheader) chavy.setdata(VAL_loginheader, KEY_loginheader)
1113
chavy.msg(cookieName, `获取Cookie: 成功`, ``)
14+
} else if ($request && $request.method != 'OPTIONS' && $request.url.match(/mcs-mimp\/share\/app\/shareRedirect/)) {
15+
const VAL_login27url = $request.url
16+
const VAL_login27header = JSON.stringify($request.headers)
17+
if (VAL_login27url) chavy.setdata(VAL_login27url, KEY_login27url)
18+
if (VAL_login27header) chavy.setdata(VAL_login27header, KEY_login27header)
19+
chavy.msg(cookieName, `获取Cookie: 成功 (27周年)`, ``)
1220
}
1321

1422
function init() {

sfexpress/sfexpress.js

Lines changed: 111 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,24 @@ const chavy = init()
22
const cookieName = '顺丰速运'
33
const KEY_loginurl = 'chavy_loginurl_sfexpress'
44
const KEY_loginheader = 'chavy_loginheader_sfexpress'
5+
const KEY_login27url = 'chavy_login27url_sfexpress'
6+
const KEY_login27header = 'chavy_login27header_sfexpress'
57

68
const signinfo = {}
79
let VAL_loginurl = chavy.getdata(KEY_loginurl)
810
let VAL_loginheader = chavy.getdata(KEY_loginheader)
11+
let VAL_login27url = chavy.getdata(KEY_login27url)
12+
let VAL_login27header = chavy.getdata(KEY_login27header)
913

1014
;(sign = async () => {
1115
chavy.log(`🔔 ${cookieName}`)
1216
await loginapp()
1317
await signapp()
18+
if (VAL_login27url && VAL_login27header) {
19+
await loginapp27()
20+
await signapp27()
21+
await getinfo27()
22+
}
1423
await getinfo()
1524
showmsg()
1625
chavy.done()
@@ -32,6 +41,22 @@ function loginapp() {
3241
})
3342
}
3443

44+
function loginapp27() {
45+
return new Promise((resolve, reject) => {
46+
const url = { url: VAL_login27url, headers: JSON.parse(VAL_login27header) }
47+
chavy.get(url, (error, response, data) => {
48+
try {
49+
resolve()
50+
} catch (e) {
51+
chavy.msg(cookieName, `登录结果: 失败 (27周年)`, `说明: ${e}`)
52+
chavy.log(`❌ ${cookieName} loginapp27 - 登录失败: ${e}`)
53+
chavy.log(`❌ ${cookieName} loginapp27 - response: ${JSON.stringify(response)}`)
54+
resolve()
55+
}
56+
})
57+
})
58+
}
59+
3560
function signapp() {
3661
return new Promise((resolve, reject) => {
3762
let url = { url: `https://sf-integral-sign-in.weixinjia.net/app/signin`, headers: JSON.parse(VAL_loginheader) }
@@ -60,6 +85,65 @@ function signapp() {
6085
})
6186
}
6287

88+
function signapp27() {
89+
return new Promise((resolve, reject) => {
90+
let url = { url: `https://mcs-mimp-web.sf-express.com/mcs-mimp/activity/sign`, headers: {} }
91+
delete url.headers['Cookie']
92+
url.headers['Accept'] = 'application/json, text/plain, */*'
93+
url.headers['Accept-Encoding'] = 'gzip, deflate, br'
94+
url.headers['Accept-Language'] = 'zh-cn'
95+
url.headers['Connection'] = 'keep-alive'
96+
url.headers['Content-Type'] = 'application/json;charset=utf-8'
97+
url.headers['Host'] = 'mcs-mimp-web.sf-express.com'
98+
url.headers['Origin'] = 'https://mcs-mimp-web.sf-express.com'
99+
url.headers['Referer'] = 'https://mcs-mimp-web.sf-express.com/sfAnniversary'
100+
url.headers['User-Agent'] = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 mediaCode=SFEXPRESSAPP-iOS-ML'
101+
url.body = '{"channel": "SFAPP","secondChannel": "APP_HOME_ENTRY"}'
102+
chavy.post(url, (error, response, data) => {
103+
try {
104+
chavy.log(`❕ ${cookieName} signapp27 - response: ${JSON.stringify(response)}`)
105+
signinfo.signapp27 = JSON.parse(data)
106+
resolve()
107+
} catch (e) {
108+
chavy.msg(cookieName, `签到结果: 失败 (27周年)`, `说明: ${e}`)
109+
chavy.log(`❌ ${cookieName} signapp27 - 签到失败: ${e}`)
110+
chavy.log(`❌ ${cookieName} signapp27 - response: ${JSON.stringify(response)}`)
111+
resolve()
112+
}
113+
})
114+
})
115+
}
116+
117+
function getinfo27() {
118+
return new Promise((resolve, reject) => {
119+
let url = { url: `https://mcs-mimp-web.sf-express.com/mcs-mimp/activity/sign/days`, headers: JSON.parse(VAL_loginheader) }
120+
delete url.headers['Cookie']
121+
url.headers['Accept'] = 'application/json, text/plain, */*'
122+
url.headers['Accept-Encoding'] = 'gzip, deflate, br'
123+
url.headers['Accept-Language'] = 'zh-cn'
124+
url.headers['Connection'] = 'keep-alive'
125+
url.headers['Content-Length'] = '2'
126+
url.headers['Content-Type'] = 'application/json;charset=utf-8'
127+
url.headers['Host'] = 'mcs-mimp-web.sf-express.com'
128+
url.headers['Origin'] = 'https://mcs-mimp-web.sf-express.com'
129+
url.headers['Referer'] = 'https://mcs-mimp-web.sf-express.com/sfAnniversary'
130+
url.headers['User-Agent'] = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 mediaCode=SFEXPRESSAPP-iOS-ML'
131+
url.body = '{}'
132+
chavy.post(url, (error, response, data) => {
133+
try {
134+
chavy.log(`❕ ${cookieName} getinfo27 - response: ${JSON.stringify(response)}`)
135+
signinfo.getinfo27 = JSON.parse(data)
136+
resolve()
137+
} catch (e) {
138+
chavy.msg(cookieName, `获取信息: 失败 (27周年)`, `说明: ${e}`)
139+
chavy.log(`❌ ${cookieName} getinfo27 - 获取信息: ${e}`)
140+
chavy.log(`❌ ${cookieName} getinfo27 - response: ${JSON.stringify(response)}`)
141+
resolve()
142+
}
143+
})
144+
})
145+
}
146+
63147
function getinfo() {
64148
return new Promise((resolve, reject) => {
65149
let url = { url: `https://sf-integral-sign-in.weixinjia.net/app/init`, headers: JSON.parse(VAL_loginheader) }
@@ -92,21 +176,44 @@ function showmsg() {
92176
let subTitle = ''
93177
let detail = ''
94178
if (signinfo.signapp.code == 0 && signinfo.signapp.msg == 'success') {
95-
subTitle = `签到结果: 成功`
179+
subTitle = `签到: 成功`
96180
} else if (signinfo.signapp.code == -1) {
97181
if (signinfo.signapp.msg == 'ALREADY_CHECK') {
98-
subTitle = `签到结果: 成功 (重复签到)`
182+
subTitle = `签到: 重复`
99183
} else {
100-
subTitle = `签到结果: 失败`
184+
subTitle = `签到: 失败`
101185
}
102186
} else {
103-
subTitle = `签到结果: 未知`
187+
subTitle = `签到: 未知`
104188
detail = `说明: ${signinfo.signapp.msg}`
105189
}
106190

107191
if (signinfo.info && signinfo.info.code == 0) {
108192
detail = `积分: ${signinfo.info.data.member_info.integral}, 本周连签: ${signinfo.info.data.check_count}天`
109193
}
194+
195+
if (signinfo.signapp27) {
196+
subTitle += subTitle == '' ? '' : '; '
197+
if (signinfo.signapp27.success == true) {
198+
subTitle += `周年: 成功 (+${signinfo.signapp27.obj}积分)`
199+
} else if (signinfo.signapp27.success == false) {
200+
if (signinfo.signapp27.errorCode == '200010') {
201+
subTitle += `签到: 重复`
202+
} else if (signinfo.signapp27.errorCode == '100111') {
203+
subTitle += `签到: 未登录`
204+
} else {
205+
subTitle += `签到: 失败`
206+
}
207+
} else {
208+
subTitle += `周年: 未知`
209+
detail += `说明: ${signinfo.signapp.msg}`
210+
}
211+
212+
if (signinfo.getinfo27 && signinfo.getinfo27.success == true) {
213+
detail += `, 周年连签: ${signinfo.getinfo27.obj.length}天`
214+
}
215+
}
216+
110217
chavy.msg(cookieName, subTitle, detail)
111218
}
112219

0 commit comments

Comments
 (0)