Skip to content

Commit 1dee8be

Browse files
committed
更新[趣头条],简化Cookie获取方式
1 parent 1c82ac0 commit 1dee8be

6 files changed

Lines changed: 36 additions & 32 deletions

File tree

QuantumultX_AppStore_Local_Cookie.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,4 +147,4 @@ https:\/\/www.maomicd.com\/plugin.php\?id=k_misign:sign&operation=qiandao url sc
147147
^https:\/\/fro\.douban\.com\/api\/v2\/niffler\/check_in\/status url script-request-header chavyleung/dbsj/dbsj.cookie.js
148148

149149
# 趣头条
150-
^https:\/\/api\.1sapp\.com\/sign\/sign? url script-request-header chavyleung/qtt/qtt.cookie.js
150+
^https:\/\/api\.1sapp\.com\/sign\/info? url script-request-header chavyleung/qtt/qtt.cookie.js

QuantumultX_Local_Cookie.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,4 +143,4 @@ https:\/\/www.maomicd.com\/plugin.php\?id=k_misign:sign&operation=qiandao url sc
143143
^https:\/\/fro\.douban\.com\/api\/v2\/niffler\/check_in\/status url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/dbsj/dbsj.cookie.js
144144

145145
# 趣头条
146-
^https:\/\/api\.1sapp\.com\/sign\/sign? url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/qtt/qtt.cookie.js
146+
^https:\/\/api\.1sapp\.com\/sign\/info? url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/qtt/qtt.cookie.js

qtt/.DS_Store

6 KB
Binary file not shown.

qtt/README.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@
1111
> 2020.04.08 添加视频广告奖励、添加每时段签到奖励
1212
1313
> 2020.04.09 添加幸运转盘抽奖
14+
15+
> 2020.04.13 简化Cookie获取方式
16+
1417
## 配置 (Surge)
1518

1619
```properties
1720
[MITM]
1821
api.1sapp.com
1922

2023
[Script]
21-
http-request ^https:\/\/api\.1sapp\.com\/sign\/sign? script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/qtt/qtt.cookie.js
24+
http-request ^https:\/\/api\.1sapp\.com\/sign\/info? script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/qtt/qtt.cookie.js
2225

2326
cron "10 0 0 * * *" script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/qtt/qtt.js
2427
```
@@ -32,10 +35,10 @@ api.1sapp.com
3235
[rewrite_local]
3336

3437
# [商店版] QuanX v1.0.6-build194 及更早版本
35-
^https:\/\/api\.1sapp\.com\/sign\/sign? url script-request-header qtt.cookie.js
38+
^https:\/\/api\.1sapp\.com\/sign\/info? url script-request-header qtt.cookie.js
3639

3740
# [TestFlight] QuanX v1.0.6-build195 及以后版本
38-
^https:\/\/api\.1sapp\.com\/sign\/sign? url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/qtt/qtt.cookie.js
41+
^https:\/\/api\.1sapp\.com\/sign\/info? url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/qtt/qtt.cookie.js
3942

4043
[task_local]
4144
1 0 * * * qtt.js
@@ -47,7 +50,7 @@ api.1sapp.com
4750
2. 再配置重写规则:
4851
- Surge: 把两条远程脚本放到`[Script]`
4952
- QuanX: 把`qtt.cookie.js``qtt.js`传到`On My iPhone - Quantumult X - Scripts` (传到 iCloud 相同目录也可, 注意要打开 quanx 的 iCloud 开关)
50-
3. 打开 APP 手动签到一次: `右上角` > `签到`
53+
3. 打开 APP 进入签到: `右上角` > `签到`
5154
4. 系统提示: `获取Cookie: 成功`
5255
5. 把获取 Cookie 的脚本注释掉
5356
6. 运行一次脚本, 如果提示重复签到, 那就算成功了!

qtt/qtt.cookie.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
const cookieName = '趣头条'
2-
const signurlKey = 'senku_signurl_qtt'
3-
const signheaderKey = 'senku_signheader_qtt'
4-
const signbodyKey = 'senku_signbody_qtt'
2+
const signKey = 'senku_signKey_qtt'
3+
const signXTKKey = 'senku_signXTK_qtt'
54
const senku = init()
65

