Skip to content

Commit b4c0eca

Browse files
committed
更新[腾讯视频]: 移除移动端签到 (活动已结束)
1 parent 4973659 commit b4c0eca

4 files changed

Lines changed: 28 additions & 179 deletions

File tree

QuantumultX_AppStore_Local_Cookie.conf

Lines changed: 1 addition & 2 deletions
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 = 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, v.qq.com, mobwsa.ximalaya.com, *.you.163.com, *.rrys2019.com, ios.zmzapi.com
4+
hostname = 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
55

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

5656
# 腾讯视频
5757
^https:\/\/access.video.qq.com\/user\/auth_refresh url script-request-header chavyleung/videoqq/videoqq.cookie.js
58-
^https?:\/\/v.qq.com\/x\/bu\/mobile_checkin url script-request-header chavyleung/videoqq/videoqq.cookie.js
5958

6059
# 喜马拉雅
6160
^https?:\/\/.*\/mobile\-user\/homePage\/.* url script-request-header chavyleung/ximalaya/ximalaya.cookie.js

QuantumultX_Local_Cookie.conf

Lines changed: 1 addition & 2 deletions
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 = 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, v.qq.com, mobwsa.ximalaya.com, *.you.163.com, *.rrys2019.com, ios.zmzapi.com
4+
hostname = 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
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
@@ -55,7 +55,6 @@ hostname = luckman.suning.com, passport.suning.com, sign.suning.com, gameapi.sun
5555

5656
# 腾讯视频
5757
^https:\/\/access.video.qq.com\/user\/auth_refresh url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/videoqq/videoqq.cookie.js
58-
^https?:\/\/v.qq.com\/x\/bu\/mobile_checkin url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/videoqq/videoqq.cookie.js
5958

6059
# 喜马拉雅
6160
^https?:\/\/.*\/mobile\-user\/homePage\/.* url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/ximalaya/ximalaya.cookie.js

videoqq/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,27 @@
1010
1111
> 2020.3.6 移动端每个用户仅可签两周,签到活动结果后,移动端签到不再弹通知
1212
13+
> 2020.3.16 移动端签到活动已结束
14+
1315
## 配置 (Surge)
1416

1517
```properties
1618
[MITM]
17-
*.video.qq.com, v.qq.com
19+
*.video.qq.com
1820

1921
[Script]
2022
http-request ^https:\/\/access.video.qq.com\/user\/auth_refresh script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/videoqq/videoqq.cookie.js
21-
http-request ^https?:\/\/v.qq.com\/x\/bu\/mobile_checkin script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/videoqq/videoqq.cookie.js
2223
cron "10 0 0 * * *" script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/videoqq/videoqq.js
2324
```
2425

2526
## 配置 (QuanX)
2627

