Compare commits
92 Commits
8f8026a1ac
...
9caa6e4dee
Author | SHA1 | Date |
---|---|---|
![]() |
9caa6e4dee | |
![]() |
a8a37ab8d7 | |
![]() |
d3fc6db7eb | |
![]() |
84eb953c97 | |
![]() |
c97435636f | |
![]() |
431a0d3331 | |
![]() |
946c1ca972 | |
![]() |
77defcba8a | |
![]() |
30fa86e871 | |
![]() |
ede8fc7681 | |
![]() |
28b672ed87 | |
![]() |
c99bedc03d | |
![]() |
16d4cbaf3e | |
![]() |
c8ecfa40d3 | |
![]() |
479d37a667 | |
![]() |
1e1b07af27 | |
![]() |
d6b64532a3 | |
![]() |
189ea1298c | |
![]() |
c810e54bef | |
![]() |
9953eb36df | |
![]() |
8da171fe21 | |
![]() |
a97a486e7b | |
![]() |
d571ad2b7d | |
![]() |
b72003426b | |
![]() |
6f49d4e4ab | |
![]() |
6247db14cd | |
![]() |
592b329097 | |
![]() |
4faa6cf1e3 | |
![]() |
c78bba14af | |
![]() |
dc83eca304 | |
![]() |
a2f75e632a | |
![]() |
819c0f10f7 | |
![]() |
c45172d092 | |
![]() |
dc41a2404f | |
![]() |
23a5f2ed39 | |
![]() |
335a8a1c5a | |
![]() |
371217d8ea | |
![]() |
824538f9f1 | |
![]() |
b6cc228689 | |
![]() |
6feb6904a2 | |
![]() |
423b24f008 | |
![]() |
eedacbe870 | |
![]() |
e9b91a4116 | |
![]() |
0cf209f113 | |
![]() |
0480ab29fd | |
![]() |
e0f80961f8 | |
![]() |
87db20758c | |
![]() |
ac0a3657cd | |
![]() |
1035587458 | |
![]() |
6456e4136a | |
![]() |
7186c73824 | |
![]() |
7e2dd36570 | |
![]() |
9bf41cbd71 | |
![]() |
0d4995ed0f | |
![]() |
8264e7243f | |
![]() |
5bfa7bfb48 | |
![]() |
15f958a993 | |
![]() |
94a4a1918b | |
![]() |
2a55c0be5f | |
![]() |
44be861608 | |
![]() |
d249cf9e87 | |
![]() |
6f9ca28514 | |
![]() |
6abc6d6243 | |
![]() |
866acbe190 | |
![]() |
9364d61ca4 | |
![]() |
f54eabd003 | |
![]() |
36db2ea986 | |
![]() |
0380e2f071 | |
![]() |
f2956b4709 | |
![]() |
d287ed66ce | |
![]() |
facfbc1538 | |
![]() |
8dfcc50a7e | |
![]() |
c20e32e1dd | |
![]() |
a5bfbccdf6 | |
![]() |
1a4c6fdb49 | |
![]() |
7d5423a22a | |
![]() |
eac87d0f20 | |
![]() |
44290f0406 | |
![]() |
b772df1728 | |
![]() |
f3e8b72490 | |
![]() |
8cc70d7ff0 | |
![]() |
ae0ca02873 | |
![]() |
f580523b72 | |
![]() |
3ae7f21f38 | |
![]() |
8752ea0152 | |
![]() |
68c467b3fe | |
![]() |
d5326ed13e | |
![]() |
6a6f38b3e0 | |
![]() |
8b4be7b6b2 | |
![]() |
8898b4c6df | |
![]() |
93c9749ec5 | |
![]() |
0f012ac8cf |
After Width: | Height: | Size: 2.0 MiB |
After Width: | Height: | Size: 1.9 MiB |
After Width: | Height: | Size: 8.5 KiB |
After Width: | Height: | Size: 2.0 MiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 125 KiB |
After Width: | Height: | Size: 6.1 KiB |
14
README.md
|
@ -1,10 +1,10 @@
|
|||
<div align="center">
|
||||
<img src="./Pictures/107459091.jpg" alt="logo"/>
|
||||
<h1 align="center">IPTV-API</h1>
|
||||
<img src="./Pictures/TangImage240.png" alt="logo"/>
|
||||
<h1 align="center">影视点播直播源</h1>
|
||||
</div>
|
||||
|
||||
<div align="center">💋FongMi影视、TVBox、猫影视配置文件。所有资源均来自于各路大神无私分享,如有侵权,请联系删除。
|
||||
👉所有以任何方式查看本仓库内容的人、或直接或间接使用本仓库内容的使用者都应仔细阅读此声明。本仓库管理者保留随时更改或补充此免责声明的权利。一旦使用、复制、修改了本仓库内容,则视为您已接受此免责声明。</div>
|
||||
<div align="center">💋所有资源均来自于各路大神无私分享,如有侵权,请联系删除。
|
||||
👉所有以任何方式查看本仓库内容的人或直接或间接使用本仓库内容的使用者都应仔细阅读此声明。本仓库管理者保留随时更改或补充此免责声明的权利。一旦使用、复制、修改了本仓库内容,则视为您已接受此免责声明。</div>
|
||||
<br>
|
||||
<p align="center">
|
||||
<a href="https://github.com/alantang1977/X/releases">
|
||||
|
@ -24,7 +24,7 @@
|
|||
</a>
|
||||
</p>
|
||||
|
||||
# 🦁Tang介绍
|
||||
# 🦁介绍
|
||||
<br>
|
||||
|
||||
免责声明
|
||||
|
@ -52,7 +52,9 @@ http://www.饭太硬.com/tv
|
|||
http://www.mpanso.com/小米/DEMO.json
|
||||
|
||||
# 🏂影視TV🏄🏻
|
||||

|
||||