76
const requrl = $request.url
87
if ($request && $request.method != 'OPTIONS') {
98
try {
10-
const signurlVal = requrl
11-
const signheaderVal = JSON.stringify($request.headers)
12-
13-
if (signurlVal) senku.setdata(signurlVal, signurlKey)
14-
if (signheaderVal) senku.setdata(signheaderVal, signheaderKey)
9+
const tokenVal = '&' + requrl.match(/token=[a-zA-Z0-9_-]+/)[0]
10+
const uuidVal = '&' + requrl.match(/uuid=[a-zA-Z0-9_-]+/)[0]
11+
const signVal = tokenVal + uuidVal
12+
const signXTKVal = requrl.match(/tk=[a-zA-Z0-9_-]+/)[0]
13+
if (signVal) senku.setdata(signVal, signKey)
14+
if (signXTKVal) senku.setdata(signXTKVal, signXTKKey)
1515
senku.msg(cookieName, `获取Cookie: 成功`, ``)
16-
senku.log(`🔔${signurlVal},🔔${signheaderVal}`)
16+
senku.log(`🔔${signVal},🔔${signXTKVal}`)
1717
} catch (error) {
1818
senku.log(`❌error:${error}`)
1919
}

qtt/qtt.js

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
// Todo: 待添加多账号签到
22

33
const cookieName = '趣头条'
4-
const signurlKey = 'senku_signurl_qtt'
5-
const signheaderKey = 'senku_signheader_qtt'
6-
const signbodyKey = 'senku_signbody_qtt'
4+
const signKey = 'senku_signKey_qtt'
5+
const signXTKKey = 'senku_signXTK_qtt'
76
const senku = init()
8-
const signurlVal = senku.getdata(signurlKey)
9-
const signheaderVal = senku.getdata(signheaderKey)
10-
const adUrl = signurlVal.replace(/sign\?/, "adDone?").concat("&GUID=58711eba362605e8c3afa9be885.31911288")
11-
const getinfoUrlVal = signurlVal.replace(/sign\?/, "info?")
12-
const hourUrlVal = signurlVal.replace("/sign/sign", "/mission/intPointReward")
7+
const signVal = senku.getdata(signKey)
8+
const signXTKVal = senku.getdata(signXTKKey)
9+
const signurlVal = 'https://api.1sapp.com/sign/sign?version=30967000&xhi=200' + signVal
10+
const adUrl = 'https://api.1sapp.com/sign/adDone?version=30967000&xhi=200' + signVal
11+
const getinfoUrlVal = 'https://api.1sapp.com/sign/info?version=30967000&xhi=200' + signVal
12+
const hourUrlVal = 'https://api.1sapp.com/mission/intPointReward?version=30967000&xhi=200' + signVal
1313
const signinfo = { playList: [] }
14-
let playUrl = [adUrl.concat("&pos=one"), adUrl.concat("&pos=two"), adUrl.concat("&pos=three"), adUrl.concat("&pos=four")]
14+
const playUrl = [adUrl + 'pos=one', adUrl + 'pos=two', adUrl + 'pos=three', adUrl + 'pos=four']
1515

1616

1717
; (sign = async () => {
@@ -29,7 +29,8 @@ let playUrl = [adUrl.concat("&pos=one"), adUrl.concat("&pos=two"), adUrl.concat(
2929

3030
function signDay() {
3131
return new Promise((resolve, reject) => {
32-
const url = { url: signurlVal, headers: JSON.parse(signheaderVal) }
32+
const url = { url: signurlVal, headers: { 'Host': 'api.1sapp.com', 'X-Tk': signXTKVal } }
33+
url.headers['User-Agent'] = 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148'
3334
senku.get(url, (error, response, data) => {
3435
try {
3536
senku.log(`❕ ${cookieName} signDay - response: ${JSON.stringify(response)}`)
@@ -47,7 +48,7 @@ function signDay() {
4748

4849
function signHour() {
4950
return new Promise((resolve, reject) => {
50-
const url = { url: hourUrlVal, headers: JSON.parse(signheaderVal) }
51+
const url = { url: hourUrlVal, headers: { 'Host': 'api.1sapp.com', 'X-Tk': signXTKKey } }
5152
senku.get(url, (error, response, data) => {
5253
try {
5354
senku.log(`❕ ${cookieName} signHour - response: ${JSON.stringify(response)}`)
@@ -66,8 +67,8 @@ function signHour() {
6667
function signLucky() {
6768
return new Promise((resolve, reject) => {
6869

69-
const luckyUrlVal = signurlVal.replace("api.1sapp.com/sign/sign", "qtt-turntable.qutoutiao.net/press_trigger")
70-
const url = { url: luckyUrlVal, headers: { "Host": "qtt-turntable.qutoutiao.net" } }
70+
const luckyUrlVal = 'https://qtt-turntable.qutoutiao.net/press_trigger?version=30967000&xhi=200' + signVal
71+
const url = { url: luckyUrlVal, headers: { "Host": "qtt-turntable.qutoutiao.net", 'X-Tk': signXTKKey } }
7172
senku.get(url, (error, response, data) => {
7273
try {
7374
senku.log(`❕ ${cookieName} signLucky - response: ${JSON.stringify(response)}`)
@@ -85,7 +86,7 @@ function signLucky() {
8586

8687
function getinfo() {
8788
return new Promise((resolve, reject) => {
88-
const url = { url: getinfoUrlVal, headers: JSON.parse(signheaderVal) }
89+
const url = { url: getinfoUrlVal, headers: { 'Host': 'api.1sapp.com', 'X-Tk': signXTKKey } }
8990
senku.get(url, (error, response, data) => {
9091
try {
9192
senku.log(`❕ ${cookieName} getinfo - response: ${JSON.stringify(response)}`)
@@ -104,7 +105,7 @@ function getinfo() {
104105
// 播放广告获取奖励
105106
function playAd(urlParameter) {
106107
return new Promise((resolve, reject) => {
107-
const url = { url: urlParameter, headers: JSON.parse(signheaderVal) }
108+
const url = { url: urlParameter, headers: { 'Host': 'api.1sapp.com', 'X-Tk': signXTKKey } }
108109
senku.get(url, (error, response, data) => {
109110
try {
110111
senku.log(`❕ ${cookieName} playAd - response: ${JSON.stringify(response)}`)
@@ -174,13 +175,13 @@ function showmsg() {
174175

175176
// signLuckMsg
176177
subTitle += subTitle == '' ? '' : ', '
177-
if (signinfo.signLucky && signinfo.signLucky == 1) {
178+
if (signinfo.signLucky && signinfo.signLucky.code == 1) {
178179
subTitle += `幸运转盘:✅`
179180
detail += detail == '' ? '' : ','
180181
const amount_coin = signinfo.signLucky.amount_coin
181182
const count = signinfo.signLucky.count
182183
const count_limit = signinfo.signLucky.count_limit
183-
detail += `幸运转盘:获得${amount_coin},抽奖情况:${count}/${count_limit次}`
184+
detail += `幸运转盘:获得${amount_coin},抽奖情况:${count}/${count_limit}`
184185
} else subTitle += `转盘:次数上限`
185186
// playAdsMsg
186187
subTitle += subTitle == '' ? '' : ', '

0 commit comments

Comments
 (0)