224 lines
7.6 KiB
JavaScript
224 lines
7.6 KiB
JavaScript
// # Source: https://github.com/Wenmoux/checkbox/blob/master/scripts/acfun.js
|
||
// # Raw: https://raw.githubusercontent.com/Wenmoux/checkbox/master/scripts/acfun.js
|
||
// # Repo: Wenmoux/checkbox
|
||
// # Path: scripts/acfun.js
|
||
// # UploadedAt: 2021-07-21T17:31:24Z
|
||
// # SHA256: ce0d786f36ec77fa4731b48f033edd1b0f7467bad760180dbafe255abace5c94
|
||
// # Category: web版/账密
|
||
// # Evidence: web/H5关键词 + username/password/login
|
||
//
|
||
|
||
var st = "";
|
||
var result = "ACFUN:\n";
|
||
var authkey = "";
|
||
var headers = {
|
||
"referer": "https://www.acfun.cn/",
|
||
"Content-Type": "application/x-www-form-urlencoded",
|
||
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Safari/537.36",
|
||
cookie: "",
|
||
};
|
||
const axios = require("axios");
|
||
|
||
function get(options) {
|
||
return new Promise((resolve, reject) => {
|
||
axios
|
||
.post(
|
||
"https://www.acfun.cn/rest/pc-direct" + options.url,
|
||
options.para, {
|
||
headers,
|
||
}
|
||
)
|
||
.then((response) => {
|
||
signdata = ""
|
||
resolve(response.data);
|
||
})
|
||
.catch((err) => {
|
||
resolve(err.response.data);
|
||
});
|
||
});
|
||
}
|
||
|
||
var signIn = async function() {
|
||
return await get({
|
||
url: `/user/signIn`,
|
||
para: {},
|
||
}).then((res) => {
|
||
if (res.result == 0) {
|
||
signata = "签到成功! || ";
|
||
} else if (res.result == 122) {
|
||
signdata = "今天已经签到过啦! || ";
|
||
}
|
||
console.log(signdata);
|
||
result += signdata
|
||
return res;
|
||
});
|
||
};
|
||
var ThrowBanana = async function(id) {
|
||
return await get({
|
||
url: "/banana/throwBanana",
|
||
para: `resourceId=${id}&count=1&resourceType=2`,
|
||
}).then(async (res) => {
|
||
console.log(id);
|
||
if (res.result == 0) {
|
||
signdata = "🍌易已达成! || ";
|
||
} else if (
|
||
res.error_msg == "内容未找到" ||
|
||
res.error_msg == "被投蕉用户id不能小于0"
|
||
) {
|
||
await ThrowBanana(Math.round(Math.random() * 10000) + 14431808);
|
||
} else {
|
||
signdata = "🍌易失败! || ";
|
||
console.log(res);
|
||
}
|
||
console.log(signdata);
|
||
result += signdata;
|
||
return res;
|
||
});
|
||
};
|
||
|
||
var getinfo = async function() {
|
||
return await get({
|
||
url: "/user/personalInfo",
|
||
para: "",
|
||
}).then(async (res) => {
|
||
let info = `香蕉:${res.info.banana} 金香蕉:${res.info.goldBanana} `
|
||
result += info
|
||
console.log(info)
|
||
});
|
||
};
|
||
|
||
var NewDanmu = async function() {
|
||
return await get({
|
||
url: `/new-danmaku/add`,
|
||
para: "mode=1&color=16777215&size=25&body=%E5%A5%BD%E8%80%B6&videoId=21772556&position=0&type=douga&id=26084622&subChannelId=60&subChannelName=%E5%A8%B1%E4%B9%90&roleId=",
|
||
}).then((res) => {
|
||
//console.log(res)
|
||
if (res.result == 0) {
|
||
signdata = "发送弹幕成功! || ";
|
||
} else {
|
||
signdata = "发送弹幕失败!|| ";
|
||
console.log(res);
|
||
}
|
||
console.log(signdata);
|
||
result += signdata;
|
||
return res;
|
||
});
|
||
};
|
||
//分享任务
|
||
function share() {
|
||
return new Promise(async (resolve) => {
|
||
try {
|
||
let res = await axios.get("https://api-ipv6.app.acfun.cn/rest/app/task/reportTaskAction?taskType=1&market=tencent&product=ACFUN_APP&sys_version=8.0.0&app_version=6.42.0.1119&ftt=K-F-T&boardPlatform=hi3650&sys_name=android&socName=%3A%20HiSilicon%20Kirin%20950&ks_ipv6_cellular=2408%3A8470%3A8a03%3A526d%3A8017%3Acdeb%3A414%3Acbec&appMode=0", {
|
||
headers
|
||
});
|
||
if (res.data.result == 0) {
|
||
console.log("分享成功");
|
||
result += "分享成功! "
|
||
} else {
|
||
console.log(res.data);
|
||
}
|
||
} catch (err) {
|
||
console.log(err.response.data);
|
||
console.log("分享接口请求出错");
|
||
result += "分享接口请求出错! ";
|
||
}
|
||
resolve();
|
||
});
|
||
}
|
||
|
||
function getoken() {
|
||
return new Promise(async (resolve) => {
|
||
try {
|
||
let res = await axios.post(
|
||
"https://id.app.acfun.cn/rest/web/token/get",
|
||
"sid=acfun.midground.api", {
|
||
headers,
|
||
}
|
||
);
|
||
if (res.data.result == 0 && res.data["acfun.midground.api_st"]) {
|
||
st = res.data["acfun.midground.api_st"];
|
||
// signdata = "获取token成功";
|
||
// console.log(signdata);
|
||
await interact("delete"); //取消点赞
|
||
await interact("add"); //重新点赞
|
||
} else {
|
||
// signdata = "获取token失败";
|
||
console.log(res.data);
|
||
}
|
||
// result += signdata;
|
||
} catch (err) {
|
||
console.log(err.response.data);
|
||
// result += "token获取出错! || ";
|
||
}
|
||
resolve();
|
||
});
|
||
}
|
||
//点赞
|
||
function interact(option) {
|
||
return new Promise(async (resolve) => {
|
||
try {
|
||
let data = `kpn=ACFUN_APP&kpf=PC_WEB&subBiz=mainApp&interactType=1&objectType=2&objectId=26030726&acfun.midground.api_st=${
|
||
st || 0
|
||
}&userId=${authkey}&extParams%5BisPlaying%5D=false&extParams%5BshowCount%5D=1&extParams%5BotherBtnClickedCount%5D=10&extParams%5BplayBtnClickedCount%5D=0`;
|
||
let res = await axios.post(
|
||
`https://kuaishouzt.com/rest/zt/interact/${option}`,
|
||
data, {
|
||
headers,
|
||
}
|
||
);
|
||
if (res.data.result == 1) {
|
||
console.log("点赞成功");
|
||
} else {
|
||
console.log(res.data);
|
||
}
|
||
} catch (err) {
|
||
console.log(err.response.data);
|
||
console.log("点赞接口请求出错");
|
||
result += "点赞接口请求出错! || ";
|
||
}
|
||
resolve();
|
||
});
|
||
}
|
||
|
||
|
||
function acfun(account, password) {
|
||
return new Promise(async (resolve) => {
|
||
try {
|
||
console.log("Acfun每日任务开始...");
|
||
const account = config.acfun.phone;
|
||
const password = config.acfun.password;
|
||
let res = await axios.post(
|
||
"https://id.app.acfun.cn/rest/web/login/signin",
|
||
`username=${account}&password=${password}`, {
|
||
headers,
|
||
}
|
||
);
|
||
if (res.data.result == 0) {
|
||
result += loginresult = `${res.data.username}登陆成功👏 || `;
|
||
console.log(loginresult);
|
||
authkey = res.data.auth_key;
|
||
for (ck of res.headers["set-cookie"]) {
|
||
headers.cookie += ck.split(";")[0] + ";"
|
||
}
|
||
await signIn();
|
||
await ThrowBanana(Math.round(Math.random() * 10000) + 14431808);
|
||
await NewDanmu();
|
||
await getoken();
|
||
await share()
|
||
await getinfo()
|
||
} else {
|
||
result += loginresult = `登陆失败 ${res.data.error_msg}😅!!`;
|
||
console.log(loginresult)
|
||
}
|
||
} catch (err) {
|
||
console.log(err);
|
||
result += "登陆失败😅!!";
|
||
console.log("登陆失败");
|
||
}
|
||
resolve(result);
|
||
});
|
||
}
|
||
|
||
//acfun()
|
||
|
||
module.exports = acfun; |