mirror of
https://github.com/qist/tvbox.git
synced 2025-10-27 18:22:47 +00:00
update bili.m3u & add bili_poen.js
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
],
|
||||
"wallpaper":"http://饭太硬.top/深色壁纸/api.php",
|
||||
"sites":[
|
||||
{"key":"drpy_js_豆瓣","name":"豆瓣搜索[js]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/drpy.js","searchable":1,"quickSearch":0,"changeable":1},
|
||||
{"key":"豆豆","name":"豆瓣搜索","type": 3, "api": "csp_DouDou","searchable": 0,"quickSearch": 0,"filterable": 0},
|
||||
{"key":"drpy_js_磁力熊搜索","name":"磁力熊搜索[js]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/cilixiong.js","searchable":0,"quickSearch":0,"changeable":1},
|
||||
{"key":"lf_js_search","name":"路飞搜索[js]","type":3,"searchable":0,"changeable":1,"quickSearch":0,"filterable":0,"api":"./lib/lf_search3_min.js"},
|
||||
{"key":"drpy_js_新片场","name":"新片场[js]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/新片场.js"},
|
||||
|
||||
12
0827.json
12
0827.json
@@ -28,6 +28,18 @@
|
||||
"changeable": 0,
|
||||
"ext": "./json/webdav.json"
|
||||
},
|
||||
{
|
||||
"key": "bili_open",
|
||||
"name": "哔哩(open)",
|
||||
"type": 3,
|
||||
"api": "https://raw.githubusercontent.com/FongMi/CatVodOpen/main/open/bili_open.js",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"categories": "沙雕动画#沙雕穿越#沙雕",
|
||||
"cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "哔哩",
|
||||
"name": "哔哩",
|
||||
|
||||
264
bili.m3u
264
bili.m3u
@@ -5756,4 +5756,266 @@ http://epg.112114.xyz/bili/23254138
|
||||
#EXTINF:-1 group-title="魔兽争霸3" tvg-logo="https://i2.hdslb.com/bfs/face/0b3a7d2c22474151c5f88dc3a8304c9e4c7d84b9.jpg",Almost一半
|
||||
http://epg.112114.xyz/bili/24436601
|
||||
#EXTINF:-1 group-title="第五人格" tvg-logo="https://i0.hdslb.com/bfs/face/379ee41f6900c79effb15b434e10ae822ab2abcf.jpg",骆盏Z明夜载
|
||||
http://epg.112114.xyz/bili/10904416
|
||||
http://epg.112114.xyz/bili/10904416
|
||||
#EXTINF:-1 group-title="DOTA2" tvg-logo="https://i1.hdslb.com/bfs/face/3db07ad574d4587f492d9e7b7fccc248def4aa91.jpg",夏夏大魔王_Axx
|
||||
http://epg.112114.xyz/bili/6750632
|
||||
#EXTINF:-1 group-title="恐怖游戏" tvg-logo="https://i2.hdslb.com/bfs/face/1a1258930be21ff5804c8333dbaefa5ba8591a6c.jpg",笨尼尼子
|
||||
http://epg.112114.xyz/bili/56948
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/ec8f3ea8edddb4cc66d0f8d7a369241ef036d931.jpg",__07_
|
||||
http://epg.112114.xyz/bili/3610289
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/4b89d31eb821f8c63a62df4fa2d39b2f1bb9b341.jpg",LX秦先生
|
||||
http://epg.112114.xyz/bili/90517
|
||||
#EXTINF:-1 group-title="最终幻想14" tvg-logo="https://i2.hdslb.com/bfs/face/d091f0fddaee3cfa17e5dec61f0077abe6b657c9.jpg",迟叶Oku
|
||||
http://epg.112114.xyz/bili/1552519
|
||||
#EXTINF:-1 group-title="主机游戏" tvg-logo="https://i2.hdslb.com/bfs/face/36d0dc4b436ebce35cb5317bac585d884751ff62.jpg",_瑞德_
|
||||
http://epg.112114.xyz/bili/8191310
|
||||
#EXTINF:-1 group-title="虚拟Singer" tvg-logo="https://i0.hdslb.com/bfs/face/a8f466312f80ebc795f5799e045406f7bc98c1eb.jpg",落笙Rosiel_
|
||||
http://epg.112114.xyz/bili/21686346
|
||||
#EXTINF:-1 group-title="崩坏:星穹铁道" tvg-logo="https://i0.hdslb.com/bfs/face/48ad50820a70a3c453d666a2b9e976b6f56d6995.jpg",无敌喵Lalala
|
||||
http://epg.112114.xyz/bili/1199214
|
||||
#EXTINF:-1 group-title="唱见电台" tvg-logo="https://i1.hdslb.com/bfs/face/413e55171e9e89f50f2393747f0d1bbce6049ef5.jpg",卡农丶Notsad
|
||||
http://epg.112114.xyz/bili/25862299
|
||||
#EXTINF:-1 group-title="无畏契约" tvg-logo="https://i1.hdslb.com/bfs/face/0ec94e98d1a9213c273713d874ee27487fa852d1.jpg",Mccarthy404
|
||||
http://epg.112114.xyz/bili/6785943
|
||||
#EXTINF:-1 group-title="唱见电台" tvg-logo="https://i0.hdslb.com/bfs/face/982f863820e1d93feef7deab59542075348c034f.jpg",落落略略略略
|
||||
http://epg.112114.xyz/bili/4014911
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/021c19e6d23490f089ca691921ccf5f67848ae52.jpg",奈雪熙
|
||||
http://epg.112114.xyz/bili/23329192
|
||||
#EXTINF:-1 group-title="唱见电台" tvg-logo="https://i0.hdslb.com/bfs/face/df622573a5f023df9787ef57d2b730f2c9b70bbe.jpg",问就是吃了
|
||||
http://epg.112114.xyz/bili/25726003
|
||||
#EXTINF:-1 group-title="英雄联盟" tvg-logo="https://i2.hdslb.com/bfs/face/476e03977d30bf20a57d3f29096dd27ed0fcbd47.jpg",莲华刀卡特
|
||||
http://epg.112114.xyz/bili/22427859
|
||||
#EXTINF:-1 group-title="崩坏:星穹铁道" tvg-logo="https://i2.hdslb.com/bfs/face/4deb11e5aa36cbc45d81582242d37b90721127f9.jpg",诺拉Nora_Heitis
|
||||
http://epg.112114.xyz/bili/22550560
|
||||
#EXTINF:-1 group-title="虚拟声优" tvg-logo="https://i1.hdslb.com/bfs/face/7466195354e9773e12e1be595d597c23547e0583.jpg",小汤圆清疏_
|
||||
http://epg.112114.xyz/bili/26746720
|
||||
#EXTINF:-1 group-title="虚拟日常" tvg-logo="https://i2.hdslb.com/bfs/face/ce1cac9cb532ff8ccbaaa97b6fcd2fa01591a635.jpg",白幼甜儿
|
||||
http://epg.112114.xyz/bili/5311503
|
||||
#EXTINF:-1 group-title="虚拟日常" tvg-logo="https://i0.hdslb.com/bfs/face/be678ba0e8767ed60175e9038051ec7b1b361de3.jpg",星小野QAQ
|
||||
http://epg.112114.xyz/bili/26714654
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/d6cc1f8e4050a040388fe31ba6d27119972b9b5e.jpg",绫bu咕
|
||||
http://epg.112114.xyz/bili/3556411
|
||||
#EXTINF:-1 group-title="其他手游" tvg-logo="https://i1.hdslb.com/bfs/face/b92e4eac84fb9d29e00178d61d4e26a48feb5e70.jpg",亚麻猫丶
|
||||
http://epg.112114.xyz/bili/26183325
|
||||
#EXTINF:-1 group-title="逃离塔科夫" tvg-logo="http://i0.hdslb.com/bfs/face/67009a39fc2bacb1941c22c05436a68e58b468f9.jpg",阿良良木夕
|
||||
http://epg.112114.xyz/bili/9611473
|
||||
#EXTINF:-1 group-title="虚拟Singer" tvg-logo="https://i2.hdslb.com/bfs/face/6896be8f99c2949f668841c7d194a2f59d956cd6.jpg",必不可能鸽的青璃
|
||||
http://epg.112114.xyz/bili/331747
|
||||
#EXTINF:-1 group-title="我的世界" tvg-logo="https://i0.hdslb.com/bfs/face/3c0d8e75958b7150e32e815d7b0bf3be9f7b0e24.jpg",文泽
|
||||
http://epg.112114.xyz/bili/21323152
|
||||
#EXTINF:-1 group-title="唱见电台" tvg-logo="https://i0.hdslb.com/bfs/face/7f713ca00f9bc88ac550df007a45ff644748668c.jpg",清沐小公举
|
||||
http://epg.112114.xyz/bili/26780181
|
||||
#EXTINF:-1 group-title="和平精英" tvg-logo="https://i1.hdslb.com/bfs/face/de274af7576ef52943abe78a11d5fdb8237e9f83.jpg",茜茜圆子
|
||||
http://epg.112114.xyz/bili/26057953
|
||||
#EXTINF:-1 group-title="聊天电台" tvg-logo="https://i1.hdslb.com/bfs/face/257319bbf60ef656b268773c16ba9eb74de116b0.jpg",酱御不了一点
|
||||
http://epg.112114.xyz/bili/27070685
|
||||
#EXTINF:-1 group-title="荒野大镖客2" tvg-logo="https://i1.hdslb.com/bfs/face/04b5a48dd7b7233b5239d399158073c98265ddbd.jpg",把饭盛满了
|
||||
http://epg.112114.xyz/bili/24565022
|
||||
#EXTINF:-1 group-title="DNF" tvg-logo="https://i2.hdslb.com/bfs/face/ef70063ea3a2609b7109e64d3396c11fd295d301.jpg",索拉卡里没有钱
|
||||
http://epg.112114.xyz/bili/4547227
|
||||
#EXTINF:-1 group-title="APEX英雄" tvg-logo="https://i2.hdslb.com/bfs/face/e7e495c22cd554fe3c2e3c35f6dca6d8f3ac37a2.jpg",川岛花奈
|
||||
http://epg.112114.xyz/bili/356300
|
||||
#EXTINF:-1 group-title="小众游戏" tvg-logo="https://i1.hdslb.com/bfs/face/214304199d905812eb3b75164bfaeba041ed6025.jpg",三三三
|
||||
http://epg.112114.xyz/bili/21647612
|
||||
#EXTINF:-1 group-title="聊天电台" tvg-logo="https://i2.hdslb.com/bfs/face/9f364565cd19b0846085a07e6093735b41c2d9cf.jpg",五月cic
|
||||
http://epg.112114.xyz/bili/26628336
|
||||
#EXTINF:-1 group-title="虚拟Gamer" tvg-logo="https://i1.hdslb.com/bfs/face/8a321488cb8ca716b17d3700fbbc041f21c649a4.jpg",瓦妮Vanee
|
||||
http://epg.112114.xyz/bili/22288644
|
||||
#EXTINF:-1 group-title="游戏王" tvg-logo="https://i2.hdslb.com/bfs/face/d4d2756a08947f122282a066123f56cd875f3f9a.jpg",叫我瞎哥就好了
|
||||
http://epg.112114.xyz/bili/10421904
|
||||
#EXTINF:-1 group-title="英雄联盟" tvg-logo="https://i1.hdslb.com/bfs/face/bee0f88ab1977ee9991012d124f206ffb0f6ef47.jpg",喵仙人ovo
|
||||
http://epg.112114.xyz/bili/238736
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/86f1604f023dfaa0f01c46af72e7e298a1f7e5fe.jpg",司南浔
|
||||
http://epg.112114.xyz/bili/25394855
|
||||
#EXTINF:-1 group-title="我的世界" tvg-logo="https://i2.hdslb.com/bfs/face/e3779f840cbc3ce92f7b127c011756f56d912b28.jpg",瑕玟
|
||||
http://epg.112114.xyz/bili/11634566
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/afc457a61f7ea2ff97aeb53e0b57e37cf311e748.jpg",原神代肝代练阿青
|
||||
http://epg.112114.xyz/bili/26559376
|
||||
#EXTINF:-1 group-title="虚拟日常" tvg-logo="https://i1.hdslb.com/bfs/face/9793b7329e9817aeb5124061e03e211f5f4e9dab.jpg",衣笠雪绘
|
||||
http://epg.112114.xyz/bili/53915
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i0.hdslb.com/bfs/face/fddf1c72f9fc6448a10a08f0099fd8b1d0071e3d.jpg",原神代肝-森叔
|
||||
http://epg.112114.xyz/bili/25242739
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="http://i0.hdslb.com/bfs/face/905c99e1c215e8b4c35ab96fe85c35e3b6babf47.gif",茶叶不是叶茶
|
||||
http://epg.112114.xyz/bili/1954363
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i0.hdslb.com/bfs/face/c7ebb7165dd8012cded0417734254712a68f7398.jpg",Moyhan
|
||||
http://epg.112114.xyz/bili/483803
|
||||
#EXTINF:-1 group-title="最终幻想14" tvg-logo="https://i1.hdslb.com/bfs/face/9e71024b332621b6aa9868e8fbeee43c17fb6d76.jpg",巫女酱子
|
||||
http://epg.112114.xyz/bili/8183424
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/3cd3a147560012fd9e4d1db4b165f23e883a766e.jpg",大王大禺
|
||||
http://epg.112114.xyz/bili/26880282
|
||||
#EXTINF:-1 group-title="最终幻想14" tvg-logo="https://i0.hdslb.com/bfs/face/09c9050606d69b391c3fc3cf013284119759ec8f.jpg",迷你阿耶
|
||||
http://epg.112114.xyz/bili/9963228
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i0.hdslb.com/bfs/face/8f194b9156190829b8b00aa2bc5ad08e6dbfc191.jpg",冰舞桑
|
||||
http://epg.112114.xyz/bili/8521152
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i1.hdslb.com/bfs/face/7e89b6265c11ec9f65472b64629f9f0849680afa.jpg",Zz箜篌
|
||||
http://epg.112114.xyz/bili/22732661
|
||||
#EXTINF:-1 group-title="永劫无间" tvg-logo="https://i0.hdslb.com/bfs/face/4461a96558b182bb1ae11bd77e812f5d66fd5829.jpg",游戏女玲酱
|
||||
http://epg.112114.xyz/bili/24815128
|
||||
#EXTINF:-1 group-title="怀旧游戏" tvg-logo="https://i1.hdslb.com/bfs/face/db37e14fc12b82f9f9cb666da15263f7b49bc466.jpg",莲二喵
|
||||
http://epg.112114.xyz/bili/16771
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/80952d56b42ea1ef89e1983252ff65d7106f4585.jpg",lbaynaln
|
||||
http://epg.112114.xyz/bili/12926091
|
||||
#EXTINF:-1 group-title="崩坏:星穹铁道" tvg-logo="https://i2.hdslb.com/bfs/face/640c6183c337168a5dfc80f847ff4513a968020e.jpg",大壮S-
|
||||
http://epg.112114.xyz/bili/21530256
|
||||
#EXTINF:-1 group-title="崩坏:星穹铁道" tvg-logo="https://i1.hdslb.com/bfs/face/0e6d800e199b1ec88149d11ee142ef1141df3122.jpg",C丶PP
|
||||
http://epg.112114.xyz/bili/1625002
|
||||
#EXTINF:-1 group-title="影音馆" tvg-logo="https://i0.hdslb.com/bfs/face/4331f04595665afe7316a96f082f638fd29b7c38.jpg",ZPLVIDEO
|
||||
http://epg.112114.xyz/bili/22782888
|
||||
#EXTINF:-1 group-title="王者荣耀" tvg-logo="https://i1.hdslb.com/bfs/face/7aadac88a0fb7adfd400f9c23432a76fbeb83ad8.jpg",水凉-
|
||||
http://epg.112114.xyz/bili/26674363
|
||||
#EXTINF:-1 group-title="崩坏3" tvg-logo="https://i1.hdslb.com/bfs/face/d29cbc7cc825032853d5a71d90275026f3492608.jpg",我必将扭转万象
|
||||
http://epg.112114.xyz/bili/9946776
|
||||
#EXTINF:-1 group-title="英雄联盟" tvg-logo="https://i2.hdslb.com/bfs/face/928c47134593766fd8193786e70470c0a76820b7.jpg",小饼饼冲冲冲
|
||||
http://epg.112114.xyz/bili/24975142
|
||||
#EXTINF:-1 group-title="无期迷途" tvg-logo="https://i2.hdslb.com/bfs/face/c5813b509e56ad0c3b53c343acdaa4348afd0639.jpg",凛夜丶夜
|
||||
http://epg.112114.xyz/bili/25377492
|
||||
#EXTINF:-1 group-title="APEX英雄" tvg-logo="https://i2.hdslb.com/bfs/face/623c0098524bc442a4fd9420ec3ed426c685e3b0.jpg",-克礼无明-
|
||||
http://epg.112114.xyz/bili/22721475
|
||||
#EXTINF:-1 group-title="虚拟日常" tvg-logo="https://i0.hdslb.com/bfs/face/060c33c595560bdc1fdf77240f42ed253eaa373d.jpg",SamOfficial
|
||||
http://epg.112114.xyz/bili/24690703
|
||||
#EXTINF:-1 group-title="小众游戏" tvg-logo="https://i2.hdslb.com/bfs/face/1bba0fe118bf683fcc24f6e0ecbca76c050ccae4.jpg",斟酒_
|
||||
http://epg.112114.xyz/bili/25584892
|
||||
#EXTINF:-1 group-title="其他网游" tvg-logo="https://i2.hdslb.com/bfs/face/87efa46894ed85c911841045a5c42b01f153f374.jpg",风伴着琴声
|
||||
http://epg.112114.xyz/bili/3587071
|
||||
#EXTINF:-1 group-title="Dread Hunger" tvg-logo="https://i2.hdslb.com/bfs/face/4ee49abf595d26a854364bbb3f4dfabf42a612f4.jpg",北极大帅
|
||||
http://epg.112114.xyz/bili/25431249
|
||||
#EXTINF:-1 group-title="其他网游" tvg-logo="https://i0.hdslb.com/bfs/face/da529f3034288e395cb1adc4cf0b5b11722b27db.jpg",callme厉害y
|
||||
http://epg.112114.xyz/bili/14591770
|
||||
#EXTINF:-1 group-title="游戏王" tvg-logo="https://i1.hdslb.com/bfs/face/2d5ced8d5c9564914005920da31a2c475cb5e678.jpg",芋圆超奶
|
||||
http://epg.112114.xyz/bili/24424630
|
||||
#EXTINF:-1 group-title="唱见电台" tvg-logo="https://i1.hdslb.com/bfs/face/7c548abf5aef61ad400a1647b2ac71425cfc71a2.jpg",会唱歌的骆驼驼
|
||||
http://epg.112114.xyz/bili/24169042
|
||||
#EXTINF:-1 group-title="主机游戏" tvg-logo="https://i0.hdslb.com/bfs/face/61a4867603755750a024cf7f99767d577816d00a.jpg",不CARE仙森
|
||||
http://epg.112114.xyz/bili/23904824
|
||||
#EXTINF:-1 group-title="王者荣耀" tvg-logo="https://i2.hdslb.com/bfs/face/eee7dd51ecc7a0d6ea2732d4973ddf59506a7987.jpg",益达兄弟教会你
|
||||
http://epg.112114.xyz/bili/26737864
|
||||
#EXTINF:-1 group-title="LOL手游" tvg-logo="https://i2.hdslb.com/bfs/face/99adddec4b9ed970fb4d49c142a22ca9c24c5c04.jpg",秋枫伊
|
||||
http://epg.112114.xyz/bili/4472258
|
||||
#EXTINF:-1 group-title="多人语聊" tvg-logo="https://i1.hdslb.com/bfs/face/ee61eac195b9ac03c9a73333aa58147fce308459.jpg",深入了解-阿巳冠
|
||||
http://epg.112114.xyz/bili/26751642
|
||||
#EXTINF:-1 group-title="视频聊天" tvg-logo="https://i2.hdslb.com/bfs/face/f96eae659a450ddf4fe0bcbc32d5e11886ac0064.jpg",哼哼唧唧的懒锤锤
|
||||
http://epg.112114.xyz/bili/8848153
|
||||
#EXTINF:-1 group-title="恐怖游戏" tvg-logo="https://i0.hdslb.com/bfs/face/41d7b94f5e51b118fe98f8baf4cc5634c666ecd4.jpg",Zarz蛋蛋解说
|
||||
http://epg.112114.xyz/bili/23945197
|
||||
#EXTINF:-1 group-title="守望先锋" tvg-logo="https://i2.hdslb.com/bfs/face/1a0ca8cfb2c0e4e3875410ff3f637e9e2ca8e21a.jpg",Kyo_ow
|
||||
http://epg.112114.xyz/bili/7395955
|
||||
#EXTINF:-1 group-title="聊天电台" tvg-logo="https://i1.hdslb.com/bfs/face/1bbf7cc74225d669e7c7938fdd3cf8631a929232.jpg",奶油小点新
|
||||
http://epg.112114.xyz/bili/23515190
|
||||
#EXTINF:-1 group-title="守望先锋" tvg-logo="https://i0.hdslb.com/bfs/face/5afefe3af0a5bad053f7b6ce34ada022ba4446ba.jpg",ow成毅
|
||||
http://epg.112114.xyz/bili/13550856
|
||||
#EXTINF:-1 group-title="聊天电台" tvg-logo="https://i0.hdslb.com/bfs/face/b3aa1c6caa852041acbb54d5bf1e8cc22a9e79d8.jpg",吉祥物2月10号满月啦
|
||||
http://epg.112114.xyz/bili/26840313
|
||||
#EXTINF:-1 group-title="唱见电台" tvg-logo="https://i0.hdslb.com/bfs/face/dff362269373c96718b3238acc3df600c4ea10d4.jpg",连环爱豆_xox
|
||||
http://epg.112114.xyz/bili/26830626
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/ba7023e1ce551ffa57833fbf1c827707fc4a4711.jpg",Meow-西瓜酱
|
||||
http://epg.112114.xyz/bili/26782052
|
||||
#EXTINF:-1 group-title="聊天电台" tvg-logo="https://i1.hdslb.com/bfs/face/822e32a6ed0048c10b32520f2c60846b073a68d0.jpg",铁锤-姐姐
|
||||
http://epg.112114.xyz/bili/24805590
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/28c4853f717c2d0e45bf6b007cb04543d3817e32.jpg",阿媛ayo
|
||||
http://epg.112114.xyz/bili/23494168
|
||||
#EXTINF:-1 group-title="LOL手游" tvg-logo="https://i2.hdslb.com/bfs/face/956e7aebbe8ba409a5604bd17454239a93e8b120.jpg",lolm猫九
|
||||
http://epg.112114.xyz/bili/23481767
|
||||
#EXTINF:-1 group-title="聊天电台" tvg-logo="https://i1.hdslb.com/bfs/face/f63fe4a6dd7309947af3c90c121b63d981618f5b.jpg",橙橙小猫咪kana
|
||||
http://epg.112114.xyz/bili/26756008
|
||||
#EXTINF:-1 group-title="王者荣耀" tvg-logo="https://i2.hdslb.com/bfs/face/8c52e5c971e5d5a5ff1a960630a7234c8eccb131.jpg",桃桃汽水蜜
|
||||
http://epg.112114.xyz/bili/5121693
|
||||
#EXTINF:-1 group-title="舞见" tvg-logo="https://i2.hdslb.com/bfs/face/9fe42c43b0906dcb0ca7f68dd011014c30f05286.jpg",早早喂不饱
|
||||
http://epg.112114.xyz/bili/25977413
|
||||
#EXTINF:-1 group-title="崩坏3" tvg-logo="https://i2.hdslb.com/bfs/face/246e4086e757facdf2aaeacc48796f0cab66199a.jpg",米菈老姐
|
||||
http://epg.112114.xyz/bili/3909481
|
||||
#EXTINF:-1 group-title="聊天电台" tvg-logo="https://i2.hdslb.com/bfs/face/397a5ca384373f4fbb8b368b098ca912dbe65025.jpg",月绛八分甜
|
||||
http://epg.112114.xyz/bili/26551342
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/09956010d8ad1f4db74596a6b8ca139db080c9d9.jpg",是醉云吖
|
||||
http://epg.112114.xyz/bili/2465257
|
||||
#EXTINF:-1 group-title="小众游戏" tvg-logo="http://i0.hdslb.com/bfs/face/b7cc835b1707a620ef59b73b149b2b5e4f019189.jpg",老李来自北方
|
||||
http://epg.112114.xyz/bili/7499963
|
||||
#EXTINF:-1 group-title="虚拟日常" tvg-logo="https://i1.hdslb.com/bfs/face/46295c19417f56126ddf3eaf14baed13d3c43965.jpg",悠悠璇酱
|
||||
http://epg.112114.xyz/bili/26630029
|
||||
#EXTINF:-1 group-title="CS:GO" tvg-logo="https://i2.hdslb.com/bfs/face/02b987ace56f988d94075511a1ac60a647e2a6cb.jpg",CSGO专情
|
||||
http://epg.112114.xyz/bili/27044328
|
||||
#EXTINF:-1 group-title="恐怖游戏" tvg-logo="https://i2.hdslb.com/bfs/face/7a58e86a78c0fbdd6e36cf5c45ccc5c5e6d4bb9c.jpg",蓝若羽
|
||||
http://epg.112114.xyz/bili/22985287
|
||||
#EXTINF:-1 group-title="APEX英雄" tvg-logo="https://i1.hdslb.com/bfs/face/47e28acad4f595a82e426ebd5996dc86bbae2e17.jpg",是猫玖玖玖
|
||||
http://epg.112114.xyz/bili/9277023
|
||||
#EXTINF:-1 group-title="无畏契约" tvg-logo="https://i1.hdslb.com/bfs/face/2349ba165864da7246229897a2588903843784b4.jpg",樱满月QAQ
|
||||
http://epg.112114.xyz/bili/3858589
|
||||
#EXTINF:-1 group-title="英雄联盟" tvg-logo="https://i2.hdslb.com/bfs/face/6ec673a27e11ddc4c73756d54cb3b141a707c1ee.jpg",小鲤超c
|
||||
http://epg.112114.xyz/bili/7777548
|
||||
#EXTINF:-1 group-title="王者荣耀" tvg-logo="https://i2.hdslb.com/bfs/face/c6d62b05bd932abfdf6e7b88743ed255045b8c0b.jpg",小囡朵-女野王
|
||||
http://epg.112114.xyz/bili/26217920
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i0.hdslb.com/bfs/face/8e1cd1dc17a2ec76158470b92d0eef9e3487413d.jpg",强式招牌米线
|
||||
http://epg.112114.xyz/bili/26512634
|
||||
#EXTINF:-1 group-title="永劫无间" tvg-logo="https://i1.hdslb.com/bfs/face/83142c36faa257fa1a2dda65ff7d1964b602815f.jpg",是西瓜皮小寶貝o
|
||||
http://epg.112114.xyz/bili/22244743
|
||||
#EXTINF:-1 group-title="主机游戏" tvg-logo="https://i1.hdslb.com/bfs/face/9adc757ef8cbc87932c0e272722a886b84bdafa5.jpg",二次元猫月喵
|
||||
http://epg.112114.xyz/bili/508281
|
||||
#EXTINF:-1 group-title="手工绘画" tvg-logo="https://i2.hdslb.com/bfs/face/d01d91d1940e6c262651254f7cc6fc52f923a6d1.jpg",飛弟酱
|
||||
http://epg.112114.xyz/bili/6456525
|
||||
#EXTINF:-1 group-title="狼人杀" tvg-logo="https://i1.hdslb.com/bfs/face/3bdf920646e1398d9634a0c83ffd22b2f6e640a7.jpg",驭狼术
|
||||
http://epg.112114.xyz/bili/24214276
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/4a80e3cc7e1d81622f56758b4eedfa8c2cdcbc1a.jpg",苹果笠
|
||||
http://epg.112114.xyz/bili/8215418
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i1.hdslb.com/bfs/face/d024f505498e1eeca8704fd76ec042a94b3ae652.jpg",伟-子-汐
|
||||
http://epg.112114.xyz/bili/1215478
|
||||
#EXTINF:-1 group-title="第五人格" tvg-logo="https://i0.hdslb.com/bfs/face/5f789dbd30fb534c7fdd6e366efa94772c3163ca.jpg",柴桌酱table
|
||||
http://epg.112114.xyz/bili/1572196
|
||||
#EXTINF:-1 group-title="怪物猎人" tvg-logo="https://i0.hdslb.com/bfs/face/88388d8924f05c35e3b31d34ba5809bf6fd3d5bf.jpg",更新姬Tama
|
||||
http://epg.112114.xyz/bili/25268
|
||||
#EXTINF:-1 group-title="主机游戏" tvg-logo="https://i1.hdslb.com/bfs/face/828f8c279557b391bc566bc054f8f4047dc882a8.jpg",高橘橘橘长
|
||||
http://epg.112114.xyz/bili/23129875
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i1.hdslb.com/bfs/face/06e5346adca50a04a79035d2d132532c75e5f93d.jpg",胡桃桃の
|
||||
http://epg.112114.xyz/bili/23916485
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/fb970a9f173fdb878412bd88540d0171c0cc75d6.jpg",进击dei学霸
|
||||
http://epg.112114.xyz/bili/26508024
|
||||
#EXTINF:-1 group-title="火影忍者手游" tvg-logo="https://i0.hdslb.com/bfs/face/fe652de1987732d7f94ae38792756c1a3ad1e1fe.jpg",B站天齐
|
||||
http://epg.112114.xyz/bili/14645676
|
||||
#EXTINF:-1 group-title="LOL手游" tvg-logo="https://i0.hdslb.com/bfs/face/1efaa72661f203444953973c34076e74c7c7ef38.jpg",凶国
|
||||
http://epg.112114.xyz/bili/24899765
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/30d980d388c0edc6173230bf118c43ff77a5f6c4.jpg",飞鱼很强的
|
||||
http://epg.112114.xyz/bili/25029438
|
||||
#EXTINF:-1 group-title="明日方舟" tvg-logo="https://i1.hdslb.com/bfs/face/3400933feb3d217bbba9b64fdc19490e7a275832.jpg",超级Vc鸭
|
||||
http://epg.112114.xyz/bili/21308674
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i2.hdslb.com/bfs/face/b99076e95731cad2da1864444985bb78073483f0.jpg",莫娜摸鱼专用
|
||||
http://epg.112114.xyz/bili/4029670
|
||||
#EXTINF:-1 group-title="第五人格" tvg-logo="https://i0.hdslb.com/bfs/face/d9c6ea0cf4ac536e81fa778ce067e1fc542c37f7.jpg",第五人格格局
|
||||
http://epg.112114.xyz/bili/25850757
|
||||
#EXTINF:-1 group-title="其他网游" tvg-logo="https://i2.hdslb.com/bfs/face/14c15ffce076906d1ce58ea76e3f80cee0f594b7.jpg",SD染
|
||||
http://epg.112114.xyz/bili/1189718
|
||||
#EXTINF:-1 group-title="影音馆" tvg-logo="https://i1.hdslb.com/bfs/face/97b5b5bd17f2185d08f2a2221c5c6ce549ee53de.jpg",慢熟草莓
|
||||
http://epg.112114.xyz/bili/24622261
|
||||
#EXTINF:-1 group-title="小众游戏" tvg-logo="https://i2.hdslb.com/bfs/face/fe5df961749ce724e9a5637033918603ff6f83b5.jpg",FIFA罗罗托马西
|
||||
http://epg.112114.xyz/bili/24144465
|
||||
#EXTINF:-1 group-title="职场·技能" tvg-logo="https://i0.hdslb.com/bfs/face/5b0da092097e908ab0ab90d5e7481e456be73102.jpg",3D游戏建模
|
||||
http://epg.112114.xyz/bili/22427737
|
||||
#EXTINF:-1 group-title="虚拟Gamer" tvg-logo="https://i2.hdslb.com/bfs/face/bf827eb5b8c739608ed2f350708020bf6d2b023d.jpg",斯卡若official
|
||||
http://epg.112114.xyz/bili/4793052
|
||||
#EXTINF:-1 group-title="唱见电台" tvg-logo="https://i1.hdslb.com/bfs/face/8eb2dc01871c13196e0d315588f9031413c517a3.jpg",常态-Captain
|
||||
http://epg.112114.xyz/bili/25709962
|
||||
#EXTINF:-1 group-title="英雄联盟" tvg-logo="https://i2.hdslb.com/bfs/face/89031077f5f22842617923472b6af6e820c595fe.jpg",404jug
|
||||
http://epg.112114.xyz/bili/26228451
|
||||
#EXTINF:-1 group-title="视频聊天" tvg-logo="https://i2.hdslb.com/bfs/face/e8a1e231544c8f546b649e53dbc024f7062f803d.jpg",小羊啾咪糖
|
||||
http://epg.112114.xyz/bili/27016628
|
||||
#EXTINF:-1 group-title="无畏契约" tvg-logo="https://i1.hdslb.com/bfs/face/7636ed2d42126aafe7f0f1965c20588610afb423.jpg",九眼魇
|
||||
http://epg.112114.xyz/bili/4895757
|
||||
#EXTINF:-1 group-title="小众游戏" tvg-logo="https://i1.hdslb.com/bfs/face/79d6181df494b5d67ccc55241c91d9db793cda93.jpg",黑之丶死神
|
||||
http://epg.112114.xyz/bili/4715209
|
||||
#EXTINF:-1 group-title="逃离塔科夫" tvg-logo="https://i2.hdslb.com/bfs/face/64e1b1e7b7a50db8bfe1e561382c5097812c8eed.jpg",烟雾小五郎
|
||||
http://epg.112114.xyz/bili/7981288
|
||||
#EXTINF:-1 group-title="命运2" tvg-logo="https://i2.hdslb.com/bfs/face/47c06741bd842efc3abcdd31983bdb94251c548c.jpg",BabyYaYa-
|
||||
http://epg.112114.xyz/bili/2459140
|
||||
#EXTINF:-1 group-title="命运2" tvg-logo="https://i1.hdslb.com/bfs/face/c9920cf9d625752d712f3dff97f22cb9933137a2.jpg",Dva白给兔
|
||||
http://epg.112114.xyz/bili/9249229
|
||||
#EXTINF:-1 group-title="独立游戏" tvg-logo="https://i1.hdslb.com/bfs/face/5619ad6a35912c13a79e179ea4ba6179ca59559a.jpg",混混孜official
|
||||
http://epg.112114.xyz/bili/542080
|
||||
#EXTINF:-1 group-title="怀旧游戏" tvg-logo="https://i2.hdslb.com/bfs/face/23e24c9e323bef4d88c9405cd3b12f420f6cc788.jpg",幻森AI奇花0o
|
||||
http://epg.112114.xyz/bili/7921236
|
||||
#EXTINF:-1 group-title="英雄联盟" tvg-logo="https://i2.hdslb.com/bfs/face/f10ad6ff6008671692f4b2e6326e46af90d42fb9.jpg",铁龟龟
|
||||
http://epg.112114.xyz/bili/12654904
|
||||
#EXTINF:-1 group-title="斯普拉遁3" tvg-logo="https://i0.hdslb.com/bfs/face/f6ad10f62d9caad5127510a7813c4e441538f5b8.jpg",爆_Channel
|
||||
http://epg.112114.xyz/bili/7260758
|
||||
#EXTINF:-1 group-title="LOL手游" tvg-logo="https://i2.hdslb.com/bfs/face/290a721d012966d17f436465eb29f6112d9562d2.jpg",吖丫吖丫丫
|
||||
http://epg.112114.xyz/bili/25575886
|
||||
#EXTINF:-1 group-title="其他手游" tvg-logo="https://i0.hdslb.com/bfs/face/cb67aa3e9ff1d100ca5d0b133f0393118ba697e6.jpg",海岛奇兵-天之御中
|
||||
http://epg.112114.xyz/bili/22599728
|
||||
#EXTINF:-1 group-title="原神" tvg-logo="https://i0.hdslb.com/bfs/face/18a3404830ccc1ba02303c65cbad463a4ab54d08.jpg",YS-雨丝XU
|
||||
http://epg.112114.xyz/bili/26467527
|
||||
618
js/bili_open.js
Normal file
618
js/bili_open.js
Normal file
@@ -0,0 +1,618 @@
|
||||
import { Crypto, jinja2, _ } from 'assets://js/lib/cat.js';
|
||||
|
||||
let siteKey = '';
|
||||
let siteType = 0;
|
||||
|
||||
let cookie = '';
|
||||
let login = '';
|
||||
let vip = false;
|
||||
let extendObj = {};
|
||||
let bili_jct = '';
|
||||
let vod_audio_id = {
|
||||
30280: 192000,
|
||||
30232: 132000,
|
||||
30216: 64000,
|
||||
};
|
||||
|
||||
let vod_codec = {
|
||||
// 13: 'AV1',
|
||||
12: 'HEVC',
|
||||
7: 'AVC',
|
||||
};
|
||||
|
||||
const UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36';
|
||||
|
||||
async function request(reqUrl, ua, buffer) {
|
||||
let res = await req(reqUrl, {
|
||||
method: 'get',
|
||||
headers: ua ? ua : { 'User-Agent': UA },
|
||||
timeout: 60000,
|
||||
buffer: buffer ? 1 : 0,
|
||||
});
|
||||
return res.content;
|
||||
}
|
||||
|
||||
async function post(reqUrl, postData, ua, posttype) {
|
||||
let res = await req(reqUrl, {
|
||||
method: 'post',
|
||||
headers: ua ? ua : { 'User-Agent': UA },
|
||||
data: postData,
|
||||
timeout: 60000,
|
||||
postType: posttype,
|
||||
});
|
||||
return res.content;
|
||||
}
|
||||
|
||||
function getHeaders() {
|
||||
const headers = {
|
||||
'User-Agent': UA,
|
||||
};
|
||||
if (!_.isEmpty(cookie)) {
|
||||
headers.cookie = cookie;
|
||||
}
|
||||
return headers;
|
||||
}
|
||||
|
||||
async function getCookie() {
|
||||
let result = await req('https://www.bilibili.com', {
|
||||
method: 'get',
|
||||
headers: { 'User-Agent': UA },
|
||||
timeout: 60000,
|
||||
});
|
||||
const setCookieHeaders = result.headers['set-cookie'];
|
||||
cookie = setCookieHeaders.map((kk) => kk.split(';')[0] + ';').join('');
|
||||
}
|
||||
|
||||
async function init(cfg) {
|
||||
siteKey = cfg.skey;
|
||||
siteType = cfg.stype;
|
||||
let extend = cfg.ext;
|
||||
|
||||
if (cfg.ext.hasOwnProperty('categories')) extend = cfg.ext.categories;
|
||||
if (cfg.ext.hasOwnProperty('cookie')) cookie = cfg.ext.cookie;
|
||||
// 获取csrf
|
||||
const cookies = cookie.split(';');
|
||||
cookies.forEach(cookie => {
|
||||
if (cookie.includes('bili_jct')) {
|
||||
bili_jct = cookie.split('=')[1];
|
||||
}
|
||||
});
|
||||
|
||||
if (_.isEmpty(cookie)) await getCookie();
|
||||
let result = JSON.parse(await request('https://api.bilibili.com/x/web-interface/nav', getHeaders()));
|
||||
login = result.data.isLogin;
|
||||
vip = result.data.vipStatus;
|
||||
const ext = extend.split('#');
|
||||
const jsonData = [
|
||||
{
|
||||
key: 'order',
|
||||
name: '排序',
|
||||
value: [
|
||||
{ n: '综合排序', v: '0' },
|
||||
{ n: '最多点击', v: 'click' },
|
||||
{ n: '最新发布', v: 'pubdate' },
|
||||
{ n: '最多弹幕', v: 'dm' },
|
||||
{ n: '最多收藏', v: 'stow' },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'duration',
|
||||
name: '时长',
|
||||
value: [
|
||||
{ n: '全部时长', v: '0' },
|
||||
{ n: '60分钟以上', v: '4' },
|
||||
{ n: '30~60分钟', v: '3' },
|
||||
{ n: '10~30分钟', v: '2' },
|
||||
{ n: '10分钟以下', v: '1' },
|
||||
],
|
||||
},
|
||||
];
|
||||
const newarr = [];
|
||||
const d = {};
|
||||
const sc = {
|
||||
type_name: "首页",
|
||||
type_id: "首页",
|
||||
land: 1,
|
||||
ratio: 1.33,
|
||||
}
|
||||
newarr.push(sc);
|
||||
for (const kk of ext) {
|
||||
const c = {
|
||||
type_name: kk,
|
||||
type_id: kk,
|
||||
land: 1,
|
||||
ratio: 1.33,
|
||||
};
|
||||
newarr.push(c);
|
||||
d[kk] = jsonData;
|
||||
}
|
||||
if (!_.isEmpty(bili_jct)) {
|
||||
const hc = {
|
||||
type_name: "历史记录",
|
||||
type_id: "历史记录",
|
||||
land: 1,
|
||||
ratio: 1.33,
|
||||
}
|
||||
newarr.push(hc);
|
||||
}
|
||||
extendObj = {
|
||||
classes: newarr,
|
||||
filter: d,
|
||||
};
|
||||
}
|
||||
|
||||
function home(filter) {
|
||||
try {
|
||||
const jSONObject = {
|
||||
class: extendObj.classes,
|
||||
};
|
||||
if (filter) {
|
||||
jSONObject.filters = extendObj.filter;
|
||||
}
|
||||
return JSON.stringify(jSONObject);
|
||||
} catch (e) {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
async function homeVod() {
|
||||
try {
|
||||
const list = [];
|
||||
const url = 'https://api.bilibili.com/x/web-interface/index/top/rcmd?ps=14&fresh_idx=1&fresh_idx_1h=1';
|
||||
|
||||
const response = await request(url, getHeaders());
|
||||
const responseData = JSON.parse(response);
|
||||
const vods = responseData.data.item;
|
||||
|
||||
for (const item of vods) {
|
||||
const vod = {};
|
||||
let imageUrl = item.pic;
|
||||
if (imageUrl.startsWith('//')) {
|
||||
imageUrl = 'https:' + imageUrl;
|
||||
}
|
||||
let cd = getFullTime(item.duration);
|
||||
|
||||
vod.vod_id = item.bvid;
|
||||
vod.vod_name = removeTags(item.title);
|
||||
vod.vod_pic = imageUrl;
|
||||
vod.vod_remarks = cd;
|
||||
vod.style = {
|
||||
type: 'rect',
|
||||
ratio: 1.33,
|
||||
},
|
||||
list.push(vod);
|
||||
}
|
||||
|
||||
const result = { list: list };
|
||||
return JSON.stringify(result);
|
||||
} catch (e) { }
|
||||
}
|
||||
|
||||
async function category(tid, page, filter, ext) {
|
||||
if (page < 1) page = 1;
|
||||
try {
|
||||
if (Object.keys(ext).length > 0 && ext.hasOwnProperty('tid') && ext['tid'].length > 0) {
|
||||
tid = ext['tid'];
|
||||
}
|
||||
let url = '';
|
||||
url = `https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword=${encodeURIComponent(tid)}`;
|
||||
|
||||
if (Object.keys(ext).length > 0) {
|
||||
for (const k in ext) {
|
||||
if (k == 'tid') {
|
||||
continue;
|
||||
}
|
||||
url += `&${encodeURIComponent(k)}=${encodeURIComponent(ext[k])}`;
|
||||
}
|
||||
}
|
||||
|
||||
url += `&page=${encodeURIComponent(page)}`;
|
||||
|
||||
if (tid == "首页") {
|
||||
url = "https://api.bilibili.com/x/web-interface/index/top/rcmd?ps=14&fresh_idx=" + page + "&fresh_idx_1h=" + page;
|
||||
} else if (tid == "历史记录") {
|
||||
url = "https://api.bilibili.com/x/v2/history?pn=" + page;
|
||||
}
|
||||
|
||||
const data = JSON.parse(await request(url, getHeaders())).data;
|
||||
let items = data.result;
|
||||
if (tid == "首页") {
|
||||
items = data.item;
|
||||
} else if (tid == "历史记录") {
|
||||
items = data;
|
||||
}
|
||||
|
||||
const videos = [];
|
||||
for (const item of items) {
|
||||
const video = {};
|
||||
let pic = item.pic;
|
||||
if (pic.startsWith('//')) {
|
||||
pic = 'https:' + pic;
|
||||
}
|
||||
let cd = getFullTime(item.duration);
|
||||
|
||||
video.vod_remarks = cd;
|
||||
video.vod_id = item.bvid;
|
||||
video.vod_name = removeTags(item.title);
|
||||
video.vod_pic = pic;
|
||||
|
||||
video.style = {
|
||||
type: 'rect',
|
||||
ratio: 1.33,
|
||||
},
|
||||
videos.push(video);
|
||||
}
|
||||
|
||||
const result = {
|
||||
page: page,
|
||||
pagecount: data.numPages ?? (page + 1),
|
||||
limit: videos.length,
|
||||
total: videos.length * (page + 1),
|
||||
list: videos,
|
||||
};
|
||||
|
||||
return JSON.stringify(result);
|
||||
} catch (e) { }
|
||||
return null;
|
||||
}
|
||||
|
||||
async function detail(ids) {
|
||||
try {
|
||||
const bvid = ids;
|
||||
const detailUrl = `https://api.bilibili.com/x/web-interface/view?bvid=${bvid}`;
|
||||
|
||||
const detailData = JSON.parse(await request(detailUrl, getHeaders())).data;
|
||||
// 记录历史
|
||||
if (!_.isEmpty(bili_jct)) {
|
||||
const historyReport = 'https://api.bilibili.com/x/v2/history/report';
|
||||
let dataPost = {
|
||||
aid: detailData.aid,
|
||||
cid: detailData.cid,
|
||||
csrf: bili_jct,
|
||||
}
|
||||
await post(historyReport, dataPost, getHeaders(), 'form');
|
||||
}
|
||||
let cd = getFullTime(detailData.duration);
|
||||
const aid = detailData.aid;
|
||||
const video = {
|
||||
vod_id: bvid,
|
||||
vod_name: detailData.title,
|
||||
vod_pic: detailData.pic,
|
||||
type_name: detailData.tname,
|
||||
vod_year: '',
|
||||
vod_area: '',
|
||||
vod_remarks: cd,
|
||||
vod_actor: '',
|
||||
vod_director: '',
|
||||
vod_content: detailData.desc,
|
||||
};
|
||||
|
||||
const playurldata = 'https://api.bilibili.com/x/player/playurl?avid=' + aid + '&cid=' + detailData.cid + '&qn=127&fnval=4048&fourk=1';
|
||||
const playurldatas = JSON.parse(await request(playurldata, getHeaders()));
|
||||
|
||||
const playurldatalist = playurldatas.data;
|
||||
const accept_quality = playurldatalist.accept_quality;
|
||||
const accept_description = playurldatalist.accept_description;
|
||||
const qualitylist = [];
|
||||
const descriptionList = [];
|
||||
|
||||
for (let i = 0; i < accept_quality.length; i++) {
|
||||
if (!vip) {
|
||||
if (!login) {
|
||||
if (accept_quality[i] > 32) continue;
|
||||
} else {
|
||||
if (accept_quality[i] > 80) continue;
|
||||
}
|
||||
}
|
||||
descriptionList.push(base64Encode(accept_description[i]));
|
||||
qualitylist.push(accept_quality[i]);
|
||||
}
|
||||
|
||||
let treeMap = {};
|
||||
const jSONArray = detailData.pages;
|
||||
let playList = [];
|
||||
for (let j = 0; j < jSONArray.length; j++) {
|
||||
const jSONObject6 = jSONArray[j];
|
||||
const cid = jSONObject6.cid;
|
||||
const playUrl = j + '$' + aid + '+' + cid + '+' + qualitylist.join(':') + '+' + descriptionList.join(':');
|
||||
playList.push(playUrl);
|
||||
}
|
||||
treeMap['dash'] = playList.join('#');
|
||||
treeMap['mp4'] = playList.join('#');
|
||||
|
||||
const relatedUrl = 'https://api.bilibili.com/x/web-interface/archive/related?bvid=' + bvid;
|
||||
const relatedData = JSON.parse(await request(relatedUrl, getHeaders())).data;
|
||||
playList = [];
|
||||
for (let j = 0; j < relatedData.length; j++) {
|
||||
const jSONObject6 = relatedData[j];
|
||||
const cid = jSONObject6.cid;
|
||||
const title = jSONObject6.title;
|
||||
const aaid = jSONObject6.aid;
|
||||
const playUrl = title + '$' + aaid + '+' + cid + '+' + qualitylist.join(':') + '+' + descriptionList.join(':');
|
||||
playList.push(playUrl);
|
||||
}
|
||||
treeMap['相关'] = playList.join('#');
|
||||
|
||||
video.vod_play_from = Object.keys(treeMap).join("$$$");
|
||||
video.vod_play_url = Object.values(treeMap).join("$$$");
|
||||
|
||||
const list = [video];
|
||||
const result = { list };
|
||||
return JSON.stringify(result);
|
||||
} catch (e) { }
|
||||
return null;
|
||||
}
|
||||
|
||||
async function play(flag, id, flags) {
|
||||
try {
|
||||
const playHeaders = { Referer: 'https://www.bilibili.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36' };
|
||||
const ids = id.split('+');
|
||||
const aid = ids[0];
|
||||
const cid = ids[1];
|
||||
const qualityIds = ids[2].split(':');
|
||||
const qualityName = ids[3].split(':');
|
||||
if (flag == 'dash' || flag == '相关') {
|
||||
// dash mpd 代理
|
||||
const js2Base = await js2Proxy(true, siteType, siteKey, 'dash/', {});
|
||||
let urls = [];
|
||||
for (let i = 0; i < qualityIds.length; i++) {
|
||||
urls.push(base64Decode(qualityName[i]), js2Base + base64Encode(aid + '+' + cid + '+' + qualityIds[i]));
|
||||
}
|
||||
return JSON.stringify({
|
||||
parse: 0,
|
||||
url: urls,
|
||||
header: playHeaders,
|
||||
});
|
||||
} else if (flag == 'mp4') {
|
||||
// 直链
|
||||
let urls = [];
|
||||
for (let i = 0; i < qualityIds.length; i++) {
|
||||
const url = `https://api.bilibili.com/x/player/playurl?avid=${aid}&cid=${cid}&qn=${qualityIds[i]}&fourk=1`;
|
||||
const resp = JSON.parse(await request(url, getHeaders()));
|
||||
const data = resp.data;
|
||||
if (data.quality != qualityIds[i]) continue;
|
||||
let durl = data.durl[0].url;
|
||||
urls.push(base64Decode(qualityName[i]), durl);
|
||||
}
|
||||
|
||||
return JSON.stringify({
|
||||
parse: 0,
|
||||
url: urls,
|
||||
header: playHeaders,
|
||||
});
|
||||
} else {
|
||||
// 音频外挂
|
||||
let urls = [];
|
||||
let audios = [];
|
||||
for (let i = 0; i < qualityIds.length; i++) {
|
||||
const url = `https://api.bilibili.com/x/player/playurl?avid=${aid}&cid=${cid}&qn=${qualityIds[i]}&fnval=4048&fourk=1`;
|
||||
let resp = JSON.parse(await request(url, getHeaders()));
|
||||
const dash = resp.data.dash;
|
||||
const video = dash.video;
|
||||
const audio = dash.audio;
|
||||
for (let j = 0; j < video.length; j++) {
|
||||
const dashjson = video[j];
|
||||
if (dashjson.id == qualityIds[i]) {
|
||||
for (const key in vod_codec) {
|
||||
if (dashjson.codecid == key) {
|
||||
urls.push(base64Decode(qualityName[i]) + ' ' + vod_codec[key], dashjson.baseUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (audios.length == 0) {
|
||||
for (let j = 0; j < audio.length; j++) {
|
||||
const dashjson = audio[j];
|
||||
for (const key in vod_audio_id) {
|
||||
if (dashjson.id == key) {
|
||||
audios.push({
|
||||
title: _.floor(parseInt(vod_audio_id[key]) / 1024) + 'Kbps',
|
||||
bit: vod_audio_id[key],
|
||||
url: dashjson.baseUrl,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
audios = _.sortBy(audios, 'bit');
|
||||
}
|
||||
}
|
||||
|
||||
return JSON.stringify({
|
||||
parse: 0,
|
||||
url: urls,
|
||||
extra: {
|
||||
audio: audios,
|
||||
},
|
||||
header: playHeaders,
|
||||
});
|
||||
}
|
||||
} catch (e) { }
|
||||
return null;
|
||||
}
|
||||
|
||||
async function search(key, quick, pg) {
|
||||
let page = pg || 1;
|
||||
if (page == 0) page = 1;
|
||||
try {
|
||||
const ext = {
|
||||
duration: '0',
|
||||
};
|
||||
let resp = JSON.parse(await category(key, page, true, ext));
|
||||
const catVideos = resp.list;
|
||||
const pageCount = resp.pagecount;
|
||||
const videos = [];
|
||||
for (let i = 0; i < catVideos.length; ++i) {
|
||||
videos.push(catVideos[i]);
|
||||
}
|
||||
const result = {
|
||||
page: page,
|
||||
pagecount: pageCount,
|
||||
land: 1,
|
||||
ratio: 1.33,
|
||||
list: videos,
|
||||
};
|
||||
return JSON.stringify(result);
|
||||
} catch (e) { }
|
||||
return null;
|
||||
}
|
||||
|
||||
async function proxy(segments, headers) {
|
||||
let what = segments[0];
|
||||
let url = base64Decode(segments[1]);
|
||||
if (what == 'dash') {
|
||||
const ids = url.split('+');
|
||||
const aid = ids[0];
|
||||
const cid = ids[1];
|
||||
const str5 = ids[2];
|
||||
const urls = `https://api.bilibili.com/x/player/playurl?avid=${aid}&cid=${cid}&qn=${str5}&fnval=4048&fourk=1`;
|
||||
let videoList = '';
|
||||
let audioList = '';
|
||||
|
||||
let resp = JSON.parse(await request(urls, getHeaders()));
|
||||
const dash = resp.data.dash;
|
||||
const video = dash.video;
|
||||
const audio = dash.audio;
|
||||
|
||||
for (let i = 0; i < video.length; i++) {
|
||||
// if (i > 0) continue; // 只取一个
|
||||
const dashjson = video[i];
|
||||
if (dashjson.id == str5) {
|
||||
videoList += getDashMedia(dashjson);
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 0; i < audio.length; i++) {
|
||||
// if (i > 0) continue;
|
||||
const ajson = audio[i];
|
||||
for (const key in vod_audio_id) {
|
||||
if (ajson.id == key) {
|
||||
audioList += getDashMedia(ajson);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let mpd = getDash(resp, videoList, audioList);
|
||||
|
||||
return JSON.stringify({
|
||||
code: 200,
|
||||
content: mpd,
|
||||
headers: {
|
||||
'Content-Type': 'application/dash+xml',
|
||||
},
|
||||
});
|
||||
}
|
||||
return JSON.stringify({
|
||||
code: 500,
|
||||
content: '',
|
||||
});
|
||||
}
|
||||
|
||||
function getDashMedia(dash) {
|
||||
try {
|
||||
let qnid = dash.id;
|
||||
const codecid = dash.codecid;
|
||||
const media_codecs = dash.codecs;
|
||||
const media_bandwidth = dash.bandwidth;
|
||||
const media_startWithSAP = dash.startWithSap;
|
||||
const media_mimeType = dash.mimeType;
|
||||
const media_BaseURL = dash.baseUrl.replace(/&/g, '&');
|
||||
const media_SegmentBase_indexRange = dash.SegmentBase.indexRange;
|
||||
const media_SegmentBase_Initialization = dash.SegmentBase.Initialization;
|
||||
const mediaType = media_mimeType.split('/')[0];
|
||||
let media_type_params = '';
|
||||
|
||||
if (mediaType == 'video') {
|
||||
const media_frameRate = dash.frameRate;
|
||||
const media_sar = dash.sar;
|
||||
const media_width = dash.width;
|
||||
const media_height = dash.height;
|
||||
media_type_params = `height='${media_height}' width='${media_width}' frameRate='${media_frameRate}' sar='${media_sar}'`;
|
||||
} else if (mediaType == 'audio') {
|
||||
for (const key in vod_audio_id) {
|
||||
if (qnid == key) {
|
||||
const audioSamplingRate = vod_audio_id[key];
|
||||
media_type_params = `numChannels='2' sampleRate='${audioSamplingRate}'`;
|
||||
}
|
||||
}
|
||||
}
|
||||
qnid += '_' + codecid;
|
||||
|
||||
return `<AdaptationSet lang="chi">
|
||||
<ContentComponent contentType="${mediaType}"/>
|
||||
<Representation id="${qnid}" bandwidth="${media_bandwidth}" codecs="${media_codecs}" mimeType="${media_mimeType}" ${media_type_params} startWithSAP="${media_startWithSAP}">
|
||||
<BaseURL>${media_BaseURL}</BaseURL>
|
||||
<SegmentBase indexRange="${media_SegmentBase_indexRange}">
|
||||
<Initialization range="${media_SegmentBase_Initialization}"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>`;
|
||||
} catch (e) {
|
||||
// Handle exceptions here
|
||||
}
|
||||
}
|
||||
|
||||
function getDash(ja, videoList, audioList) {
|
||||
const duration = ja.data.dash.duration;
|
||||
const minBufferTime = ja.data.dash.minBufferTime;
|
||||
return `<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" type="static" mediaPresentationDuration="PT${duration}S" minBufferTime="PT${minBufferTime}S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011">
|
||||
<Period duration="PT${duration}S" start="PT0S">
|
||||
${videoList}
|
||||
${audioList}
|
||||
</Period>
|
||||
</MPD>`;
|
||||
}
|
||||
|
||||
|
||||
function base64Encode(text) {
|
||||
return Crypto.enc.Base64.stringify(Crypto.enc.Utf8.parse(text));
|
||||
}
|
||||
|
||||
function base64Decode(text) {
|
||||
return Crypto.enc.Utf8.stringify(Crypto.enc.Base64.parse(text));
|
||||
}
|
||||
|
||||
|
||||
|
||||
function removeTags(input) {
|
||||
return input.replace(/<[^>]*>/g, '');
|
||||
}
|
||||
|
||||
function getFullTime(numberSec) {
|
||||
let totalSeconds = '';
|
||||
try {
|
||||
var timeParts = numberSec.split(":");
|
||||
var min = parseInt(timeParts[0]);
|
||||
var sec = parseInt(timeParts[1]);
|
||||
totalSeconds = min * 60 + sec;
|
||||
} catch (e) {
|
||||
totalSeconds = parseInt(numberSec);
|
||||
}
|
||||
if (isNaN(totalSeconds)) {
|
||||
return '无效输入';
|
||||
}
|
||||
if (totalSeconds >= 3600) {
|
||||
const hours = Math.floor(totalSeconds / 3600);
|
||||
const remainingSecondsAfterHours = totalSeconds % 3600;
|
||||
const minutes = Math.floor(remainingSecondsAfterHours / 60);
|
||||
const seconds = remainingSecondsAfterHours % 60;
|
||||
return `${hours}小时 ${minutes}分钟 ${seconds}秒`;
|
||||
} else {
|
||||
const minutes = Math.floor(totalSeconds / 60);
|
||||
const seconds = totalSeconds % 60;
|
||||
return `${minutes}分钟 ${seconds}秒`;
|
||||
}
|
||||
}
|
||||
|
||||
export function __jsEvalReturn() {
|
||||
return {
|
||||
init: init,
|
||||
home: home,
|
||||
homeVod: homeVod,
|
||||
category: category,
|
||||
detail: detail,
|
||||
play: play,
|
||||
proxy: proxy,
|
||||
search: search,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ let siteKey = '';
|
||||
let siteType = 0;
|
||||
const PC_UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.361";
|
||||
// let cookie = "DedeUserID=690781341;DedeUserID__ckMd5=cabc96906269c5b6;SESSDATA=2245ba24%2C1684212125%2C466fd%2Ab2;bili_jct=de6fdb60c10f8a83910aa55d79407b4e;"; // 可更换成自己的cookie
|
||||
let cookie = "https://ghproxy.net/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/txt/cookie.txt"; // 可更换成自己的cookie
|
||||
let cookie = "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7"; // 可更换成自己的cookie
|
||||
|
||||
async function request(reqUrl) {
|
||||
const res = await req(reqUrl, {
|
||||
|
||||
Reference in New Issue
Block a user