Files
wool_scripts/Surge/module/split/partB/bilibili.sgmodule
2025-10-03 10:42:01 +08:00

59 lines
15 KiB
Plaintext
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.

#!name=哔哩哔哩
#!desc=某些APP要清除缓存或者重新安装拦截广告才会生效
#!author=奶思
#!icon=https://raw.githubusercontent.com/fmz200/wool_scripts/main/icons/gif/naisi-01.gif
#!category=奶思的模块
#!homepage=https://github.com/fmz200/wool_scripts
#!raw-url=https://github.com/fmz200/wool_scripts/raw/main/Loon/plugin/split/partB/bilibili.lpx
#!tg-channel=https://t.me/inaisi
#!date=2025-09-24 21:46:58
#!arguments=airborne:true,logLevel:"info"
[Rule]
DOMAIN,api.biliapi.com,REJECT
DOMAIN,app.biliapi.com,REJECT
DOMAIN,api.biliapi.net,REJECT
DOMAIN,app.biliapi.net,REJECT
AND,((DOMAIN-SUFFIX,chat.bilibili.com),(OR,((DOMAIN-KEYWORD,stun),(DOMAIN-KEYWORD,tracker)))),REJECT
[URL Rewrite]
^(https:\/\/api\.bilibili\.com\/pgc\/page\/channel\?.*)(&mobi_app=iphone)(&.*)$ $1$2_i$3 header
[Body Rewrite]
http-response-jq ^https:\/\/api\.bilibili\.com\/x\/pd-proxy\/tracker\? '.data[][]?="stun.chat.bilibili.com:3478"'
http-response-jq ^https:\/\/api\.bilibili\.com\/pgc\/view\/v2\/app\/season\? 'del(.data.payment)'
http-response-jq ^https:\/\/api\.live\.bilibili\.com\/xlive\/(app-interface\/v2\/index\/feed|app-room\/v1\/index\/getInfoBy(Room|User))\? '.data |= (del(.play_together_info, .play_together_info_v2, .activity_banner_info) | if .function_card then .function_card[] = null end | if .new_tab_info.outer_list then .new_tab_info.outer_list |= map(select(.biz_id != 33)) end | if .card_list then .card_list |= map(select(.card_type | IN("banner_v2", "activity_card_v1") | not)) end | reduce ([["show_reserve_status"], false], [["reserve_info", "show_reserve_status"], false], [["shopping_info", "is_show"], 0]) as [$path, $value] (.; if getpath($path) then setpath($path; $value) end))'
http-response-jq ^https:\/\/app\.bilibili\.com\/x\/resource\/show\/skin\? 'delpaths([["data","common_equip"]])'
http-response-jq ^https:\/\/app\.bilibili\.com\/x\/resource\/show\/tab\/v2\? '.data.tab = [ { pos: 1, id: 731, name: "\u76F4\u64AD", tab_id: "\u76F4\u64ADtab", uri: "bilibili://live/home" }, { pos: 2, id: 477, name: "\u63A8\u8350", tab_id: "\u63A8\u8350tab", uri: "bilibili://pegasus/promo", default_selected: 1 }, { pos: 3, id: 478, name: "\u70ED\u95E8", tab_id: "\u70ED\u95E8tab", uri: "bilibili://pegasus/hottopic" }, { pos: 4, id: 3502, name: "\u52A8\u753B", tab_id: "bangumi", uri: "bilibili://pgc/bangumi_v2" }, { pos: 5, id: 3503, name: "\u5F71\u89C6", tab_id: "film", uri: "bilibili://pgc/cinema_v2" } ] | .data.top = [ { pos: 1, id: 176, name: "\u6D88\u606F", tab_id: "\u6D88\u606FTop", uri: "bilibili://link/im_home", icon: "http://i0.hdslb.com/bfs/archive/d43047538e72c9ed8fd8e4e34415fbe3a4f632cb.png" } ] | .data.bottom = [ { pos: 1, id: 177, name: "\u9996\u9875", tab_id: "home", uri: "bilibili://main/home/", icon: "http://i0.hdslb.com/bfs/archive/63d7ee88d471786c1af45af86e8cb7f607edf91b.png", icon_selected: "http://i0.hdslb.com/bfs/archive/e5106aa688dc729e7f0eafcbb80317feb54a43bd.png" }, { pos: 2, id: 179, name: "\u52A8\u6001", tab_id: "dynamic", uri: "bilibili://following/home/", icon: "http://i0.hdslb.com/bfs/archive/86dfbe5fa32f11a8588b9ae0fccb77d3c27cedf6.png", icon_selected: "http://i0.hdslb.com/bfs/archive/25b658e1f6b6da57eecba328556101dbdcb4b53f.png" }, { pos: 5, id: 181, name: "\u6211\u7684", tab_id: "\u6211\u7684Bottom", uri: "bilibili://user_center/", icon: "http://i0.hdslb.com/bfs/archive/4b0b2c49ffeb4f0c2e6a4cceebeef0aab1c53fe1.png", icon_selected: "http://i0.hdslb.com/bfs/archive/a54a8009116cb896e64ef14dcf50e5cade401e00.png" } ] '
http-response-jq ^https:\/\/app\.bilibili\.com\/x\/v2\/splash\/(list|show|event\/list2)\? '.data |= with_entries(if .key | IN("show", "event_list") then .value = [] else . end)'
http-response-jq ^https:\/\/app\.bilibili\.com\/x\/v2\/feed\/index\? 'if .data.items then .data.items |= map(select((.banner_item == null) and (.ad_info == null) and (.card_goto == "av") and (.card_type | IN("small_cover_v2", "large_cover_single_v9", "large_cover_v1")))) end'
http-response-jq ^https:\/\/app\.bilibili\.com\/x\/v2\/feed\/index\/story\? 'if .data.items then .data.items |= map(select((.ad_info == null) and (.card_goto | IN("vertical_ad_av", "vertical_ad_live", "vertical_ad_picture") | not)) | del(.story_cart_icon, .free_flow_toast, .image_infos, .course_info, .game_info)) end'
http-response-jq ^https:\/\/app\.bilibili\.com\/x\/v2\/account\/mine(\/ipad)?\? '.data |= ( del(.answer, .live_tip, .vip_section, .vip_section_v2, .modular_vip_section) | .vip_type = 2 | .vip |= if . != null and .status == 0 then . + { status: 1, type: 2, due_date: 9005270400000, role: 15 } else . end | if .sections_v2 then .sections_v2 = [ { "items": [ { "id": 396, "title": "离线缓存", "uri": "bilibili://user_center/download", "icon": "http://i0.hdslb.com/bfs/archive/5fc84565ab73e716d20cd2f65e0e1de9495d56f8.png", "common_op_item": {} }, { "id": 397, "title": "历史记录", "uri": "bilibili://user_center/history", "icon": "http://i0.hdslb.com/bfs/archive/8385323c6acde52e9cd52514ae13c8b9481c1a16.png", "common_op_item": {} }, { "id": 3072, "title": "我的收藏", "uri": "bilibili://user_center/favourite?version=2", "icon": "http://i0.hdslb.com/bfs/archive/d79b19d983067a1b91614e830a7100c05204a821.png", "common_op_item": {} }, { "id": 2830, "title": "稍后再看", "uri": "bilibili://user_center/watch_later_v2", "icon": "http://i0.hdslb.com/bfs/archive/63bb768caa02a68cb566a838f6f2415f0d1d02d6.png", "need_login": 1, "common_op_item": {} } ], "style": 1, "button": {} }, { "title": "推荐服务", "items": [ { "id": 402, "title": "个性装扮", "uri": "https://www.bilibili.com/h5/mall/home?navhide=1&f_source=shop&from=myservice", "icon": "http://i0.hdslb.com/bfs/archive/0bcad10661b50f583969b5a188c12e5f0731628c.png", "common_op_item": {} }, { "id": 622, "title": "会员购", "uri": "bilibili://mall/home", "icon": "http://i0.hdslb.com/bfs/archive/19c794f01def1a267b894be84427d6a8f67081a9.png", "common_op_item": {} }, { "id": 404, "title": "我的钱包", "uri": "bilibili://bilipay/mine_wallet", "icon": "http://i0.hdslb.com/bfs/archive/f416634e361824e74a855332b6ff14e2e7c2e082.png", "common_op_item": {} }, { "id": 406, "title": "我的直播", "uri": "bilibili://user_center/live_center", "icon": "http://i0.hdslb.com/bfs/archive/1db5791746a0112890b77a0236baf263d71ecb27.png", "common_op_item": {}, } ], "style": 1, "button": {} }, { "title": "更多服务", "items": [ { "id": 407, "title": "联系客服", "uri": "bilibili://user_center/feedback", "icon": "http://i0.hdslb.com/bfs/archive/7ca840cf1d887a45ee1ef441ab57845bf26ef5fa.png", "common_op_item": {} }, { "id": 410, "title": "设置", "uri": "bilibili://user_center/setting", "icon": "http://i0.hdslb.com/bfs/archive/e932404f2ee62e075a772920019e9fbdb4b5656a.png", "common_op_item": {} } ], "style": 2, "button": {} } ] end | if .ipad_sections then .ipad_sections = [ { "id": 747, "title": "离线缓存", "uri": "bilibili://user_center/download", "icon": "http://i0.hdslb.com/bfs/feed-admin/9bd72251f7366c491cfe78818d453455473a9678.png", "mng_resource": { "icon_id": 0, "icon": "" } }, { "id": 748, "title": "历史记录", "uri": "bilibili://user_center/history", "icon": "http://i0.hdslb.com/bfs/feed-admin/83862e10685f34e16a10cfe1f89dbd7b2884d272.png", "mng_resource": { "icon_id": 0, "icon": "" } }, { "id": 749, "title": "我的收藏", "uri": "bilibili://user_center/favourite", "icon": "http://i0.hdslb.com/bfs/feed-admin/6ae7eff6af627590fc4ed80c905e9e0a6f0e8188.png", "mng_resource": { "icon_id": 0, "icon": "" } }, { "id": 750, "title": "稍后再看", "uri": "bilibili://user_center/watch_later", "icon": "http://i0.hdslb.com/bfs/feed-admin/928ba9f559b02129e51993efc8afe95014edec94.png", "mng_resource": { "icon_id": 0, "icon": "" } } ] end | if .ipad_upper_sections then .ipad_upper_sections = [ { "id": 752, "title": "创作首页", "uri": "/uper/homevc", "icon": "http://i0.hdslb.com/bfs/feed-admin/d20dfed3b403c895506b1c92ecd5874abb700c01.png", "mng_resource": { "icon_id": 0, "icon": "" } } ] end | if .ipad_recommend_sections then .ipad_recommend_sections = [ { "id": 755, "title": "我的关注", "uri": "bilibili://user_center/myfollows", "icon": "http://i0.hdslb.com/bfs/feed-admin/fdd7f676030c6996d36763a078442a210fc5a8c0.png", "mng_resource": { "icon_id": 0, "icon": "" } }, { "id": 756, "title": "我的消息", "uri": "bilibili://link/im_home", "icon": "http://i0.hdslb.com/bfs/feed-admin/e1471740130a08a48b02a4ab29ed9d5f2281e3bf.png", "mng_resource": { "icon_id": 0, "icon": "" } } ] end | if .ipad_more_sections then .ipad_more_sections = [ { "id": 763, "title": "我的客服", "uri": "bilibili://user_center/feedback", "icon": "http://i0.hdslb.com/bfs/feed-admin/7801a6180fb67cf5f8ee05a66a4668e49fb38788.png", "mng_resource": { "icon_id": 0, "icon": "" } }, { "id": 764, "title": "设置", "uri": "bilibili://user_center/setting", "icon": "http://i0.hdslb.com/bfs/feed-admin/34e8faea00b3dd78977266b58d77398b0ac9410b.png", "mng_resource": { "icon_id": 0, "icon": "" } } ] end ) '
http-response-jq ^https:\/\/app\.bilibili\.com\/x\/v2\/account\/myinfo\? '.data.vip |= if . != null and .status == 0 then . + { status: 1, type: 2, due_date: 9005270400000, role: 15 } else . end'
[Map Local]
^https:\/\/api\.live\.bilibili\.com\/xlive\/e-commerce-interface\/v1\/ecommerce-user\/get_shopping_info\? data-type=text data="{}" status-code=200 header="Content-Type:application/json"
^https:\/\/line3-h5-mobile-api\.biligame\.com\/game\/live\/large_card_material\? data-type=text data="{}" status-code=200 header="Content-Type:application/json"
^https:\/\/ap[ip]\.bilibili\.com\/x\/(resource\/(top\/activity|patch\/tab)|v2\/search\/square|vip\/ads\/materials)\? data-type=text data="{"code":-404,"message":"-404","ttl":1,"data":null}" status-code=200 header="Content-Type:text/plain"
^https:\/\/api\.bilibili\.com\/pgc\/activity\/deliver\/material\/receive\? data-type=text data="{"code":0,"data":{"closeType":"close_win","container":[],"showTime":""},"message":"success"}" status-code=200 header="Content-Type:text/plain"
^https:\/\/(grpc\.biliapi\.net|app\.bilibili\.com)\/bilibili\.app\.interface\.v1\.Teenagers\/ModeStatus$ data-type=base64 data="AAAAABMKEQgCEgl0ZWVuYWdlcnMgAioA"
^https:\/\/(grpc\.biliapi\.net|app\.bilibili\.com)\/bilibili\.app\.interface\.v1\.Search\/DefaultWords$ data-type=base64 data="AAAAACkaHeaQnOe0ouinhumikeOAgeeVquWJp+aIlnVw5Li7IgAoAToAQgBKAA=="
^https:\/\/(grpc\.biliapi\.net|app\.bilibili\.com)\/bilibili\.app\.view\.v1\.View\/TFInfo$ data-type=base64 data="AAAAAAIIAQ=="
[Script]
bilibili.airborne = type=http-request, pattern=^https:\/\/(grpc\.biliapi\.net|app\.bilibili\.com)\/bilibili\.community\.service\.dm\.v1\.DM\/DmSegMobile$, script-path=https://raw.githubusercontent.com/kokoryh/Sparkle/refs/heads/master/dist/bilibili.protobuf.request.js, requires-body=true, binary-body-mode=true, argument=[{{{logLevel}}}]
bilibili.webpage = type=http-response, pattern=^https:\/\/live\.bilibili\.com\/blackboard\/era\/.+\.html\?, script-path=https://raw.githubusercontent.com/kokoryh/Sparkle/refs/heads/master/dist/webpage.bilibili.js, requires-body=true
bilibili.protobuf = type=http-response, pattern=^https:\/\/(grpc\.biliapi\.net|app\.bilibili\.com)\/bilibili\.(app\.(show\.v1\.Popular\/Index|dynamic\.v2\.Dynamic\/DynAll|view(unite)?\.v1\.View\/(View|ViewProgress|RelatesFeed)|playurl\.v1\.PlayURL\/PlayView|playerunite\.v1\.Player\/PlayViewUnite)|polymer\.app\.search\.v1\.Search\/SearchAll|community\.service\.dm\.v1\.DM\/DmView|main\.community\.reply\.v1\.Reply\/MainList|pgc\.gateway\.player\.v2\.PlayURL\/PlayView)$, script-path=https://raw.githubusercontent.com/kokoryh/Sparkle/refs/heads/master/dist/bilibili.protobuf.response.js, requires-body=true, binary-body-mode=true, argument="[{showUpList}, {purifyTopReplies}, {{{airborne}}}, {{{logLevel}}}]"
[MITM]
hostname = %APPEND% grpc.biliapi.net, app.bilibili.com, api.bilibili.com, api.live.bilibili.com, live.bilibili.com, line3-h5-mobile-api.biligame.com