Rules-For-Quantumult-X/Scripts/AdBlock/Bilibili/bilibili_json.js

286 lines
9.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/***********************************************
> 应用名称墨鱼自用B站去广告脚本
> 脚本作者:@ddgksf2013
> 微信账号:墨鱼手记
> 更新时间2022-01-11
> 通知频道https://t.me/ddgksf2021
> 贡献投稿https://t.me/ddgksf2013_bot
> 问题反馈ddgksf2013@163.com
> 特别提醒:如需转载请注明出处,谢谢合作!
***********************************************/
const version = "V2.0.98";
let body = $response.body;
if (body) {
switch (!0) {
case /^https:\/\/app\.bilibili\.com\/x\/v2\/feed\/index\?/.test(
$request.url
):
try {
let t = JSON.parse(body),
i = [];
for (let e of t.data.items)
if (!e.hasOwnProperty("banner_item")) {
if (
e.hasOwnProperty("ad_info") ||
-1 !== e.card_goto.indexOf("ad") ||
("small_cover_v2" !== e.card_type &&
"large_cover_v1" !== e.card_type &&
"large_cover_single_v9" !== e.card_type)
)
continue;
else i.push(e);
}
(t.data.items = i), (body = JSON.stringify(t));
} catch (a) {
console.log("bilibili index:" + a);
}
break;
case /^https?:\/\/app\.bilibili\.com\/x\/v2\/feed\/index\/story\?/.test(
$request.url
):
try {
let s = JSON.parse(body),
l = [];
for (let o of s.data.items)
o.hasOwnProperty("ad_info") ||
-1 !== o.card_goto.indexOf("ad") ||
l.push(o);
(s.data.items = l), (body = JSON.stringify(s));
} catch (r) {
console.log("bilibili Story:" + r);
}
break;
case /^https?:\/\/app\.bilibili\.com\/x\/v\d\/account\/teenagers\/status\?/.test(
$request.url
):
try {
let d = JSON.parse(body);
(d.data.teenagers_status = 0), (body = JSON.stringify(d));
} catch (b) {
console.log("bilibili teenagers:" + b);
}
break;
case /^https?:\/\/app\.bilibili\.com\/x\/resource\/show\/tab/.test(
$request.url
):
try {
let p = new Set([177, 178, 179, 181, 102, 104, 106, 486, 488, 489]),
c = JSON.parse(body);
if (
(c.data?.tab &&
(c.data.tab = [
{
id: 39,
name: "直播",
uri: "bilibili://live/home",
tab_id: "直播tab",
pos: 1,
},
{
id: 40,
name: "推荐",
uri: "bilibili://pegasus/promo",
tab_id: "推荐tab",
pos: 2,
default_selected: 1,
},
{
id: 41,
name: "热门",
uri: "bilibili://pegasus/hottopic",
tab_id: "hottopic",
pos: 3,
},
{
id: 545,
name: "番剧",
uri: "bilibili://pgc/home",
tab_id: "bangumi",
pos: 4,
},
{
id: 151,
name: "影视",
uri: "bilibili://pgc/cinema-tab",
tab_id: "film",
pos: 5,
},
]),
c.data.top &&
(c.data.top = [
{
id: 481,
icon: "http://i0.hdslb.com/bfs/archive/d43047538e72c9ed8fd8e4e34415fbe3a4f632cb.png",
name: "消息",
uri: "bilibili://link/im_home",
tab_id: "消息Top",
pos: 1,
},
]),
c.data.bottom)
) {
let n = c.data.bottom.filter((t) => p.has(t.id));
c.data.bottom = n;
}
body = JSON.stringify(c);
} catch (y) {
console.log("bilibili tab processing:" + y);
}
break;
case /^https?:\/\/app\.bilibili\.com\/x\/v2\/account\/mine/.test(
$request.url
):
try {
let m = JSON.parse(body),
h = new Set([
396, 397, 398, 399, 407, 410, 402, 404, 425, 426, 427, 428, 430,
432, 433, 434, 494, 495, 496, 497, 500, 501,
]);
m.data.sections_v2.forEach((t, i) => {
let e = t.items.filter((t) => h.has(t.id));
(m.data.sections_v2[i].items = e),
(m.data.sections_v2[i].button = {}),
delete m.data.sections_v2[i].be_up_title,
delete m.data.sections_v2[i].tip_icon,
delete m.data.sections_v2[i].tip_title,
"创作中心" == m.data.sections_v2[i].title &&
(delete m.data.sections_v2[i].title,
delete m.data.sections_v2[i].type);
}),
delete m.data.vip_section_v2,
delete m.data.vip_section,
m.data.hasOwnProperty("live_tip") && (m.data.live_tip = {}),
m.data.hasOwnProperty("answer") && (m.data.answer = {}),
(m.data.vip_type = 2),
(m.data.vip.type = 2),
(m.data.vip.status = 1),
(m.data.vip.vip_pay_type = 1),
(m.data.vip.due_date = 4669824160),
(body = JSON.stringify(m));
} catch (u) {
console.log("bilibili mypage:" + u);
}
break;
case /^https?:\/\/api\.live\.bilibili\.com\/xlive\/app-room\/v1\/index\/getInfoByRoom/.test(
$request.url
):
try {
let f = JSON.parse(body);
(f.data.activity_banner_info = null), (body = JSON.stringify(f));
} catch (g) {
console.log("bilibili live broadcast:" + g);
}
break;
case /^https?:\/\/app\.bilibili\.com\/x\/resource\/top\/activity/.test(
$request.url
):
try {
let v = JSON.parse(body);
v.data && ((v.data.hash = "ddgksf2013"), (v.data.online.icon = "")),
(body = JSON.stringify(v));
} catch (_) {
console.log("bilibili right corner:" + _);
}
break;
case /^https?:\/\/app\.bilibili\.com\/x\/v2\/search\/square/.test(
$request.url
):
try {
let $ = JSON.parse(body);
($.data = {
type: "history",
title: "搜索历史",
search_hotword_revision: 2,
}),
(body = JSON.stringify($));
} catch (k) {
console.log("bilibili hot search:" + k);
}
break;
case /https?:\/\/app\.bilibili\.com\/x\/v2\/account\/myinfo\?/.test(
$request.url
):
try {
let w = JSON.parse(body);
(w.data.vip.type = 2),
(w.data.vip.status = 1),
(w.data.vip.vip_pay_type = 1),
(w.data.vip.due_date = 4669824160),
(body = JSON.stringify(w));
} catch (x) {
console.log("bilibili 1080p:" + x);
}
break;
case /pgc\/page\/bangumi/.test($request.url):
try {
let O = JSON.parse(body);
O.result.modules.forEach((t) => {
t.style.startsWith("banner") &&
(t.items = t.items.filter((t) => -1 != t.link.indexOf("play"))),
t.style.startsWith("function") &&
((t.items = t.items.filter(
(t) => -1 == t.blink.indexOf("www.bilibili.com")
)),
(1283 == t.module_id || 241 == t.module_id) && (t.items = [])),
t.style.startsWith("tip") && (t.items = []);
}),
(body = JSON.stringify(O));
} catch (P) {
console.log("bilibili fanju:" + P);
}
break;
case /pgc\/page\/cinema\/tab\?/.test($request.url):
try {
let W = JSON.parse(body);
W.result.modules.forEach((t) => {
t.style.startsWith("banner") &&
(t.items = t.items.filter((t) => -1 != t.link.indexOf("play"))),
t.style.startsWith("function") &&
((t.items = t.items.filter(
(t) => -1 == t.blink.indexOf("www.bilibili.com")
)),
(1441 == t.module_id || 1284 == t.module_id) && (t.items = [])),
t.style.startsWith("tip") && (t.items = []);
}),
(body = JSON.stringify(W));
} catch (q) {
console.log("bilibili video:" + q);
}
break;
case /^https?:\/\/app\.bilibili\.com\/x\/resource\/show\/skin\?/.test(
$request.url
):
try {
let E = JSON.parse(body);
E &&
E.hasOwnProperty("data") &&
E.data.hasOwnProperty("common_equip") &&
E.data.common_equip.hasOwnProperty("package_url"),
(body = JSON.stringify(E));
} catch (j) {
console.log("bilibili skin:" + j);
}
break;
case /^https:\/\/app\.bilibili\.com\/x\/v2\/splash\/list/.test(
$request.url
):
try {
let B = JSON.parse(body);
if (B.data && B.data.list)
for (let I of B.data.list)
(I.duration = 0),
(I.begin_time = 2240150400),
(I.end_time = 2240150400);
body = JSON.stringify(B);
} catch (R) {
console.log("bilibili openad:" + R);
}
break;
default:
$done({});
}
$done({ body });
} else $done({});