161612.3 缩短运行时间,由于企鹅读书版本更新.请手动进去看一次书
171712.3 调整推送时间为12点和24点左右
181812.6 精简打印通知
19+ 12.7 解决1金币问题,
1920
2021⚠️cookie获取方法:
2122
22- 进 https://m.q.qq.com/a/s/d3eacc70120b9a37e46bad408c0c4c2a 点我的 获取cookie
23+ 进 https://m.q.qq.com/a/s/d3eacc70120b9a37e46bad408c0c4c2a 点我的 获取更新body
2324
2425进一本书 看 10秒以下 然后退出,获取阅读时长cookie,看书一定不能超过10秒
2526
@@ -32,26 +33,26 @@ hostname=mqqapi.reader.qq.com
3233############## 圈x
3334
3435#企鹅读书获取cookie
35- https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init url script-request-header https://raw.githubusercontent.com/ziye12/JavaScript/master/Task/qqreads.js
36+ https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track url script-request-body https://raw.githubusercontent.com/ziye12/JavaScript/master/Task/qqreads.js
3637
3738#企鹅读书获取时长cookie
3839https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? url script-request-header https://raw.githubusercontent.com/ziye12/JavaScript/master/Task/qqreads.js
3940
4041############## loon
4142
4243//企鹅读书获取cookie
43- http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/Task/qqreads.js,requires-header =true, tag=企鹅读书获取cookie
44+ http-request https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/Task/qqreads.js,requires-body =true, tag=企鹅读书获取cookie
4445
4546//企鹅读书获取时长cookie
4647http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/Task/qqreads.js, requires-header=true, tag=企鹅读书获取时长cookie
4748
4849############## surge
4950
5051//企鹅读书获取cookie
51- 企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init ,script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/Task/qqreads.js, requires-header=true
52+ 企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track ,script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/Task/qqreads.js,
5253
5354//企鹅读书获取时长cookie
54- 企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid?,script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/Task/qqreads.js, requires-header=true
55+ 企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid?,script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/Task/qqreads.js,
5556
5657
5758*/
@@ -76,13 +77,13 @@ const TIME = 30; // 单次时长上传限制,默认5分钟
7677const maxtime = 12 ; // 每日上传时长限制,默认12小时
7778const wktimess = 1200 ; // 周奖励领取标准,默认1200分钟
7879
79- const qqreadhdArr = [ ] ;
80- let qqreadheaderVal = "" ;
80+ const qqreadbdArr = [ ] ;
81+ let qqreadbodyVal = "" ;
8182const qqreadtimeurlArr = [ ] ;
8283let qqreadtimeurlVal = "" ;
8384const qqreadtimehdArr = [ ] ;
8485let qqreadtimeheaderVal = "" ;
85- let qqreadHD = [ ] ;
86+ let qqreadBD = [ ] ;
8687let qqreadtimeURL = [ ] ;
8788let qqreadtimeHD = [ ] ;
8889if ( $ . isNode ( ) ) {
@@ -95,12 +96,12 @@ if ($.isNode()) {
9596 ) } =============\n`
9697 ) ;
9798 if (
98- process . env . QQREAD_HEADER &&
99- process . env . QQREAD_HEADER . indexOf ( COOKIES_SPLIT ) > - 1
99+ process . env . QQREAD_BODY &&
100+ process . env . QQREAD_BODY . indexOf ( COOKIES_SPLIT ) > - 1
100101 ) {
101- qqreadHD = process . env . QQREAD_HEADER . split ( COOKIES_SPLIT ) ;
102+ qqreadBD = process . env . QQREAD_BODY . split ( COOKIES_SPLIT ) ;
102103 } else {
103- qqreadHD = process . env . QQREAD_HEADER . split ( ) ;
104+ qqreadBD = process . env . QQREAD_BODY . split ( ) ;
104105 }
105106
106107 if (
@@ -123,9 +124,9 @@ if ($.isNode()) {
123124}
124125
125126if ( $ . isNode ( ) ) {
126- Object . keys ( qqreadHD ) . forEach ( ( item ) => {
127- if ( qqreadHD [ item ] ) {
128- qqreadhdArr . push ( qqreadHD [ item ] ) ;
127+ Object . keys ( qqreadBD ) . forEach ( ( item ) => {
128+ if ( qqreadBD [ item ] ) {
129+ qqreadbdArr . push ( qqreadBD [ item ] ) ;
129130 }
130131 } ) ;
131132 Object . keys ( qqreadtimeURL ) . forEach ( ( item ) => {
@@ -140,15 +141,15 @@ if ($.isNode()) {
140141 } ) ;
141142
142143 console . log (
143- `============ 共${ qqreadhdArr . length } 个企鹅读书账号 =============\n`
144+ `============ 共${ qqreadbdArr . length } 个企鹅读书账号 =============\n`
144145 ) ;
145146 console . log (
146147 `============ 脚本执行-北京时间(UTC+8):${ new Date (
147148 new Date ( ) . getTime ( ) + 8 * 60 * 60 * 1000
148149 ) . toLocaleString ( ) } =============\n`
149150 ) ;
150151} else {
151- qqreadhdArr . push ( $ . getdata ( "qqreadhd " ) ) ;
152+ qqreadbdArr . push ( $ . getdata ( "qqreadbd " ) ) ;
152153 qqreadtimeurlArr . push ( $ . getdata ( "qqreadtimeurl" ) ) ;
153154 qqreadtimehdArr . push ( $ . getdata ( "qqreadtimehd" ) ) ;
154155}
@@ -158,11 +159,11 @@ if ((isGetCookie = typeof $request !== "undefined")) {
158159}
159160
160161function GetCookie ( ) {
161- if ( $request && $request . url . indexOf ( "init " ) >= 0 ) {
162- const qqreadheaderVal = JSON . stringify ( $request . headers ) ;
163- if ( qqreadheaderVal ) $ . setdata ( qqreadheaderVal , "qqreadhd " ) ;
164- $ . log ( `[${ jsname } ] 获取Cookie : 成功,qqreadheaderVal : ${ qqreadheaderVal } ` ) ;
165- $ . msg ( jsname , `获取cookie : 成功🎉` , `` ) ;
162+ if ( $request && $request . url . indexOf ( "track " ) >= 0 ) {
163+ const qqreadbodyVal = $request . body ;
164+ if ( qqreadbodyVal ) $ . setdata ( qqreadbodyVal , "qqreadbd " ) ;
165+ $ . log ( `[${ jsname } ] 获取更新body : 成功,qqreadbodyVal : ${ qqreadbodyVal } ` ) ;
166+ $ . msg ( jsname , `获取更新body : 成功🎉` , `` ) ;
166167 } else if ( $request && $request . url . indexOf ( "addReadTimeWithBid?" ) >= 0 ) {
167168 const qqreadtimeurlVal = $request . url ;
168169 if ( qqreadtimeurlVal ) $ . setdata ( qqreadtimeurlVal , "qqreadtimeurl" ) ;
@@ -179,10 +180,12 @@ function GetCookie() {
179180 }
180181}
181182
183+
184+
182185let K = 0 ;
183186all ( ) ;
184187function all ( ) {
185- qqreadheaderVal = qqreadhdArr [ K ] ;
188+ qqreadbodyVal = qqreadbdArr [ K ] ;
186189 qqreadtimeurlVal = qqreadtimeurlArr [ K ] ;
187190 qqreadtimeheaderVal = qqreadtimehdArr [ K ] ;
188191 for ( let i = 0 ; i < 15 ; i ++ ) {
@@ -194,6 +197,8 @@ function all() {
194197 qqreadwktime ( ) ; // 周时长查询
195198 qqreadconfig ( ) ; // 时长查询
196199 } else if ( i == 1 ) qqreadtask ( ) ;
200+ else if (
201+ i == 2 ) qqreadtrack ( ) ;
197202 // 任务列表
198203 else if (
199204 i == 3 &&
@@ -235,10 +240,10 @@ function all() {
235240 else if ( i == 13 && task . data && task . data . taskList [ 1 ] . doneFlag == 0 )
236241 qqreadssr3 ( ) ;
237242 // 阅读金币3
238- else if ( i == 14 && K < qqreadhdArr . length - 1 ) {
243+ else if ( i == 14 && K < qqreadbdArr . length - 1 ) {
239244 K += 1 ;
240245 all ( ) ;
241- } else if ( i == 14 && K == qqreadhdArr . length - 1 ) {
246+ } else if ( i == 14 && K == qqreadbdArr . length - 1 ) {
242247 showmsg ( ) ; // 通知
243248 $ . done ( ) ;
244249 }
@@ -255,7 +260,7 @@ function qqreadtask() {
255260 return new Promise ( ( resolve , reject ) => {
256261 const toqqreadtaskurl = {
257262 url : "https://mqqapi.reader.qq.com/mqq/red_packet/user/page?fromGuid=" ,
258- headers : JSON . parse ( qqreadheaderVal ) ,
263+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
259264
260265 timeout : 60000 ,
261266 } ;
@@ -284,13 +289,36 @@ function qqreadtask() {
284289 } ) ;
285290}
286291
292+
293+ // 更新
294+ function qqreadtrack ( ) {
295+ return new Promise ( ( resolve , reject ) => {
296+ const toqqreadtrackurl = {
297+ url : "https://mqqapi.reader.qq.com/log/v4/mqq/track" ,
298+
299+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
300+ body : qqreadbodyVal ,
301+ timeout : 60000 ,
302+ } ;
303+ $ . post ( toqqreadtrackurl , ( error , response , data ) => {
304+ if ( logs ) $ . log ( `${ jsname } , 更新: ${ data } ` ) ;
305+ track = JSON . parse ( data ) ;
306+ tz += `【数据更新】:更新${ track . msg } \n` ;
307+ resolve ( ) ;
308+ } ) ;
309+ } ) ;
310+ }
311+
312+
313+
314+
287315// 用户名
288316function qqreadinfo ( ) {
289317 return new Promise ( ( resolve , reject ) => {
290318 const toqqreadinfourl = {
291319 url : "https://mqqapi.reader.qq.com/mqq/user/init" ,
292320
293- headers : JSON . parse ( qqreadheaderVal ) ,
321+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
294322
295323 timeout : 60000 ,
296324 } ;
@@ -310,7 +338,7 @@ function qqreadtake() {
310338 return new Promise ( ( resolve , reject ) => {
311339 const toqqreadtakeurl = {
312340 url : "https://mqqapi.reader.qq.com/mqq/sign_in/user" ,
313- headers : JSON . parse ( qqreadheaderVal ) ,
341+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
314342 timeout : 60000 ,
315343 } ;
316344 $ . post ( toqqreadtakeurl , ( error , response , data ) => {
@@ -332,7 +360,7 @@ function qqreadconfig() {
332360 const toqqreadconfigurl = {
333361 url :
334362 "https://mqqapi.reader.qq.com/mqq/page/config?router=%2Fpages%2Fbook-read%2Findex&options=" ,
335- headers : JSON . parse ( qqreadheaderVal ) ,
363+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
336364 } ;
337365 $ . get ( toqqreadconfigurl , ( error , response , data ) => {
338366 if ( logs ) $ . log ( `${ jsname } , 阅读时长查询: ${ data } ` ) ;
@@ -369,7 +397,7 @@ function qqreadssr1() {
369397 return new Promise ( ( resolve , reject ) => {
370398 const toqqreadssr1url = {
371399 url : `https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=30` ,
372- headers : JSON . parse ( qqreadheaderVal ) ,
400+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
373401 timeout : 60000 ,
374402 } ;
375403 if ( config . data && config . data . pageParams . todayReadSeconds / 60 >= 1 ) {
@@ -390,7 +418,7 @@ function qqreadssr2() {
390418 return new Promise ( ( resolve , reject ) => {
391419 const toqqreadssr2url = {
392420 url : `https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=300` ,
393- headers : JSON . parse ( qqreadheaderVal ) ,
421+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
394422 timeout : 60000 ,
395423 } ;
396424 if ( config . data && config . data . pageParams . todayReadSeconds / 60 >= 5 ) {
@@ -411,7 +439,7 @@ function qqreadssr3() {
411439 return new Promise ( ( resolve , reject ) => {
412440 const toqqreadssr3url = {
413441 url : `https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=1800` ,
414- headers : JSON . parse ( qqreadheaderVal ) ,
442+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
415443 timeout : 60000 ,
416444 } ;
417445 if ( config . data && config . data . pageParams . todayReadSeconds / 60 >= 30 ) {
@@ -432,7 +460,7 @@ function qqreadsign() {
432460 return new Promise ( ( resolve , reject ) => {
433461 const toqqreadsignurl = {
434462 url : "https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in/page" ,
435- headers : JSON . parse ( qqreadheaderVal ) ,
463+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
436464 timeout : 60000 ,
437465 } ;
438466 $ . get ( toqqreadsignurl , ( error , response , data ) => {
@@ -452,7 +480,7 @@ function qqreadsign2() {
452480 const toqqreadsign2url = {
453481 url : "https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in_video" ,
454482
455- headers : JSON . parse ( qqreadheaderVal ) ,
483+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
456484 timeout : 60000 ,
457485 } ;
458486 $ . get ( toqqreadsign2url , ( error , response , data ) => {
@@ -473,7 +501,7 @@ function qqreaddayread() {
473501 const toqqreaddayreadurl = {
474502 url : "https://mqqapi.reader.qq.com/mqq/red_packet/user/read_book" ,
475503
476- headers : JSON . parse ( qqreadheaderVal ) ,
504+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
477505 timeout : 60000 ,
478506 } ;
479507 $ . get ( toqqreaddayreadurl , ( error , response , data ) => {
@@ -493,7 +521,7 @@ function qqreadvideo() {
493521 return new Promise ( ( resolve , reject ) => {
494522 const toqqreadvideourl = {
495523 url : "https://mqqapi.reader.qq.com/mqq/red_packet/user/watch_video" ,
496- headers : JSON . parse ( qqreadheaderVal ) ,
524+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
497525 timeout : 60000 ,
498526 } ;
499527 $ . get ( toqqreadvideourl , ( error , response , data ) => {
@@ -513,7 +541,7 @@ function qqreadbox() {
513541 return new Promise ( ( resolve , reject ) => {
514542 const toqqreadboxurl = {
515543 url : "https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box" ,
516- headers : JSON . parse ( qqreadheaderVal ) ,
544+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
517545 timeout : 60000 ,
518546 } ;
519547 $ . get ( toqqreadboxurl , ( error , response , data ) => {
@@ -535,7 +563,7 @@ function qqreadbox2() {
535563 url :
536564 "https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box_video" ,
537565
538- headers : JSON . parse ( qqreadheaderVal ) ,
566+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
539567 timeout : 60000 ,
540568 } ;
541569 $ . get ( toqqreadbox2url , ( error , response , data ) => {
@@ -555,7 +583,7 @@ function qqreadwktime() {
555583 return new Promise ( ( resolve , reject ) => {
556584 const toqqreadwktimeurl = {
557585 url : `https://mqqapi.reader.qq.com/mqq/v1/bookShelfInit` ,
558- headers : JSON . parse ( qqreadheaderVal ) ,
586+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
559587 } ;
560588 $ . get ( toqqreadwktimeurl , ( error , response , data ) => {
561589 if ( logs ) $ . log ( `${ jsname } , 阅读时长: ${ data } ` ) ;
@@ -573,7 +601,7 @@ function qqreadpick() {
573601 return new Promise ( ( resolve , reject ) => {
574602 const toqqreadpickurl = {
575603 url : `https://mqqapi.reader.qq.com/mqq/pickPackageInit` ,
576- headers : JSON . parse ( qqreadheaderVal ) ,
604+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
577605 } ;
578606 if ( wktime . data . readTime >= wktimess && wktime . data . readTime <= 1250 ) {
579607 $ . get ( toqqreadpickurl , ( error , response , data ) => {
@@ -596,7 +624,7 @@ function qqreadpick() {
596624 ] ;
597625 const toqqreadPackageurl = {
598626 url : `https://mqqapi.reader.qq.com/mqq/pickPackage?readTime=${ pickid } ` ,
599- headers : JSON . parse ( qqreadheaderVal ) ,
627+ headers : JSON . parse ( qqreadtimeheaderVal ) ,
600628 timeout : 60000 ,
601629 } ;
602630 $ . get ( toqqreadPackageurl , ( error , response , data ) => {
0 commit comments