mirror of
https://github.com/smallfawn/QLScriptPublic.git
synced 2025-12-17 23:35:02 +08:00
Update yingsheng.js
This commit is contained in:
106
yingsheng.js
106
yingsheng.js
@@ -1,11 +1,11 @@
|
|||||||
/**
|
/**
|
||||||
*
|
|
||||||
* new Env("硬声")
|
* new Env("硬声")
|
||||||
* cron 2 17 * * * yingsheng.js
|
* cron 2 17 * * * yingsheng.js
|
||||||
* Show:
|
* Show:
|
||||||
|
* 23/08/29 更新点赞任务
|
||||||
* 变量名:yingsheng_data
|
* 变量名:yingsheng_data
|
||||||
* 变量值:抓yingsheng.elecfans.com 请求头Headers中Authorization或者token
|
* 变量值:抓yingsheng.elecfans.com 请求头Headers中Authorization或者token
|
||||||
* scriptVersionNow = "0.0.1";
|
* scriptVersionNow = "0.0.2";
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const $ = new Env("硬声");
|
const $ = new Env("硬声");
|
||||||
@@ -14,18 +14,18 @@ const Notify = 1; //0为关闭通知,1为打开通知,默认为1
|
|||||||
let envSplitor = ["@", "\n"]; //多账号分隔符
|
let envSplitor = ["@", "\n"]; //多账号分隔符
|
||||||
let strSplitor = '&'; //多变量分隔符
|
let strSplitor = '&'; //多变量分隔符
|
||||||
|
|
||||||
let scriptVersionNow = "0.0.1";
|
let scriptVersionNow = "0.0.2";
|
||||||
|
|
||||||
|
|
||||||
async function start() {
|
async function start() {
|
||||||
await getVersion("smallfawn/QLScriptPublic@main/yingsheng.js");
|
await getVersion("smallfawn/QLScriptPublic@main/yingsheng.js");
|
||||||
await getNotice();
|
await getNotice();
|
||||||
|
|
||||||
console.log("\n================== 用户信息 ==================\n");
|
console.log("\n====================================\n");
|
||||||
let taskall = [];
|
let taskall = [];
|
||||||
for (let user of $.userList) {
|
for (let user of $.userList) {
|
||||||
if (user.ckStatus) {
|
if (user.ckStatus) {
|
||||||
taskall.push(await user.sign_in_info());
|
taskall.push(await user.task());
|
||||||
await $.wait(1000);
|
await $.wait(1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -42,12 +42,18 @@ class UserInfo {
|
|||||||
* //该加密实现 https://yingshengstatic.elecfans.com/80f05da.js 关键词 (t.headers.sign = v)
|
* //该加密实现 https://yingshengstatic.elecfans.com/80f05da.js 关键词 (t.headers.sign = v)
|
||||||
* @param {*} r 如果是get传入params 如果是post传入data/body
|
* @param {*} r 如果是get传入params 如果是post传入data/body
|
||||||
*/
|
*/
|
||||||
getSign(timestamp, r) {
|
getSign(timestamp, r, type) {
|
||||||
//let newData = r
|
//let newData = r
|
||||||
var n = "lw0270iBJzxXdJLRtePEENsauRzkHSqm"
|
var n
|
||||||
|
if (type == "h5") {
|
||||||
|
n = "lw0270iBJzxXdJLRtePEENsauRzkHSqm"
|
||||||
|
} else if (type == "android") {
|
||||||
|
n = "cnry8k3o4WdCGU1Tq09cRVOPCnfJzt7p"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
const crypto = require("crypto");
|
const crypto = require("crypto");
|
||||||
let l = { timestamp: timestamp, Authorization: this.ck, platform: "h5" }
|
let l = { timestamp: timestamp, Authorization: this.ck, platform: type }
|
||||||
var data = {};
|
var data = {};
|
||||||
Object.keys(r).map(function (t) {
|
Object.keys(r).map(function (t) {
|
||||||
data[t] = r[t];
|
data[t] = r[t];
|
||||||
@@ -72,7 +78,12 @@ class UserInfo {
|
|||||||
}
|
}
|
||||||
return str.slice(0, -1);
|
return str.slice(0, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
var f = convertObjectToString(l)
|
var f = convertObjectToString(l)
|
||||||
|
|
||||||
|
if(type == "android") {
|
||||||
|
f += "cnry8k3o4WdCGU1Tq09cRVOPCnfJzt7p"
|
||||||
|
}
|
||||||
var h = crypto.createHash("sha1"),
|
var h = crypto.createHash("sha1"),
|
||||||
d = crypto.createHash("sha1");
|
d = crypto.createHash("sha1");
|
||||||
h.update(f);
|
h.update(f);
|
||||||
@@ -81,12 +92,11 @@ class UserInfo {
|
|||||||
var v = d.digest("hex");
|
var v = d.digest("hex");
|
||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
getHeaders(data) {
|
getHeaders_H5(data) {
|
||||||
const timestamp = Math.round(new Date().getTime() / 1e3)
|
const timestamp = Math.round(new Date().getTime() / 1e3)
|
||||||
return {
|
return {
|
||||||
"Host": "yingsheng.elecfans.com",
|
"Host": "yingsheng.elecfans.com",
|
||||||
"Connection": "keep-alive",
|
"Connection": "keep-alive",
|
||||||
//"Content-Length": "11",
|
|
||||||
"Authorization": this.ck,
|
"Authorization": this.ck,
|
||||||
"Content-Type": "application/json;charset=UTF-8",
|
"Content-Type": "application/json;charset=UTF-8",
|
||||||
"Accept": "application/json, text/plain, /",
|
"Accept": "application/json, text/plain, /",
|
||||||
@@ -94,7 +104,7 @@ class UserInfo {
|
|||||||
"User-Agent": "Mozilla/5.0 (Linux; Android 10; MI 8 Lite Build/QKQ1.190910.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/81.0.4044.138 Mobile Safari/537.36appAndroid",
|
"User-Agent": "Mozilla/5.0 (Linux; Android 10; MI 8 Lite Build/QKQ1.190910.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/81.0.4044.138 Mobile Safari/537.36appAndroid",
|
||||||
"platform": "h5",
|
"platform": "h5",
|
||||||
"token": this.ck,
|
"token": this.ck,
|
||||||
"sign": this.getSign(timestamp, data),
|
"sign": this.getSign(timestamp, data, "h5"),
|
||||||
"version": "2.7.4",
|
"version": "2.7.4",
|
||||||
"Origin": "https://yingsheng.elecfans.com",
|
"Origin": "https://yingsheng.elecfans.com",
|
||||||
"X-Requested-With": "com.hq.hardvoice",
|
"X-Requested-With": "com.hq.hardvoice",
|
||||||
@@ -104,15 +114,35 @@ class UserInfo {
|
|||||||
"Referer": `https://yingsheng.elecfans.com/task?token=${this.ck}&version=2.7.4&time=${timestamp}&statusH=30`,
|
"Referer": `https://yingsheng.elecfans.com/task?token=${this.ck}&version=2.7.4&time=${timestamp}&statusH=30`,
|
||||||
"Accept-Encoding": "gzip, deflate",
|
"Accept-Encoding": "gzip, deflate",
|
||||||
"Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7",
|
"Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7",
|
||||||
//"Cookie": "Hm_lvt_85785f4374cae14ef4845ab2a22ab1d6=1693213217; Hm_lpvt_85785f4374cae14ef4845ab2a22ab1d6=1693213222"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
getHeaders_ANDROID(data) {
|
||||||
|
const timestamp = Math.round(new Date().getTime() / 1e3)
|
||||||
|
return {
|
||||||
|
"Host": "ysapi.elecfans.com",
|
||||||
|
"Connection": "keep-alive",
|
||||||
|
"Authorization": this.ck,
|
||||||
|
"Content-Type": "application/json;charset=UTF-8",
|
||||||
|
"model": "MI 8 Lite",
|
||||||
|
"timestamp": timestamp,
|
||||||
|
"User-Agent": "okhttp/3.12.6",
|
||||||
|
//"markId":"",
|
||||||
|
"platform": "android",
|
||||||
|
"sign": this.getSign(timestamp, data, "android"),
|
||||||
|
"version": "2.7.4",
|
||||||
|
"Accept-Encoding": "gzip",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async task() {
|
||||||
|
await this.sign_in_info()
|
||||||
|
await this.video_list()
|
||||||
|
}
|
||||||
async sign_in_info() {
|
async sign_in_info() {
|
||||||
try {
|
try {
|
||||||
const data = { "date": "" }
|
const data = { "date": "" }
|
||||||
let options = {
|
let options = {
|
||||||
url: `https://yingsheng.elecfans.com/ysapi/wapi/activity/signin/data?date=`,
|
url: `https://yingsheng.elecfans.com/ysapi/wapi/activity/signin/data?date=`,
|
||||||
headers: this.getHeaders(data),
|
headers: this.getHeaders_H5(data),
|
||||||
},
|
},
|
||||||
result = await httpRequest(options);
|
result = await httpRequest(options);
|
||||||
//console.log(options);
|
//console.log(options);
|
||||||
@@ -140,7 +170,7 @@ class UserInfo {
|
|||||||
const data = { "date": "" }
|
const data = { "date": "" }
|
||||||
let options = {
|
let options = {
|
||||||
url: `https://yingsheng.elecfans.com/ysapi/wapi/activity/signin/signin`,
|
url: `https://yingsheng.elecfans.com/ysapi/wapi/activity/signin/signin`,
|
||||||
headers: this.getHeaders(data),
|
headers: this.getHeaders_H5(data),
|
||||||
body: JSON.stringify(data)
|
body: JSON.stringify(data)
|
||||||
},
|
},
|
||||||
result = await httpRequest(options);
|
result = await httpRequest(options);
|
||||||
@@ -156,6 +186,53 @@ class UserInfo {
|
|||||||
console.log(e);
|
console.log(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
async video_list() {
|
||||||
|
try {
|
||||||
|
const data = { "page": 1 }
|
||||||
|
let options = {
|
||||||
|
url: `https://ysapi.elecfans.com/api/recommend/video/index?page=1`,
|
||||||
|
headers: this.getHeaders_ANDROID(data),
|
||||||
|
},
|
||||||
|
result = await httpRequest(options);
|
||||||
|
//console.log(options);
|
||||||
|
//console.log(result);
|
||||||
|
if (result.message == "success!") {
|
||||||
|
$.DoubleLog(`✅账号[${this.index}] 刷新视频列表成功🎉`);
|
||||||
|
|
||||||
|
for (let index = 0; index < 5; index++) {
|
||||||
|
console.log()
|
||||||
|
await this.video_like(result.data.data[index].detail.id)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$.DoubleLog(`❌账号[${this.index}] 刷新视频列表失败`);
|
||||||
|
//console.log(result);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async video_like(id) {
|
||||||
|
try {
|
||||||
|
const data = { "type": 1, "video_id": id }
|
||||||
|
let options = {
|
||||||
|
url: `https://ysapi.elecfans.com/api/video/publish/thumbsup`,
|
||||||
|
headers: this.getHeaders_ANDROID(data),
|
||||||
|
body: JSON.stringify(data)
|
||||||
|
},
|
||||||
|
result = await httpRequest(options);
|
||||||
|
//console.log(options);
|
||||||
|
//console.log(result);
|
||||||
|
if (result.message == "success!") {
|
||||||
|
$.DoubleLog(`✅账号[${this.index}] 点赞视频成功🎉`);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$.DoubleLog(`❌账号[${this.index}] 点赞视频失败`);
|
||||||
|
//console.log(result);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
!(async () => {
|
!(async () => {
|
||||||
@@ -196,6 +273,7 @@ function httpRequest(options, method = null) {
|
|||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
$[method](options, (err, resp, data) => {
|
$[method](options, (err, resp, data) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
console.log(resp)
|
||||||
console.log(`${method}请求失败`);
|
console.log(`${method}请求失败`);
|
||||||
$.logErr(err);
|
$.logErr(err);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user