|
||||
|
||||
|
||||
----
|
||||
|
||||
## 🚁TVBox配置接口解密: https://www.xn--sss604efuw.com/jm/
|
||||
|
|
82
X.json
|
@ -1,12 +1,13 @@
|
|||
{
|
||||
"spider":"https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1746006525221/f0430.txt;md5;948a482e3bad5bd090a87a6a85d38903",
|
||||
"wallpaper":"https://深色壁纸.xxooo.cf/","logo":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/main/Pictures/yellow.gif",
|
||||
"spider":"https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1746629246668/f0508.txt;md5;fe5929df64eb2358effeb032359732e5",
|
||||
"wallpaper":"http://王二小放牛娃牛逼.999888987.xyz","logo":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/main/Pictures/yellow.gif",
|
||||
|
||||
"sites":[
|
||||
##常用系列
|
||||
{"key":"玩偶","name":"🤹♂️┃饭硬┃玩偶哥哥","type":3,"api":"csp_WoGGGuard","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto","siteUrl":"https://www.wogg.net/","danMu":"弹"}},
|
||||
{"key":"Wogg","name":"🎩┃PG┃玩偶哥哥","type":3,"api":"csp_Wogg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://wogg.888484.xyz/$$$noproxy$$$1$$$./lib/wogg.json$$$WOGG","jar":"./pg.jar;md5;fd53509ee96e1519441cfa9f182fe66a"},
|
||||
{"key":"豆","name":"🎁┃豆瓣┃影视","type": 3, "api": "csp_DouDouGuard","indexs":1,"searchable": 0,"quickSearch": 0,"filterable": 0},
|
||||
{"key":"YGP","name":"🚀┃叨观荐影┃预告片","type":3,"api":"csp_YGPGuard","searchable":0,"quickSearch":0,"changeable":0},
|
||||
{"key":"原创","name":"🧧┃修罗┃影视","type":3,"api":"csp_YCyzGuard","timeout":15,"playerType":1,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"白白","name":"🐟┃素白┃秒播","type":3,"api":"csp_SbaibaiGuard","playerType":2,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"Guazi","name":"🍉┃瓜子┃秒播","type":3,"api":"csp_Guazi","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext": "","jar":"./pg.jar;md5;fd53509ee96e1519441cfa9f182fe66a"},
|
||||
|
@ -19,18 +20,21 @@
|
|||
|
||||
##PY源系列
|
||||
{"key": "苹果","name": "🍎┃小小苹果┃TV","type": 3,"api": "./py/小苹果.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "火车","name": "🚂┃火车太顺┃TV","type": 3,"api": "./py/火车太顺APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "火车","name": "🚂┃火车太顺┃TV","type": 3,"api": "./py/火车太顺APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "海马","name": "🏇┃海马影视┃TV","type": 3,"api": "./py/海马影视APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "边缘","name": "🍨┃边缘影视┃TV","type": 3,"api": "./py/边缘影视.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "零度","name": "🐼┃零度影视┃TV","type": 3,"api": "./py/零度影视.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "云端","name": "✨┃云端影视┃TV","type": 3,"api": "./py/云端APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "云速","name": "🏍️┃云速影视┃TV","type": 3,"api": "./py/云速影视APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "若惜","name": "👲┃若惜追剧┃TV","type": 3,"api": "./py/若惜追剧APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "悠悠","name": "🎯┃悠悠影视┃TV","type": 3,"api": "./py/悠悠APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "柯南","name": "🎒┃柯南影视┃TV","type": 3,"api": "./py/柯南影视.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "4KAV","name": "🏅┃金牌影视┃TV","type": 3,"api": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/PyramidStore/refs/heads/main/plugin/html/4KAV.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "优酷","name": "▶️┃优酷影视┃TV","type": 3,"api": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/PyramidStore/refs/heads/main/plugin/official/优.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "绝对","name": "🏍️┃绝对影视┃TV","type": 3,"api": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/PyramidStore/refs/heads/main/plugin/html/绝对影视.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "骚火","name": "🔥┃骚火电影┃TV","type": 3,"api": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/PyramidStore/refs/heads/main/plugin/html/骚火电影.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "柯南","name": "🎒┃柯南影视┃TV","type": 3,"api": "./py/柯南影视.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "猎手","name": "👟┃猎手影视┃TV","type": 3,"api": "./py/py_电影猎手.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "LREEOK","name": "🐏┃LREEOK┃TV","type": 3,"api": "./py/LREEOK.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "4KAV","name": "🏅┃金牌影视┃TV","type": 3,"api": "./py/4KAV.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "优酷","name": "▶️┃优酷影视┃TV","type": 3,"api": "./py/优.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "绝对","name": "🏍️┃绝对影视┃TV","type": 3,"api": "./py/绝对影视.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "骚火","name": "🔥┃骚火电影┃TV","type": 3,"api": "./py/骚火电影.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "美帕","name": "✂️┃美帕影视┃TV","type": 3,"api": "./py/美帕APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "奇迹","name": "🍵┃奇迹影视┃TV","type": 3,"api": "./py/奇迹APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "爱瓜","name": "👲┃爱瓜影视┃TV","type": 3,"api": "./py/爱瓜TV.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
|
@ -43,6 +47,7 @@
|
|||
{"key": "光速","name": "💡┃光速┃影视","type": 3,"api": "./py/py_光速.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "mp","name": "🐠┃MP┃影视","type": 3,"api": "./py/py_mp.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "cntv央视","name": "🦆┃CNTV央视┃TV","type": 3,"api": "./py/py_cntv央视.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
//{"key": "小云直播","name": "👍┃小云直播┃TV","type": 3,"api": "./json/小云TV直播.json","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "hitv","name": "🎸┃Hitv┃影视","type": 3,"api": "./py/py_hitv.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "xpg","name": "🐽┃XPG┃影视","type": 3,"api": "./py/py_xpg.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "剧多短剧","name": "🎥┃剧多┃短剧","type": 3,"api": "./py/py_剧多短剧.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
|
@ -72,7 +77,7 @@
|
|||
{"key":"欢视","name":"👓欢视┃多线","type":3,"api":"csp_AppTTGuard","timeout":10,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext":"uqGL1bNENExT9fFAy5mE5qU="},
|
||||
{"key":"奥特","name":"🏝奥特┃多线","type":3,"api":"csp_AueteGuard","timeout":10,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://auete.com/"},
|
||||
{"key":"贱贱","name":"🐭荐片┃P2P","type":3,"api":"csp_JPJGuard","timeout":10,"playerType":2,"searchable":1,"quickSearch":1,"changeable":0},
|
||||
{"key":"新6V","name":"🧲新6V┃磁力","type":3,"api":"csp_SixVGuard","searchable":1,"quickSearch":1,"changeable":0,"ext": "https://www.xb6v.com/"},
|
||||
{"key":"新6V","name":"🧲新6V┃磁力","type":3,"api":"csp_SixVGuard","timeout":10,"searchable":1,"quickSearch":1,"changeable":0,"ext":"https://www.xb6v.com/"},
|
||||
|
||||
|
||||
##搜索系列
|
||||
|
@ -234,13 +239,20 @@
|
|||
{"key":"csp_Anime1","name":"📯SP┃日本┃动漫","type":3,"api":"csp_Anime1","searchable":1,"quickSearch":1,"filterable":1}],
|
||||
|
||||
"lives": [
|
||||
{"name": "🦸┃tang直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/JunTV/refs/heads/main/output/result.m3u","playerType":1},
|
||||
{"name": "👟┃chao直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/SuperMAN/refs/heads/main/output/result.m3u","playerType":1},
|
||||
{"name": "🦸┃tangTV直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/JunTV/refs/heads/main/output/result.m3u","playerType":1},
|
||||
{"name": "👟┃chaoMAN直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/SuperMAN/refs/heads/main/output/result.m3u","playerType":1},
|
||||
|
||||
{"name": "🛬┃极速直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/iptv_api/refs/heads/main/live_ipv4.m3u","playerType":1},
|
||||
{"name": "🥮┃666直播","type": 0,"url": "http://api.mytv666.top/lives/free.php?type=txt","playerType":1},
|
||||
{"name": "🎳┃咪咕直播","type": 0,"url": "https://cnb.cool/junchao.tang/llive/-/git/raw/main/咪咕直播","playerType":1},
|
||||
{"name": "🪭┃晓峰直播","type": 0,"url": "http://晓峰.azip.dpdns.org:5008/?type=m3u","playerType":1},
|
||||
|
||||
{"name": "🤿┃IPTV_SuperA直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/IPTV_SuperA/refs/heads/main/output/result.m3u","playerType":1},
|
||||
{"name": "🪂┃IPTV_SuperB直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/IPTV_SuperB/refs/heads/main/output/live_ipv4.m3u","playerType":1},
|
||||
{"name": "🏮┃NewTV直播","type":0,"url":"https://cnb.cool/junchao.tang/llive/-/git/raw/main/NewTV","playerType":1},
|
||||
{"name": "🪂┃IPTV_SuperB直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/IPTV_SuperB/refs/heads/main/output/live_ipv4.m3u","playerType":1},
|
||||
{"name": "🎒┃JunTV直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/girl/refs/heads/master/tv/iptv4.m3u","playerType":1},
|
||||
{"name": "🏮┃WorkTV直播","type":0,"url":"https://cnb.cool/junchao.tang/llive/-/git/raw/main/电视.txt","playerType":1},
|
||||
{"name": "🥩┃luck9V直播","type":0,"url":"https://cnb.cool/junchao.tang/llive/-/git/raw/main/luck9.txt","playerType":1},
|
||||
{"name": "🍬┃assets直播","type":0,"url":"http://1.94.31.214/live/livelite.txt","playerType":1},
|
||||
{"name": "🧀┃香港直播","type":0,"url":"https://smart.pendy.dpdns.org/m3u/Smart.m3u","playerType":1},
|
||||
{"name": "🎃┃中港台馬電視台頻道","type":0,"url":"http://209.141.59.146:50509/?type=m3u","playerType":1},
|
||||
{"name": "🛺┃knnnn直播电视","type": 3,"api": "https://framagit.org/knnnn/n/-/raw/main/j/kzb.py","ext": {}},
|
||||
|
@ -248,9 +260,12 @@
|
|||
{"name": "🐮┃牛牛直播","type" : 0,"url" : "https://web.banye.tech:7777/tv/hlj.txt","ua" : "okhttp/3.15","epg" : "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}","logo" : "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"},
|
||||
{"name": "🐝┃蜜蜂直播","type" : 0,"url" : "https://iptv.catvod.com/tv.m3u","ua" : "okhttp/3.15","epg" : "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}","logo" : "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"},
|
||||
{"name": "🍳┃SMT直播","type": 3,"api": "https://gh.tryxd.cn/https://raw.githubusercontent.com/doube-ba/Sub/refs/heads/main/live/live_smt_proxy_001.py","ext": {"proxy": {"http": "http://127.0.0.1:10809","https": "http://127.0.0.1:10809"}}},
|
||||
{"name": "🍔┃hostemail直播","type" : 0,"url" : "https://gh.tryxd.cn/https://raw.githubusercontent.com/hostemail/cdn/main/live/tv.txt","ua" : "okhttp/3.15","epg" : "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}","logo" : "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"},
|
||||
{"name": "🍔┃hostemail直播","type" : 0,"url" : "https://gh.tryxd.cn/https://raw.githubusercontent.com/hostemail/cdn/main/live/tv.txt","ua" : "okhttp/3.15","epg" : "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}","logo" : "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"},
|
||||
|
||||
{"name": "🦆┃SuperMAN直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/SuperMAN/refs/heads/main/output/user_result.txt","playerType":1},
|
||||
{"name": "💤┃JunTV直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/JunTV/refs/heads/main/output/user_result.txt","playerType":1},
|
||||
|
||||
{"name": "🦆┃tang直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/JunTV/refs/heads/main/output/user_result.txt","playerType":1},
|
||||
{"name": "🩰┃Meroser直播","type": 0,"url": "https://gitlab.com/Meroser/IPTV/-/raw/main/IPTV-demo.m3u","playerType":1},
|
||||
{"name": "🍾┃Kilvn直播","type":0,"url":"https://live.kilvn.com/iptv.m3u","playerType":1},
|
||||
{"name": "🥨┃pxiptv直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/pxiptv/live/main/iptv.m3u","playerType":1},
|
||||
{"name": "🐶┃jun直播","type": 0,"url": "https://cnb.cool/junchao.tang/llive/-/git/raw/main/Alan_result.txt","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
|
@ -258,26 +273,21 @@
|
|||
{"name": "🍔┃IPTV_auto直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/IPTV/main/live_ipv4.m3u","playerType":1},
|
||||
{"name": "🎏┃LITV直播","type": 3,"api": "https://gh.tryxd.cn/https://raw.githubusercontent.com/qingtingjjjjjjj/iptv-auto-update/main/my.txt","ext": {"proxy": {"http": "http://127.0.0.1:10809","https": "http://127.0.0.1:10809"}}},
|
||||
{"name": "🏎️┃A自家源直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/Collect-IPTV/refs/heads/main/mylive.m3u","playerType":1},
|
||||
{"name": "🚗┃B自家源直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/refs/heads/main/live/live.m3u","playerType":1},
|
||||
{"name": "🚗┃X自家源直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/refs/heads/main/live/live.m3u","playerType":1},
|
||||
{"name": "🚕┃D自家源直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/main/live.m3u","playerType":1},
|
||||
{"name": "📢┃联合直播","type": 0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/pg/refs/heads/main/live.m3u","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "📢┃PG直播","type": 0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/pg/refs/heads/main/live.m3u","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🐻┃台湾直播","type":0,"url":"http://cccccccoccccccc.ccccocccc.cc/uploads/TW.txt","playerType":1},
|
||||
{"name": "🤗┃Biptv直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/refs/heads/main/live/biptv.txt","playerType":1},
|
||||
{"name": "🧧┃ITV直播","url": "https://cnb.cool/junchao.tang/llive/-/git/raw/main/itv.txt","epg": "http://epg.51zmt.top:8000/e.xml","ua": "okhttp/3.15","catchup": {"type": "append","replace": "livemode=1,livemode=4","source": "&starttime=${(b)yyyyMMdd'T'HHmm}00.00Z&endtime=${(e)yyyyMMdd'T'HHmm}00.00Z"}},
|
||||
{"name": "🐻┃tvzb直播","type":0,"url":"https://cnb.cool/junchao.tang/llive/-/git/raw/main/tvzb.txt","playerType":1},
|
||||
|
||||
{"name": "🐻┃tvzb直播","type":0,"url":"https://cnb.cool/junchao.tang/llive/-/git/raw/main/tvzb.txt","playerType":1},
|
||||
{"name": "🐸┃Yuanz港·澳·台直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com//alantang1977/yuanzl77/refs/heads/main/live.m3u","playerType":1},
|
||||
{"name": "🥨┃lalifeier-IPTV直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/lalifeier/IPTV/main/m3u/IPTV.m3u","playerType":1},
|
||||
{"name": "👑┃big直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/big-mouth-cn/tv/main/iptv-ok.m3u","playerType":1},
|
||||
|
||||
{"name": "🤿┃mytvsources直播","type":0,"url":"https://codeberg.org/alfredisme/mytvsources/raw/branch/main/mylist-ipv6.m3u","playerType":1},
|
||||
{"name": "🍵┃PLTV直播","type":0,"url":"https://codeberg.org/lxxcp/live/raw/branch/main/gsdx.txt","playerType":1},
|
||||
{"name": "🏮┃codeberg·IPTV直播","type":0,"url":"https://codeberg.org/sy147258/iptv/raw/branch/main/电视","playerType":1},
|
||||
|
||||
{"name": "👑┃big直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/big-mouth-cn/tv/main/iptv-ok.m3u","playerType":1},
|
||||
{"name": "🤿┃mytvsources直播","type":0,"url":"https://codeberg.org/alfredisme/mytvsources/raw/branch/main/mylist-ipv6.m3u","playerType":1},{"name": "🍵┃PLTV直播","type":0,"url":"https://codeberg.org/lxxcp/live/raw/branch/main/gsdx.txt","playerType":1},
|
||||
{"name": "🏮┃codeberg·IPTV直播","type":0,"url":"https://codeberg.org/sy147258/iptv/raw/branch/main/电视","playerType":1},
|
||||
{"name": "🚌┃hipy直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/hjdhnx/hipy-sniffer/refs/heads/main/static/lives/lives.txt","playerType":1},
|
||||
{"name": "🚎┃xhztv·IPTV直播","type":0,"url":"http://xhztv.top/zbc.txt","playerType":1},
|
||||
{"name": "🚑┃auto-iptv直播","type":0,"url":"http://47.120.41.246:8899/zb.txt","playerType":1},
|
||||
|
||||
{"name": "🚑┃auto-iptv直播","type":0,"url":"http://47.120.41.246:8899/zb.txt","playerType":1},
|
||||
{"name": "😁┃Gather港·澳·台","type":0,"url":"https://tv.iill.top/m3u/MyTV","playerType":1},
|
||||
{"name": "🍌┃Gather电视直播","type":0,"url":"https://tv.iill.top/m3u/Gather","playerType":1},
|
||||
{"name": "🐲┃Gather网络直播","type":0,"url":"https://tv.iill.top/m3u/Live","playerType":1},
|
||||
|
@ -287,7 +297,10 @@
|
|||
{"name": "🥬┃BOX港·澳·韩·台直播","type": 0,"url": "http://8.138.7.223/live.txt","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🐏┃Live肥羊直播","type": 3,"api": "csp_Feiyang","url": "tv.m3u","ext": "https://gh.tryxd.cn/https://raw.githubusercontent.com/lystv/fmapp/ok/apk/allinone/v7/allinone;md5;https://gh.tryxd.cn/https://raw.githubusercontent.com/lystv/fmapp/ok/apk/allinone/v7/md5","jar": "https://gh.tryxd.cn/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar"},
|
||||
{"name": "🐤┃Guovin直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/Guovin/iptv-api/gd/output/result.m3u","playerType": 1,"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}","logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🧸┃CCSH直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/CCSH/IPTV/main/live.txt","playerType":1},
|
||||
|
||||
{"name": "🧸┃CCSH直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/CCSH/IPTV/main/live.m3u","playerType":1},
|
||||
{"name": "🪭┃IPTV-CCSH直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/IPTV-CCSH/refs/heads/main/live.m3u","playerType":1},
|
||||
|
||||
{"name": "🐏┃ssili126直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/ssili126/tv/main/itvlist.txt","playerType":1},
|
||||
{"name": "〽️┃欧歌电视","type": 0,"url": "https://xn--pggp-rp5imh.v.nxog.top/m//tv/","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🎂┃suxuang直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/suxuang/myIPTV/main/ipv6.m3u","playerType":1},
|
||||
|
@ -299,8 +312,7 @@
|
|||
{"name": "🛍️┃hong_kong直播","type": 0,"url": "https://epg.pw/test_channels_hong_kong.m3u","playerType":1},
|
||||
{"name": "🛍️┃zhiboyuan直播","type": 0,"url": "https://gitee.com/xxy002/zhiboyuan/raw/master/dsy","playerType":1},
|
||||
{"name": "🛍️┃channels直播","type": 0,"url": "https://epg.pw/test_channels.m3u","playerType":1},
|
||||
{"name": "🛍️┃Free-TV直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/Free-TV/IPTV/master/playlist.m3u8","playerType":1},
|
||||
|
||||
{"name": "🛍️┃Free-TV直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/Free-TV/IPTV/master/playlist.m3u8","playerType":1},
|
||||
{"name": "⚕️┃iptv粤Live","type": 0,"url": "http://box.1890222.xyz:8081/iptv/live.m3u","playerType":1},
|
||||
{"name": "🐰┃wwb521粤港澳","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/wwb521/live/main/tv.m3u","playerType":1},
|
||||
{"name": "🍡┃kimwang1978直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/kimwang1978/collect-tv-txt/main/merged_output_simple.txt","playerType":1},
|
||||
|
@ -311,15 +323,13 @@
|
|||
{"name": "🐸┃全面直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/Ftindy/IPTV-URL/main/Collect.m3u","playerType":1},
|
||||
{"name": "❤️┃春盈直播","type": 0,"url": "http://home.jundie.top:81/Cat/tv/live.txt","playerType":1},
|
||||
{"name": "🤡┃全球直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/Free-TV/IPTV/master/playlist.m3u8","playerType":1},
|
||||
{"name": "📺┃vbskycn直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/vbskycn/iptv/master/tv/iptv6.m3u","playerType":1},
|
||||
{"name": "📺┃vbskycn直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/vbskycn/iptv/master/tv/iptv4.m3u","playerType":1},
|
||||
{"name": "🍭┃vbskycn直播","type": 0,"url": "https://live.zbds.top/tv/iptv4.txt","playerType":1},
|
||||
{"name": "🦐┃龙伊直播","type":0,"url":"https://龙伊.top/直播","playerType":1,"epg":"https://api.龙伊.top/epg/epg.php?ch={name}&date={date}","logo":"https://api.龙伊.top/epg/images/{name}.png"},
|
||||
{"name": "🍉┃fanmingming直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/fanmingming/live/refs/heads/main/tv/m3u/ipv6.m3u","playerType":1},
|
||||
{"name": "🎏┃范明直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/fanmingming/live/refs/heads/main/tv/m3u/ipv6.m3u","playerType":1},
|
||||
{"name": "✍️┃qingwen07直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/qingwen07/awesome-iptv/main/tvbox_live_all.txt","playerType":1},
|
||||
{"name": "🔢┃serv00直播","type":0,"url":"https://a90120.serv00.net/anbox/p3plink.txt","playerType":1},
|
||||
{"name": "🎟️┃央卫港澳台直播","type": 0,"url": "http://l.gmbbk.com/upload/65336533.txt","ua": "haotv","epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}","logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"},
|
||||
{"name": "🥩┃小云TV直播","type": 0,"url": "https://web.banye.tech:7777/tvbus/yogurtTv.txt","playerType":1},
|
||||
{
|
||||
"name": "4GTV - 台湾",
|
||||
"url": "docker.livednow.dpdns.org/?type=m3u",
|
||||
|
@ -330,12 +340,6 @@
|
|||
"url": "https://smart.pendy.dpdns.org/m3u/MytvSuper.m3u",
|
||||
"ua": "judy/5.2.1"
|
||||
},
|
||||
{
|
||||
"name": "💤┃荔枝网",
|
||||
"type": 0,
|
||||
"url": "https://cnb.cool/junchao.tang/llive/-/git/raw/main/荔枝网",
|
||||
"playerType": 1
|
||||
},
|
||||
{
|
||||
"name": "鲍鱼",
|
||||
"type": 0,
|
||||
|
|
413
aTV.json
|
@ -1,280 +1,236 @@
|
|||
{
|
||||
"spider":"https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1746006525221/f0430.txt;md5;948a482e3bad5bd090a87a6a85d38903",
|
||||
"wallpaper":"https://深色壁纸.xxooo.cf/","logo":"https://git.gra.phite.ro/alantang/LoveTV/raw/branch/main/gif/tang_g_crop.gif",
|
||||
"spider":"https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1746629246668/f0508.txt;md5;fe5929df64eb2358effeb032359732e5",
|
||||
"wallpaper":"http://王二小放牛娃牛逼.999888987.xyz","logo":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/main/Pictures/yellow.gif",
|
||||
|
||||
"sites":[
|
||||
##常用系列
|
||||
{"key":"玩偶","name":"🤹♂️┃饭硬┃玩偶哥哥","type":3,"api":"csp_WoGGGuard","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto","siteUrl":"https://www.wogg.net/","danMu":"弹"}},
|
||||
{"key":"Wogg","name":"🥎┃PG┃玩偶哥哥","type":3,"api":"csp_Wogg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://wogg.888484.xyz/$$$noproxy$$$1$$$./lib/wogg.json$$$WOGG","jar":"./pg.jar;md5;fd53509ee96e1519441cfa9f182fe66a"},
|
||||
{"key":"豆","name":"🫛┃豆瓣┃影视","type": 3, "api": "csp_DouDouGuard","indexs":1,"searchable": 0,"quickSearch": 0,"filterable": 0},
|
||||
{"key":"神车","name":"🍉┃瓜子┃秒播","type":3,"api":"csp_AppSxGuard","searchable":1,"quickSearch":1,"changeable":1,"ext":"FbjPcVZY48PN/RIZ5QqOrsp1OZsTS9wQSSpQpK6jnh0fUMKIu22IxR6Z7/exDifuKH+Agjg9"},
|
||||
{"key":"csp_xiaomi","name":"🍚┃UC盘┃小米","type":3,"api":"csp_Duopan","changeable":0,"ext":"http://www.mucpan.cc","jar":"https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1740980537081/03033.jar;md5;44f03af024f80966242625196374fc07"},
|
||||
{"key":"Wogg","name":"🎩┃PG┃玩偶哥哥","type":3,"api":"csp_Wogg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://wogg.888484.xyz/$$$noproxy$$$1$$$./lib/wogg.json$$$WOGG","jar":"./pg.jar;md5;fd53509ee96e1519441cfa9f182fe66a"},
|
||||
{"key":"豆","name":"🎁┃豆瓣┃影视","type": 3, "api": "csp_DouDouGuard","indexs":1,"searchable": 0,"quickSearch": 0,"filterable": 0},
|
||||
{"key":"YGP","name":"🚀┃叨观荐影┃预告片","type":3,"api":"csp_YGPGuard","searchable":0,"quickSearch":0,"changeable":0},
|
||||
{"key":"原创","name":"🧧┃修罗┃影视","type":3,"api":"csp_YCyzGuard","timeout":15,"playerType":1,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"白白","name":"🐟┃素白┃秒播","type":3,"api":"csp_SbaibaiGuard","playerType":2,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"Guazi","name":"🍉┃瓜子┃秒播","type":3,"api":"csp_Guazi","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext": "","jar":"./pg.jar;md5;fd53509ee96e1519441cfa9f182fe66a"},
|
||||
{"key":"Xiaomi","name":"🍚┃PG┃小米","type":3,"api":"csp_Wobg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://www.mucpan.cc/$$$noproxy$$$1$$$./lib/wogg.json$$$XIAOMI","jar":"./pg.jar;md5;fd53509ee96e1519441cfa9f182fe66a"},
|
||||
{"key": "至臻","name": "💌┃️至臻┃影视","type": 3,"api": "csp_Wobg","quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60,"ext": "./lib/tokenm.json$$$https://mihdr.top/$$$noproxy$$$1$$$./lib/wogg.json$$$ZHIZHEN","jar":"./pg.jar;md5;fd53509ee96e1519441cfa9f182fe66a"},
|
||||
{"key": "Bdys_spider","name": "🐚┃修罗┃磁力","api": "csp_Bdys01","type": 3,"filterable": 1,"searchable":1,"quickSearch": 1,"searchable": 1,"timeout":60,"ext": "./lib/tokenm.json$$$https://www.xlys01.com/$$$noproxy$$$1","jar":"./pg.jar;md5;fd53509ee96e1519441cfa9f182fe66a"},
|
||||
{"key":"蜡笔网盘","name":"🖍️┃蜡笔┃网盘","type":3,"api":"csp_Wobg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://duopan.fun/$$$noproxy$$$1$$$./lib/wogg.json$$$LABI","jar":"./pg.jar;md5;fd53509ee96e1519441cfa9f182fe66a"},
|
||||
{"key":"Lib","name":"🌟┃Libvio┃秒播","type":3,"api":"csp_LibvioGuard","searchable":1,"quickSearch":1,"changeable":1,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"Lib","name":"🏈┃Libvio┃秒播","type":3,"api":"csp_LibvioGuard","searchable":1,"quickSearch":1,"changeable":1,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"木耳","name":"🍄┃猫木耳┃秒播","type":1,"api":"https://json02.heimuer.xyz/api.php/provide/vod","searchable":1,"filterable":1,"changeable":1,"timeout":10,"categories":["剧情片","动作片","冒险片","同性片","喜剧片","奇幻片","恐怖片","悬疑片","惊悚片","灾难片","爱情片","犯罪片","科幻片","歌舞片","战争片","经典片","动画电影","网络电影","其他片","国产剧","港剧","韩剧","日剧","泰剧","台剧","欧美剧","新马剧","其他剧","国产综艺","港台综艺","韩国综艺","日本综艺","欧美综艺","新马泰综艺","其他综艺","古装短剧","虐恋短剧","逆袭短剧","神豪短剧","重生短剧","复仇短剧","穿越短剧","甜宠短剧","强者短剧","欧美动漫","日本动漫","韩国动漫","国产动漫","港台动漫"],"header":{"user-agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/125.0.0.0Safari/537.36"}},
|
||||
{"key":"网盘配置","name": "🐧┃网盘及彈幕┃配置","type": 3,"api": "csp_Config","searchable": 0,"changeable": 0,"ext":"./lib/tokenm.json","jar":"./pg.jar;md5;fd53509ee96e1519441cfa9f182fe66a","style": {"type": "rect","ratio": 1.5}},
|
||||
|
||||
##饭太硬系列
|
||||
{"key":"alllive","name":"🐼️┃电视┃直播","type":3,"api":"csp_AllliveGuard","playerType":2,"searchable":0,"quickSearch":0,"changeable":0},
|
||||
{"key":"抠搜","name":"🍄抠抠┃搜搜","type":3,"api":"csp_KkSsGuard","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"UC","name":"🌈优汐┃搜搜","type":3,"api":"csp_UuSsGuard","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto","pturl":"http://tv.91muou.icu/|http://54271.fun/"}},
|
||||
{"key":"原创","name":"☀原创┃不卡","type":3,"api":"csp_YCyzGuard","timeout":15,"playerType":1,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"苹果","name":"🍎苹果┃不卡","type":3,"api":"csp_LiteAppleGuard","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"厂长","name":"📔厂长┃不卡","type":3,"api":"csp_NewCzGuard","playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://www.czzyvideo.com/"},
|
||||
{"key":"糯米","name":"🍓糯米┃秒播","type":3,"api":"csp_NmyswvGuard","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"白白","name":"🐟白白┃秒播","type":3,"api":"csp_SbaibaiGuard","playerType":2,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"zxzj","name":"🍊在线┃秒播","type":3,"api":"csp_ZxzjGuard","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://www.zxzjhd.com/"},
|
||||
{"key":"比特","name":"🍄比特┃秒播","type":3,"api":"csp_BttwooGuard","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"文采","name":"💮文采┃秒播","type":3,"api":"csp_JpysGuard","playerType":2,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"低端","name":"⏮️低端┃外剧","type":3,"api":"csp_DdrkGuard","playerType":"2","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"木星","name":"🌞木星┃多线","type":3,"api":"csp_AppSxGuard","searchable":1,"quickSearch":1,"changeable":1,"ext":"FbjPcVZY48PN/RIZ5QqOrsplZNERApoHSmxZ77D7wAtcAsqZuXTQzUHW+quzHG+7cXaG3SBwzihuA2NlCJpscUJASIGSmRiXKW5NhipHle83SfO6IA=="},
|
||||
{"key":"兄弟","name":"🍊兄弟┃多线","type":3,"api":"csp_AppSxGuard","searchable":1,"quickSearch":1,"filterable":1,"ext":"FbjDcUxPqpfNr0QF4QvE6sExbdBHCJkQSzBQt+vmhxkUAtbepC6RjQjA6r70U2OrZ3mJyX4hh2AsXS8mTp9pKB8="},
|
||||
{"key":"热播","name":"📺热播┃多线","type":3,"api":"csp_AppTTGuard","playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext":"AO7TcBkd8I/B5wQc4Qma+pU="},
|
||||
{"key":"萌米","name":"👀萌米┃多线","type":3,"api":"csp_AppTTGuard","playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext":"AO7TcBkd8I2bux0Y8Qze6tVlMg=="},
|
||||
{"key":"欢视","name":"👓欢视┃多线","type":3,"api":"csp_AppTTGuard","playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext":"AO7TcBkd8I/B+Qsa7gqa+pU="},
|
||||
{"key":"可可","name":"👻可可┃多线","type":3,"api":"csp_KekysGuard","playerType":2,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"贱贱","name":"🐭荐片┃P2P","type":3,"api":"csp_JPJGuard","playerType":2,"searchable":1,"quickSearch":1,"changeable":0},
|
||||
{"key":"新6V","name":"🧲新6V┃磁力","type":3,"api":"csp_SixVGuard","searchable":1,"quickSearch":1,"changeable":0,"ext":"https://www.xb6v.com/"},
|
||||
{"key":"Sso","name":"🐌盘他┃三盘","type":3,"api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/盘他.js","searchable":1,"quickSearch":1,"changeable":0},
|
||||
{"key":"夸搜","name":"🐟夸搜┃狸夸","type":3,"api":"csp_PanSearch","searchable":1,"quickSearch":1,"changeable":0,"ext":{"pan":"quark","Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"YiSo","name":"😹易搜┃阿狸","type":3,"api":"csp_YiSo","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"PanSearch","name":"🙀盘Se┃阿狸","type":3,"api":"csp_PanSearch","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"Youtube","name":"🦄️┃Youtube┃🦄️","type":3,"api": "csp_Youtube","searchable": 1,"quickSearch": 0,"changeable": 0,"jar": "./pg.jar;md5;fd53509ee96e1519441cfa9f182fe66a","ext":{"json":"./lib/youtube.json","type":"直播#新闻#剧集#电影#综艺#纪录片#音乐#体育#动物#风光#放松#4K#HDR#movie#music#documentary#bbc documentary#national geographic documentary","proxy":"proxy","codecs":""},"style": {"type": "rect","ratio": 1.5}},
|
||||
##PY源系列
|
||||
{"key": "苹果","name": "🍎┃小小苹果┃TV","type": 3,"api": "./py/小苹果.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "火车","name": "🚂┃火车太顺┃TV","type": 3,"api": "./py/火车太顺APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "边缘","name": "🍨┃边缘影视┃TV","type": 3,"api": "./py/边缘影视.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "零度","name": "🐼┃零度影视┃TV","type": 3,"api": "./py/零度影视.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "云端","name": "✨┃云端影视┃TV","type": 3,"api": "./py/云端APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "云速","name": "🏍️┃云速影视┃TV","type": 3,"api": "./py/云速影视APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "若惜","name": "👲┃若惜追剧┃TV","type": 3,"api": "./py/若惜追剧APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "悠悠","name": "🎯┃悠悠影视┃TV","type": 3,"api": "./py/悠悠APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "柯南","name": "🎒┃柯南影视┃TV","type": 3,"api": "./py/柯南影视.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "猎手","name": "👟┃猎手影视┃TV","type": 3,"api": "./py/py_电影猎手.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "LREEOK","name": "🐏┃LREEOK┃TV","type": 3,"api": "./py/LREEOK.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "4KAV","name": "🏅┃金牌影视┃TV","type": 3,"api": "./py/4KAV.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "优酷","name": "▶️┃优酷影视┃TV","type": 3,"api": "./py/优.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "绝对","name": "🏍️┃绝对影视┃TV","type": 3,"api": "./py/绝对影视.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "骚火","name": "🔥┃骚火电影┃TV","type": 3,"api": "./py/骚火电影.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "美帕","name": "✂️┃美帕影视┃TV","type": 3,"api": "./py/美帕APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "奇迹","name": "🍵┃奇迹影视┃TV","type": 3,"api": "./py/奇迹APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "爱瓜","name": "👲┃爱瓜影视┃TV","type": 3,"api": "./py/爱瓜TV.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "恋鱼","name": "🐠┃恋鱼影视┃TV","type": 3,"api": "./py/恋鱼影视APP.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "芒","name": "🥭┃百忙无果┃TV","type": 3,"api": "./py/py_芒.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "腾","name": "🐧┃腾云驾雾┃TV","type": 3,"api": "./py/py_腾.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "爱","name": "🥝┃奇珍异兽┃TV","type": 3,"api": "./py/py_爱.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "优","name": "▶️┃优优影视┃TV","type": 3,"api": "./py/优.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "荐片","name": "🚁┃荐片┃影视","type": 3,"api": "./py/py_jianpian.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "光速","name": "💡┃光速┃影视","type": 3,"api": "./py/py_光速.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "mp","name": "🐠┃MP┃影视","type": 3,"api": "./py/py_mp.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "cntv央视","name": "🦆┃CNTV央视┃TV","type": 3,"api": "./py/py_cntv央视.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "hitv","name": "🎸┃Hitv┃影视","type": 3,"api": "./py/py_hitv.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "xpg","name": "🐽┃XPG┃影视","type": 3,"api": "./py/py_xpg.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key": "剧多短剧","name": "🎥┃剧多┃短剧","type": 3,"api": "./py/py_剧多短剧.py","searchable": 1,"quickSearch": 1,"changeable": 1,"filterable": 1,"timeout": 60},
|
||||
{"key":"Bili","name":"🅱┃哔哩┃合集","type":3,"api":"csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":1,"quickSearch":0,"changeable":0,"ext":"https://gitlab.com/fantaiying/ext/-/raw/main/bilibili.json"},
|
||||
{"key":"界界影视","name":"🐌┃界界┃影视","type":3,"api":"csp_XBPQ","jar":"./jar/XBPQ.jar","ext": {"主页url": "https://www.hkybqufgh.com/","简介": "</label>&&</div>","影片类型": "tags\">&&director\">","影片状态": "bottom\">&&</div>","二次截取": "videoList\":\\[&&\\]","数组": "{&&}[不包含:伦理剧]","图片": "https+://ywxohs.com+obs.gduamoe.com&&\",","标题": "vodName\":\"&&\"","副标题": "vodRemarks\":\"&&\"","链接": "https://www.hkybqufgh.com/detail/+vodId\":&&,","导演": "导演:</div>&&主演","主演": "主演:</div>&&别名","线路标题": "寶寳","播放数组": "listitem\">&&info\">","播放列表": "<a&&</a>","倒序": "否","搜索url": "https://www.hkybqufgh.com/vod/search/{wd}","分类": "电影$1#电视剧$2#综艺$3#动漫$4","分类url": "https://www.hkybqufgh.com/vod/show/id/{cateId}/class/{class}/year/{year}/area/{area}/page/{catePg}"}},
|
||||
|
||||
|
||||
##饭太硬系列
|
||||
{"key":"直播转点播","name": "🐼️┃电视┃直播","type": 3,"searchable": 0,"api": "./lib/live2vod.js","ext": "./live/feimaolive.json","jar":"./pg.jar;md5;fd53509ee96e1519441cfa9f182fe66a"},
|
||||
{"key":"白白","name":"🐟白白┃秒播","type":3,"api":"csp_SbaibaiGuard","timeout":10,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"原创","name":"☀原创┃不卡","type":3,"api":"csp_YCyzGuard","timeout":10,"playerType":1,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"苹果","name":"🍎苹果┃不卡","type":3,"api":"csp_LiteAppleGuard","timeout":10,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"糯米","name":"🍓糯米┃秒播","type":3,"api":"csp_NmyswvGuard","timeout":10,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"文采","name":"💮文采┃秒播","type":3,"api":"csp_JpysGuard","timeout":10,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"溢彩","name":"💡溢彩┃秒播","type":3,"api":"csp_AppSxGuard","timeout":10,"searchable":1,"quickSearch":1,"changeable":1,"ext":"rfOb1uAWbkRHp7hdxprG9un3+TfN183v1zIyaYDoDAIaLw5L8Dp8+v88LrEL3dBzrmWbdMBX0WNm7HtkQuw0AIzUurGBVyPqCKzDmbriATuukhctJlsLo8KxCw=="},
|
||||
{"key":"Lib","name":"🌟立播┃秒播","type":3,"api":"csp_LibvioGuard","timeout":10,"searchable":1,"quickSearch":1,"changeable":1,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"zxzj","name":"🍊在线┃秒播","type":3,"api":"csp_ZxzjGuard","timeout":10,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://www.zxzjhd.com/"},
|
||||
{"key":"厂长","name":"📔厂长┃不卡","type":3,"api":"csp_NewCzGuard","timeout":10,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"比特","name":"🍄比特┃手机","type":3,"api":"csp_BttwooGuard","timeout":10,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"低端","name":"⏮️低端┃外剧","type":3,"api":"csp_DdrkGuard","timeout":10,"playerType":"2","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"萌米","name":"👀萌米┃多线","type":3,"api":"csp_AppTTGuard","timeout":10,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext":"uqGL1bNENEIVq+dC1p/Y9uWjuA=="},
|
||||
{"key":"热播","name":"📺热播┃多线","type":3,"api":"csp_AppTTGuard","timeout":10,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext":"uqGL1bNENExT7/hGxpSE5qU="},
|
||||
{"key":"兄弟","name":"🍊水星┃多线","type":3,"api":"csp_AppSxGuard","timeout":10,"searchable":1,"quickSearch":1,"filterable":1,"ext":"rfOb1uAWbkRHp7hdxprG9un3+SLP183q3ik3cJDiAwlFdF8L6SIvrvc9LrpTyIg76T7QJZdEkWNj43wiSaA0TJyQpu2IF2jsSLWFx7WkAmG40hFxJ1tI+Jf+EVG8DtoDRcNi+TtVGULnWrSz3EWnVcxR3EJhXnrwYWe1kJtNW5txuHAO"},
|
||||
{"key":"即看","name":"🐻即看┃多线","type":3,"api":"csp_AppSxGuard","timeout":10,"searchable":1,"quickSearch":0,"changeable":0,"ext":"rfOX1voDIQhH8epBwtCFsub1+2maloq8lmJuL821WUsZJAZft2UtrrwhKK5Zxt1toWyFctBUmThhuDAjVuU="},
|
||||
{"key":"欢视","name":"👓欢视┃多线","type":3,"api":"csp_AppTTGuard","timeout":10,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext":"uqGL1bNENExT9fFAy5mE5qU="},
|
||||
{"key":"奥特","name":"🏝奥特┃多线","type":3,"api":"csp_AueteGuard","timeout":10,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://auete.com/"},
|
||||
{"key":"贱贱","name":"🐭荐片┃P2P","type":3,"api":"csp_JPJGuard","timeout":10,"playerType":2,"searchable":1,"quickSearch":1,"changeable":0},
|
||||
{"key":"新6V","name":"🧲新6V┃磁力","type":3,"api":"csp_SixVGuard","searchable":1,"quickSearch":1,"changeable":0,"ext": "https://www.xb6v.com/"},
|
||||
|
||||
|
||||
##搜索系列
|
||||
{"key":"米搜","name":"🦋┃米搜┃夸父","type":3,"api":"csp_MIPanSo","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"盘他","name":"🍄┃盘他┃U夸","type":3,"api":"csp_PanTa","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"夸搜","name":"🐟┃夸搜┃夸父","type":3,"api":"csp_PanSearch","searchable":1,"quickSearch":1,"changeable":0,"ext":{"pan":"quark","Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"YiSo","name":"😹┃易搜┃阿狸","type":3,"api":"csp_YiSo","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"PanSou","name":"🦊┃盘搜┃阿狸","type":3,"api":"csp_PanSou","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"PanSearch","name":"🙀┃盘Se┃阿狸","type":3,"api":"csp_PanSearch","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
|
||||
##官源系列
|
||||
{"key":"dr_布雷蓝光","name":"💥┃布布┃官源","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/布雷蓝光.jsd"},
|
||||
{"key":"dr_百忙无果","name":"🥭┃果果TV┃官源","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/百忙无果.js"},
|
||||
{"key":"dr_360影视","name":"♑┃三三影视┃官源","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":0,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/360影视.js"},
|
||||
{"key":"drpy_js_奇珍异兽","name":"🐨┃艺艺┃官源","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/奇珍异兽.js"},
|
||||
{"key": "dr_腾云驾雾","name": "🐧┃腾腾┃官源","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 1,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/腾云驾雾.js"},
|
||||
{"key": "dr_优酷","name": "⛽┃酷酷TV┃官源","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 1,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/优酷.js"},
|
||||
{"key": "dr_菜狗","name": "🐶┃狗狗TV┃官源","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 1,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/菜狗.js"},
|
||||
{"key":"csp_xBPQ_奇优","name":"🏥┃奇优TV┃官源","type":3,"api":"csp_XBPQ","searchable":1,"quickSearch":1,"filterable":1,"ext":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/main/json/奇优影视.json","jar":"https://git.gra.phite.ro/alantang/X/raw/branch/main/jar/HeChengChaXiu.jar"},
|
||||
{"key": "dr_酷云77","name": "💋┃酷云77┃官源","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 1,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/酷云77.js"},
|
||||
{"key": "新6V","name":"🔰┃新6V磁力┃慎用","type": 3,"api": "csp_SixV","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": "http://www.xb6v.com/"},
|
||||
|
||||
##墙外系列
|
||||
{"key":"csp_Nbys","name":"🛫┃泥巴┃墙外","type":3,"api":"csp_NiNi","searchable":1,"quickSearch":1,"filterable":1},
|
||||
{"key": "Nbys","name": "🛫┃蜂蜜新泥巴┃墙外","type":3,"api":"csp_NiNi","searchable": 1,"viewType": 1,"changeable": 1,"jar": "https://qu.ax/XTuU.jpg"},
|
||||
{"key": "star","name": "🛫┃星星┃墙外","type": 3,"api": "csp_Star","searchable": 1,"changeable": 1,"jar":"https://fm.t4tv.hz.cz/jar/fm.jar;md5;55c157414346e3ff571baad0a223bf15"},
|
||||
{"key": "haiwaikan","name": "🛫┃海外看┃墙外","type": 1,"api": "https://haiwaikan.com/api.php/provide/vod","searchable": 1,"changeable": 1,"categories": ["日本动漫","国产动漫","欧美动漫","国产剧","韩剧","日剧","台剧","泰剧","港剧","欧美剧","动画电影","韩国综艺","国产综艺","日本综艺","欧美综艺","冒险片","剧情片","动作片","同性片","喜剧片","奇幻片","恐怖片","悬疑片","惊悚片","战争片","歌舞片","灾难片","爱情片","犯罪片","科幻片","纪录片","经典片"],"jar":"https://fm.t4tv.hz.cz/jar/fm.jar;md5;55c157414346e3ff571baad0a223bf15"},
|
||||
{"key":"csp_trj","name": "🛫┃唐人街┃墙外","type": 3,"api": "csp_Tangrenjie","searchable": 1,"quickSearch": 1,"filterable": 1},
|
||||
{"key":"飞马影视","name":"🛫┃🐎飞马┃墙外","type":1,"searchable":1,"quickSearch":1, "api":"http://rise.eu.org/api.php/provide/vod/from/if101"},
|
||||
{"key": "csp_If101","name": "🛫┃If10┃墙外","type": 3,"api": "csp_If101","searchable": 1,"quickSearch": 1,"filterable": 1},
|
||||
{"key":"drpy_KUBO","name":"🛫┃KUBO┃墙外","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/KUBO影视[飞].js"},
|
||||
{"key":"drpy_555","name":"🛫┃555┃墙外","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/555影视[飞].js"},
|
||||
{"key": "csp_Xiaoh","name": "🛫┃小宝┃墙外","type": 3,"api": "csp_Xiaoh","searchable": 1,"quickSearch": 1,"filterable": 1},
|
||||
{"key":"drpy_hh","name":"🛫┃吼吼┃墙外","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://download.kstore.space/download/3313/js/HoHo影视.js"},
|
||||
{"key":"drpy_od","name":"🛫┃欧帝┃墙外","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://download.kstore.space/download/3313/js/欧帝影院.js"},
|
||||
{"key":"drpy_欧乐","name":"🛫┃欧乐┃墙外","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/欧乐影院[飞].js"},
|
||||
{"key":"drpy_dbk","name":"🛫┃独播┃墙外","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/独播库[飞].js"},
|
||||
{"key":"drpy_爱壹帆","name":"🛫┃爱壹帆┃墙外","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/爱壹帆[飞].js"},
|
||||
|
||||
##dr_js系列
|
||||
{"key":"荐片","name":"🌟┃荐片┃JS","type":3,"viewType": 1,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/荐片.js"},
|
||||
{"key":"喵物次元","name":"💂🏿♀️┃喵物次元┃JS","type":3,"viewType": 1,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/喵物次元.js"},
|
||||
{"key":"高光影视","name":"🔅┃高光影视┃JS","type":3,"viewType": 1,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/高光影视.js"},
|
||||
{"key":"饭团","name":"🍚┃饭团影视┃JS","type":3,"viewType": 1,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/饭团影视.jsd"},
|
||||
{"key":"阿布","name":"🪖┃阿布影院┃JS","type":3,"viewType": 1,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/阿布影院.js"},
|
||||
{"key":"刺桐","name":"🦔┃刺桐影院┃JS","type":3,"viewType": 1,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/刺桐[V2].jsd"},
|
||||
{"key": "dr_EMO蓝光","name":"🧊┃EMO蓝光┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/EMO蓝光[V2].js"},
|
||||
{"key": "dr_4K视界","name":"🐡┃4K视界┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/4K视界[V2].jsd"},
|
||||
{"key": "dr_影探","name":"🦋┃影探┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/影探[V2].js"},
|
||||
{"key":"drpy_js_快看","name":"🌹┃快看影院┃JS","type":3,"viewType": 1,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/快看.js"},
|
||||
{"key":"drpy_js_海兔影院","name":"🐰┃海兔影院┃JS","type":3,"viewType": 1,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/海兔影院.js"},
|
||||
{"key":"drpy_js_免费看","name":"🐏┃免费看┃JS","type":3,"viewType": 1,"api":"https://gh-proxy.com/https://raw.github.com/hjdhnx/dr_py/main/libs/drpy2.min.js","ext":"https://gh-proxy.com/https://raw.github.com/hjdhnx/dr_py/main/js/免费看.js"},
|
||||
{"key":"drpy_js_低端","name":"💫┃低端┃JS","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/ddys.js"},
|
||||
{"key": "dr_69美剧","name":"✨┃69美剧┃JS","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/69%E7%BE%8E%E5%89%A7[V2].js"},
|
||||
{"key": "dr_往往","name":"🫖┃往往┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/往往影视.js"},
|
||||
{"key": "dr_南柯","name":"⛽┃南柯┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/南柯电影网.jsd"},
|
||||
{"key": "dr_南瓜","name":"🍩┃南瓜┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/南瓜影视.js"},
|
||||
{"key": "dr_光棍","name":"🔦┃光棍┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/光棍影院.js"},
|
||||
{"key": "dr_4K电影网","name":"👽┃4K电影网┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/4K电影网.js"},
|
||||
{"key": "dr_北川","name":"🍨┃北川┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/北川影视.js"},
|
||||
{"key": "dr_孜然","name":"🅾️┃孜然┃JS","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/孜然影视.js"},
|
||||
{"key": "dr_侦探","name":"🕵️┃侦探┃JS","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/zhentan.js"},
|
||||
{"key": "dr_voflix","name":"⛲┃VoflixHD┃JS","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/voflix.js"},
|
||||
{"key": "dr_FreeOK","name":"🐻┃FreeOK┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/FreeOK.jsd"},
|
||||
{"key": "dr_看一看","name":"👁┃看一看┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/看一看影视.js"},
|
||||
{"key": "dr_啊班","name":"🪲┃啊班┃JS","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/啊班[V2].js"},
|
||||
{"key": "dr_花猪","name":"🐷┃花猪┃JS","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/花猪影视[V2].js"},
|
||||
{"key": "dr_奈飞","name":"🛩️┃奈飞┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/奈飞中文.js"},
|
||||
{"key": "dr_西瓜","name":"🍉┃西瓜┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/西瓜影院.js"},
|
||||
{"key": "dr_咕噜","name":"🍵┃咕噜┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/咕噜.js"},
|
||||
{"key": "dr_番茄","name":"🍅┃番茄┃JS","type":3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/番茄影视.js"},
|
||||
{"key": "dr_电影先生","name":"🤵┃电影先生┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/电影先生.js"},
|
||||
{"key": "dr_8K影视","name":"🗺┃8K影院┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/8K影视.js"},
|
||||
{"key": "dr_91free","name":"🅰️┃91free┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/91free.js"},
|
||||
{"key": "dr_Nike","name":"🚲┃Nike┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/Nike影视.js"},
|
||||
{"key": "dr_Auete","name":"👺┃Auete┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/Auete.js"},
|
||||
{"key": "dr_NFM","name":"✈️┃NFM┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/NFM影视.jsd"},
|
||||
{"key": "dr_影视工厂","name":"📽️┃影视工厂┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/影视工厂.js"},
|
||||
{"key": "dr_影视工场","name":"💫┃影视工场┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/影视工场.js"},
|
||||
{"key": "dr_9U电影","name":"💸┃9U电影┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/9U电影.js"},
|
||||
{"key": "dr_l0l","name":"🚨┃l0l电影┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/l0l.js"},
|
||||
{"key": "dr_139影视","name":"🥨┃139电影┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/139影视.js"},
|
||||
{"key": "dr_新片场","name":"👹┃新片场┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/新片场.js"},
|
||||
{"key": "dr_鸭奈飞","name":"🦆┃鸭奈飞┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/yanaifei.js"},
|
||||
{"key": "dr_剧荒TV","name": "📺︎┃剧荒TV┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/剧荒TV.jsd"},
|
||||
{"key": "dr_皮皮鸭","name":"🍎┃皮皮鸭┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/皮皮鸭.js"},
|
||||
{"key": "dr_bttwoo","name":"👬┃BTtwoo┃JS","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/两个BT.js"},
|
||||
{"key":"dr_vip影院","name":"✈️┃VIP影院┃JS","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/vip影院.jsd"},
|
||||
{"key": "dr_看韩剧","name":"🍕┃看韩剧┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/看韩剧.js"},
|
||||
{"key":"dr_二次萌","name": "🌬️┃二次萌┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/二次萌影视.js"},
|
||||
{"key":"dr_独播库","name": "🍃┃独播库┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/独播库[飞].js"},
|
||||
{"key": "dr_萌蛋蛋","name":"🥚┃萌蛋蛋┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/萌蛋蛋[V2].js"},
|
||||
{"key": "dr_网飞TV","name":"📺┃网飞TV┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/网飞.TV.js"},
|
||||
{"key": "dr_慢大浪","name":"🌊┃慢大浪┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/慢大浪.js"},
|
||||
{"key": "dr_哔哩兔","name":"🐰┃哔哩兔┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/哔哩兔.js"},
|
||||
{"key": "dr_1080P","name": "🐐┃1080┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/1080P.js"},
|
||||
{"key": "dr_Fun4K","name": "🐝┃Fun4K┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/Fun4K.js"},
|
||||
{"key":"dr_539影院","name":"🦄┃539┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/539影院.js"},
|
||||
{"key":"dr_美视网","name": "💫┃美视网┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/美视网.js"},
|
||||
{"key":"dr_骚火","name": "☃️┃骚火┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/骚火电影.js"},
|
||||
{"key":"dr_007影视","name":"🍆┃零零七┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/007影视.js"},
|
||||
{"key":"dr_333影视","name":"🌠┃三三三┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/333影视.js"},
|
||||
{"key": "dr_52gen","name": "🌀┃52gen┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/52gen.js"},
|
||||
{"key": "dr_IMAX", "name": "📺┃IMAX┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/IMAX影视.js"},
|
||||
{"key": "dr_home", "name": "🌈┃在线之家┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/在线之家.js"},
|
||||
{"key": "dr_大师兄","name":"🏃┃大师兄┃JS","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/大师兄影视.js"},
|
||||
{"key": "dr_影渣渣","name": "🐎┃影渣渣┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/影渣渣.js"},
|
||||
{"key": "dr_农民影视","name":"🤴┃农民┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/农民影视.js"},
|
||||
{"key": "dr_7喜影视","name":"🏮┃7喜┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/7喜影院.js"},
|
||||
{"key": "dr_乐猪影视","name":"🐽┃乐猪┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/乐猪TV.js"},
|
||||
{"key": "dr_8号影院","name": "⚽┃8号┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/8号影院.js"},
|
||||
{"key": "dr_创艺影视","name":"🍸️┃创艺┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/创艺影视[V2].js"},
|
||||
{"key": "dr_豆芽影院","name":"🌀┃豆芽┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/豆芽影院.js"},
|
||||
{"key": "dr_米爱影视","name":"🍬┃米爱┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/米爱影视.js"},
|
||||
{"key": "dr_厂长资源","name":"💸┃厂长┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/厂长资源.js"},
|
||||
{"key": "dr_兄弟影视","name":"🔤┃兄弟┃JS","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/兄弟影视.js"},
|
||||
{"key": "dr_人人影视","name":"🎎┃人人┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/人人影视.js"},
|
||||
{"key": "dr_咕噜咕噜","name":"🎋┃咕噜┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/咕噜咕噜.js"},
|
||||
{"key": "dr_天空影视","name": "🈳┃天空┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/天空影视[V2].js"},
|
||||
{"key": "dr_555影视","name": "🎶┃555┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/555影视[V2].js"},
|
||||
{"key": "dr_兰花影院","name":"🌸┃兰花┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/兰花影院.js"},
|
||||
{"key": "dr_双十电影","name":"⛳┃双十┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/双十电影.js"},
|
||||
{"key": "dr_首播影院","name":"🚑┃首播┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/首播影院.js"},
|
||||
{"key": "dr_蓝光影院","name":"💿┃蓝光┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/蓝光影院.js"},
|
||||
{"key": "dr_大豆影院","name":"👽┃大豆┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/大豆.js"},
|
||||
{"key": "dr_HG影院","name": "🎏┃HG┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/HG影院[V2].js"},
|
||||
{"key": "dr_云镜影视","name":"🐸┃云镜┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/云镜影视.js"},
|
||||
{"key": "dr_零度影视","name":"🍓┃零度┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/零度影视.js"},
|
||||
{"key": "dr_稀饭影视","name":"🍚┃稀饭┃JS","type": 3,"api": "https://gitee.com/alanchaotang/data/raw/master/js/drpy.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/稀饭影视.js"},
|
||||
{"key": "dr_爱看影院","name":"💝┃爱看┃JS","type": 3,"api": "https://gitee.com/alanchaotang/data/raw/master/js/drpy.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/爱看影院.js"},
|
||||
{"key": "dr_干饭影视","name":"🐑┃干饭┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/干饭影视.js"},
|
||||
{"key": "dr_起飞影院","name":"🐯┃起飞┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/起飞影院.js"},
|
||||
{"key": "dr_小狗影院","name":"🐶┃小狗┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/小狗影院.js"},
|
||||
{"key": "dr_lingyun","name": "🍩┃凌云┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://gitee.com/alanchaotang/data/raw/master/js/lingyun.js"},
|
||||
{"key": "dr_飞兔影视","name":"🐟┃飞兔┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/飞兔影视.js"},
|
||||
{"key": "dr_B站影视","name": "🌺┃B站┃JS","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable": 2,"quickSearch": 0,"filterable": 0,"ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/B站影视.js"},
|
||||
{"key": "dr_冷曦影视","name":"🍑┃冷曦┃JS","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/冷曦影视.js"},
|
||||
{"key":"csp_XPath_age","name":"🐰┃AGE┃动漫","type": 3,"api": "csp_XPath","searchable": 1,"quickSearch": 0,"filterable": 1,"ext": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/main/json/AGE动漫.json"},
|
||||
{"key": "有声小说","name": "🎧┃有声┃小说","type": 3,"api": "https://agit.ai/fantaiying/dr_py/raw/branch/main/libs/drpy2.min.js","ext": "https://agit.ai/fantaiying/dr_py/raw/branch/main/js/有声小说吧.js","style": {"type": "rect","ratio": 1},"searchable": 0,"quickSearch": 0,"changeable": 0},
|
||||
{"key": "dr_广播迷FM","name":"📢┃广播迷┃FM","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/广播迷FM.js"},
|
||||
{"key": "dr_蜻蜓FM","name":"🍃┃蜻蜓广播┃FM","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/蜻蜓FM.js"},
|
||||
{"key": "dr_种子音乐","name":"🎷┃种子音乐┃娱乐","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/种子音乐.js"},
|
||||
{"key": "dr_苹果DJ","name":"🎸┃苹果DJ┃娱乐","type":3,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","searchable":2,"quickSearch":1,"filterable":0,"ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/苹果DJ.js"},
|
||||
{"key": "csp_XYQHiker_MV263","name":"🎸┃MV263┃娱乐","type":3,"api":"csp_XYQHiker","searchable":0,"quickSearch":0,"filterable":1,"ext":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/main/json/MV263.json","jar":"https://git.gra.phite.ro/alantang/X/raw/branch/main/jar/fm.jar;md5;694a5575722bb086b6fde7a23a68a1d8"},
|
||||
{"key": "csp_XYQHiker_酷奇MV","name":"Ⓜ️┃酷奇MV┃娱乐","type":3,"api":"csp_XYQHiker","searchable":0,"quickSearch":0,"filterable":1,"ext":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/main/json/酷奇MV.json","jar":"https://git.gra.phite.ro/alantang/X/raw/branch/main/jar/fm.jar;md5;694a5575722bb086b6fde7a23a68a1d8"},
|
||||
//{"key":"push_agent","name":"▶┃推送┃磁力","type":3,"api":"csp_Push","playerType":1,"searchable":0,"quickSearch":0,"filterable":0,"ext":"http://192.168.1.4:5244/Alan/Alist/token.txt"},
|
||||
{"key":"csp_Paper","name":"📜┃纸条┃云盘","type":3,"api":"csp_Paper","playerType":1,"searchable":1,"quickSearch":1,"filterable":1,"ext":"http://192.168.1.4:5244/Alan/Alist/token.txt"},
|
||||
{"key": "MV_vod","name": "🎶┃明星┃MV","type": 1,"api": "https://mv.wogg.link/mv/vod","style": {"type": "oval"},"searchable": 1,"quickSearch": 0,"changeable": 0},
|
||||
{"key":"csp_bendi","name":"📂┃本地┃视频","type":3,"api":"csp_LocalFile","searchable":0,"quickSearch":0,"filterable":0,"type_flag":1},
|
||||
{"key": "WebDAV","name": "🎥┃WebDAV┃影视仓库","type": 3,"api": "csp_WebDAV","searchable": 1,"filterable": 1,"changeable": 0,"ext": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/CatVodSpider/master/json/webdav.json","jar":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/CatVodSpider/master/jar/fm.jar"},
|
||||
{"key":"喵物次元","name":"💂🏿♀️┃喵物次元┃JS","type":3,"viewType": 1,"api":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext":"https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/喵物次元.js"},
|
||||
{"key": "drpy_js_喜马拉雅","name": "🎧 喜马拉雅","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/喜马拉雅.js"},
|
||||
{"key": "drpy_js_蜻蜓FM","name": "🎧 蜻蜓FM","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/蜻蜓FM.js"},
|
||||
{"key": "drpy_js_六月听书","name": "🎧 六月听书","type": 3,"api": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/libs/drpy2.min.js","ext": "https://git.gra.phite.ro/alantang/dr_py/raw/branch/main/js/六月听书.js"},
|
||||
{"key":"抠搜","name":"🍄┃抠抠┃搜搜","type":3,"api":"csp_KkSsGuard","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"UC","name":"🌈┃优汐┃搜搜","type":3,"api":"csp_UuSsGuard","searchable":1,"quickSearch":1,"changeable":0,"ext":{"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"PanSso","name":"🐌┃盘他┃三盘","type":3,"api":"csp_PanSsoGuard","searchable":1,"quickSearch":1,"changeable":0,"ext": {"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"YpanSo","name":"🐟┃盘她┃三盘","type":3,"api":"csp_YpanSoGuard","searchable":1,"quickSearch":1,"changeable":0,"ext": {"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"xzso","name":"👻┃盘它┃三盘","type":3,"api":"csp_XzsoGuard","searchable": 1,"quickSearch": 1,"changeable":0,"ext": {"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"米搜","name":"🦋┃米搜┃夸父","type":3,"api":"csp_MIPanSoGuard","searchable":1,"quickSearch":1,"changeable":0,"ext": {"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"夸搜","name":"😻┃夸搜┃夸父","type":3,"api":"csp_PanSearchGuard","searchable":1,"quickSearch":1,"changeable":0,"ext": {"pan":"quark","Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"Aliso","name":"🙀┃盘搜┃阿狸","type":3,"api":"csp_PanSearchGuard","searchable":1,"quickSearch":1,"changeable":0,"ext": {"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"YiSo","name":"😹┃易搜┃阿狸","type":3,"api":"csp_YiSoGuard","searchable":1,"quickSearch":1,"changeable":0,"ext": {"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"push_agent","name":"🛴┃手机┃推送","type":3,"api":"csp_PushGuard","searchable":0,"quickSearch":0,"ext": {"Cloud-drive":"tvfan/Cloud-drive.txt","from":"4k|auto"}},
|
||||
{"key":"csp_Anime1","name":"📯SP┃日本┃动漫","type":3,"api":"csp_Anime1","searchable":1,"quickSearch":1,"filterable":1}],
|
||||
|
||||
"lives": [
|
||||
{"name": "🦸┃tang直播","type": 0,"url": "https://git.gra.phite.ro/alantang/tvbs/raw/branch/main/output/result.m3u","playerType":1},
|
||||
{"name": "🎂┃Itv直播","type": 0,"url": "https://git.gra.phite.ro/alantang/itv/raw/branch/main/tv.m3u","playerType":1},
|
||||
{"name": "🦸┃tang直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/JunTV/refs/heads/main/output/result.m3u","playerType":1},
|
||||
{"name": "👟┃chao直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/SuperMAN/refs/heads/main/output/result.m3u","playerType":1},
|
||||
{"name": "🛬┃极速直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/iptv_api/refs/heads/main/live_ipv4.m3u","playerType":1},
|
||||
{"name": "🥮┃666直播","type": 0,"url": "http://api.mytv666.top/lives/free.php?type=txt","playerType":1},
|
||||
{"name": "🤿┃IPTV_SuperA直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/IPTV_SuperA/refs/heads/main/output/result.m3u","playerType":1},
|
||||
{"name": "🪂┃IPTV_SuperB直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/IPTV_SuperB/refs/heads/main/output/live_ipv4.m3u","playerType":1},
|
||||
{"name": "🎒┃JunTV直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/girl/refs/heads/master/tv/iptv4.m3u","playerType":1},
|
||||
{"name": "🏮┃WorkTV直播","type":0,"url":"https://cnb.cool/junchao.tang/llive/-/git/raw/main/电视.txt","playerType":1},
|
||||
{"name": "🥩┃luck9V直播","type":0,"url":"https://cnb.cool/junchao.tang/llive/-/git/raw/main/luck9.txt","playerType":1},
|
||||
//{"name": "🍬┃assets直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/yaoxieyoulei/YYKM_assets/refs/heads/main/webview.m3u","playerType":1},
|
||||
{"name": "🧀┃香港直播","type":0,"url":"https://smart.pendy.dpdns.org/m3u/Smart.m3u","playerType":1},
|
||||
{"name": "🎃┃中港台馬電視台頻道","type":0,"url":"http://209.141.59.146:50509/?type=m3u","playerType":1},
|
||||
{"name": "🛺┃knnnn直播电视","type": 3,"api": "https://framagit.org/knnnn/n/-/raw/main/j/kzb.py","ext": {}},
|
||||
{"name": "🥎┃IPTV_SuperD直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/iptv_SuperD/refs/heads/dist/live.m3u","playerType":1},
|
||||
{"name": "🐮┃牛牛直播","type" : 0,"url" : "https://web.banye.tech:7777/tv/hlj.txt","ua" : "okhttp/3.15","epg" : "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}","logo" : "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"},
|
||||
{"name": "🐝┃蜜蜂直播","type" : 0,"url" : "https://iptv.catvod.com/tv.m3u","ua" : "okhttp/3.15","epg" : "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}","logo" : "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"},
|
||||
{"name": "🍳┃SMT直播","type": 3,"api": "https://gh.tryxd.cn/https://raw.githubusercontent.com/doube-ba/Sub/refs/heads/main/live/live_smt_proxy_001.py","ext": {"proxy": {"http": "http://127.0.0.1:10809","https": "http://127.0.0.1:10809"}}},
|
||||
{"name": "🍔┃hostemail直播","type" : 0,"url" : "https://gh.tryxd.cn/https://raw.githubusercontent.com/hostemail/cdn/main/live/tv.txt","ua" : "okhttp/3.15","epg" : "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}","logo" : "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"},
|
||||
{"name": "🦆┃tang直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/JunTV/refs/heads/main/output/user_result.txt","playerType":1},
|
||||
{"name": "🍾┃Kilvn直播","type":0,"url":"https://live.kilvn.com/iptv.m3u","playerType":1},
|
||||
{"name": "🥨┃pxiptv直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/pxiptv/live/main/iptv.m3u","playerType":1},
|
||||
{"name": "🐶┃jun直播","type": 0,"url": "https://cnb.cool/junchao.tang/llive/-/git/raw/main/Alan_result.txt","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🥭┃aktvspace直播","type": 0,"url": "http://aktv.space/live.m3u","playerType":1},
|
||||
{"name": "🍔┃IPTV_auto直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/IPTV/main/live_ipv4.m3u","playerType":1},
|
||||
{"name": "🎏┃LITV直播","type": 3,"api": "https://gh.tryxd.cn/https://raw.githubusercontent.com/qingtingjjjjjjj/iptv-auto-update/main/my.txt","ext": {"proxy": {"http": "http://127.0.0.1:10809","https": "http://127.0.0.1:10809"}}},
|
||||
{"name": "🏎️┃A自家源直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/Collect-IPTV/refs/heads/main/mylive.m3u","playerType":1},
|
||||
{"name": "🚗┃B自家源直播","type":0,"url":"https://git.gra.phite.ro/alantang/X/raw/branch/main/live.m3u","playerType":1},
|
||||
{"name": "🚘┃C自家源直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/auto-iptv/main/live_ipv4.txt","playerType":1},
|
||||
{"name": "🚗┃B自家源直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/refs/heads/main/live/live.m3u","playerType":1},
|
||||
{"name": "🚕┃D自家源直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/main/live.m3u","playerType":1},
|
||||
{"name": "🚜┃E自家源直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/live/main/mylive.txt","playerType":1},
|
||||
{"name": "🍕┃F自家源直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/main/mytv.m3u","playerType":1},
|
||||
{"name": "📢┃联合直播","type": 0,"url":"https://git.gra.phite.ro/alantang/pg/raw/branch/main/live.m3u","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🐻┃CF-IPTV直播","type":0,"url":"https://git.gra.phite.ro/alantang/CF-IPTV/raw/branch/main/allinone.m3u","playerType":1},
|
||||
{"name": "📢┃联合直播","type": 0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/pg/refs/heads/main/live.m3u","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🐻┃台湾直播","type":0,"url":"http://cccccccoccccccc.ccccocccc.cc/uploads/TW.txt","playerType":1},
|
||||
{"name": "🤗┃Biptv直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/X/refs/heads/main/live/biptv.txt","playerType":1},
|
||||
{"name": "🧧┃ITV直播","url": "https://cnb.cool/junchao.tang/llive/-/git/raw/main/itv.txt","epg": "http://epg.51zmt.top:8000/e.xml","ua": "okhttp/3.15","catchup": {"type": "append","replace": "livemode=1,livemode=4","source": "&starttime=${(b)yyyyMMdd'T'HHmm}00.00Z&endtime=${(e)yyyyMMdd'T'HHmm}00.00Z"}},
|
||||
{"name": "🐻┃tvzb直播","type":0,"url":"https://cnb.cool/junchao.tang/llive/-/git/raw/main/tvzb.txt","playerType":1},
|
||||
|
||||
{"name": "🐸┃Yuanz港·澳·台直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/yuanzl77/IPTV/main/live.m3u","playerType":1},
|
||||
{"name": "🍾┃Kilvn直播","type":0,"url":"https://live.kilvn.com/iptv.m3u","playerType":1},
|
||||
{"name": "🐻┃tvzb直播","type":0,"url":"https://cnb.cool/junchao.tang/llive/-/git/raw/main/tvzb.txt","playerType":1},
|
||||
{"name": "🐸┃Yuanz港·澳·台直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com//alantang1977/yuanzl77/refs/heads/main/live.m3u","playerType":1},
|
||||
{"name": "🥨┃lalifeier-IPTV直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/lalifeier/IPTV/main/m3u/IPTV.m3u","playerType":1},
|
||||
{"name": "👑┃big直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/big-mouth-cn/tv/main/iptv-ok.m3u","playerType":1},
|
||||
|
||||
|
||||
{"name": "🤿┃mytvsources直播","type":0,"url":"https://codeberg.org/alfredisme/mytvsources/raw/branch/main/mylist-ipv6.m3u","playerType":1},
|
||||
{"name": "🍵┃PLTV直播","type":0,"url":"https://codeberg.org/lxxcp/live/raw/branch/main/gsdx.txt","playerType":1},
|
||||
{"name": "🏮┃codeberg·IPTV直播","type":0,"url":"https://codeberg.org/sy147258/iptv/raw/branch/main/电视","playerType":1},
|
||||
|
||||
{"name": "👑┃big直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/big-mouth-cn/tv/main/iptv-ok.m3u","playerType":1},
|
||||
{"name": "🤿┃mytvsources直播","type":0,"url":"https://codeberg.org/alfredisme/mytvsources/raw/branch/main/mylist-ipv6.m3u","playerType":1},{"name": "🍵┃PLTV直播","type":0,"url":"https://codeberg.org/lxxcp/live/raw/branch/main/gsdx.txt","playerType":1},
|
||||
{"name": "🏮┃codeberg·IPTV直播","type":0,"url":"https://codeberg.org/sy147258/iptv/raw/branch/main/电视","playerType":1},
|
||||
{"name": "🚌┃hipy直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/hjdhnx/hipy-sniffer/refs/heads/main/static/lives/lives.txt","playerType":1},
|
||||
{"name": "🚎┃xhztv·IPTV直播","type":0,"url":"http://xhztv.top/zbc.txt","playerType":1},
|
||||
{"name": "🚑┃auto-iptv直播","type":0,"url":"http://47.120.41.246:8899/zb.txt","playerType":1},
|
||||
|
||||
{"name": "😁┃天天开心","type":0,"url":"http://rihou.cc:55/lib/kx2024.txt","playerType":1},
|
||||
{"name": "🐲┃Gather","type":0,"url":"https://tv.iill.top/m3u/Gather","playerType":1,"ua":"okhttp/3.15","epg":"http://epg.112114.xyz/?ch={name}&date={date}","logo":"https://epg.112114.xyz/logo/{name}.png"},
|
||||
{"name": "🚑┃auto-iptv直播","type":0,"url":"http://47.120.41.246:8899/zb.txt","playerType":1},
|
||||
{"name": "😁┃Gather港·澳·台","type":0,"url":"https://tv.iill.top/m3u/MyTV","playerType":1},
|
||||
{"name": "🍌┃Gather电视直播","type":0,"url":"https://tv.iill.top/m3u/Gather","playerType":1},
|
||||
{"name": "🐲┃Gather网络直播","type":0,"url":"https://tv.iill.top/m3u/Live","playerType":1},
|
||||
{"name": "🌞┃日后港·澳·台","type": 0,"url": "http://rihou.cc:567/gggg.nzk","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🔥┃野火港·澳·韩·台直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/tianya7981/jiekou/refs/heads/main/野火959","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🍜┃mytv港·澳·韩·台直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/qingtingjjjjjjj/iptv-auto-update/main/my.txt","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🥬┃BOX港·澳·韩·台直播","type": 0,"url": "http://8.138.7.223/live.txt","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🐏┃Live肥羊直播","type": 3,"api": "csp_Feiyang","url": "tv.m3u","ext": "https://gh.tryxd.cn/https://raw.githubusercontent.com/lystv/fmapp/ok/apk/allinone/v7/allinone;md5;https://gh.tryxd.cn/https://raw.githubusercontent.com/lystv/fmapp/ok/apk/allinone/v7/md5","jar": "https://gh.tryxd.cn/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar"},
|
||||
{"name": "🐤┃Guovin直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/Guovin/iptv-api/gd/output/result.txt","playerType": 1,"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}","logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🐤┃Guovin直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/Guovin/iptv-api/gd/output/result.m3u","playerType": 1,"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}","logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🧸┃CCSH直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/CCSH/IPTV/main/live.txt","playerType":1},
|
||||
{"name": "🐏┃ssili126直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/ssili126/tv/main/itvlist.txt","playerType":1},
|
||||
{"name": "〽️┃欧歌电视","type": 0,"url": "https://xn--pggp-rp5imh.v.nxog.top/m//tv/","playerType": 1,"logo": "https://live.fanmingming.com/tv/{name}.png"},
|
||||
{"name": "🎂┃全国IPTV直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/suxuang/myIPTV/main/ipv6.m3u","playerType":1},
|
||||
{"name": "😎┃aktv直播","type": 0,"url": "https://aktv.top/live.m3u","playerType":1},
|
||||
|
||||
{"name": "🛍️┃1直播","type": 0,"url": "https://myernestlu.github.io/zby.txt","playerType":1},
|
||||
{"name": "🛍️┃2直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/zbefine/iptv/main/iptv.m3u","playerType":1},
|
||||
{"name": "🛍️┃3直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/vamoschuck/TV/main/M3U","playerType":1},
|
||||
{"name": "🛍️┃4直播","type": 0,"url": "https://epg.pw/test_channels_hong_kong.m3u","playerType":1},
|
||||
{"name": "🛍️┃5直播","type": 0,"url": "https://gitee.com/xxy002/zhiboyuan/raw/master/dsy","playerType":1},
|
||||
{"name": "🛍️┃6直播","type": 0,"url": "https://epg.pw/test_channels.m3u","playerType":1},
|
||||
{"name": "🛍️┃7直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/Free-TV/IPTV/master/playlist.m3u8","playerType":1},
|
||||
|
||||
{"name": "🎂┃suxuang直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/suxuang/myIPTV/main/ipv6.m3u","playerType":1},
|
||||
{"name": "👟┃iptv365直播","type": 0,"url": "https://live.iptv365.org/live.txt","playerType":1},
|
||||
{"name": "😎┃咪咕直播","type": 0,"url": "https://yun.urldwz.com/f/Q6y3ca/migu.m3u","timeout": 10},
|
||||
{"name": "🛍️┃myernestlu直播","type": 0,"url": "https://myernestlu.github.io/zby.txt","playerType":1},
|
||||
{"name": "🛍️┃zbefine直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/zbefine/iptv/main/iptv.m3u","playerType":1},
|
||||
{"name": "🛍️┃vamoschuck直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/vamoschuck/TV/main/M3U","playerType":1},
|
||||
{"name": "🛍️┃hong_kong直播","type": 0,"url": "https://epg.pw/test_channels_hong_kong.m3u","playerType":1},
|
||||
{"name": "🛍️┃zhiboyuan直播","type": 0,"url": "https://gitee.com/xxy002/zhiboyuan/raw/master/dsy","playerType":1},
|
||||
{"name": "🛍️┃channels直播","type": 0,"url": "https://epg.pw/test_channels.m3u","playerType":1},
|
||||
{"name": "🛍️┃Free-TV直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/Free-TV/IPTV/master/playlist.m3u8","playerType":1},
|
||||
{"name": "⚕️┃iptv粤Live","type": 0,"url": "http://box.1890222.xyz:8081/iptv/live.m3u","playerType":1},
|
||||
{"name": "🐰┃wwb521粤港澳","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/wwb521/live/main/tv.m3u","playerType":1},
|
||||
{"name": "🍡┃kimwang1978直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/kimwang1978/collect-tv-txt/main/merged_output_simple.txt","playerType":1},
|
||||
{"name": "✨┃PGTV直播","type": 0,"url": "https://git.gra.phite.ro/alantang/pg/raw/branch/main/live.m3u","playerType":1},
|
||||
{"name": "🎁┃migu直播","type": 0,"url": "https://json.doube.eu.org/live/migu/Sub.php","playerType":1},
|
||||
{"name": "🍟┃Kimentanm直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/Kimentanm/aptv/master/m3u/iptv.m3u","playerType":1},
|
||||
{"name": "🎗️┃ipv-Ai直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/IPTV-AI/main/output/channels.m3u","playerType":1},
|
||||
{"name": "🎗️┃butterfly直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/butterfly202400/dsy/refs/heads/main/ln2403.m3u","playerType":1},
|
||||
{"name": "🐸┃全面直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/Ftindy/IPTV-URL/main/Collect.m3u","playerType":1},
|
||||
{"name": "❤️┃春盈直播","type": 0,"url": "http://home.jundie.top:81/Cat/tv/live.txt","playerType":1},
|
||||
{"name": "🤡┃全球直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/Free-TV/IPTV/master/playlist.m3u8","playerType":1},
|
||||
{"name": "📺┃vbskycn直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/vbskycn/iptv/master/tv/iptv6.m3u","playerType":1},
|
||||
{"name": "📺┃vbskycn直播","type": 0,"url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/vbskycn/iptv/master/tv/iptv4.m3u","playerType":1},
|
||||
{"name": "🍭┃vbskycn直播","type": 0,"url": "https://live.zbds.top/tv/iptv4.txt","playerType":1},
|
||||
{"name": "🦐┃龙伊直播","type":0,"url":"https://龙伊.top/直播","playerType":1,"epg":"https://api.龙伊.top/epg/epg.php?ch={name}&date={date}","logo":"https://api.龙伊.top/epg/images/{name}.png"},
|
||||
{"name": "🍉┃fanmingming直播","type":0,"url":"https://live.fanmingming.com/tv/m3u/ipv6.m3u","playerType":1},
|
||||
{"name": "🍉┃fanmingming直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/fanmingming/live/refs/heads/main/tv/m3u/ipv6.m3u","playerType":1},
|
||||
{"name": "🎏┃范明直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/fanmingming/live/refs/heads/main/tv/m3u/ipv6.m3u","playerType":1},
|
||||
{"name": "✍️┃qingwen07直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/qingwen07/awesome-iptv/main/tvbox_live_all.txt","playerType":1},
|
||||
{"name": "🔢┃serv00直播","type":0,"url":"https://a90120.serv00.net/anbox/p3plink.txt","playerType":1},
|
||||
{"name": "👓┃gshtwy直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/gshtwy/MyTv/refs/heads/main/MyTv.m3u","playerType":1}],
|
||||
|
||||
{
|
||||
"name": "4GTV - 台湾",
|
||||
"url": "docker.livednow.dpdns.org/?type=m3u",
|
||||
"ua": "judy/5.2.1"
|
||||
},
|
||||
{
|
||||
"name": "香港视频 - 安卓",
|
||||
"url": "https://smart.pendy.dpdns.org/m3u/MytvSuper.m3u",
|
||||
"ua": "judy/5.2.1"
|
||||
},
|
||||
{
|
||||
"name": "鲍鱼",
|
||||
"type": 0,
|
||||
"url": "http://lisha521.dynv6.net.fh4u.org/tv.txt",
|
||||
"playerType": 1
|
||||
},
|
||||
{
|
||||
"name": "蝴蝶",
|
||||
"type": 0,
|
||||
"url": "http://lisha521.dynv6.net.fh4u.org/iptv.txt",
|
||||
"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}",
|
||||
"logo": "https://epg.iill.top/logo/{name}.png",
|
||||
"ua": "okhttp/3.15,AptvPlayer/1.4.0",
|
||||
"timeout": 10,
|
||||
"playerType": 2
|
||||
},
|
||||
{
|
||||
"name": "一线天",
|
||||
"type": 0,
|
||||
"url": "http://lisha521.dynv6.net.fh4u.org/hlj.txt",
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "青龙",
|
||||
"type": 0,
|
||||
"url": "http://rihou.cc:555/gggg.nzk",
|
||||
"playerType": 1,
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "https://epg.112114.eu.org/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "白虎",
|
||||
"type": 0,
|
||||
"url": "http://lisha521.dynv6.net.fh4u.org/live.txt",
|
||||
"playerType": 1,
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "馒头",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/c/3600/null/http://lisha521.dynv6.net.fh4u.org/live1.txt",
|
||||
"playerType": 2,
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{"name": "👓┃gshtwy直播","type":0,"url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/gshtwy/MyTv/refs/heads/main/MyTv.m3u","playerType":1}],
|
||||
|
||||
"hosts": [
|
||||
"cache.ott.ystenlive.itv.cmvideo.cn=itv.dns.xuran1983.cn",
|
||||
"cache.ott.bestlive.itv.cmvideo.cn=itv.dns.xuran1983.cn",
|
||||
|
@ -288,6 +244,9 @@
|
|||
"cache.ott.fifalive.itv.cmvideo.cn=base-v4-free-mghy.e.cdn.chinamobile.com",
|
||||
"cache.ott.hnbblive.itv.cmvideo.cn=base-v4-free-mghy.e.cdn.chinamobile.com"
|
||||
],
|
||||
"ads": [
|
||||
"static-mozai.4gtv.tv"
|
||||
],
|
||||
|
||||
"parses": [
|
||||
{"name":"自动解析","type":3,"url":"Demo"},
|
||||
|
|
39
app.py
|
@ -12,16 +12,19 @@ DELETE_CHARS = ["iHOT-", "NewTV-", "SiTV-", "-HEVC", "-50-FPS", "-高码", "-4K"
|
|||
GROUP_ORDER = ["收藏频道", "央视频道", "卫视频道", "其他频道", "地方频道"]
|
||||
|
||||
M3U_SOURCES = [
|
||||
{"name": "aktv", "url": "https://git.gra.phite.ro/alantang/tvbs/raw/branch/main/output/result.m3u", "ua": "okhttp/4.12.0"},
|
||||
{"name": "mytv", "url": "https://git.gra.phite.ro/alantang/CF-IPTV/raw/branch/main/allinone.m3u", "ua": "okhttp/4.12.0"},
|
||||
{"name": "电视", "url": "https://cnb.cool/junchao.tang/llive/-/git/raw/main/电视.txt", "ua": "okhttp/4.12.0"},
|
||||
{"name": "台湾", "url": "http://xn--elt51t.azip.dpdns.org:5008/?type=txt", "ua": "okhttp/4.12.0"},
|
||||
{"name": "dsy", "url": "https://gitee.com/xxy002/zhiboyuan/raw/master/dsy", "ua": "okhttp/4.12.0"},
|
||||
{"name": "小云TV", "url": "https://cnb.cool/junchao.tang/llive/-/git/raw/main/小云TV直播", "ua": "okhttp/4.12.0"},
|
||||
{"name": "mytv", "url": "http://gg.7749.org/z/0/dzh.txt", "ua": "okhttp/4.12.0"},
|
||||
{"name": "自用收藏", "url": "http://aktv.space/live.m3u", "ua": "okhttp/4.12.0"},
|
||||
{"name": "big", "url": "https://git.gra.phite.ro/alantang/auto-iptv/raw/branch/main/live_ipv4.m3u", "ua": "okhttp/4.12.0"},
|
||||
{"name": "big", "url": "http://api.mytv666.top/lives/free.php?type=txt", "ua": "okhttp/4.12.0"},
|
||||
{"name": "xhztv", "url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/qingtingjjjjjjj/iptv-auto-update/main/my.txt", "ua": "okhttp/4.12.0"},
|
||||
{"name": "top", "url": "https://tv.iill.top/m3u/Gather", "ua": "okhttp/4.12.0"},
|
||||
{"name": "zbds", "url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/pxiptv/live/main/iptv.m3u", "ua": "okhttp/4.12.0"},
|
||||
{"name": "Collect", "url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/Collect-IPTV/refs/heads/main/mylive.m3u", "ua": "okhttp/4.12.0"},
|
||||
{"name": "jundie", "url": "https://codeberg.org/alfredisme/mytvsources/raw/branch/main/mylist-ipv6.m3u", "ua": "okhttp/4.12.0"},
|
||||
{"name": "MyIPTV", "url": "https://git.gra.phite.ro/alantang/auto-iptv/raw/branch/main/live_ipv6.m3u", "ua": "okhttp/4.12.0"}
|
||||
{"name": "MyIPTV", "url": "https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/iptv_api/refs/heads/main/live_ipv4.m3u", "ua": "okhttp/4.12.0"}
|
||||
]
|
||||
|
||||
# ================== 核心功能 ==================
|
||||
|
@ -96,20 +99,24 @@ def generate_m3u_output(channels):
|
|||
return "\n".join(output)
|
||||
|
||||
def generate_txt_output(channels):
|
||||
"""
|
||||
Generates a plain text output for the given channels.
|
||||
Each channel will be written in the format: "Channel Name: URL".
|
||||
"""
|
||||
output_lines = []
|
||||
for channel in channels:
|
||||
# Extract channel name from metadata
|
||||
if match := re.search(r'tvg-name="([^"]+)"', channel["meta"]):
|
||||
channel_name = match.group(1)
|
||||
else:
|
||||
channel_name = "Unknown Channel"
|
||||
|
||||
# Append formatted line to output
|
||||
output_lines.append(f"{channel_name}: {channel['url']}")
|
||||
meta = channel["meta"]
|
||||
url = channel["url"]
|
||||
|
||||
# 提取频道名称
|
||||
name_match = re.search(r'tvg-name="([^"]+)"', meta)
|
||||
channel_name = name_match.group(1) if name_match else "Unknown Channel"
|
||||
|
||||
# 提取频道组
|
||||
group_match = re.search(r'group-title="([^"]+)"', meta)
|
||||
channel_group = group_match.group(1) if group_match else "Unknown Group"
|
||||
|
||||
# 提取电视台ID
|
||||
tvg_id_match = re.search(r'tvg-id="([^"]+)"', meta)
|
||||
tvg_id = tvg_id_match.group(1) if tvg_id_match else "Unknown ID"
|
||||
|
||||
output_lines.append(f"名称: {channel_name}, 组: {channel_group}, 电视台ID: {tvg_id}, URL: {url}")
|
||||
|
||||
return "\n".join(output_lines)
|
||||
|
||||
|
|
12
if.json
|
@ -4,22 +4,22 @@
|
|||
//{"name":"🏇┃湯┃影視(国内代理Github)","url":"https://cdn.jsdelivr.net/gh/alantang1977/X@main/aTV.json"},
|
||||
{"name":"🐼┃湯┃(PG节奏熊猫)","url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/pg/refs/heads/main/jsm.json"},
|
||||
//{"name":"🐰┃湯┃(Github国内代理)","url":"https://git.gra.phite.ro/alantang/LoveTV/raw/branch/main/ta.json"},
|
||||
//{"name":"💘┃真心PG源","url":"https://git.gra.phite.ro/alantang/LoveTV/raw/branch/main/FongMi.json"},
|
||||
{"name":"💘┃clunPG源","url":"https://clun.top/box.json"},
|
||||
{"name":"🍙┃饭太硬","url":"http://www.饭太硬.com/tv"},
|
||||
{"name":"🌊┃米家互联","url":"https://mpanso.me/DEMO.json"},
|
||||
{"name":"🌊┃米家互联","url":"http://miqk.cc/小米/DEMO.json"},
|
||||
{"name":"🐄┃王二小放牛娃","url":"http://tvbox.王二小放牛娃.top"},
|
||||
//{"name":"🐄┃王二小放牛娃","url":"http://tvbox.xn--4kq62z5rby2qupq9ub.top"},
|
||||
//{"name":"🐄┃王二小放牛娃","url":"ttp://tv.999888987.xyz"},
|
||||
//{"name":"🐄┃王二小放牛娃","url":"https://9280.kstore.space/wex.json"},
|
||||
{"name":"👂┃黑木耳克隆","url":"https://json.doube.eu.org/t4.php"},
|
||||
{"name":"🐔┃克隆解析","url":"https://zhangqun66.com/zq/api.json"},
|
||||
{"name":"🏂┃OK jack","url":"http://ok321.top/tv"},
|
||||
{"name":"🐱┃肥猫猫","url":"http://ceshi.肥猫.com/PandaQ"},
|
||||
//{"name":"🏂┃OK jack","url":"http://ok321.top/ok"},
|
||||
{"name":"🐱┃肥猫猫","url":"https://肥猫.com/"},
|
||||
{"name":"🎁┃盒子迷","url":"https://盒子迷.top/禁止贩卖"},
|
||||
{"name":"🚁┃骚0影視","url":"https://www.100km.top/0"},
|
||||
{"name":"⚪┃小白","url":"http://bp.tvbox.cam/"},
|
||||
{"name":"🐠┃吃猫的鱼","url":"https://d.kstore.dev/download/7213/吃猫的鱼"},
|
||||
{"name":"🛹┃板爷","url":"https://pg.banye.tech:7777/sub/banye/bpfy"},
|
||||
{"name":"👂┃黑木耳克隆","url":"https://json.doube.eu.org/t4.php"},
|
||||
{"name":"🐔┃克隆解析","url":"https://zhangqun66.com/zq/api.json"},
|
||||
{"name":"🔢┃yuanzl77","url":"http://175.178.251.183:6689/tv.txt"},
|
||||
{"name":"🐲┃开心","url":"http://kxrj.site:55/天天开心"},
|
||||
{"name":"🍃┃天天开心","url":"http://rihou.cc:55/lib/kx2024.txt"},
|
||||
|
|
208
jsm.json
|
@ -65,7 +65,9 @@
|
|||
}
|
||||
},
|
||||
{"key":"Local","name":"本地","type":3,"api":"csp_Local"},
|
||||
{"key":"AList","name":"网盘|Alist[jar]","type":3,"api":"csp_AList","searchable":1,"filterable":1,"changeable":1,"ext":"./js/alistjar.json"},
|
||||
{"key":"AList","name":"网盘|Alist[jar]","type":3,"api":"csp_AList","searchable":1,"filterable":1,"changeable":1,"timeout":60,
|
||||
"playerType": 2,
|
||||
"ext":"./js/alistjar.json"},
|
||||
{"key":"PushShare","name":"我的资源分享","type":3, "api":"csp_PushShare","searchable":1,"quickSearch":1, "changeable":1, "filterable":0, "timeout":60, "ext":"./lib/tokenm.json$$$./lib/pushshare.txt$$$db$$$1",
|
||||
"style": {
|
||||
"type": "list",
|
||||
|
@ -154,6 +156,8 @@
|
|||
"searchable": 1,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"timeout":60,
|
||||
"playerType": 2,
|
||||
"ext":{
|
||||
"type":"演唱会#电影#电视剧#帕梅拉#广场舞#纪录片#综艺#鬼畜#音乐#舞蹈#影视#知识#美食#风光#田园#户外#8K#徐云",
|
||||
"cookie":""
|
||||
|
@ -213,7 +217,7 @@
|
|||
"timeout": 60,
|
||||
"ext": "./lib/tokenm.json$$$https://mihdr.top/$$$noproxy$$$1$$$./lib/wogg.json$$$ZHIZHEN"
|
||||
},
|
||||
{"key":"Hmxz","name":"海绵|网盘","type":3,"api":"csp_Hmxz","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://www.hmxz.org/$$$noproxy$$$1$$$./lib/hmxz.txt$$$HMXZ",
|
||||
{"key":"Hmxz","name":"海绵|网盘","type":3,"api":"csp_Hmxz","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://haimian.eu.org/$$$noproxy$$$1$$$./lib/hmxz.txt$$$HMXZ",
|
||||
"style": {
|
||||
"type": "list",
|
||||
"ratio": 1.1
|
||||
|
@ -540,7 +544,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"name": "最强国内直播(-1天回看)",
|
||||
"name": "最强国内直播(EPG-1天回看)",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/c/3600/null/http://127.0.0.1:35456/tv.m3u",
|
||||
"ua": "okhttp/3.15",
|
||||
|
@ -552,18 +556,66 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"name": "PandaGo投屏直播接收记录",
|
||||
"name": "BJYD",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/dlnam3u/tv.m3u",
|
||||
"ua": "okhttp/3.15.",
|
||||
"url": "http://127.0.0.1:10079/c/3600/null/http://127.0.0.1:35456/bjyd.m3u",
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png",
|
||||
"catchup": {
|
||||
"type": "append",
|
||||
"source": "?livemode=4&starttime=${(b)yyyyMMdd'T'HHmm}00.00Z&endtime=${(e)yyyyMMdd'T'HHmm}00.00Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "BJYD(EPG-1天回看)",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/c/3600/null/http://127.0.0.1:35456/bjyd.m3u",
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date=DATE1SUB",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png",
|
||||
"catchup": {
|
||||
"type": "append",
|
||||
"source": "?livemode=4&starttime=${(b)yyyyMMdd'T'HHmm}00.00Z&endtime=${(e)yyyyMMdd'T'HHmm}00.00Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "BJYD(EPG-2天回看)",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/c/3600/null/http://127.0.0.1:35456/bjyd.m3u",
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date=DATE2SUB",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png",
|
||||
"catchup": {
|
||||
"type": "append",
|
||||
"source": "?livemode=4&starttime=${(b)yyyyMMdd'T'HHmm}00.00Z&endtime=${(e)yyyyMMdd'T'HHmm}00.00Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "BJYD(EPG-3天回看)",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/c/3600/null/http://127.0.0.1:35456/bjyd.m3u",
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date=DATE3SUB",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png",
|
||||
"catchup": {
|
||||
"type": "append",
|
||||
"source": "?livemode=4&starttime=${(b)yyyyMMdd'T'HHmm}00.00Z&endtime=${(e)yyyyMMdd'T'HHmm}00.00Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "BIPTV(IPV6,可回看)",
|
||||
"type": 0,
|
||||
"url": "./lib/biptv.txt",
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "BIPTV(IPV6)",
|
||||
"name": "PandaGo投屏直播接收记录",
|
||||
"type": 0,
|
||||
"url": "./lib/biptv.txt",
|
||||
"ua": "okhttp/3.15",
|
||||
"url": "http://127.0.0.1:10079/dlnam3u/tv.m3u",
|
||||
"ua": "okhttp/3.15.",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
|
@ -585,60 +637,6 @@
|
|||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "FMM.m3u(-1天回看)",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/c/3600/proxy/https://raw.githubusercontent.com/fanmingming/live/refs/heads/main/tv/m3u/ipv6.m3u",
|
||||
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date=DATE1SUB",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "FMM.m3u(-2天回看)",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/c/3600/proxy/https://raw.githubusercontent.com/fanmingming/live/refs/heads/main/tv/m3u/ipv6.m3u",
|
||||
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date=DATE2SUB",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "FMM.m3u(-3天回看)",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/c/3600/proxy/https://raw.githubusercontent.com/fanmingming/live/refs/heads/main/tv/m3u/ipv6.m3u",
|
||||
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date=DATE3SUB",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "FMM.m3u(-4天回看)",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/c/3600/proxy/https://raw.githubusercontent.com/fanmingming/live/refs/heads/main/tv/m3u/ipv6.m3u",
|
||||
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date=DATE4SUB",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "FMM.m3u(-5天回看)",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/c/3600/proxy/https://raw.githubusercontent.com/fanmingming/live/refs/heads/main/tv/m3u/ipv6.m3u",
|
||||
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date=DATE5SUB",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "FMM.m3u(-6天回看)",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/c/3600/proxy/https://raw.githubusercontent.com/fanmingming/live/refs/heads/main/tv/m3u/ipv6.m3u",
|
||||
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date=DATE6SUB",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "肥羊TX赛事直播",
|
||||
"type": 0,
|
||||
|
@ -711,90 +709,6 @@
|
|||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "LiSha521.TV",
|
||||
"type": 0,
|
||||
"url": "http://lisha521.dynv6.net.fh4u.org/tv.txt",
|
||||
"playerType": 1
|
||||
},
|
||||
{
|
||||
"name": "LiSha521.TV.音质增强",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/mp4/3600/null/http://lisha521.dynv6.net.fh4u.org/tv.txt",
|
||||
"playerType": 1
|
||||
},
|
||||
{
|
||||
"name": "LiSha521.IPTV",
|
||||
"type": 0,
|
||||
"url": "http://lisha521.dynv6.net.fh4u.org/iptv.txt",
|
||||
"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}",
|
||||
"logo": "https://epg.iill.top/logo/{name}.png",
|
||||
"ua": "okhttp/3.15,AptvPlayer/1.4.0",
|
||||
"timeout": 10,
|
||||
"playerType": 2
|
||||
},
|
||||
{
|
||||
"name": "LiSha521.IPTV.音质增强",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/mp4/3600/null/http://lisha521.dynv6.net.fh4u.org/iptv.txt",
|
||||
"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}",
|
||||
"logo": "https://epg.iill.top/logo/{name}.png",
|
||||
"ua": "okhttp/3.15,AptvPlayer/1.4.0",
|
||||
"timeout": 10,
|
||||
"playerType": 2
|
||||
},
|
||||
{
|
||||
"name": "LiSha521.HLJ",
|
||||
"type": 0,
|
||||
"url": "http://lisha521.dynv6.net.fh4u.org/hlj.txt",
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "LiSha521.HLJ.音质增强",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/mp4/3600/null/http://lisha521.dynv6.net.fh4u.org/hlj.txt",
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "LiSha521.LIVE",
|
||||
"type": 0,
|
||||
"url": "http://lisha521.dynv6.net.fh4u.org/live.txt",
|
||||
"playerType": 1,
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "LiSha521.LIVE.音质增强",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/mp4/3600/null/http://lisha521.dynv6.net.fh4u.org/live.txt",
|
||||
"playerType": 1,
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "LiSha521.LIVE1",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:10079/c/3600/null/http://lisha521.dynv6.net.fh4u.org/live1.txt",
|
||||
"playerType": 2,
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "GGGG",
|
||||
"type": 0,
|
||||
"url": "http://rihou.cc:555/gggg.nzk",
|
||||
"playerType": 1,
|
||||
"ua": "okhttp/3.15",
|
||||
"epg": "http://epg.112114.xyz/?ch={name}&date={date}",
|
||||
"logo": "https://epg.112114.eu.org/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "YTB直播",
|
||||
"type": 0,
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"lives": [
|
||||
{
|
||||
"name" : "小云TV直播",
|
||||
"url" : "https://web.banye.tech:7777/tvbus/yogurtTv.txt",
|
||||
"core" : {
|
||||
"auth" : "local://tvbus",
|
||||
"name" : "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}",
|
||||
"pass" : "https://epg.112114.xyz/logo/{name}.png",
|
||||
"resp" : "{\"result_code\":\"0\",\"result\":\"ok\",\"keys\":{\"user_id\":\"0027000005f5c398\",\"peer_id\":\"0ec044591d9e1418\",\"session_key\":\"0a49662f37674af5\"}}",
|
||||
"so" : "https://web.banye.tech:7777/tvbus/tvbus.so",
|
||||
"pkg" : "com.svc.vlive.home.ytv9x",
|
||||
"sign" : "308203533082023ba00302010202042108f284300d06092a864886f70d01010b05003059310c300a0603550406130378797a310d300b060355040813047a7a7979310d300b0603550407130479787978310d300b060355040a130478797879310d300b060355040b130479797878310d300b06035504031304787879793020170d3139303332363038333233305a180f32313139303330323038333233305a3059310c300a0603550406130378797a310d300b060355040813047a7a7979310d300b0603550407130479787978310d300b060355040a130478797879310d300b060355040b130479797878310d300b060355040313047878797930820122300d06092a864886f70d01010105000382010f003082010a0282010100bb3298eb5910860b7ae30b6b874ca374667133fd08cbf42bb52d5c1a49e0fe4818fc768f5155a95eacc465d8649467c40ce632081297fb66c6838534ee4221e3d2b6b56060fdde5569e37465852f9daa3a987bff4f013981c9ff063b7e0ca7d52ccacfeddbe066bcc29780d78e929ad9dacc3b804f51c9eb0548aac4803b0d32764135d6d8d987381adea6d5ec34966aebdec717c95e064e203a3ba6d10bf8336eae43a01ca42406055c62312c6ed057afb386cd12b0b54ac1611e6e1fef8e71c8da0597a43f542e645f54e614c2603b58ce3690e69e0da24e944eecacdcf6faa2043ccce1f15860432527b706269510cd6bd8314999fa870fb8825a1e1805070203010001a321301f301d0603551d0e041604149fcb5d4d1dd5743459052b9ab79539ebc8924570300d06092a864886f70d01010b05000382010100658ddae3d7833e5b7cbf504cc016deda2cee97cb2b0bbdb889d06f19860389904ffcdf0f21966299d4c0e19d109065bdd769977f1a67d4928fecdee48eb3c7ce5fb4009653510b9897bdc66aa54a29930ed5c27cbd3a75c4362944afa4625a7c7f0d3e77bcaf8f23d9233ad9c83d33305c88f6110f6d50de9eec1c47135fff99826bc79c88355f99d41c00eb54a7292c44a340fb78d3ac1acf39ad0d13bccc2fdf69e1d86504ae4087a4b59a662986a4e03c0b379f92dce5c8c9da54e164f9480c8a9fed01bcc562640b78adaaa5adcfda0e03a477ea63ec136819298e55f428f74076c1b444556001b84cbd5d47b080b6aeb5f1a567c03ea6a64a9c2876e3b2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
self 我的123网盘 0
|
||||
IpPUVv-3gOj?pwd=JZMM 【SGNB@CHDBits特效字幕4K_UHD原盘DIY电影合集】[1-345部]_[最终整理v2更新版_24.01TB]
|
||||
oec7Vv-odJWh?pwd=G8Et SGNB特效字幕4K原盘电影集
|
||||
Gme4Td-BW0Bd?pwd=evCv iso原盘|豆瓣top25
|
||||
Kliajv-TAWpd iso原盘|合集
|
||||
|
|
|
@ -1 +1 @@
|
|||
a1c5e28c63b371f071823224f6b0578d
|
||||
c084f8b282ecc4da8b3b7933e0bd6178
|
||||
|
|
|
@ -1 +1 @@
|
|||
56fb859044c878b60c6b315d9096bae9
|
||||
99d206b39fd97ffa6db506e6968e9726
|
||||
|
|
|
@ -1 +1 @@
|
|||
df99a0a9d2c13ff921032d6af62ff50d
|
||||
c4c4d00a398087706a6bbfd3de84531c
|
||||
|
|
151
live/aktv.space
|
@ -1,151 +0,0 @@
|
|||
#EXTM3U
|
||||
#EXTINF:-1,28 AI 智慧賽馬
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/28ai/AKTV.m3u8
|
||||
#EXTINF:-1,Channel 5 HD
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/channel5hd/AKTV.m3u8
|
||||
#EXTINF:-1,Channel 8 HD
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/channel8hd/AKTV.m3u8
|
||||
#EXTINF:-1,Channel U HD
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/channeluhd/AKTV.m3u8
|
||||
#EXTINF:-1,myTV SUPER 18台
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/mytvsuper18/AKTV.m3u8
|
||||
#EXTINF:-1,PopC
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/popc/AKTV.m3u8
|
||||
#EXTINF:-1,ROCK Action
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/rockaction/AKTV.m3u8
|
||||
#EXTINF:-1,TVB Plus
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/tvbplus/AKTV.m3u8
|
||||
#EXTINF:-1,tvN
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/tvn/AKTV.m3u8
|
||||
#EXTINF:-1,中天新聞台
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null-6/AKTV.m3u8
|
||||
#EXTINF:-1,千禧經典台(HK)
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null-15/AKTV.m3u8
|
||||
#EXTINF:-1,娛樂新聞台(HK)
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/hk/AKTV.m3u8
|
||||
#EXTINF:-1,寰宇新聞台
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null-7/AKTV.m3u8
|
||||
#EXTINF:-1,明珠剧集台(北美)
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null-19/AKTV.m3u8
|
||||
#EXTINF:-1,明珠台
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null-2/AKTV.m3u8
|
||||
#EXTINF:-1,無線新聞台
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null-1/AKTV.m3u8
|
||||
#EXTINF:-1,美亞電影台(HK)
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/hk-1/AKTV.m3u8
|
||||
#EXTINF:-1,翡翠剧集台(北美)
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null-18/AKTV.m3u8
|
||||
#EXTINF:-1,翡翠台
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null/AKTV.m3u8
|
||||
#EXTINF:-1,翡翠台 4K
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/4k/AKTV.m3u8
|
||||
#EXTINF:-1,翡翠综合台(北美)
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null-17/AKTV.m3u8
|
||||
#EXTINF:-1,鳳凰中文
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null-3/AKTV.m3u8
|
||||
#EXTINF:-1,鳳凰資訊
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null-4/AKTV.m3u8
|
||||
#EXTINF:-1,鳳凰香港
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null-5/AKTV.m3u8
|
||||
#EXTINF:-1,黃金翡翠台
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv/null-21/AKTV.m3u8
|
||||
#EXTINF:-1,AXN
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv2/axn/AKTV.m3u8
|
||||
#EXTINF:-1,Love Nature HD
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv2/lovenaturehd/AKTV.m3u8
|
||||
#EXTINF:-1,National Geographic
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv2/nationalgeographic/AKTV.m3u8
|
||||
#EXTINF:-1,无线新闻台(北美)
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv2/null-1/AKTV.m3u8
|
||||
#EXTINF:-1,東森新聞
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv2/null/AKTV.m3u8
|
||||
#EXTINF:-1,Animax(HK)
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/animaxhk/AKTV.m3u8
|
||||
#EXTINF:-1,DW
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/dw/AKTV.m3u8
|
||||
#EXTINF:-1,France 24
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/france24/AKTV.m3u8
|
||||
#EXTINF:-1,KIX
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/kix/AKTV.m3u8
|
||||
#EXTINF:-1,NHK World-Japan
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/nhkworldjapan/AKTV.m3u8
|
||||
#EXTINF:-1,NHK東京総合
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/nhk/AKTV.m3u8
|
||||
#EXTINF:-1,Nick Jr
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/nickjr/AKTV.m3u8
|
||||
#EXTINF:-1,Nickelodeon
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/nickelodeon/AKTV.m3u8
|
||||
#EXTINF:-1,Thrill
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/thrill/AKTV.m3u8
|
||||
#EXTINF:-1,Xite Hits
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/xitehits/AKTV.m3u8
|
||||
#EXTINF:-1,Xite Rock
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/xiterock/AKTV.m3u8
|
||||
#EXTINF:-1,ZooMoo
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/zoomoo/AKTV.m3u8
|
||||
#EXTINF:-1,亞洲新聞台
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/null-3/AKTV.m3u8
|
||||
#EXTINF:-1,東方衛視國際頻道
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/null/AKTV.m3u8
|
||||
#EXTINF:-1,無線衛星新聞台
|
||||
http://aktv-stream.m16tv.cfd/stream/aktv3/null-2/AKTV.m3u8
|
||||
#EXTINF:-1,Celestial Movies
|
||||
http://aktv-stream.m16tv.cfd/stream/astro_a1/celestialmovies/AKTV.m3u8
|
||||
#EXTINF:-1,CINEMAWORLD
|
||||
http://aktv-stream.m16tv.cfd/stream/astro_a1/ch31/AKTV.m3u8
|
||||
#EXTINF:-1,FIGHT SPORTS
|
||||
http://aktv-stream.m16tv.cfd/stream/astro_a1/ch85/AKTV.m3u8
|
||||
#EXTINF:-1,Mediacorp Entertainment Chinese
|
||||
http://aktv-stream.m16tv.cfd/stream/astro_a1/mediacorpentertainmentchinese/AKTV.m3u8
|
||||
#EXTINF:-1,NBA TV
|
||||
http://aktv-stream.m16tv.cfd/stream/astro_a1/ch84/AKTV.m3u8
|
||||
#EXTINF:-1,Sukan
|
||||
http://aktv-stream.m16tv.cfd/stream/astro_a1/ch89/AKTV.m3u8
|
||||
#EXTINF:-1,TV9
|
||||
http://aktv-stream.m16tv.cfd/stream/astro_a1/ch18/AKTV.m3u8
|
||||
#EXTINF:-1,TVB Jade
|
||||
http://aktv-stream.m16tv.cfd/stream/astro_a1/tvbjade/AKTV.m3u8
|
||||
#EXTINF:-1,TVB Xing He
|
||||
http://aktv-stream.m16tv.cfd/stream/astro_a1/tvbxinghe/AKTV.m3u8
|
||||
#EXTINF:-1,Unifi Sport
|
||||
http://aktv-stream.m16tv.cfd/stream/astro_a1/ch88/AKTV.m3u8
|
||||
#EXTINF:-1,曼聯電視頻道
|
||||
http://aktv-stream.m16tv.cfd/stream/astro_a1/ch87/AKTV.m3u8
|
||||
#EXTINF:-1,朝鮮恩情台
|
||||
http://aktv-stream.m16tv.cfd/stream/nknews/null/AKTV.m3u8
|
||||
#EXTINF:-1,ELTV生活英語台
|
||||
http://aktv-stream.m16tv.cfd/stream/taiwan/eltv/AKTV.m3u8
|
||||
#EXTINF:-1,三立新聞iNEWS
|
||||
http://aktv-stream.m16tv.cfd/stream/taiwan/inews/AKTV.m3u8
|
||||
#EXTINF:-1,中視
|
||||
http://aktv-stream.m16tv.cfd/stream/taiwan/null-4/AKTV.m3u8
|
||||
#EXTINF:-1,中視新聞
|
||||
http://aktv-stream.m16tv.cfd/stream/taiwan/null-13/AKTV.m3u8
|
||||
#EXTINF:-1,倪珍英語新聞
|
||||
http://aktv-stream.m16tv.cfd/stream/taiwan/null-1/AKTV.m3u8
|
||||
#EXTINF:-1,台視
|
||||
http://aktv-stream.m16tv.cfd/stream/taiwan/null-3/AKTV.m3u8
|
||||
#EXTINF:-1,台視新聞
|
||||
http://aktv-stream.m16tv.cfd/stream/taiwan/null-15/AKTV.m3u8
|
||||
#EXTINF:-1,華視
|
||||
http://aktv-stream.m16tv.cfd/stream/taiwan/null-5/AKTV.m3u8
|
||||
#EXTINF:-1,龍華偶像台
|
||||
http://aktv-stream.m16tv.cfd/stream/taiwan/null-9/AKTV.m3u8
|
||||
#EXTINF:-1,龍華日韓台
|
||||
http://aktv-stream.m16tv.cfd/stream/taiwan/null-7/AKTV.m3u8
|
||||
#EXTINF:-1,龍華經典台
|
||||
http://aktv-stream.m16tv.cfd/stream/taiwan/null/AKTV.m3u8
|
||||
#EXTINF:-1,龍華電影台
|
||||
http://aktv-stream.m16tv.cfd/stream/taiwan/null-8/AKTV.m3u8
|
||||
#EXTINF:-1,Astro Football
|
||||
http://aktv-stream.m16tv.cfd/stream/tuntun/astrofootball/AKTV.m3u8
|
||||
#EXTINF:-1,Astro IQIYI
|
||||
http://aktv-stream.m16tv.cfd/stream/tuntun/fashiontv4k/AKTV.m3u8
|
||||
#EXTINF:-1,Astro QJ
|
||||
http://aktv-stream.m16tv.cfd/stream/tuntun/astroqj/AKTV.m3u8
|
||||
#EXTINF:-1,Astro 欢喜台
|
||||
http://aktv-stream.m16tv.cfd/stream/tuntun/astro/AKTV.m3u8
|
||||
#EXTINF:-1,NTV NEWS 24
|
||||
http://aktv-stream.m16tv.cfd/stream/useradd1/ntvnews24/AKTV.m3u8
|
||||
#EXTINF:-1,viuTV
|
||||
http://aktv-stream.m16tv.cfd/stream/useradd1/viutv/AKTV.m3u8
|
|
@ -1,6 +1,7 @@
|
|||
[
|
||||
{"name": "🥨┃小云TV直播","url":"https://cnb.cool/junchao.tang/llive/-/git/raw/main/小云TV直播"},
|
||||
{"name": "🧧┃Aktv港·澳·台直播","url":"http://aktv.space/live.m3u"},
|
||||
{"name": "🐷┃tang直播","url":"https://gh.llkk.cc/https://raw.githubusercontent.com/alantang1977/JunTV/main/output/result.txt"},
|
||||
{"name": "🐷┃tang直播","url":"https://gh.tryxd.cn/https://raw.githubusercontent.com/alantang1977/SuperMAN/refs/heads/main/output/result.m3u"},
|
||||
{"name": "🍜┃iptv-org直播","url": "https://iptv-org.github.io/iptv/index.language.m3u"},
|
||||
{"name": "🍌┃yang-1989直播","url": "https://tv.iill.top/m3u/Gather"},
|
||||
{"name": "🐼┃kstore直播","url":"https://7337.kstore.space/twkj/tvzb.txt"},
|
||||
|
|
42606
live/live.m3u
24460
live/live.txt
|
@ -1 +1 @@
|
|||
33ca997fac05d921e6fe4fc629bc9086
|
||||
144cfea4dc7b28123349e8c990cccf22
|
|
@ -0,0 +1,130 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# by @嗷呜
|
||||
import sys
|
||||
from pyquery import PyQuery as pq
|
||||
sys.path.append('..')
|
||||
from base.spider import Spider
|
||||
|
||||
|
||||
class Spider(Spider):
|
||||
|
||||
def init(self, extend=""):
|
||||
pass
|
||||
|
||||
def getName(self):
|
||||
pass
|
||||
|
||||
def isVideoFormat(self, url):
|
||||
pass
|
||||
|
||||
def manualVideoCheck(self):
|
||||
pass
|
||||
|
||||
def destroy(self):
|
||||
pass
|
||||
|
||||
headers = {
|
||||
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
|
||||
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
||||
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="134", "Google Chrome";v="134"',
|
||||
'sec-ch-ua-platform': '"macOS"',
|
||||
'sec-fetch-dest': 'document',
|
||||
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.8 Mobile/15E148 Safari/604.1'
|
||||
}
|
||||
|
||||
host = "https://4k-av.com"
|
||||
|
||||
def homeContent(self, filter):
|
||||
data=self.getpq()
|
||||
result = {}
|
||||
classes = []
|
||||
for k in list(data('#category ul li').items())[:-1]:
|
||||
classes.append({
|
||||
'type_name': k.text(),
|
||||
'type_id': k('a').attr('href')
|
||||
})
|
||||
result['class'] = classes
|
||||
result['list'] = self.getlist(data('#MainContent_scrollul ul li'),'.poster span')
|
||||
return result
|
||||
|
||||
def homeVideoContent(self):
|
||||
pass
|
||||
|
||||
def categoryContent(self, tid, pg, filter, extend):
|
||||
data=self.getpq(f"{tid}page-{pg}.html")
|
||||
result = {}
|
||||
result['list'] = self.getlist(data('#MainContent_newestlist .virow .NTMitem'))
|
||||
result['page'] = pg
|
||||
result['pagecount'] = 9999
|
||||
result['limit'] = 90
|
||||
result['total'] = 999999
|
||||
return result
|
||||
|
||||
def detailContent(self, ids):
|
||||
data = self.getpq(ids[0])
|
||||
v = data('#videoinfo')
|
||||
vod = {
|
||||
'vod_name': data('#tophead h1').text().split(' ')[0],
|
||||
'type_name': v('#MainContent_tags.tags a').text(),
|
||||
'vod_year': v('#MainContent_videodetail.videodetail a').text(),
|
||||
'vod_remarks': v('#MainContent_titleh12 h2').text(),
|
||||
'vod_content': v('p.cnline').text(),
|
||||
'vod_play_from': '4KAV',
|
||||
'vod_play_url': ''
|
||||
}
|
||||
vlist = data('#rtlist li')
|
||||
jn = f"{vod['vod_name']}_" if 'EP0' in vlist.eq(0)('span').text() else ''
|
||||
if vlist:
|
||||
c = [f"{jn}{i('span').text()}${i('a').attr('href')}" for i in list(vlist.items())[1:]]
|
||||
c.insert(0, f"{jn}{vlist.eq(0)('span').text()}${ids[0]}")
|
||||
vod['vod_play_url'] = '#'.join(c)
|
||||
else:
|
||||
vod['vod_play_url'] = f"{vod['vod_name']}${ids[0]}"
|
||||
return {'list': [vod]}
|
||||
|
||||
def searchContent(self, key, quick, pg="1"):
|
||||
data=self.getpq(f"/s?k={key}")
|
||||
return {'list':self.getlist(data('#MainContent_newestlist .virow.search .NTMitem.Main'))}
|
||||
|
||||
def playerContent(self, flag, id, vipFlags):
|
||||
try:
|
||||
data=self.getpq(id)
|
||||
p,url=0,data('#MainContent_videowindow source').attr('src')
|
||||
if not url:raise Exception("未找到播放地址")
|
||||
except Exception as e:
|
||||
p,url=1,f"{self.host}{id}"
|
||||
headers = {
|
||||
'origin': self.host,
|
||||
'referer': f'{self.host}/',
|
||||
'sec-ch-ua-platform': '"macOS"',
|
||||
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.8 Mobile/15E148 Safari/604.1',
|
||||
}
|
||||
return {'parse': p, 'url': url, 'header': headers}
|
||||
|
||||
def localProxy(self, param):
|
||||
pass
|
||||
|
||||
def liveContent(self, url):
|
||||
pass
|
||||
|
||||
def getlist(self,data,y='.resyear label[title="分辨率"]'):
|
||||
videos = []
|
||||
for i in data.items():
|
||||
ns = i('.title h2').text().split(' ')
|
||||
videos.append({
|
||||
'vod_id': i('.title a').attr('href'),
|
||||
'vod_name': ns[0],
|
||||
'vod_pic': i('.poster img').attr('src'),
|
||||
'vod_remarks': ns[-1] if len(ns) > 1 else '',
|
||||
'vod_year': i(y).text()
|
||||
})
|
||||
return videos
|
||||
|
||||
def getpq(self, path=''):
|
||||
url=f"{self.host}{path}"
|
||||
data=self.fetch(url,headers=self.headers).text
|
||||
try:
|
||||
return pq(data)
|
||||
except Exception as e:
|
||||
print(f"{str(e)}")
|
||||
return pq(data.encode('utf-8'))
|
|
@ -0,0 +1,169 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# by @嗷呜
|
||||
import re
|
||||
import sys
|
||||
from Crypto.Hash import MD5
|
||||
sys.path.append("..")
|
||||
import json
|
||||
import time
|
||||
from pyquery import PyQuery as pq
|
||||
from base.spider import Spider
|
||||
|
||||
|
||||
class Spider(Spider):
|
||||
|
||||
def init(self, extend=""):
|
||||
pass
|
||||
|
||||
def getName(self):
|
||||
pass
|
||||
|
||||
def isVideoFormat(self, url):
|
||||
pass
|
||||
|
||||
def manualVideoCheck(self):
|
||||
pass
|
||||
|
||||
def action(self, action):
|
||||
pass
|
||||
|
||||
def destroy(self):
|
||||
pass
|
||||
|
||||
host = 'https://www.lreeok.vip'
|
||||
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
|
||||
'Accept': 'application/json, text/javascript, */*; q=0.01',
|
||||
'sec-ch-ua-platform': '"macOS"',
|
||||
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="134", "Google Chrome";v="134"',
|
||||
'Origin': host,
|
||||
'Referer': f"{host}/",
|
||||
}
|
||||
|
||||
def homeContent(self, filter):
|
||||
data = self.getpq(self.fetch(self.host, headers=self.headers).text)
|
||||
result = {}
|
||||
classes = []
|
||||
for k in data('.head-more.box a').items():
|
||||
i = k.attr('href')
|
||||
if i and '/vod' in i:
|
||||
classes.append({
|
||||
'type_name': k.text(),
|
||||
'type_id': re.search(r'\d+', i).group(0)
|
||||
})
|
||||
result['class'] = classes
|
||||
result['list'] = self.getlist(data('.border-box.diy-center .public-list-div'))
|
||||
return result
|
||||
|
||||
def homeVideoContent(self):
|
||||
pass
|
||||
|
||||
def categoryContent(self, tid, pg, filter, extend):
|
||||
body = {'type': tid, 'class': '', 'area': '', 'lang': '', 'version': '', 'state': '', 'letter': '', 'page': pg}
|
||||
data = self.post(f"{self.host}/index.php/api/vod", headers=self.headers, data=self.getbody(body)).json()
|
||||
result = {}
|
||||
result['list'] = data['list']
|
||||
result['page'] = pg
|
||||
result['pagecount'] = 9999
|
||||
result['limit'] = 90
|
||||
result['total'] = 999999
|
||||
return result
|
||||
|
||||
def detailContent(self, ids):
|
||||
data = self.getpq(self.fetch(f"{self.host}/voddetail/{ids[0]}.html", headers=self.headers).text)
|
||||
v = data('.detail-info.lightSpeedIn .slide-info')
|
||||
vod = {
|
||||
'vod_year': v.eq(-1).text(),
|
||||
'vod_remarks': v.eq(0).text(),
|
||||
'vod_actor': v.eq(3).text(),
|
||||
'vod_director': v.eq(2).text(),
|
||||
'vod_content': data('.switch-box #height_limit').text()
|
||||
}
|
||||
np = data('.anthology.wow.fadeInUp')
|
||||
ndata = np('.anthology-tab .swiper-wrapper .swiper-slide')
|
||||
pdata = np('.anthology-list .anthology-list-box ul')
|
||||
play, names = [], []
|
||||
for i in range(len(ndata)):
|
||||
n = ndata.eq(i)('a')
|
||||
n('span').remove()
|
||||
names.append(n.text())
|
||||
vs = []
|
||||
for v in pdata.eq(i)('li').items():
|
||||
vs.append(f"{v.text()}${v('a').attr('href')}")
|
||||
play.append('#'.join(vs))
|
||||
vod["vod_play_from"] = "$$$".join(names)
|
||||
vod["vod_play_url"] = "$$$".join(play)
|
||||
result = {"list": [vod]}
|
||||
return result
|
||||
|
||||
def searchContent(self, key, quick, pg="1"):
|
||||
# data = self.getpq(self.fetch(f"{self.host}/vodsearch/{key}----------{pg}---.html", headers=self.headers).text)
|
||||
# return {'list': self.getlist(data('.row-right .search-box .public-list-bj')), 'page': pg}
|
||||
data = self.fetch(
|
||||
f"{self.host}/index.php/ajax/suggest?mid={pg}&wd={key}&limit=999×tamp={int(time.time() * 1000)}",
|
||||
headers=self.headers).json()
|
||||
videos = []
|
||||
for i in data['list']:
|
||||
videos.append({
|
||||
'vod_id': i['id'],
|
||||
'vod_name': i['name'],
|
||||
'vod_pic': i['pic']
|
||||
})
|
||||
return {'list': videos, 'page': pg}
|
||||
|
||||
def playerContent(self, flag, id, vipFlags):
|
||||
h, p = {"User-Agent": "okhttp/3.14.9"}, 1
|
||||
url = f"{self.host}{id}"
|
||||
data = self.getpq(self.fetch(url, headers=self.headers).text)
|
||||
try:
|
||||
jstr = data('.player .player-left script').eq(0).text()
|
||||
jsdata = json.loads(jstr.split('aaa=')[-1])
|
||||
body = {'url': jsdata['url']}
|
||||
if not re.search(r'\.m3u8|\.mp4', body['url']):
|
||||
data = self.post(f"{self.host}/okplay/api_config.php", headers=self.headers,
|
||||
data=self.getbody(body)).json()
|
||||
url = data.get('url') or data.get('data', {}).get('url')
|
||||
p = 0
|
||||
except Exception as e:
|
||||
print('错误信息:', e)
|
||||
pass
|
||||
result = {}
|
||||
result["parse"] = p
|
||||
result["url"] = url
|
||||
result["header"] = h
|
||||
return result
|
||||
|
||||
def localProxy(self, param):
|
||||
pass
|
||||
|
||||
def getbody(self, params):
|
||||
t = int(time.time())
|
||||
h = MD5.new()
|
||||
h.update(f"DS{t}DCC147D11943AF75".encode('utf-8'))
|
||||
key = h.hexdigest()
|
||||
params.update({'time': t, 'key': key})
|
||||
return params
|
||||
|
||||
def getlist(self, data):
|
||||
videos = []
|
||||
for i in data.items():
|
||||
id = i('a').attr('href')
|
||||
if id:
|
||||
id = re.search(r'\d+', id).group(0)
|
||||
img = i('img').attr('data-src')
|
||||
if img and 'url=' in img: img = f'{self.host}{img}'
|
||||
videos.append({
|
||||
'vod_id': id,
|
||||
'vod_name': i('img').attr('alt'),
|
||||
'vod_pic': img,
|
||||
'vod_remarks': i('.public-prt').text() or i('.public-list-prb').text()
|
||||
})
|
||||
return videos
|
||||
|
||||
def getpq(self, data):
|
||||
try:
|
||||
return pq(data)
|
||||
except Exception as e:
|
||||
print(f"{str(e)}")
|
||||
return pq(data.encode('utf-8'))
|
|
@ -0,0 +1,279 @@
|
|||
# coding=utf-8
|
||||
# !/usr/bin/python
|
||||
# by嗷呜(finally)
|
||||
import sys
|
||||
import os
|
||||
sys.path.append("..")
|
||||
import re
|
||||
import hashlib
|
||||
import hmac
|
||||
import random
|
||||
import string
|
||||
from Crypto.Util.Padding import unpad
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
from Crypto.PublicKey import RSA
|
||||
from Crypto.Cipher import PKCS1_v1_5, AES
|
||||
from base64 import b64encode, b64decode
|
||||
import json
|
||||
import time
|
||||
from base.spider import Spider
|
||||
|
||||
class Spider(Spider):
|
||||
|
||||
def getName(self):
|
||||
return "电影猎手"
|
||||
|
||||
def init(self, extend=""):
|
||||
self.device = self.device_id()
|
||||
self.host = self.gethost()
|
||||
pass
|
||||
|
||||
def isVideoFormat(self, url):
|
||||
pass
|
||||
|
||||
def manualVideoCheck(self):
|
||||
pass
|
||||
|
||||
def action(self, action):
|
||||
pass
|
||||
|
||||
def destroy(self):
|
||||
pass
|
||||
|
||||
t = str(int(time.time()))
|
||||
|
||||
def homeContent(self, filter):
|
||||
result = {}
|
||||
filters = {}
|
||||
classes = []
|
||||
bba = self.url()
|
||||
data = self.fetch(f"{self.host}/api/v1/app/config?pack={bba[0]}&signature={bba[1]}", headers=self.header()).text
|
||||
data1 = self.aes(data)
|
||||
dy = {"class":"类型","area":"地区","lang":"语言","year":"年份","letter":"字母","by":"排序","sort":"排序"}
|
||||
data1['data']['movie_screen']['sort'].pop(0)
|
||||
for item in data1['data']['movie_screen']['sort']:
|
||||
item['n'] = item.pop('name')
|
||||
item['v'] = item.pop('value')
|
||||
for item in data1['data']['movie_screen']['filter']:
|
||||
has_non_empty_field = False
|
||||
classes.append({"type_name": item["name"], "type_id": str(item["id"])})
|
||||
for key in dy:
|
||||
if key in item and item[key]:
|
||||
has_non_empty_field = True
|
||||
break
|
||||
if has_non_empty_field:
|
||||
filters[str(item["id"])] = []
|
||||
filters[str(item["id"])].append(
|
||||
{"key": 'sort', "name": '排序', "value": data1['data']['movie_screen']['sort']})
|
||||
for dkey in item:
|
||||
if dkey in dy and item[dkey]:
|
||||
item[dkey].pop(0)
|
||||
value_array = [
|
||||
{"n": value.strip(), "v": value.strip()}
|
||||
for value in item[dkey]
|
||||
if value.strip() != ""
|
||||
]
|
||||
filters[str(item["id"])].append(
|
||||
{"key": dkey, "name": dy[dkey], "value": value_array}
|
||||
)
|
||||
result["class"] = classes
|
||||
result["filters"] = filters
|
||||
return result
|
||||
|
||||
def homeVideoContent(self):
|
||||
bba = self.url()
|
||||
url = f'{self.host}/api/v1/movie/index_recommend?pack={bba[0]}&signature={bba[1]}'
|
||||
data = self.fetch(url, headers=self.header()).json()
|
||||
videos = []
|
||||
for item in data['data']:
|
||||
if len(item['list']) > 0:
|
||||
for it in item['list']:
|
||||
try:
|
||||
videos.append(self.voides(it))
|
||||
except Exception as e:
|
||||
continue
|
||||
result = {"list": videos}
|
||||
return result
|
||||
|
||||
def categoryContent(self, tid, pg, filter, extend):
|
||||
body = {"type_id": tid, "sort": extend.get("sort", "by_default"), "class": extend.get("class", "类型"),
|
||||
"area": extend.get("area", "地区"), "year": extend.get("year", "年份"), "page": str(pg),
|
||||
"pageSize": "21"}
|
||||
result = {}
|
||||
list = []
|
||||
bba = self.url(body)
|
||||
url = f"{self.host}/api/v1/movie/screen/list?pack={bba[0]}&signature={bba[1]}"
|
||||
data = self.fetch(url, headers=self.header()).json()['data']['list']
|
||||
for item in data:
|
||||
list.append(self.voides(item))
|
||||
result["list"] = list
|
||||
result["page"] = pg
|
||||
result["pagecount"] = 9999
|
||||
result["limit"] = 90
|
||||
result["total"] = 999999
|
||||
return result
|
||||
|
||||
def detailContent(self, ids):
|
||||
body = {"id": ids[0]}
|
||||
bba = self.url(body)
|
||||
url = f'{self.host}/api/v1/movie/detail?pack={bba[0]}&signature={bba[1]}'
|
||||
data = self.fetch(url, headers=self.header()).json()['data']
|
||||
video = {'vod_name': data.get('name'),'type_name': data.get('type_name'),'vod_year': data.get('year'),'vod_area': data.get('area'),'vod_remarks': data.get('dynami'),'vod_content': data.get('content')}
|
||||
play = []
|
||||
names = []
|
||||
tasks = []
|
||||
for itt in data["play_from"]:
|
||||
name = itt["name"]
|
||||
a = []
|
||||
if len(itt["list"]) > 0:
|
||||
names.append(name)
|
||||
play.append(self.playeach(itt['list']))
|
||||
else:
|
||||
tasks.append({"movie_id": ids[0], "from_code": itt["code"]})
|
||||
names.append(name)
|
||||
if tasks:
|
||||
with ThreadPoolExecutor(max_workers=len(tasks)) as executor:
|
||||
results = executor.map(self.playlist, tasks)
|
||||
for result in results:
|
||||
if result:
|
||||
play.append(result)
|
||||
else:
|
||||
play.append("")
|
||||
video["vod_play_from"] = "$$$".join(names)
|
||||
video["vod_play_url"] = "$$$".join(play)
|
||||
result = {"list": [video]}
|
||||
return result
|
||||
|
||||
def searchContent(self, key, quick, pg=1):
|
||||
body = {"keyword": key, "sort": "", "type_id": "0", "page": str(pg), "pageSize": "10",
|
||||
"res_type": "by_movie_name"}
|
||||
bba = self.url(body)
|
||||
url = f"{self.host}/api/v1/movie/search?pack={bba[0]}&signature={bba[1]}"
|
||||
data = self.fetch(url, headers=self.header()).json()['data'].get('list')
|
||||
videos = []
|
||||
for it in data:
|
||||
try:
|
||||
videos.append(self.voides(it))
|
||||
except Exception as e:
|
||||
continue
|
||||
result = {"list": videos, "page": pg}
|
||||
return result
|
||||
|
||||
def playerContent(self, flag, id, vipFlags):
|
||||
url = id
|
||||
if "m3u8" not in url and "mp4" not in url:
|
||||
try:
|
||||
add = id.split('|||')
|
||||
data = {"from_code": add[0], "play_url": add[1], "episode_id": add[2], "type": "play"}
|
||||
bba = self.url(data)
|
||||
data2 = self.fetch(f"{self.host}/api/v1/movie_addr/parse_url?pack={bba[0]}&signature={bba[1]}",
|
||||
headers=self.header()).json()['data']
|
||||
url = data2.get('play_url') or data2.get('download_url')
|
||||
try:
|
||||
url1 = self.fetch(url, headers=self.header(), allow_redirects=False).headers['Location']
|
||||
if url1 and "http" in url1:
|
||||
url = url1
|
||||
except:
|
||||
pass
|
||||
except Exception as e:
|
||||
pass
|
||||
if '.jpg' in url or '.jpeg' in url or '.png' in url:
|
||||
url = self.getProxyUrl() + "&url=" + b64encode(url.encode('utf-8')).decode('utf-8') + "&type=m3u8"
|
||||
result = {}
|
||||
result["parse"] = 0
|
||||
result["url"] = url
|
||||
result["header"] = {'user-agent': 'okhttp/4.9.2'}
|
||||
return result
|
||||
|
||||
def localProxy(self, param):
|
||||
url = b64decode(param["url"]).decode('utf-8')
|
||||
durl = url[:url.rfind('/')]
|
||||
data = self.fetch(url, headers=self.header()).content.decode("utf-8")
|
||||
lines = data.strip().split('\n')
|
||||
for index, string in enumerate(lines):
|
||||
# if 'URI="' in string and 'http' not in string:
|
||||
# lines[index] = index
|
||||
# 暂时预留,貌似用不到
|
||||
if '#EXT' not in string and 'http' not in string:
|
||||
lines[index] = durl + ('' if string.startswith('/') else '/') + string
|
||||
data = '\n'.join(lines)
|
||||
return [200, "application/vnd.apple.mpegur", data]
|
||||
|
||||
def device_id(self):
|
||||
characters = string.ascii_lowercase + string.digits
|
||||
random_string = ''.join(random.choices(characters, k=32))
|
||||
return random_string
|
||||
|
||||
def gethost(self):
|
||||
headers = {
|
||||
'User-Agent': 'okhttp/4.9.2',
|
||||
'Connection': 'Keep-Alive',
|
||||
}
|
||||
response = self.fetch('https://app-site.ecoliving168.com/domain_v5.json', headers=headers).json()
|
||||
url = response['api_service'].replace('/api/', '')
|
||||
return url
|
||||
|
||||
def header(self):
|
||||
headers = {
|
||||
'User-Agent': 'Android',
|
||||
'Accept': 'application/prs.55App.v2+json',
|
||||
'timestamp': self.t,
|
||||
'x-client-setting': '{"pure-mode":1}',
|
||||
'x-client-uuid': '{"device_id":' + self.device + '}, "type":1,"brand":"Redmi", "model":"M2012K10C", "system_version":30, "sdk_version":"3.1.0.7"}',
|
||||
'x-client-version': '3096 '
|
||||
}
|
||||
return headers
|
||||
|
||||
def url(self, id=None):
|
||||
if not id:
|
||||
id = {}
|
||||
id["timestamp"] = self.t
|
||||
public_key = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA02F/kPg5A2NX4qZ5JSns+bjhVMCC6JbTiTKpbgNgiXU+Kkorg6Dj76gS68gB8llhbUKCXjIdygnHPrxVHWfzmzisq9P9awmXBkCk74Skglx2LKHa/mNz9ivg6YzQ5pQFUEWS0DfomGBXVtqvBlOXMCRxp69oWaMsnfjnBV+0J7vHbXzUIkqBLdXSNfM9Ag5qdRDrJC3CqB65EJ3ARWVzZTTcXSdMW9i3qzEZPawPNPe5yPYbMZIoXLcrqvEZnRK1oak67/ihf7iwPJqdc+68ZYEmmdqwunOvRdjq89fQMVelmqcRD9RYe08v+xDxG9Co9z7hcXGTsUquMxkh29uNawIDAQAB'
|
||||
encrypted_text = json.dumps(id)
|
||||
public_key = RSA.import_key(b64decode(public_key))
|
||||
cipher = PKCS1_v1_5.new(public_key)
|
||||
encrypted_message = cipher.encrypt(encrypted_text.encode('utf-8'))
|
||||
encrypted_message_base64 = b64encode(encrypted_message).decode('utf-8')
|
||||
result = encrypted_message_base64.replace('+', '-').replace('/', '_').replace('=', '')
|
||||
key = '635a580fcb5dc6e60caa39c31a7bde48'
|
||||
sign = hmac.new(key.encode(), result.encode(), hashlib.md5).hexdigest()
|
||||
return result, sign
|
||||
|
||||
def playlist(self, body):
|
||||
try:
|
||||
bba = self.url(body)
|
||||
url = f'{self.host}/api/v1/movie_addr/list?pack={bba[0]}&signature={bba[1]}'
|
||||
data = self.fetch(url, headers=self.header()).json()['data']
|
||||
return self.playeach(data)
|
||||
except Exception:
|
||||
return []
|
||||
|
||||
def playeach(self,data):
|
||||
play_urls = []
|
||||
for it in data:
|
||||
if re.search(r"mp4|m3u8", it["play_url"]):
|
||||
play_urls.append(f"{it['episode_name']}${it['play_url']}")
|
||||
else:
|
||||
play_urls.append(
|
||||
f"{it['episode_name']}${it['from_code']}|||{it['play_url']}|||{it['episode_id']}"
|
||||
)
|
||||
return '#'.join(play_urls)
|
||||
|
||||
def voides(self, item):
|
||||
if item['name'] or item['title']:
|
||||
voide = {
|
||||
"vod_id": item.get('id') or item.get('click'),
|
||||
'vod_name': item.get('name') or item.get('title'),
|
||||
'vod_pic': item.get('cover') or item.get('image'),
|
||||
'vod_year': item.get('year') or item.get('label'),
|
||||
'vod_remarks': item.get('dynamic') or item.get('sub_title')
|
||||
}
|
||||
return voide
|
||||
|
||||
def aes(self, text):
|
||||
text = text.replace('-', '+').replace('_', '/') + '=='
|
||||
key = b"e6d5de5fcc51f53d"
|
||||
iv = b"2f13eef7dfc6c613"
|
||||
cipher = AES.new(key, AES.MODE_CBC, iv)
|
||||
pt = unpad(cipher.decrypt(b64decode(text)), AES.block_size).decode("utf-8")
|
||||
return json.loads(pt)
|
|
@ -0,0 +1,171 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# by @嗷呜
|
||||
import json
|
||||
import random
|
||||
import string
|
||||
import sys
|
||||
from base64 import b64decode, b64encode
|
||||
from urllib.parse import quote, unquote
|
||||
sys.path.append('..')
|
||||
import concurrent.futures
|
||||
from base.spider import Spider
|
||||
|
||||
|
||||
class Spider(Spider):
|
||||
|
||||
def init(self, extend=""):
|
||||
pass
|
||||
|
||||
def getName(self):
|
||||
pass
|
||||
|
||||
def isVideoFormat(self, url):
|
||||
pass
|
||||
|
||||
def manualVideoCheck(self):
|
||||
pass
|
||||
|
||||
def destroy(self):
|
||||
pass
|
||||
|
||||
host='http://w.dcmovie.top'
|
||||
|
||||
headers = {
|
||||
'User-Agent': 'okhttp/4.9.1',
|
||||
'mark-time': 'null',
|
||||
'fn-api-version': '1.3.2',
|
||||
'versionCode': '5',
|
||||
'product': 'gysg',
|
||||
}
|
||||
|
||||
def homeContent(self, filter):
|
||||
data=self.fetch(f"{self.host}/api.php/vod/type", headers=self.headers).json()
|
||||
result,filters,videos = {},{},[]
|
||||
classes = [{'type_id': i['type_name'], 'type_name': i['type_name']} for i in data['list'][1:]]
|
||||
body={'token':'', 'type_id':data['list'][0]['type_id']}
|
||||
ldata=self.post(f"{self.host}/api.php/vod/category", data=body, headers=self.headers).json()
|
||||
for i in ldata['data']['banner']:
|
||||
videos.append({
|
||||
'vod_id':i.get('vod_id'),
|
||||
'vod_name':i.get('vod_name'),
|
||||
'vod_pic':i.get('vod_pic_thumb')
|
||||
})
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=len(classes)) as executor:
|
||||
future_to_aid = {executor.submit(self.fts, aid): aid for aid in classes}
|
||||
for future in concurrent.futures.as_completed(future_to_aid):
|
||||
aid = future_to_aid[future]
|
||||
try:
|
||||
aid_id, fts = future.result()
|
||||
filters[aid_id] = fts
|
||||
except Exception as e:
|
||||
print(f"Error processing aid {aid}: {e}")
|
||||
result['class'] = classes
|
||||
result['filters'] = filters
|
||||
result['list'] = videos
|
||||
return result
|
||||
|
||||
def homeVideoContent(self):
|
||||
pass
|
||||
|
||||
def categoryContent(self, tid, pg, filter, extend):
|
||||
params={'state':extend.get('state',tid) or tid,'class':extend.get('classes','全部'),'area':extend.get('area','全部'),'year':extend.get('year','全部'),'lang':extend.get('lang','全部'),'version':extend.get('version','全部'),'pg':pg}
|
||||
data=self.fetch(f"{self.host}/api.php/vod/list", params=params, headers=self.headers).json()
|
||||
result = {}
|
||||
result['list'] = data['data']['list'][:-1]
|
||||
result['page'] = pg
|
||||
result['pagecount'] = 9999
|
||||
result['limit'] = 90
|
||||
result['total'] = 999999
|
||||
return result
|
||||
|
||||
def detailContent(self, ids):
|
||||
body={'ids':ids[0],'uni_code':self.getunc(),'ac':'detail','token':''}
|
||||
data=self.post(f"{self.host}/api.php/vod/detail2", data=body, headers=self.headers).json()
|
||||
v=data['data']
|
||||
vod = {
|
||||
'type_name': v.get('type_name'),
|
||||
'vod_year': v.get('vod_year'),
|
||||
'vod_area': v.get('vod_area'),
|
||||
'vod_lang': v.get('vod_lang'),
|
||||
'vod_remarks': v.get('vod_remarks'),
|
||||
'vod_actor': v.get('vod_actor'),
|
||||
'vod_director': v.get('vod_director'),
|
||||
'vod_content': v.get('vod_content')
|
||||
}
|
||||
n,p=[],[]
|
||||
for i in v['vod_play_list']:
|
||||
pp=i['player_info']
|
||||
n.append(pp['show'])
|
||||
np=[]
|
||||
for j in i['urls']:
|
||||
cd={'parse':pp.get('parse'),'url':j['url'],'headers':pp.get('headers')}
|
||||
np.append(f"{j['name']}${self.e64(json.dumps(cd))}")
|
||||
p.append('#'.join(np))
|
||||
vod.update({'vod_play_from':'$$$'.join(n),'vod_play_url':'$$$'.join(p)})
|
||||
return {'list':[vod]}
|
||||
|
||||
def searchContent(self, key, quick, pg="1"):
|
||||
data=self.fetch(f"{self.host}/api.php/vod/search", params={'keywords':key,'type':'1','pg':pg}, headers=self.headers).json()
|
||||
return {'list':data['list'],'page':pg}
|
||||
|
||||
def playerContent(self, flag, id, vipFlags):
|
||||
ids=json.loads(self.d64(id))
|
||||
headers = {}
|
||||
urls=ids['url']
|
||||
if ids.get('headers'):
|
||||
hs=ids['headers'].split('=>',1)
|
||||
headers[hs[0].strip()]=hs[-1].strip()
|
||||
if isinstance(ids.get('parse'), list) and len(ids['parse']) > 0:
|
||||
urls=[]
|
||||
for i,x in enumerate(ids['parse']):
|
||||
su=f"{self.getProxyUrl()}&url={quote(x+ids['url'])}"
|
||||
urls.extend([f'解析{i+1}',su])
|
||||
return {'parse': 0, 'url': urls, 'header': headers}
|
||||
|
||||
def localProxy(self, param):
|
||||
try:
|
||||
body = {'url':unquote(param['url'])}
|
||||
data=self.post(f"{self.host}/api.php/vod/m_jie_xi", data=body, headers=self.headers).json()
|
||||
url=data.get('url') or data['data'].get('url')
|
||||
return [302,'video/MP2T',None,{'Location':url}]
|
||||
except:
|
||||
return []
|
||||
|
||||
def liveContent(self, url):
|
||||
pass
|
||||
|
||||
def fts(self, tdata):
|
||||
params={'state':tdata['type_id'],'pg':'1'}
|
||||
data = self.fetch(f"{self.host}/api.php/vod/list", params=params, headers=self.headers).json()
|
||||
ftks = ["classes", "area", "lang", "year", "version", "state"]
|
||||
filter = [
|
||||
{
|
||||
'name': k,
|
||||
'key': k,
|
||||
'value': [{'n': i, 'v': i} for i in v.split(',')]
|
||||
}
|
||||
for k, v in data['data']['classes']["type_extend"].items()
|
||||
if k in ftks and v
|
||||
]
|
||||
return tdata['type_id'],filter
|
||||
|
||||
def getunc(self):
|
||||
chars = string.ascii_lowercase + string.digits
|
||||
data = ''.join(random.choice(chars) for _ in range(16))
|
||||
return self.e64(data)
|
||||
|
||||
def e64(self, text):
|
||||
try:
|
||||
text_bytes = text.encode('utf-8')
|
||||
encoded_bytes = b64encode(text_bytes)
|
||||
return encoded_bytes.decode('utf-8')
|
||||
except Exception as e:
|
||||
return ""
|
||||
|
||||
def d64(self,encoded_text):
|
||||
try:
|
||||
encoded_bytes = encoded_text.encode('utf-8')
|
||||
decoded_bytes = b64decode(encoded_bytes)
|
||||
return decoded_bytes.decode('utf-8')
|
||||
except Exception as e:
|
||||
return ""
|
|
@ -0,0 +1,147 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# by @嗷呜
|
||||
import base64
|
||||
import re
|
||||
import sys
|
||||
from Crypto.Cipher import AES
|
||||
from Crypto.Util.Padding import unpad
|
||||
from pyquery import PyQuery as pq
|
||||
sys.path.append('..')
|
||||
from base.spider import Spider
|
||||
|
||||
|
||||
class Spider(Spider):
|
||||
|
||||
def init(self, extend=""):
|
||||
pass
|
||||
|
||||
def getName(self):
|
||||
pass
|
||||
|
||||
def isVideoFormat(self, url):
|
||||
pass
|
||||
|
||||
def manualVideoCheck(self):
|
||||
pass
|
||||
|
||||
def destroy(self):
|
||||
pass
|
||||
|
||||
host = 'https://www.jdys.art'
|
||||
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
|
||||
'sec-ch-ua-platform': '"macOS"',
|
||||
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="134", "Google Chrome";v="134"',
|
||||
'dnt': '1',
|
||||
'sec-ch-ua-mobile': '?0',
|
||||
'origin': host,
|
||||
'sec-fetch-site': 'cross-site',
|
||||
'sec-fetch-mode': 'cors',
|
||||
'sec-fetch-dest': 'empty',
|
||||
'referer': f'{host}/',
|
||||
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
||||
'priority': 'u=1, i',
|
||||
}
|
||||
|
||||
def homeContent(self, filter):
|
||||
data = self.getpq(self.fetch(self.host, headers=self.headers).text)
|
||||
result = {}
|
||||
classes = []
|
||||
for k in list(data('.navtop .navlist li').items())[:9]:
|
||||
classes.append({
|
||||
'type_name': k('a').text(),
|
||||
'type_id': k('a').attr('href'),
|
||||
})
|
||||
result['class'] = classes
|
||||
result['list'] = self.getlist(data('.mi_btcon .bt_img ul li'))
|
||||
return result
|
||||
|
||||
def homeVideoContent(self):
|
||||
pass
|
||||
|
||||
def categoryContent(self, tid, pg, filter, extend):
|
||||
data = self.getpq(self.fetch(f"{tid}{'' if pg == '1' else f'page/{pg}/'}", headers=self.headers).text)
|
||||
result = {}
|
||||
result['list'] = self.getlist(data('.mi_cont .bt_img ul li'))
|
||||
result['page'] = pg
|
||||
result['pagecount'] = 9999
|
||||
result['limit'] = 90
|
||||
result['total'] = 999999
|
||||
return result
|
||||
|
||||
def detailContent(self, ids):
|
||||
data = self.getpq(self.fetch(ids[0], headers=self.headers).text)
|
||||
data2 = data('.moviedteail_list li')
|
||||
vod = {
|
||||
'vod_name': data('.dytext h1').text(),
|
||||
'type_name': data2.eq(0).text(),
|
||||
'vod_year': data2.eq(2).text(),
|
||||
'vod_area': data2.eq(1).text(),
|
||||
'vod_remarks': data2.eq(4).text(),
|
||||
'vod_actor': data2.eq(7).text(),
|
||||
'vod_director': data2.eq(5).text(),
|
||||
'vod_content': data('.yp_context').text().strip()
|
||||
}
|
||||
vdata = data('.paly_list_btn a')
|
||||
play = []
|
||||
for i in vdata.items():
|
||||
a = i.text() + "$" + i.attr.href
|
||||
play.append(a)
|
||||
vod["vod_play_from"] = "在线播放"
|
||||
vod["vod_play_url"] = "#".join(play)
|
||||
result = {"list": [vod]}
|
||||
return result
|
||||
|
||||
def searchContent(self, key, quick, pg="1"):
|
||||
data = self.getpq(self.fetch(f"{self.host}/page/{pg}/?s={key}", headers=self.headers).text)
|
||||
return {'list': self.getlist(data('.mi_cont .bt_img ul li')), 'page': pg}
|
||||
|
||||
def playerContent(self, flag, id, vipFlags):
|
||||
data = self.getpq(self.fetch(id, headers=self.headers).text)
|
||||
try:
|
||||
sc = data('.videoplay script').eq(-1).text()
|
||||
strd = re.findall(r'var\s+[^=]*=\s*"([^"]*)";', sc)
|
||||
kdata = re.findall(r'parse\((.*?)\);', sc)
|
||||
jm = self.aes(strd[0], kdata[0].replace('"', ''), kdata[1].replace('"', ''))
|
||||
url = re.search(r'url: "(.*?)"', jm).group(1)
|
||||
p = 0
|
||||
except:
|
||||
p = 1
|
||||
url = id
|
||||
result = {}
|
||||
result["parse"] = p
|
||||
result["url"] = url
|
||||
result["header"] = self.headers
|
||||
return result
|
||||
|
||||
def localProxy(self, param):
|
||||
pass
|
||||
|
||||
def getpq(self, text):
|
||||
try:
|
||||
return pq(text)
|
||||
except Exception as e:
|
||||
print(f"{str(e)}")
|
||||
return pq(text.encode('utf-8'))
|
||||
|
||||
def getlist(self, data):
|
||||
videos = []
|
||||
for i in data.items():
|
||||
videos.append({
|
||||
'vod_id': i('a').attr('href'),
|
||||
'vod_name': i('a img').attr('alt'),
|
||||
'vod_pic': i('a img').attr('src'),
|
||||
'vod_remarks': i('.dycategory').text(),
|
||||
'vod_year': i('.dyplayinfo').text() or i('.rating').text(),
|
||||
})
|
||||
return videos
|
||||
|
||||
def aes(self, word, key, iv):
|
||||
key = key.encode('utf-8')
|
||||
iv = iv.encode('utf-8')
|
||||
encrypted_data = base64.b64decode(word)
|
||||
cipher = AES.new(key, AES.MODE_CBC, iv)
|
||||
decrypted_data = cipher.decrypt(encrypted_data)
|
||||
decrypted_data = unpad(decrypted_data, AES.block_size)
|
||||
return decrypted_data.decode('utf-8')
|
|
@ -0,0 +1,218 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# by @嗷呜
|
||||
import re
|
||||
import sys
|
||||
from urllib.parse import urlparse
|
||||
import base64
|
||||
from pyquery import PyQuery as pq
|
||||
sys.path.append('..')
|
||||
from base.spider import Spider
|
||||
|
||||
|
||||
class Spider(Spider):
|
||||
|
||||
def init(self, extend=""):
|
||||
self.host=self.gethost()
|
||||
self.headers.update({'referer': f'{self.host}/'})
|
||||
pass
|
||||
|
||||
def getName(self):
|
||||
pass
|
||||
|
||||
def isVideoFormat(self, url):
|
||||
pass
|
||||
|
||||
def manualVideoCheck(self):
|
||||
pass
|
||||
|
||||
def destroy(self):
|
||||
pass
|
||||
|
||||
headers = {
|
||||
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
|
||||
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
||||
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="130", "Google Chrome";v="130"',
|
||||
'sec-ch-ua-platform': '"Android"',
|
||||
'user-agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36',
|
||||
}
|
||||
|
||||
def homeContent(self, filter):
|
||||
data=self.getpq()
|
||||
result = {}
|
||||
classes = []
|
||||
filters = {"1": {"name": "类型","key": "tid","value": [{"n": "喜剧","v": 6},{"n": "爱情","v": 7},{"n": "恐怖","v": 8},{"n": "动作","v": 9},{"n": "科幻","v": 10},{"n": "战争","v": 11},{"n": "犯罪","v": 12},{"n": "动画","v": 13},{"n": "奇幻","v": 14},{"n": "剧情","v": 15},{"n": "冒险","v": 16},{"n": "悬疑","v": 17},{"n": "惊悚","v": 18},{"n": "其它","v": 19}]},"2": {"name": "类型","key": "tid","value": [{"n": "大陆剧","v": 20},{"n": "港剧","v": 21},{"n": "韩剧","v": 22},{"n": "美剧","v": 23},{"n": "日剧","v": 24},{"n": "英剧","v": 25},{"n": "台剧","v": 26},{"n": "其它","v": 27}]}}
|
||||
for k in data('.top_bar.clearfix a').items():
|
||||
j = k.attr('href')
|
||||
if j and 'list' in j:
|
||||
id = re.search(r'\d+', j).group(0)
|
||||
classes.append({
|
||||
'type_name': k.text(),
|
||||
'type_id': id
|
||||
})
|
||||
result['class'] = classes
|
||||
result['filters'] = filters
|
||||
result['list'] = self.getlist(data('.grid_box ul li'))
|
||||
return result
|
||||
|
||||
def homeVideoContent(self):
|
||||
pass
|
||||
|
||||
def categoryContent(self, tid, pg, filter, extend):
|
||||
data=self.getpq(f"/list/{extend.get('tid',tid)}-{pg}.html")
|
||||
result = {}
|
||||
result['list'] = self.getlist(data('.grid_box ul li'))
|
||||
result['page'] = pg
|
||||
result['pagecount'] = 9999
|
||||
result['limit'] = 90
|
||||
result['total'] = 999999
|
||||
return result
|
||||
|
||||
def detailContent(self, ids):
|
||||
data=self.getpq(ids[0])
|
||||
vod = {
|
||||
'vod_remarks': data('.grid_box.v_info_box p').text(),
|
||||
'vod_content': data('.p_txt.show_part').text().split('\n')[0],
|
||||
}
|
||||
n=list(data('.play_from ul li').items())
|
||||
p=list(data('ul.play_list li').items())
|
||||
ns,ps=[],[]
|
||||
for i,j in enumerate(n):
|
||||
ns.append(j.text())
|
||||
ps.append('#'.join([f"{k.text()}${k.attr('href')}" for k in list(p[i]('a').items())[::-1]]))
|
||||
vod['vod_play_from']='$$$'.join(ns)
|
||||
vod['vod_play_url']='$$$'.join(ps)
|
||||
return {'list':[vod]}
|
||||
|
||||
def searchContent(self, key, quick, pg="1"):
|
||||
pass
|
||||
|
||||
def playerContent(self, flag, id, vipFlags):
|
||||
data=self.getpq(id)
|
||||
try:
|
||||
surl=data('section[style*="padding-top"] iframe').eq(0).attr('src')
|
||||
sd=pq(self.fetch(surl,headers=self.headers).text)('body script').html()
|
||||
jdata=self.extract_values(sd)
|
||||
jdata['key']=self.hhh(jdata['key'])
|
||||
parsed_url = urlparse(surl)
|
||||
durl = parsed_url.scheme + "://" + parsed_url.netloc
|
||||
headers = {
|
||||
'accept': 'application/json, text/javascript, */*; q=0.01',
|
||||
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
||||
'cache-control': 'no-cache',
|
||||
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
'dnt': '1',
|
||||
'origin': durl,
|
||||
'pragma': 'no-cache',
|
||||
'priority': 'u=1, i',
|
||||
'referer': f'{surl}',
|
||||
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="130", "Google Chrome";v="130"',
|
||||
'sec-ch-ua-mobile': '?1',
|
||||
'sec-ch-ua-platform': '"Android"',
|
||||
'sec-fetch-dest': 'empty',
|
||||
'sec-fetch-mode': 'cors',
|
||||
'sec-fetch-site': 'same-origin',
|
||||
'sec-fetch-storage-access': 'active',
|
||||
'user-agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36',
|
||||
'x-requested-with': 'XMLHttpRequest',
|
||||
}
|
||||
jjb=self.post(f"{durl}/api.php",headers=headers,data=jdata).json()
|
||||
url,p=jjb['url'],0
|
||||
except Exception as e:
|
||||
self.log(f"失败: {e}")
|
||||
url,p=f'{self.host}{id}',1
|
||||
phd={
|
||||
'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36',
|
||||
'sec-ch-ua-platform': '"Android"',
|
||||
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="130", "Google Chrome";v="130"',
|
||||
'sec-fetch-dest': 'video',
|
||||
'referer': f'{self.host}/',
|
||||
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
||||
}
|
||||
return {'parse': p, 'url': url, 'header': phd}
|
||||
|
||||
def localProxy(self, param):
|
||||
pass
|
||||
|
||||
def liveContent(self, url):
|
||||
pass
|
||||
|
||||
def gethost(self):
|
||||
data=pq(self.fetch("http://shapp.us",headers=self.headers).text)
|
||||
for i in data('.content-top ul li').items():
|
||||
h=i('a').attr('href')
|
||||
if h:
|
||||
data = self.fetch(h, headers=self.headers, timeout=5)
|
||||
if data.status_code == 200:
|
||||
return h
|
||||
|
||||
def extract_values(self, text):
|
||||
url_match = re.search(r'var url = "([^"]+)"', text)
|
||||
url = url_match.group(1) if url_match else None
|
||||
t_match = re.search(r'var t = "([^"]+)"', text)
|
||||
t = t_match.group(1) if t_match else None
|
||||
key_match = re.search(r'var key = hhh\("([^"]+)"\)', text)
|
||||
key_param = key_match.group(1) if key_match else None
|
||||
act_match = re.search(r'var act = "([^"]+)"', text)
|
||||
act = act_match.group(1) if act_match else None
|
||||
play_match = re.search(r'var play = "([^"]+)"', text)
|
||||
play = play_match.group(1) if play_match else None
|
||||
return {
|
||||
"url": url,
|
||||
"t": t,
|
||||
"key": key_param,
|
||||
"act": act,
|
||||
"play": play
|
||||
}
|
||||
|
||||
def getlist(self,data):
|
||||
videos = []
|
||||
for i in data.items():
|
||||
videos.append({
|
||||
'vod_id': i('a').attr('href'),
|
||||
'vod_name': i('a').attr('title'),
|
||||
'vod_pic': i('a img').attr('data-original'),
|
||||
'vod_remarks': i('.v_note').text()
|
||||
})
|
||||
return videos
|
||||
|
||||
def getpq(self, path=''):
|
||||
data=self.fetch(f"{self.host}{path}",headers=self.headers).text
|
||||
try:
|
||||
return pq(data)
|
||||
except Exception as e:
|
||||
print(f"{str(e)}")
|
||||
return pq(data.encode('utf-8'))
|
||||
|
||||
def hhh(self, t):
|
||||
ee = {
|
||||
"0Oo0o0O0": "a", "1O0bO001": "b", "2OoCcO2": "c", "3O0dO0O3": "d",
|
||||
"4OoEeO4": "e", "5O0fO0O5": "f", "6OoGgO6": "g", "7O0hO0O7": "h",
|
||||
"8OoIiO8": "i", "9O0jO0O9": "j", "0OoKkO0": "k", "1O0lO0O1": "l",
|
||||
"2OoMmO2": "m", "3O0nO0O3": "n", "4OoOoO4": "o", "5O0pO0O5": "p",
|
||||
"6OoQqO6": "q", "7O0rO0O7": "r", "8OoSsO8": "s", "9O0tO0O9": "t",
|
||||
"0OoUuO0": "u", "1O0vO0O1": "v", "2OoWwO2": "w", "3O0xO0O3": "x",
|
||||
"4OoYyO4": "y", "5O0zO0O5": "z", "0OoAAO0": "A", "1O0BBO1": "B",
|
||||
"2OoCCO2": "C", "3O0DDO3": "D", "4OoEEO4": "E", "5O0FFO5": "F",
|
||||
"6OoGGO6": "G", "7O0HHO7": "H", "8OoIIO8": "I", "9O0JJO9": "J",
|
||||
"0OoKKO0": "K", "1O0LLO1": "L", "2OoMMO2": "M", "3O0NNO3": "N",
|
||||
"4OoOOO4": "O", "5O0PPO5": "P", "6OoQQO6": "Q", "7O0RRO7": "R",
|
||||
"8OoSSO8": "S", "9O0TTO9": "T", "0OoUO0": "U", "1O0VVO1": "V",
|
||||
"2OoWWO2": "W", "3O0XXO3": "X", "4OoYYO4": "Y", "5O0ZZO5": "Z"
|
||||
}
|
||||
n = ""
|
||||
o = base64.b64decode(t).decode('utf-8', errors='replace')
|
||||
i = 0
|
||||
while i < len(o):
|
||||
l = o[i]
|
||||
found = False
|
||||
for key, value in ee.items():
|
||||
if o[i:i + len(key)] == key:
|
||||
l = value
|
||||
i += len(key) - 1
|
||||
found = True
|
||||
break
|
||||
if not found:
|
||||
pass
|
||||
n += l
|
||||
i += 1
|
||||
return n
|