2728
```properties
2829
[MITM]
29-
*.video.qq.com, v.qq.com
30+
*.video.qq.com
3031

3132
[rewrite_local]
3233
^https:\/\/access.video.qq.com\/user\/auth_refresh url script-request-header videoqq.cookie.js
33-
^https?:\/\/v.qq.com\/x\/bu\/mobile_checkin url script-request-header videoqq.cookie.js
3434

3535
[task_local]
3636
1 0 * * * videoqq.js

videoqq/videoqq.js

Lines changed: 22 additions & 171 deletions
Original file line numberDiff line numberDiff line change
@@ -18,35 +18,14 @@ let VAL_mh5signheader = chavy.getdata(KEY_mh5signheader)
1818
await login()
1919
await signapp()
2020
await getexp()
21-
await signmh5()
22-
if (signinfo.signmh5.ret != -2011) {
23-
await getpricelist()
24-
await getprice()
25-
}
26-
await showmsg()
21+
showmsg()
2722
})().catch((e) => chavy.log(`❌ ${cookieName} 签到失败: ${e}`))
2823

2924
function login() {
3025
return new Promise((resolve, reject) => {
3126
const url = { url: VAL_loginurl, headers: JSON.parse(VAL_loginheader) }
3227
chavy.get(url, (error, response, data) => {
3328
try {
34-
const result = JSON.parse(data.match(/\((.*)\);/)[1])
35-
if (result.errcode == 0) {
36-
let respcookie = response.headers['Set-Cookie']
37-
respcookie = respcookie.replace(/Expires=(.*?)GMT,? ?/g, '')
38-
respcookie = respcookie.replace(/Path=(.*?); ?/g, '')
39-
respcookie = respcookie.replace(/Domain=(.*?); ?/g, '')
40-
respcookie = respcookie.replace(/;$/g, '')
41-
const setcookies = []
42-
for (setcookie of respcookie.split(';')) setcookies.push({ key: setcookie.split('=')[0], val: setcookie.split('=')[1] })
43-
for (resultcookie in result) setcookies.push({ key: resultcookie, val: result[resultcookie] })
44-
updateSignAppCookies(setcookies)
45-
updateSignMh5Cookies(setcookies)
46-
} else {
47-
chavy.log(`❌ ${cookieName} login - 登录失败`)
48-
chavy.log(`❌ ${cookieName} login - response: ${JSON.stringify(response)}`)
49-
}
5029
resolve()
5130
} catch (e) {
5231
chavy.msg(cookieName, `签到结果: 失败`, `说明: ${e}`)
@@ -58,43 +37,11 @@ function login() {
5837
})
5938
}
6039

61-
function updateSignAppCookies(cookies) {
62-
if (VAL_signcookie) {
63-
// chavy.log(`❕ ${cookieName} updateSignAppCookies - oldSignCookie: ${VAL_signcookie}`)
64-
for (cookie of cookies) {
65-
const matchexp = new RegExp(`${cookie.key}=[^;]*`, 'g')
66-
if (VAL_signcookie.indexOf(cookie.key) >= 0) VAL_signcookie = VAL_signcookie.replace(matchexp, `${cookie.key}=${cookie.val}`)
67-
else VAL_signcookie += `; ${cookie.key}=${cookie.val}`
68-
}
69-
// chavy.log(`❕ ${cookieName} updateSignAppCookies - newSignCookie: ${VAL_signcookie}`)
70-
} else {
71-
chavy.log(`⚠ ${cookieName} updateSignAppCookies: 请先获取 Cookies`)
72-
}
73-
}
74-
75-
function updateSignMh5Cookies(cookies) {
76-
if (VAL_mh5signheader) {
77-
const msignheader = JSON.parse(VAL_mh5signheader)
78-
let msignCookies = msignheader.Cookie
79-
// chavy.log(`❕ ${cookieName} updateSignMh5Cookies - oldSignheader: ${VAL_mh5signheader}`)
80-
for (cookie of cookies) {
81-
const matchexp = new RegExp(`${cookie.key}=[^;]*`, 'g')
82-
if (msignCookies.indexOf(cookie.key) >= 0) msignCookies = msignCookies.replace(matchexp, `${cookie.key}=${cookie.val}`)
83-
else msignCookies += `; ${cookie.key}=${cookie.val}`
84-
}
85-
msignheader.Cookie = msignCookies
86-
VAL_mh5signheader = JSON.stringify(msignheader)
87-
// chavy.log(`❕ ${cookieName} updateSignMh5Cookies - newSignheader: ${VAL_mh5signheader}`)
88-
} else {
89-
chavy.log(`⚠ ${cookieName} updateSignMh5Cookies: 请先获取 Cookies`)
90-
}
91-
}
92-
9340
function signapp() {
9441
return new Promise((resolve, reject) => {
9542
const timestamp = Math.round(new Date().getTime() / 1000).toString()
9643
const VAL_signurl = `https://vip.video.qq.com/fcgi-bin/comm_cgi?name=hierarchical_task_system&cmd=2&_=${timestamp}`
97-
let url = { url: VAL_signurl, headers: { Cookie: VAL_signcookie } }
44+
let url = { url: VAL_signurl, headers: {} }
9845
url.headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Safari/605.1.15'
9946
chavy.get(url, (error, response, data) => {
10047
try {
@@ -114,7 +61,7 @@ function getexp() {
11461
return new Promise((resolve, reject) => {
11562
const timestamp = Math.round(new Date().getTime() / 1000).toString()
11663
const VAL_getexpurl = `https://vip.video.qq.com/fcgi-bin/comm_cgi?name=spp_PropertyNum&cmd=1&growth_value=1&otype=json&_=${timestamp}`
117-
let url = { url: VAL_getexpurl, headers: { Cookie: VAL_signcookie } }
64+
let url = { url: VAL_getexpurl, headers: {} }
11865
url.headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Safari/605.1.15'
11966
chavy.get(url, (error, response, data) => {
12067
try {
@@ -129,124 +76,28 @@ function getexp() {
12976
})
13077
})
13178
}
132-
function signmh5() {
133-
return new Promise((resolve, reject) => {
134-
const url = { url: VAL_mh5signurl, headers: JSON.parse(VAL_mh5signheader) }
135-
chavy.get(url, (error, response, data) => {
136-
try {
137-
signinfo.signmh5 = JSON.parse(data.match(/window\.__STATE__=(.*?)<\/script>/)[1]).payloads.execCheck
138-
resolve()
139-
} catch (e) {
140-
chavy.msg(`${cookieName} (移动端)`, `签到结果: 失败`, `说明: ${e}`)
141-
chavy.log(`❌ ${cookieName} (移动端) signmh5 - 签到失败: ${e}`)
142-
chavy.log(`❌ ${cookieName} (移动端) signmh5 - response: ${JSON.stringify(response)}`)
143-
resolve()
144-
}
145-
})
146-
})
147-
}
148-
function getpricelist() {
149-
return new Promise((resolve, reject) => {
150-
try {
151-
const VAL_getpriceurl = `http://activity.video.qq.com/fcgi-bin/asyn_activity?otype=json&platform=3&magic_appid=2&app_type=1&type=90&act_id=106197&module_id=116049&option=8&days=7`
152-
const url = { url: VAL_getpriceurl, headers: JSON.parse(VAL_mh5signheader) }
153-
url.headers['Host'] = 'activity.video.qq.com'
154-
url.headers['Origin'] = 'http://v.qq.com'
155-
url.headers['Referer'] = 'http://v.qq.com/x/bu/mobile_checkin'
156-
url.headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15'
157-
chavy.get(url, (error, response, data) => {
158-
signinfo.pricelist = JSON.parse(data.match(/\((.*)\);/)[1])
159-
resolve()
160-
})
161-
} catch (e) {
162-
chavy.msg(`${cookieName} (移动端)`, `获取结果: 失败`, `说明: ${e}`)
163-
chavy.log(`❌ ${cookieName} (移动端) getpricelist - 获取失败: ${e}`)
164-
chavy.log(`❌ ${cookieName} (移动端) getpricelist - response: ${JSON.stringify(response)}`)
165-
resolve()
166-
}
167-
})
168-
}
169-
function getprice() {
170-
return new Promise((resolve, reject) => {
171-
try {
172-
const VAL_getpriceurl = `http://activity.video.qq.com/fcgi-bin/asyn_activity?otype=json&platform=3&magic_appid=2&app_type=1&type=90&act_id=106197&module_id=116049&option=6&days=7`
173-
const url = { url: VAL_getpriceurl, headers: JSON.parse(VAL_mh5signheader) }
174-
url.headers['Host'] = 'activity.video.qq.com'
175-
url.headers['Origin'] = 'http://v.qq.com'
176-
url.headers['Referer'] = 'http://v.qq.com/x/bu/mobile_checkin'
177-
url.headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15'
178-
chavy.get(url, (error, response, data) => {
179-
signinfo.priceinfo = JSON.parse(data.match(/\((.*)\);/)[1])
180-
resolve()
181-
})
182-
} catch (e) {
183-
chavy.msg(`${cookieName} (移动端)`, `抽奖结果: 失败`, `说明: ${e}`)
184-
chavy.log(`❌ ${cookieName} (移动端) getprice - 抽奖失败: ${e}`)
185-
chavy.log(`❌ ${cookieName} (移动端) getprice - response: ${JSON.stringify(response)}`)
186-
resolve()
187-
}
188-
})
189-
}
190-
function showmsg() {
191-
return new Promise((resolve, reject) => {
192-
// APP签到
193-
if (signinfo.signapp) {
194-
let subTitle, detail
195-
if (signinfo.signapp.ret == 0) {
196-
subTitle = '签到结果: 成功'
197-
if (signinfo.expinfo) {
198-
subTitle += !signinfo.signapp.checkin_score ? ' (重复签到)' : ''
199-
detail = `V力值: ${signinfo.expinfo.GrowthValue.num} (+${signinfo.signapp.checkin_score}), 观影券: ${signinfo.expinfo.MovieTicket.num}, 赠片资格: ${signinfo.expinfo.GiveMovie.num}`
200-
}
201-
} else if (signinfo.signapp.ret == -10006) {
202-
subTitle = '签到结果: 失败'
203-
detail = `原因: 未登录, 说明: ${signinfo.signapp.msg}`
204-
} else if (signinfo.signapp.ret == -10019) {
205-
subTitle = '签到结果: 失败'
206-
detail = `原因: 非会员, 说明: ${signinfo.signapp.msg}`
207-
} else {
208-
subTitle = '签到结果: 未知'
209-
detail = `编码: ${signinfo.signapp.ret}, 说明: ${signinfo.signapp.msg}`
210-
}
211-
chavy.msg(cookieName, subTitle, detail)
212-
}
213-
214-
// H5签到
215-
if (signinfo.signmh5) {
216-
let subTitle, detail
217-
if (signinfo.signmh5.ret == 0) {
218-
subTitle = `签到结果: 成功`
219-
if (signinfo.signmh5.data && signinfo.signmh5.data.show_text_1) detail = `说明: ${signinfo.signmh5.data.show_text_1}`
220-
else detail = `说明: ${signinfo.signmh5.msg}`
221-
} else if (signinfo.signmh5.ret == -2021) {
222-
subTitle = `签到结果: 成功(重复签到)`
223-
} else {
224-
subTitle = `签到结果: 失败`
225-
detail = `编码: ${signinfo.signmh5.ret}, 说明: ${signinfo.signmh5.msg}`
226-
}
227-
if (signinfo.signmh5.ret != -2011) chavy.msg(`${cookieName} (移动端)`, subTitle, detail)
228-
}
22979

230-
// 会员抽奖
231-
if (signinfo.priceinfo && signinfo.pricelist) {
232-
let subTitle, detail
233-
if (signinfo.priceinfo.ret == 0 && signinfo.priceinfo.data) {
234-
subTitle = `抽奖结果: 成功 (第${signinfo.priceinfo.data.day}天)`
235-
detail = `${signinfo.priceinfo.data.prize_name}: +${signinfo.priceinfo.data.prize_num}, ${signinfo.priceinfo.data.extra_prize_name}: +${signinfo.priceinfo.data.extra_prize_level}等奖`
236-
chavy.log(`❕ ${cookieName} (移动端) 抽奖池: ${JSON.stringify(signinfo.pricelist)}`)
237-
} else if (signinfo.priceinfo.ret == -2023) {
238-
subTitle = `抽奖结果: 重复`
239-
detail = `说明: ${signinfo.priceinfo.msg}`
240-
chavy.log(`❕ ${cookieName} (移动端) 抽奖池: ${JSON.stringify(signinfo.pricelist)}`)
241-
} else {
242-
subTitle = `抽奖结果: 失败`
243-
detail = `编码: ${signinfo.priceinfo.ret}, 说明: ${signinfo.priceinfo.msg}`
80+
function showmsg() {
81+
if (signinfo.signapp) {
82+
let subTitle, detail
83+
if (signinfo.signapp.ret == 0) {
84+
subTitle = '签到结果: 成功'
85+
if (signinfo.expinfo) {
86+
subTitle += !signinfo.signapp.checkin_score ? ' (重复签到)' : ''
87+
detail = `V力值: ${signinfo.expinfo.GrowthValue.num} (+${signinfo.signapp.checkin_score}), 观影券: ${signinfo.expinfo.MovieTicket.num}, 赠片资格: ${signinfo.expinfo.GiveMovie.num}`
24488
}
245-
if (signinfo.priceinfo.ret != -2011) chavy.msg(`${cookieName} (移动端)`, subTitle, detail)
89+
} else if (signinfo.signapp.ret == -10006) {
90+
subTitle = '签到结果: 失败'
91+
detail = `原因: 未登录, 说明: ${signinfo.signapp.msg}`
92+
} else if (signinfo.signapp.ret == -10019) {
93+
subTitle = '签到结果: 失败'
94+
detail = `原因: 非会员, 说明: ${signinfo.signapp.msg}`
95+
} else {
96+
subTitle = '签到结果: 未知'
97+
detail = `编码: ${signinfo.signapp.ret}, 说明: ${signinfo.signapp.msg}`
24698
}
247-
248-
resolve()
249-
})
99+
chavy.msg(cookieName, subTitle, detail)
100+
}
250101
}
251102

252103
function init() {

0 commit comments

Comments
 (0)