diff --git a/PG/jsm.json b/PG/jsm.json index 6b74f70..5748ca2 100644 --- a/PG/jsm.json +++ b/PG/jsm.json @@ -522,7 +522,7 @@ "name": "FeiYang牧场", "type": 0, "url": "http://sub.ottiptv.cc/iptv.m3u", - "ua": "okHttp/Mod-1.2.0.1", + "ua": "okHttp/Mod-1.3.0.0", "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": { diff --git a/PG/lib/allinone.tar.xz b/PG/lib/allinone.tar.xz index 3896bd1..614c897 100644 Binary files a/PG/lib/allinone.tar.xz and b/PG/lib/allinone.tar.xz differ diff --git a/PG/lib/allinone.tar.xz.md5 b/PG/lib/allinone.tar.xz.md5 index b261b15..84dc9dd 100644 --- a/PG/lib/allinone.tar.xz.md5 +++ b/PG/lib/allinone.tar.xz.md5 @@ -1 +1 @@ -ed8cb66cb9bccfa29672949a4c95bcca +b6ba8cf393751fece8e50319a98d6866 diff --git a/PG/pg.jar b/PG/pg.jar index 3761abc..59aa3c5 100644 Binary files a/PG/pg.jar and b/PG/pg.jar differ diff --git a/PG/pg.jar.md5 b/PG/pg.jar.md5 index 4727135..06f1caa 100644 --- a/PG/pg.jar.md5 +++ b/PG/pg.jar.md5 @@ -1 +1 @@ -3c6f62d4664b7134145225a2477425a2 \ No newline at end of file +cc8306a7ea9413d2d11120de4e32590f \ No newline at end of file diff --git a/README.md b/README.md index 0ce4216..a7640ac 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # tvboxtg # -整体更新25.09.06 +整体更新25.09.09 # The resources are sourced from the internet and are only used for learning purposes. Please delete them yourself 24 hours after using them for learning. \ No newline at end of file diff --git a/南风/Yoursmile.jar b/南风/Yoursmile.jar index ad87654..0895fdc 100644 Binary files a/南风/Yoursmile.jar and b/南风/Yoursmile.jar differ diff --git a/南风/api.json b/南风/api.json index 1bf7f4d..cf7fa28 100644 --- a/南风/api.json +++ b/南风/api.json @@ -1,18 +1,16 @@ { - "spider": "./Yoursmile.jar", + "spider": "./Yoursmile.jar;md5;c6aaf6a9498e1e1d07126779c687bdd8", "wallpaper": "https://深色壁纸.xxooo.cf/", "sites":[ {"key":"Tg|豆瓣","name":"🔍Tg豆瓣┃本接口免费-🈲贩卖","type":3,"api":"csp_TgYunDouBanPan","searchable":1,"changeable":0,"ext":{"siteUrl":"http://127.0.0.1:9999","count":4,"channelUsername":"bdwpzhpd,bdwpzhpd,alyp_TV,ucquark,wp123zy,oneonefivewpfx,tyypzhpd,cloudtianyi,ydypzyfx,yunpan139,guaguale115,Mbox115,shares_115,zaihuayun,PanjClub,NewQuark,yunpanpan,kuake_movie,Quark_Movies,alyp_4K_Movies,alyp_TV,yunpanshare,shareAliyun,alyp_1,BaiduCloudDisk","commonConfig":"./json/peizhi.json","filter":"./json/douban.json"}}, -{"key":"弹幕","name":"🅿弹幕|搜索","type":3,"api":"csp_Huban","jar":"https://jihulab.com/yoursmile6/TVBox/-/raw/main/HubanTC.jar"}, +{"key":"弹幕","name":"🅿弹幕|搜索","type":3,"api":"csp_ConfigCenter","jar":"https://jihulab.com/yoursmile6/TVBox/-/raw/main/custom_spider.jar"}, {"key":"ConfigCenter","name":"🅿网盘配置中心","type":3,"api":"csp_ConfigCenter","searchable":0,"changeable":0,"ext":{"commonConfig":"./json/peizhi.json"}}, {"key":"csp_Gz360","name":"🍉瓜子","type":3,"api":"csp_Gz360","searchable":1,"quickSearch":1,"filterable":1}, {"key":"csp_LiteApple","name":"🍎苹果","type":3,"api":"csp_LiteApple","searchable":1,"quickSearch":1,"filterable":1}, {"key":"巧技二","name":"💢聚搜┃仅搜索","type":3,"api":"csp_qiao2","searchable":1,"quickSearch":1,"filterable":1,"ext":"7lj763gg402i79425739i7jghj118797l4hj840gi18633331l4708g2h7145403549g44l8ii56i187681hkjj3hhgh1ih3l32j250lk1k786lj20j468hk3hli4l46gig4i3g7g2722328j0136h01i7g5183k22k7gg3i72hk81gl8k9839kl7i0707"}, -{"key":"天天","name":"⛅天天","type":3,"api":"csp_TTian","searchable":1,"quickSearch":1,"filterable":1,"ext":"7lj763gg09397919456493i0h44j8681highi4"}, {"key":"热播","name":"♨热播","type":3,"api":"csp_TTian","searchable":1,"quickSearch":1,"filterable":1,"ext":"7lj763gg0939791h1l3888jig44gi291li"}, {"key":"追剧","name":"✈追剧","type":3,"api":"csp_TTian","searchable":1,"quickSearch":1,"filterable":1,"ext":"7lj763gg0939791h1l2681i6g94li291li"}, -{"key":"金牌","name":"🥇金牌","type":3,"api":"csp_Jpys","searchable":1,"quickSearch":1,"filterable":1,"ext":"7lj763gg402i7942463j9j9jh84l8798l8gli652828g332i"}, {"key":"狂风","name":"🌪狂风","type":3,"api":"csp_Xdai","searchable":1,"quickSearch":1,"filterable":1,"ext":"7lj763gg402i7942422493i0g712948hk8k7i75hj59g6l73010l0lkhkj0h0g5i48i208k1il0gihj36j48k9j0g4gj04h6g233200hh2k593g471j368g73ill1i5ig9g790"}, {"key":"柚子","name":"🍈柚子","type":3,"api":"csp_Xdai","searchable":1,"quickSearch":1,"filterable":1,"ext":"7lj763gg402i7942463j9j9jh7498j9gl6k6i952i1i66j6l46590lklll457g593li27lkkhj0gh0j56j48kkj2kglg4gi6g744207ihj9793jl77j368g03kh11k10g8"}, {"key":"趣看","name":"🎐趣看","type":3,"api":"csp_Qiji","searchable":1,"quickSearch":1,"filterable":1,"ext":"7lj763gg402i7942552h8ljjlj0jjki7g4lg99099jjh6l6l514k08hjl807161j139753h090539gig3604gi80lgl30jk3hk637h53gh9ljkij2lig30k277g50354k2k3jkl1g17i2820ii582l0483g61k6i79k7kk7274h1i5g6jjj833h2390k42396hik71kigl18k613"}, @@ -63,7 +61,7 @@ {"key":"多多","name":"🌟多多","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"./json/peizhi.json","siteUrl":"https://tv.yydsys.top","filter":"./json/wogg.json"}}, {"key":"星剧社","name":"⭐️星剧社","type":3,"api":"csp_Star2","searchable":1,"filterable":0,"switchable":0,"ext":{"siteUrl":"https://1.star2.cn","commonConfig":"./json/peizhi.json"}}, {"key":"csp_PanSearch","name":"📀盘搜索","type":3,"api":"csp_PanSearch","searchable":1,"changeable":0,"ext":{"commonConfig":"./json/peizhi.json"}}, -{"key":"木偶","name":"🧸木偶","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"./json/peizhi.json","siteUrl":"https://123.91muou.icu","filter":"./json/wogg.json"}}, +{"key":"木偶","name":"🧸木偶","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"./json/peizhi.json","siteUrl":"http://123.666291.xyz","filter":"./json/wogg.json"}}, {"key":"闪电","name":"⚡闪电","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"./json/peizhi.json","siteUrl":"http://1.95.79.193","filter":"./json/wogg.json"}}, {"key":"盘Ta","name":"🍥盘Ta","type":3,"api":"csp_PanTa","searchable":1,"filterable":0,"switchable":0,"ext":{"siteUrl":"https://www.91panta.cn/","commonConfig":"./json/peizhi.json"}}, {"key":"AList","name":"🅰AList","type":3,"api":"csp_AList","searchable":1,"changeable":0,"ext":"./json/alist.json"}, @@ -72,7 +70,6 @@ {"key":"TgYunPan|本地","name":"🅿TgYunPan|本地(墙外)","type":3,"api":"csp_TgYunPanLocal","searchable":1,"filterable":0,"switchable":0,"ext":{"count":4,"channelUsername":"bdwpzhpd,bdwpzhpd,alyp_TV,ucquark,wp123zy,oneonefivewpfx,tyypzhpd,cloudtianyi,ydypzyfx,yunpan139,guaguale115,Mbox115,shares_115,zaihuayun,PanjClub,NewQuark,yunpanpan,kuake_movie,Quark_Movies,alyp_4K_Movies,alyp_TV,yunpanshare,shareAliyun,alyp_1,BaiduCloudDisk","commonConfig":"./json/peizhi.json"}}, {"key":"push_agent","name":"🅿推送","type":3,"api":"csp_Push","searchable":0,"quickSearch":0,"ext":{"commonConfig":"./json/peizhi.json"}}, -{"key":"游戏直播","name":"🙀游戏直播","type":3,"api":"csp_Living","searchable":1,"changeable":0,"ext":"https://lemonlive25.pages.dev"}, {"key":"虎牙","name":"🐯虎牙直播","type":3,"api":"https://gh-proxy.net/https://raw.githubusercontent.com/fantaiying7/EXT/refs/heads/main/drpy2.js","ext":"https://gh-proxy.net/https://raw.githubusercontent.com/fantaiying7/EXT/refs/heads/main/huya2.js","style":{"type":"rect","ratio":1.755},"timeout":15,"playerType":"2","searchable":0,"quickSearch":0,"changeable":0}, {"key":"斗鱼","name":"🐟斗鱼直播","type":3,"api":"./js/lib/drpy2.min.js","ext":"./js/斗鱼直播.js","style":{"type":"rect","ratio":1.755},"playerType":"2","searchable":0,"quickSearch":0,"changeable":0}, {"key":"有声小说吧","name":"📚有声小说吧","type":3,"api":"./js/lib/drpy2.min.js","playerType":"2","searchable":0,"quickSearch":0,"filterable":0,"ext":"./js/有声小说吧.js"}, diff --git a/南风/json/peizhi.json b/南风/json/peizhi.json index 79cac16..78fc935 100644 --- a/南风/json/peizhi.json +++ b/南风/json/peizhi.json @@ -20,6 +20,7 @@ "tgPic": "true", //tgsou 图片显示与否 //每次更新jar 该值都必须更新 - "exeMd5": "Z26cMhxDUA/4FUdG95EMnQI8pdC6e1xoqyQf12B55LL9+YSZjSwfYfLoAd/JpHBNKVy7Fo9VmluX41FSgDjnM/3guXXwaanBu41/7icVXQ4SQiGFwkL8Gv5oAW0ecLrvCNUemsYoR+/usTuiPpUU+e1u+5auJMXYshQiImAbO7TLFPcO3+OXEMS1nsQozul/p4Ds/HRwzDofpLF4RQIBTqKjntFjOdj8pgFRorkgmp2LBWBhN9qVZWFXwxGTfyHLxCeHg9Qivr0zbCyV9BwdGiMqo+1sSlfSg+7EzehhDIQ0Tt1TaLENqzNI6i5/b8bPdUWGc9GDz+K9lEtWuC7K6LUn3QUfNc+hGUcIEk+MWla4Ut2yR4mp89E1DwFOwntbt3aTqsohdAQCVRbG/ZDadzxxdGxOXnb8x9QF/PL/vVXzPT677qeI/C2/oMWnBjr/vhqt7JYFAtrzCEFuWw==" + "exeMd5": "YGF1yEGcUaICFgLAQ6qrzSzXyqJgAQrEYmMbUrT/E8g2VFbpELaXu4gYne+Q7tbwupIp/NZZujJPxBxOnzBGpU4JesMMSTUhJDdKd2tjIIoYpLSBoWc8mB09yGzR3bma57ncqvsfrjCfB2FeZRtne0raDZ16wcyUJybvBVaWBj6ZqG4FB5F99Ak4Ir792B3kiawsrVcpbgbYrXRz3AnD/AW+DkjceWQag0vd0n7Go2o5PUeifoq6L8vctoFh+OmQJCt3QXKX7hrqRTxMXRu1LxyeoPisWJltRg1q70b2uqTFY1OI5NQXCKF/yAX+CCsL/9QG0fsxEGJ5pkLzfcqZHMsBp97OtuB1IwyyCJofrTMkRJ1e1vslu9bHA/ovitxFGtPk2SNAEVjJdlXnVL8OYTd4bso+McMAfhW2xJQtSVkMbuCf/jyu0BI0+bxQ39tcpnvEYWicybvxFXn0Sg==" } + diff --git a/南风/lib/goProxy_arm64 b/南风/lib/goProxy_arm64 index acc0f26..8cf84ea 100644 Binary files a/南风/lib/goProxy_arm64 and b/南风/lib/goProxy_arm64 differ diff --git a/南风/lib/goProxy_arm64.md5 b/南风/lib/goProxy_arm64.md5 index 31731a4..116e349 100644 --- a/南风/lib/goProxy_arm64.md5 +++ b/南风/lib/goProxy_arm64.md5 @@ -1 +1 @@ -54803cc2c34c2b238f70c4cb90aa1f02 +728383c74317597e6e5ea090a917bf71 diff --git a/南风/lib/goProxy_armV7 b/南风/lib/goProxy_armV7 index fba8181..2bc9bc5 100644 Binary files a/南风/lib/goProxy_armV7 and b/南风/lib/goProxy_armV7 differ diff --git a/南风/lib/goProxy_armV7.md5 b/南风/lib/goProxy_armV7.md5 index c40fbb9..b9871b7 100644 --- a/南风/lib/goProxy_armV7.md5 +++ b/南风/lib/goProxy_armV7.md5 @@ -1 +1 @@ -ac9f16e41bd7ac812b8f6ba25c868061 +1336e5e5b8ad1449624b6076a6070d45 diff --git a/南风/lib/goProxy_linux b/南风/lib/goProxy_linux index a47836f..6c166ce 100644 Binary files a/南风/lib/goProxy_linux and b/南风/lib/goProxy_linux differ diff --git a/南风/lib/goProxy_linux.md5 b/南风/lib/goProxy_linux.md5 index c8cc34f..76a79a6 100644 --- a/南风/lib/goProxy_linux.md5 +++ b/南风/lib/goProxy_linux.md5 @@ -1 +1 @@ -8cc8e5b0c7a0fb97370426803ba31502 +9ea3deb176dfc11c19e2edee9c7cc283 diff --git a/南风/lib/tgsou-arm64 b/南风/lib/tgsou-arm64 index eb3f30d..550debf 100644 Binary files a/南风/lib/tgsou-arm64 and b/南风/lib/tgsou-arm64 differ diff --git a/南风/lib/tgsou-arm64.md5 b/南风/lib/tgsou-arm64.md5 index 3dd47a6..ffb3d0d 100644 --- a/南风/lib/tgsou-arm64.md5 +++ b/南风/lib/tgsou-arm64.md5 @@ -1 +1 @@ -8d4e181c28ca323edffa90fca15a72a5 tgsou-arm64 +60199794f7b351c8ef5ad8f399f87168 tgsou-arm64 diff --git a/南风/lib/tgsou-armV7 b/南风/lib/tgsou-armV7 index 159ce76..f03ea79 100644 Binary files a/南风/lib/tgsou-armV7 and b/南风/lib/tgsou-armV7 differ diff --git a/南风/lib/tgsou-armV7.md5 b/南风/lib/tgsou-armV7.md5 index 888e85f..cf28d31 100644 --- a/南风/lib/tgsou-armV7.md5 +++ b/南风/lib/tgsou-armV7.md5 @@ -1 +1 @@ -d04294d8ff2ab5f2ea6ad6c9fae696d6 tgsou-armV7 +b1ed3410bc1ad5c3b60f3577137cca0d tgsou-armV7 diff --git a/南风/lib/tgsou-go-linux-amd64 b/南风/lib/tgsou-go-linux-amd64 index f510f76..9c860e2 100644 Binary files a/南风/lib/tgsou-go-linux-amd64 and b/南风/lib/tgsou-go-linux-amd64 differ diff --git a/南风/lib/tgsou-go-linux-amd64.md5 b/南风/lib/tgsou-go-linux-amd64.md5 index f2ec951..4df6a4d 100644 --- a/南风/lib/tgsou-go-linux-amd64.md5 +++ b/南风/lib/tgsou-go-linux-amd64.md5 @@ -1 +1 @@ -fb74fa8c5262d7f3560f3c797fba3566 +7438ba2f8814ac1ffdec74f3c2bda442 \ No newline at end of file diff --git a/南风/lib/tgsou-go-linux-arm b/南风/lib/tgsou-go-linux-arm index 673b0f7..6a66957 100644 Binary files a/南风/lib/tgsou-go-linux-arm and b/南风/lib/tgsou-go-linux-arm differ diff --git a/南风/lib/tgsou-go-linux-arm.md5 b/南风/lib/tgsou-go-linux-arm.md5 index 575c0e7..17f2584 100644 --- a/南风/lib/tgsou-go-linux-arm.md5 +++ b/南风/lib/tgsou-go-linux-arm.md5 @@ -1 +1 @@ -dc63f162bbc6741b74c0a87a3c8399d4 +26a833832bc97afd8c0e249ec90990bc \ No newline at end of file diff --git a/南风/lib/tgsou-go-linux-arm64 b/南风/lib/tgsou-go-linux-arm64 index 8430943..4c89db4 100644 Binary files a/南风/lib/tgsou-go-linux-arm64 and b/南风/lib/tgsou-go-linux-arm64 differ diff --git a/南风/lib/tgsou-go-linux-arm64.md5 b/南风/lib/tgsou-go-linux-arm64.md5 index 779aa9b..f49b09a 100644 --- a/南风/lib/tgsou-go-linux-arm64.md5 +++ b/南风/lib/tgsou-go-linux-arm64.md5 @@ -1 +1 @@ -8759a2607362d8bbdae97d099d9e6c64 +7adc1a4084e8cbe26e543a11837b4a54 \ No newline at end of file diff --git a/南风/lib/tgsou-linux b/南风/lib/tgsou-linux index a7acc89..d0003eb 100644 Binary files a/南风/lib/tgsou-linux and b/南风/lib/tgsou-linux differ diff --git a/南风/lib/tgsou-linux.md5 b/南风/lib/tgsou-linux.md5 index 2213f6a..135b9d6 100644 --- a/南风/lib/tgsou-linux.md5 +++ b/南风/lib/tgsou-linux.md5 @@ -1 +1 @@ -ac8bd47ab45437d594b3a43076d7053e tgsou-linux +91f65798af7890ce3b8c887330d914c8 tgsou-linux diff --git a/小米/api.json b/小米/api.json index d0857cd..143312e 100644 --- a/小米/api.json +++ b/小米/api.json @@ -115,7 +115,7 @@ "quickSearch": 0, "searchable": 1, "ext": { - "json": "https://ai-search-static.dangbei.net/db-ai-search/2025/04/14/1911670191528480768/1744612665263_bili.json", + "json": "https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/c378a4506247b3a7/balibali.json", "cookie": "" }, "style": { @@ -155,6 +155,15 @@ "api": "csp_AppQi", "ext": "rP+4azM8YFgp3eAhyeALtUUEFpbkqmzGj2V5VZryxRbpkSjlsHbarRCZPOInvId4s3WK9rZ2YJsDy8NvMqQKQXowVmh33j+qD55VxmvMzzffqLi7UXvCKdy6PzbDhzFq" }, + { + "key": "仓鼠2", + "name": "🐨仓鼠┃小米", + "quickSearch": 0, + "searchable": 1, + "type": 3, + "api": "csp_AppQi", + "ext": "lo54N2bJ4DtrhxC9P676hHekMnvMvX1mNNhVKf3kE5Wgy3H/b30VkkDKAYauTqZsEMYaTrPKBtx3YUMTA+XHh7FPLmLfqp6gWseDzGVsgesALIba2gHVzuE75Sx1II8A" + }, { "key": "猪猪", "name": "🐷小猪┃影视", @@ -164,6 +173,15 @@ "api": "csp_AppGet", "ext": "I7L3u12iTGax7pIKDBrd0Czr1qZntIntytqeFyDzetDIICoeNSd3afmMXMhm296uAkb3qZ7kxihetfT8V6h4kw==" }, + { + "key": "布蕾", + "name": "💯布蕾┃影视", + "quickSearch": 0, + "searchable": 1, + "type": 3, + "api": "csp_AppGet", + "ext": "KgJbeb5sUfDKrPR2kL+eSnS2/p1vUzgiO9/kBzkhPIPRpqLXPCDc4tA9MXMdokFN" + }, { "key": "娱乐", "name": "🎮游戏┃娱乐", diff --git a/小米/lives/平台直播.txt b/小米/lives/平台直播.txt new file mode 100644 index 0000000..164a79b --- /dev/null +++ b/小米/lives/平台直播.txt @@ -0,0 +1,313 @@ +#EXTM3U x-tvg-url="https://11.112114.xyz/pp.xml" +#EXTINF:-1 tvg-name="4K60PSDR-H264-AAC测试" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="4K频道",4K60PSDR-H264-AAC测试 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/sdr4kvideo/playlist.m3u8 +#EXTINF:-1 tvg-name="4K60PHLG-HEVC-EAC3测试" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="4K频道",4K60PHLG-HEVC-EAC3测试 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/hlg4kvideo/playlist.m3u8 +#EXTINF:-1,tvg-id="重温经典" tvg-name="重温经典" tvg-logo="https://11.112114.xyz/logo/重温经典.png" group-title="其他",重温经典 +https://gdcucc.v1.mk/gdcucc/cwjd.m3u8 +#EXTINF:-1,tvg-id="五星体育" tvg-name="五星体育" tvg-logo="https://11.112114.xyz/logo/五星体育.png" group-title="其他",五星体育 +https://gdcucc.v1.mk/gdcucc/wxty.m3u8 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2201/057/821/202204010054_1626677502161_H169_1080.jpg" group-title="央视", CCTV1综合 +https://mgtv.ottiptv.cc/mg/608807420.m3u8?token=873f9e9283a57cb20cc3454d664576c7cee149303670ed4bd2f7f6658774f7a495d1ea65f72c5f7ef3bfdaa59cc15c3841e1cd68801476d31982b6ea258968dc028bdbc318e28f16b537172411&tm=1757387428&sign=42f26e7f61b35f3b2beb6132117d35af +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/346/945/202205311432_1653977575541_H169_1080.jpg" group-title="央视", CCTV2财经 +https://mgtv.ottiptv.cc/mg/631780532.m3u8?token=782622488420d058e771dc9f9ff4c4232e75b0b7506f4526e81bffd4e242d4735e7583d4af19a9140511ac6dffe9cfda872429af3c53636f3a4d5c80f0750b7c95b974a8c0632ff6e4d6473636&tm=1757387428&sign=98b036e589ba5e0908dedb8e40356e76 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/864/202204010055_1626679292691_H169_1080.jpg" group-title="央视", CCTV3综艺 +https://mgtv.ottiptv.cc/mg/624878271.m3u8?token=c2f4e3b7fd41cbc7ca351daab9483f744dae90899de5c04536d8ee1859655cda7cf0727b8417eb1597a2a9bb4b89256e5146219aae0154b13a92aa7db76cd9cf8fdea25875a9d83bd45cb6d07f&tm=1757387428&sign=1ad60accd460f7db1b067d1c1e6f6d8e +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/346/947/202204010054_1626679457281_H169_1080.jpg" group-title="央视", CCTV4中文国际 +https://mgtv.ottiptv.cc/mg/631780421.m3u8?token=f1eb6fd00c24898b309e9a0edf4a3ea0f3eb2352ecb88740df440cd3ac9202c58a59bfe33e827cf048977397c053b330f7e2c705c1e530156f4cc8349e1526e7c39c0b3eca1f2dcd0ef2f4c799&tm=1757387428&sign=842ea63e29c6f44221b44812afe594f3 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/516/171/202204010048_1626679645474_H169_1080.jpg" group-title="央视", CCTV5体育 +https://mgtv.ottiptv.cc/mg/641886683.m3u8?token=6c49c50cdf8aa0eda0a00c38f95517f40d327f07d308d09aa820421c26b14024bae965495fdb9762668b4e8cc42f1809466015650dfe7d50bc0de4db09d8c3f952f68584699eef30b9f01bf17c&tm=1757387428&sign=4075eef6b0c4cfa748df7ba38739ade7 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/516/288/202204010048_1626679726956_H169_1080.jpg" group-title="央视", CCTV5+体育赛事 +https://mgtv.ottiptv.cc/mg/641886773.m3u8?token=0e47a58aee0c766cee42433ccc0df0f9dbaeb31233f0916a27c52231a008789243906c494256b43df6a92b0c6c47ec4b82b6d5800dad591ff808b64c6561983b4011b4a2d7f6d4b9bb499e989b&tm=1757387428&sign=909a01f044c6d44bc8e7dd339fa47d49 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/872/202204010054_1626679942827_H169_1080.jpg" group-title="央视", CCTV6电影 +https://mgtv.ottiptv.cc/mg/624878396.m3u8?token=8f5994def3d9d3d1e42bf78bc636109851d74e4e86ad4dd7f30d3ff7b89e51ecc777ffcd40f1cebd9ae4f61469dc41b2b9b896de6d402ac81a18eb8a2c4f3b761eae1eb6a6625c7fd770d59235&tm=1757387428&sign=05d4c798efcd2288232b7c374480e071 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5501/083/622/202204010054_1626680072401_H169_1080.jpg" group-title="央视", CCTV7国防军事 +https://mgtv.ottiptv.cc/mg/673168121.m3u8?token=57b2840dc9bde770b26f3ab2e0eff3a3653af6c4c3881f04c92e99a25cf5e6c2ac61b11846dd056517365844b855a51c9ca9da7d0c538280833fda4cb128ee3d4bc0452ff36784b667adf498c1&tm=1757387428&sign=63e8b03e9c6eb2135d88c27458ba13d5 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/868/202204010049_1626677144094_H169_1080.jpg" group-title="央视", CCTV8电视剧 +https://mgtv.ottiptv.cc/mg/624878356.m3u8?token=afe48916b07b879975b99aef80c447d0b867e9e720473054b3c13ababa253922c099a02c093e76e2f86d838fc89789b259edbaa2df42da6e23ed1b7e7b65267f2ebd02b3d7465a7f18af5925c9&tm=1757387428&sign=24939c774ad7694e7fbf24e9ae47f642 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5501/083/624/202204010054_1626677492322_H169_1080.jpg" group-title="央视", CCTV9纪录 +https://mgtv.ottiptv.cc/mg/673168140.m3u8?token=60e8ab435821bdfe6b921cf2eb6d9ff66b3c26f1588eb85aa005422e783722555f9e86e4662579a1ad132733c06fcc0322435b6748325ae6bc100a53f2e00d4a9091c6ff43762b4a669bc27417&tm=1757387428&sign=b9489a92706faead9cfd1be36f43a701 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/874/202204010054_1626677759168_H169_1080.jpg" group-title="央视", CCTV10科教 +https://mgtv.ottiptv.cc/mg/624878405.m3u8?token=caa170b7cab721ce49bc50b69eaaf8cacf19071d92f8f4e6e93fa12c53a549c9c9067a5d501cf41811a575dad3cab6117bb732ac303198449d059d6c22da3a4631d2ede535c75ffe0522082268&tm=1757387428&sign=724c99ea6d84a5be2b0a5adf3b20467c +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/988/610/202204010054_1626677917611_H169_1080.jpg" group-title="央视", CCTV11戏曲 +https://mgtv.ottiptv.cc/mg/667987558.m3u8?token=7a1da4e323a4ed0a026645a00d5e8f2a08a83735a49b876da9e94ebd63d47d9104ed9858aa9e1b2f081ed8682f7219414fff9cbe49b10583d7fa588b0ca41d0c2f03d66d60d44427abea7affa6&tm=1757387428&sign=34ac256c99465c90cf5590c6e22ec2e1 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5501/083/627/202204010053_1626678104342_H169_1080.jpg" group-title="央视", CCTV12社会与法 +https://mgtv.ottiptv.cc/mg/673168185.m3u8?token=09e9387e7585c6c9a2f3b5820f1e5ddc581a34b5f44b397bf39663aaa3b00f37a76c0b9b6073c600e1ff62661257b84df45188bb929555b34ecfae800261beb9bf56c74a88453a51e323e16ba5&tm=1757387428&sign=855951a793508743a7bb50e47a8595a6 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2202/208/864/202204010051_2202208864_H169_1080.jpg" group-title="央视", CCTV13新闻 +https://mgtv.ottiptv.cc/mg/608807423.m3u8?token=b7b7a1eee882f2820196334a329c3e21a6a1d368f92f0ec29a2a0ae14bdc52e9833a705e6cd1c392ebe554f7fb42d9b76be0999e7643920eeb703309ee58f6715ef2ea5bf34d98b300a1604f54&tm=1757387428&sign=f43935283ccf3bb2471780af9fec937f +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/875/202204010054_1626678143105_H169_1080.jpg" group-title="央视", CCTV14少儿 +https://mgtv.ottiptv.cc/mg/624878440.m3u8?token=953330a5dc7cea7b8658e35233c251992ecc99f332b16dc02d445791f114e86e2bf3ddbdaa177ab5b2a848372c8419ffb9172b65c80896ecf39ebe9fdec75927ebb00b23b23220e5bdbbec45c0&tm=1757387428&sign=21ccc92916417627e8a29b611e6918be +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5501/083/628/202204010054_1626678239769_H169_1080.jpg" group-title="央视", CCTV15音乐 +https://mgtv.ottiptv.cc/mg/673168223.m3u8?token=cdf17d551a742294a4e284c6b9185da0e12443cfe9f1f19827a20895be47aa99a254a7e284cd1e3aeea39294fed2990c4daaeab16ca2822f1fdbcfa5d8f4becbc53c2a374279fe633c27d12b7a&tm=1757387428&sign=88a13ab1e00d5bbef980eca1f24793b7 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5501/083/631/202204010052_1626678423944_H169_1080.jpg" group-title="央视", CCTV17农业农村 +https://mgtv.ottiptv.cc/mg/673168256.m3u8?token=234fb1ae2a8c7b386da9142054d2f4332ec18bdaee62808f92a4efed1523ce11e31b966e5659f4753619f3c3f3462d55f3abe1770933084da192bf52799d33ed4216ac577e41ccac4a48cff367&tm=1757387428&sign=7623e273adda38d351a47f4684431b87 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/315/202204010055_1626831001078_H169_1080.jpg" group-title="央视", CCTV4欧洲 +https://mgtv.ottiptv.cc/mg/608807419.m3u8?token=0c40eee0536dfefba1f882dcb31da21588eb6b410f85661942709671de0c0015124a6f93571e19fee323a524a10a000f9ad2bf308dec3775fbdeeaed0b5dc9bcba076bb87cd4cef385daaf8e26&tm=1757387428&sign=096c9e853f3a3b0f8e94674c679b0f82 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/344/202204010055_1626830735444_H169_1080.jpg" group-title="央视", CCTV4美洲 +https://mgtv.ottiptv.cc/mg/608807416.m3u8?token=fc2ccaa9e528fcd2af0fa31ec25c87d00e500422b6b1c982ef88277887ea14bd4e087f8fb5d8ff8a4c7cb750b9aaa8e0c371a22eaff32c1384f81e0d0f37e62d36569c96943d724158b0918d04&tm=1757387428&sign=4ab241826ac3528922b83d7795f2aa96 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/356/202502251602_1740470533820_H169_1080.jpg" group-title="央视", CGTN外语纪录 +https://mgtv.ottiptv.cc/mg/609006487.m3u8?token=e6bb6a50bf14eb0c2b8a50065e026d1d9685b217b866150f611bdae75528bbaf30460910994dd6d450d1d9762406be80bdf1edd3459a1884ecb8b5c8753e1a1af2067ca16ea334d47ab75376b4&tm=1757387428&sign=b58e8d3771b74d1a08687e7c14e15b50 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/303/202502251557_1740470224929_H169_1080.jpg" group-title="央视", CGTN阿拉伯语 +https://mgtv.ottiptv.cc/mg/609154345.m3u8?token=0d4f8ec49501eb6bdabd7ae27b7949ecd8f361e57b4d9e58dadc625c52ceec691481eb6c448904a86e72e8071d9085e7a96fbc91f97911dd47a481f948cdb445bc13383d24bae46704bcb4b953&tm=1757387428&sign=82a733b6cbc779b020b490828c501873 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/337/202502251600_1740470429939_H169_1080.jpg" group-title="央视", CGTN西班牙语 +https://mgtv.ottiptv.cc/mg/609006450.m3u8?token=e36834050da008104d7f1278b6167c245dcf4d2526d043f43947dcd823657e0984830fe41d335b4023453b74fa21260f28571cf057ee7f95f4d9cd1389130925fa800abe69d36fce564da30d1e&tm=1757387428&sign=7bbd52daf285b3716f462168363b0f72 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/324/202502251559_1740470364968_H169_1080.jpg" group-title="央视", CGTN法语 +https://mgtv.ottiptv.cc/mg/609006476.m3u8?token=795ae5f5a67c037f9ec809fbb743ace0d4208d05a5a816211c3b890f6655cb9c940d4945fe783e16fc98a13cd2ee3dff63927e3e00521ed16e1c27b255cc95ea6e23d844f5efff75d854305178&tm=1757387428&sign=2e9d7e2ed4fd7840d0dd775f2fcf40c3 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/332/202502251558_1740470310039_H169_1080.jpg" group-title="央视", CGTN俄语 +https://mgtv.ottiptv.cc/mg/609006446.m3u8?token=4a3c1ad27f62bedc5e25a44dda961e53eca0099bc7aa0fa11835cd394e8eab0a5888b1f66a1a916a69185275ef7c82c7f9ea87d9ee0435a68148049768a11ca58f81750d9846560a1631e3862b&tm=1757387428&sign=236e6949419ece4e588d37a449043b17 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/002/202405081702_1715158642984_H169_1080.jpg" group-title="央视", 老故事 +https://mgtv.ottiptv.cc/mg/884121956.m3u8?token=b7fd1d22ea197b5b0e3599a8a28a43baacbd56cd898da9f8e8f4545702215535c7f57df5dc172e2ef8df54ccb4d91eef8461260e5069484f66600b5dcce9ee4ce6c04d3d5886a135581e83f5a1&tm=1757387428&sign=79f2867169db8ebf3185bf3e25846ad8 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/893/202405081702_1715158824845_H169_1080.jpg" group-title="央视", 发现之旅 +https://mgtv.ottiptv.cc/mg/624878970.m3u8?token=34a14472045f9b8abb52f7fb79d3552782ae22388f6832d72b831936d5bac7378b7e43bdd7dffd48e5585d6be5dd7fc1f5fbb89f12f262da37e007b6ab5c84e6e275d6ce75fb6d2e824219264d&tm=1757387428&sign=60106078866481b14e4b4e6c949ddae3 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/019/355/202405081702_1715158104256_H169_1080.jpg" group-title="央视", 中学生 +https://mgtv.ottiptv.cc/mg/708869532.m3u8?token=4e7008fdcfd7199179a183b4bc60b98f771f772e7fcbc8597c18a71237b6200cadf11e44449392273728804176e3d5dfae36985b6c0e53522888d79c14a81c64ebd0f45eb5a4ca03457e5945db&tm=1757387428&sign=fe5342824393c70b85adcd736eff06a9 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2202/196/407/202204010052_1642124762081_H169_1080.jpg" group-title="央视", CGTN +https://mgtv.ottiptv.cc/mg/609017205.m3u8?token=70f84f00ed80d8b09557660c3c63d68d0453c75f2137351ed31ab355f46650b8b473c379aad9679ed0e994ca9fe2746f8b7f078e19c67975ff5e9b64351ca387aa2ddb55b1dc22ed2414f2d0e3&tm=1757387428&sign=70adde971db92e03e4bfd4064f58a688 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/185/202508040856_5100043384_H169_1080.jpg" group-title="卫视", 东方卫视 +https://mgtv.ottiptv.cc/mg/651632648.m3u8?token=776b8048f4bc8d513ab3ea0df3e59c585a3d11e2da00b6c956d09ca4a7283393ff6e1fa169c8d229729ee5f394f0d9625c7ad18933383d6ec04e405a69d5b249c8ffc844644bc54d649917148d&tm=1757387428&sign=25dd6191b2e0068705c5e7bfb4dbb000 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/199/408/202104022140_5100156802_H169_1080.jpg" group-title="卫视", 江苏卫视 +https://mgtv.ottiptv.cc/mg/623899368.m3u8?token=4443ac772119e3e875936d83d5e9a6d8b74ba8344fe3dc5be342709bdc778a1dbd3311408a92c569c2ae3f21503a27ec30518f5bce205a735b6e890e9b7d80750bf4198aee1812d071d3af5357&tm=1757387428&sign=be62ff9aa32b0a11ec19a7e15c8d5fbe +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2202/428/795/202107191524_2202428795_H169_1080.jpg" group-title="卫视", 广东卫视 +https://mgtv.ottiptv.cc/mg/608831231.m3u8?token=bb3cb427f3f279e54e1ba53ba9cc467066329cebfd3f611cd024f214d5b0897d26f8439fc4e52a2d82dd7ed9e42cef243ffdc90b277e0cc03a1469afa27447a5657312dc40eaca47e4fbc36eed&tm=1757387428&sign=b275b8e30dc5da9d45cb06c6bf7e439c +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/021/492/202303201551_1658134112236_H169_1080.jpg" group-title="卫视", 江西卫视 +https://mgtv.ottiptv.cc/mg/783847495.m3u8?token=4303b002a5522c1b5a352769e9533620bd6ec76f6c6c0086f7827c13666aa358ad0233710fb2e1ae818beae9a8e9207ccdeccbc3ba33b6f8011fed00eba0859e2b564f11cacdfbb93612e9ea85&tm=1757387428&sign=dbb6e56362eae8782784542ace8c5d7e +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/021/585/202304031400_1679994685582_H169_1080.jpg" group-title="卫视", 河南卫视 +https://mgtv.ottiptv.cc/mg/790187291.m3u8?token=d6816f3decc685832bea8e09db0613060a89a851735e009e2baf75da1e831d49c36ad2786adc46c0ba45cc3fb39f01dad804222c726ac2e562462a711c715a0a0df69b542e7504d990defe1824&tm=1757387428&sign=8e15d19b97dab281d948ad925ccd77d2 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/020/475/202207191732_1658131375175_H169_1080.jpg" group-title="卫视", 陕西卫视 +https://mgtv.ottiptv.cc/mg/738910838.m3u8?token=7aee8e09b304a4c3ff785d09530dfff725f4443f34798b61ed3dbe7f386b62ead48c2fccda5e45cffd25745758813327619ce0abaff3ecae9e29c565f1c1ce503293fef5696c37e129bce83b65&tm=1757387428&sign=2844652bbe341e52b5b77c7dfe312327 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/322/852/202304081513_1677570732561_H169_1080.jpg" group-title="卫视", 大湾区卫视 +https://mgtv.ottiptv.cc/mg/608917627.m3u8?token=3a813443ba986bfde96ff2644a1fe74e75fc69a772073d48654a0439d1a49b73887caaab9d28cc2ae8864f37ac8b3766dacf02dfbaebc1ab7d2c2e151594f2ffd4d19260c270c8ad1e2db5ef26&tm=1757387428&sign=c4877d73ebda26334e8dd7cac6b9d49d +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/163/202501231715_1658138621263_H169_1080.jpg" group-title="卫视", 湖北卫视 +https://mgtv.ottiptv.cc/mg/947472496.m3u8?token=e5a0b28e8ae82ad7b9381cefef3a9eeb629d5e452c2dc04ada0083a25525da8d6ae2615dc16cb283b2a4c47e76684dbbf06e9c08e50df6644e468dd757b9fa97fc340e13578f15a444d79895f9&tm=1757387428&sign=856798395c984a5627b9d46e6ee51940 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/164/202501231715_1658138745288_H169_1080.jpg" group-title="卫视", 吉林卫视 +https://mgtv.ottiptv.cc/mg/947472500.m3u8?token=176717400bf21181717e254c66e6c126a79691d0a41dd7baf569ff92a0d91e6b2f345c54e0222f1557ff297997d7b80b42112cb2a27d6c0c7a6293316aeff4e90431965293ab0c0f07a5ebce48&tm=1757387428&sign=29112399d4c94b1b73e936713bd1ac76 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/166/202501231715_1658138568499_H169_1080.jpg" group-title="卫视", 青海卫视 +https://mgtv.ottiptv.cc/mg/947472506.m3u8?token=279ac63bad56939adeca1a8e429ca2e1b2612bd6b4bc770210b49c9db6aea5ec2b74ec4960cc69f8f62ba44e60951a05299c76483ee338cac54a582d4ecb574fd669f40c3c38525f913eda1bf1&tm=1757387428&sign=b00edce4c5ea5cf69c64426720a80868 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/182/202507151427_1744624877831_H169_1080.jpg" group-title="卫视", 东南卫视 +https://mgtv.ottiptv.cc/mg/849116810.m3u8?token=a643ff23af93f589560ac459f25c6195eeaea3afd743d1544a33db6953509bcdf2eab8de77b42c65fca34f59c600d0b4b36a103393a5b0d10b77ccee85b3157687bef690b25961fd700d4f56d2&tm=1757387428&sign=14ee721d31c97ab861423edd42edf6d9 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/165/202501231715_1658138887282_H169_1080.jpg" group-title="卫视", 海南卫视 +https://mgtv.ottiptv.cc/mg/947472502.m3u8?token=fa6b867c9d3bbe7ddcb8b148eee510b620bb98cc174d5020f4440865dc01f30aa058d88d56e29882e91f66d4974ff231a50f5455a2660540a5b85868e4580559d3b70a84b0f83cf02b15ea4793&tm=1757387428&sign=ac026c3b287e05f7969b64e06f06693e +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/183/202507151427_1690875414853_H169_1080.jpg" group-title="卫视", 海峡卫视 +https://mgtv.ottiptv.cc/mg/849119120.m3u8?token=c5b8d026a82c573227d85f4701b8b972f32c8a16a4d0f9605d398bdbe0fe14d0fec2c8e67e43f66c3f3142485447d4a48110149f069e310a5fef1f84daa124cefec325a6dfaa4d11b80f2a3a8b&tm=1757387428&sign=0718af87d2bb52db08b1ca3a3b47e572 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/186/202508051621_1754370268870_H169_1080.jpg" group-title="卫视", 中国农林卫视 +https://mgtv.ottiptv.cc/mg/956904896.m3u8?token=6d9685690242d4943db3d0cbcba0d9cafbc4fed3a7970e2f9956c3fec0c12bc17614e2cfd534b36022e7b3615740f0d617633cc7fd9e921058225396896eddea80cd551940a235b70d0a91d551&tm=1757387428&sign=234bac315e947dffbadcab1c1eed2aa7 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/192/202508061552_1754385897430_H169_1080.jpg" group-title="卫视", 兵团卫视 +https://mgtv.ottiptv.cc/mg/956923145.m3u8?token=bab0b35b322385924a6a6da944fa42ee3987558d200c9fc62bd5726f5dfc76279f1b5c5ed7d19f29d3e3066165422c9bb7782b6b8a0672ebd2babfc38759243ba2b33ff59877790fe1e8050f59&tm=1757387428&sign=2e9b0ad3257166c2fbb35db7aa2609db +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/002/275/202107191641_5100001716_H169_1080.jpg" group-title="地方", 上海新闻综合 +https://mgtv.ottiptv.cc/mg/651632657.m3u8?token=a475dd15ae83ef12fbbc639e381cb6fd71f0798d0d364a5af75755bc1b74d8a6c33a5de1527a2cde23566b3786b0493d6d8ec3ee5d0246dce942b5c54a0487235fc299ee8c0aed4140fa037836&tm=1757387428&sign=b6751eae3fe75172ddb4a9cb3c9c386c +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/002/274/202105271333_5100001715_2_HSJ720H.jpg" group-title="地方", 上视东方影视 +https://mgtv.ottiptv.cc/mg/617290047.m3u8?token=4c59ee5355269d5c5b344beebee5f2243e6f97e3a8ac49d24179ac7ad61aabe4d429830ea44589a452b9337ef0ca37143ff25c0362424a6e052d819f5aa7f7b605dbc57aff03b9381468b7c467&tm=1757387428&sign=f4b6aa3dcceb104ad8de82f28ad3f170 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2201/008/312/202209271630_2201008312_H169_1080.jpg" group-title="地方", 上海第一财经 +https://mgtv.ottiptv.cc/mg/608780988.m3u8?token=0981447956485a7d88f4b8d9655eca5e61bc2d91b1cd3a008789aeacbf227b20e6116cf78096b61b53863cbc8c46a5e64ab9037625f393e0c14efb021445da7dc6f53a92f1a035aa4f5edcaf40&tm=1757387428&sign=dea3debc3c3da85fa6d3596b579b37ab +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/021/863/202307121521_1689144286039_H169_1080.jpg" group-title="地方", 南京新闻综合频道 +https://mgtv.ottiptv.cc/mg/838109047.m3u8?token=695409bc4bbc0fac9c2e93fafb10358e8807f71d510876460167890d6517fbef025504e5353df8b8f2cbbc1a5e865926c76797c0b143296a230d6a28b951cc9765e8440f2025e50f4ad2f79d40&tm=1757387428&sign=7e58109b5457fe8f325c1ea8a45492a8 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/021/865/202307121700_1689146721503_H169_1080.jpg" group-title="地方", 南京教科频道 +https://mgtv.ottiptv.cc/mg/838153729.m3u8?token=5f55a257f2c595ac2fe012213fad6372efed0595ed4c58994b580a432db06caffb93b3fccc0e8eafb742b33165790262b954a4284e566b62d13c0e1687e43b4e406265f15e651f3461ba2ba9b0&tm=1757387428&sign=6dd66e8dd8d0789f676652fa6ab6c009 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/021/864/202307121658_1689146982273_H169_1080.jpg" group-title="地方", 南京十八频道 +https://mgtv.ottiptv.cc/mg/838151753.m3u8?token=ab9fbf627f52d77ae7c57d30c55e8b11b6067e5d549666146342ba40e99f7f7f5fa85e322b39913b8941da9258c812b4cd820760cf56c633bc3139d7905b9e158d2d685dec66fe3018fc73a744&tm=1757387428&sign=8c17fe6433aa77df97551616e546c834 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/554/202104022139_5100186459_H169_1080.jpg" group-title="地方", 体育休闲频道 +https://mgtv.ottiptv.cc/mg/626064707.m3u8?token=14c0a131c96cc2085d99ee13d16115ab1be368144caa598a820d55aa92ab5e8bb56b78a878657944e61a9810a967b8a150965d92bed94b43f66a6d9709fdcb4c13128e2fab51e99a9f5b5f138c&tm=1757387428&sign=4176ea8f00af1ce39ae39c90f0d14879 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/508/202104022138_5100186409_H169_1080.jpg" group-title="地方", 江苏城市频道 +https://mgtv.ottiptv.cc/mg/626064714.m3u8?token=f0ecc5c1e25dbe4dc8283ae22bf03aed6cf12384fc5c2dc446b7aa7cf667331929e5f881ebd35db33c802f48cfbf567d417d669db130a62a0cec7f53164a3818fb3996cd882254d7e4a4940f7d&tm=1757387428&sign=c4711cdbde337c90246aaf6ad0668a80 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/577/202104022139_5100186482_HSJ720H.jpg" group-title="地方", 江苏国际 +https://mgtv.ottiptv.cc/mg/626064674.m3u8?token=5d6f29e45f25ca1659aa5db7bbd54dd3a89c31a4e52aed55b40ad8ba882f0a65437abb9574653c6f1b1a36697ebcae604d9cc3e9a66847cb88b646fab8ac417daac705ac778dfb3c00e888704e&tm=1757387428&sign=e6dfc46c76a0fd4d97a16488ff515c91 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/287/493/202104022139_5101012819_HSJ720H.jpg" group-title="地方", 江苏教育 +https://mgtv.ottiptv.cc/mg/628008321.m3u8?token=8def702e0b9d4f34ca237bce0b10b3b501f7c2730386b879bba5aba216a8148069797ae341800abbafe0ba03170c5e544944f1433cace4129ac4314c693a1e8ad6c2379d0496640b95699f70b2&tm=1757387428&sign=2f4bf5cd458d5e3009a32f4569ad7082 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/517/202104022138_5100186424_H169_1080.jpg" group-title="地方", 江苏影视频道 +https://mgtv.ottiptv.cc/mg/626064697.m3u8?token=abe0976af290a83c6d6288ce5e7fb43c072de6aeb2f415380e61626f30f45bf20c720c629d9b5d2517264ac9f69393aebdcab62cd47e2e35eebbc23a16b0fbef653310a19ce9778f2a1b95c2cb&tm=1757387428&sign=55215cf5b5551ef58310d20274127039 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/513/202104022039_5100186420_H169_1080.jpg" group-title="地方", 江苏综艺频道 +https://mgtv.ottiptv.cc/mg/626065193.m3u8?token=6ab8934889852b36080355ee194f1cc9d02d2b4530411f26e04322963768aaccd92624ed69078cc04db5c7d8ab535cde4c6cb7cb09a9943b924400d81ffb6b79a54f64cd40a80cd940295b569b&tm=1757387428&sign=3b907e0ed6354e53497c7b2772816c16 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/520/202104022138_5100186429_H169_1080.jpg" group-title="地方", 公共新闻频道 +https://mgtv.ottiptv.cc/mg/626064693.m3u8?token=2fc85bd6f155104984791d735c42aec706ccd06dea49076ba86345a82c02e53b72ff3d432c81a810123766785fcc29206c403fe029c0be2f0b3022a0cfe6352a007523e11227bc7c1d8b4ed9e2&tm=1757387428&sign=f0bf1a3d09a4ed875fb1532e0e1b4111 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/360/202212301654_5102012617_H169_1080.jpg" group-title="地方", 盐城新闻综合 +https://mgtv.ottiptv.cc/mg/639731825.m3u8?token=9012f76bbee138afe3c5f13f0e104918c7057307b2068e28fd77f4c71164a05fa1dd42ef94bfe52fbe8d7548bb4fca92ffcacb767d69b915104ab1f8c800acceec2490f4e6d72abbd175c036a9&tm=1757387428&sign=b2a22122198505353794a9b0246d6356 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/363/202104022141_5102012618_H169_1080.jpg" group-title="地方", 淮安新闻综合 +https://mgtv.ottiptv.cc/mg/639731826.m3u8?token=853bb6a3eab0edc2721bea3fa75794ec7be1c245ae31339c2a9810ab02e7f0275dc777b0012e65cb4a8c0d1709bebd03d35b215deac7328910c0fd664bf0473f7e76e40d22ec73a4078a586009&tm=1757387428&sign=3b59dedf324e87559999a24375001b1c +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/354/202104071213_5102012615_H169_1080.jpg" group-title="地方", 泰州新闻综合 +https://mgtv.ottiptv.cc/mg/639731818.m3u8?token=a2f1046c25e8e0a2250d88fbcd6cd3a07f9549ca955febaff03ebb69a8c08ad7aa768351df7b6ef7e0b01b613cb064c38e44dd4ef2aac65d6e59e0c5d4f412ed1efa1ddc08f0ef871f76bd263f&tm=1757387428&sign=0a51043cff55ff6caae98256f31bf659 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/369/202104022140_5102012621_H169_1080.jpg" group-title="地方", 连云港新闻综合 +https://mgtv.ottiptv.cc/mg/639731715.m3u8?token=c0114fd9c6cdabde9c35b55a0ba1c18b2f227c692b6703a13cd7b7f1fe1f4c42aa58de5af202854b465072a513feaf8d25f6ed79a3fbbd96488c5a8dd23ab49b1862bb981894b87b0afb7226c3&tm=1757387428&sign=cf279f98846cb2f3d1d5557c58d5de46 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/357/202104022141_5102012616_H169_1080.jpg" group-title="地方", 宿迁新闻综合 +https://mgtv.ottiptv.cc/mg/639731832.m3u8?token=ce10bb0a7b67d27d32959436d7fa319e1b67b20a82189e2215f50b585e461a62ae3ccc3705e3b944877b1f8b60e3426accd6700785992cd870ee0b30313f0a833eed8bae27daf5a7c8e237cfeb&tm=1757387428&sign=f3904f643c7a11adb74a00659e8713b8 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/368/202104022141_5102012620_H169_1080.jpg" group-title="地方", 徐州新闻综合 +https://mgtv.ottiptv.cc/mg/639731747.m3u8?token=7505c43e75b03ab512822c62ae667e6fabc75d21a1476c7f115aac8c92fba7bdbe8e6a8a1dee0e2fe65501440a4089e7d6685a3d96ee3de722c0d1568d7a78c7b14163dcd8b76bfcad4afd8c15&tm=1757387428&sign=a9fd5a209acfcfe09473bbd8109aa2b5 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/553/202104022139_5100186455_H169_1080.jpg" group-title="地方", 优漫卡通频道 +https://mgtv.ottiptv.cc/mg/626064703.m3u8?token=8941573e2f1c8eec02af4fb007fd21d3727b067c0eb3071bb5ad96f59d39f3295743c9d44a45285d3f824d77134640b2e532cb50a64af65d8f8ca236485dd9c87dac8b2aef9858ecdb6a1e5013&tm=1757387428&sign=4a5c97a5d5e2b60142a97c5bcce2d625 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/177/202506121842_1749616924879_H169_1080.jpg" group-title="地方", 江阴新闻综合 +https://mgtv.ottiptv.cc/mg/955227979.m3u8?token=04749738c255c393e5e1d47d136c79409a02ed19edc6c49063d1e2e548b837cfcc404bb59f20843685e128d452e7136f471b2d816bc3bda0028a266a1e31660b0612abea8e47bab923b13724f1&tm=1757387428&sign=22ab7b54b6a6b464d9fd59c7ecdd1380 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/178/202506121842_1749617021865_H169_1080.jpg" group-title="地方", 南通新闻综合 +https://mgtv.ottiptv.cc/mg/955227985.m3u8?token=a528b3e93981e9437b87b484a78b779e686054b6d2a436d071713f45207c26622d86eb017d7c5f636891fafe862fa90fbad2bdda30a7e437ac5ef8889b7a8e7d107f80e7c0257845de86f53af7&tm=1757387428&sign=7d9c602549c2f1101540f97d2d6eda19 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/179/202506121843_1749617115515_H169_1080.jpg" group-title="地方", 宜兴新闻综合 +https://mgtv.ottiptv.cc/mg/955227996.m3u8?token=b09930f14ead7dda19fd2f5c3fe5fad6007c1632b1cdbaa428e340e213cd7b74e06a4316178437292e89c3fa3919fe2099e0f087b63fe15cac9466de6b5d81a2175584b6bfea4cff5ab9441a4f&tm=1757387428&sign=8b0f1136f57f41f72db9b14317d63093 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/349/202506201638_1750408508110_H169_1080.jpg" group-title="地方", 溧水新闻综合 +https://mgtv.ottiptv.cc/mg/639737327.m3u8?token=9424dbe458645bdb46386f7b792bf45cd30746b46715d0c4c24b3ce14abac0b9ba31b818a1f34ae5484eb79dd60ee63004ee3adc03ea9fac82808ea2a49b9e324c65b73153c57f5e5fda36f8ac&tm=1757387428&sign=fa2e654a35ac22bed566df03ee34529d +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/191/202508051746_1754371391139_H169_1080.jpg" group-title="地方", 陕西银龄频道 +https://mgtv.ottiptv.cc/mg/956909362.m3u8?token=daa212abbf640091e555c0ddbbadf6e26179d2e38b6e044919fb6d539062cbee5da7771cddb49aca190d6a5161b30973c7a2e7eeb04b2a73e884956119fa7cad3414069dc784ad58775b3de6eb&tm=1757387428&sign=acf362ec6da50f079a08e60137d06d9b +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/190/202508051746_1754371281201_H169_1080.jpg" group-title="地方", 陕西都市青春频道 +https://mgtv.ottiptv.cc/mg/956909358.m3u8?token=486dac0586da55668eed086a3f0f5e59a67369275f67a46f3ab1591a0e2f799ddb3c940dc2bf2cacf5fb2803ab9fb2a75d67d406dfa43fda543e76bc3a8780a81dbbb24b08b8cd51aa1d5fc4d4&tm=1757387428&sign=f7a786c698978984e311e64045d0674e +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/189/202508051745_1754370651700_H169_1080.jpg" group-title="地方", 陕西体育休闲频道 +https://mgtv.ottiptv.cc/mg/956909356.m3u8?token=279180be65982efede037f36709259a22429c72b8a4632131ff805496f288f2447d6f75a220bdc286f3e78aac83d54d31c61e8f48459bfd6c1a035ceaf8d830088ba3653daab726b8a063343ca&tm=1757387428&sign=a13de8d3a08441f9f8a702199762d73b +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/188/202508051741_1754370551778_H169_1080.jpg" group-title="地方", 陕西秦腔频道 +https://mgtv.ottiptv.cc/mg/956909303.m3u8?token=26e9b1bf33ddcc5ac1489d0cf795c8229ec8e1db3fa52b5b87f271f923b33ee0ed543ee47c73f273b0cbcac3d86b187f98d84e2e9e34683e475349aacd1b3ac895580ba3ef7e5d29a3bf438e23&tm=1757387428&sign=f72c46547d44fd5bd2102bd772d02a2e +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/187/202508051740_1754370413748_H169_1080.jpg" group-title="地方", 陕西新闻资讯频道 +https://mgtv.ottiptv.cc/mg/956909289.m3u8?token=a58e17f812a32f741952e64b58cab754a509108091afefa9abb6f1169d6f41a59394e0d4ca26ec562ba6c01ee381ff351b963486e204e750a719d5d0927ae014e168d0b4bf003f7a9903515fd7&tm=1757387428&sign=ed4b9aaf36f6be87d1b549dfb198b11e +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/193/202508061552_1754385775557_H169_1080.jpg" group-title="地方", 财富天下 +https://mgtv.ottiptv.cc/mg/956923159.m3u8?token=3f780a7e5f2e5423bdbce85091f12c5812ee6fbe5a42706753b4e18827f238aaaf94e73f3523463324b27878d9088283c2a7e4d9293783792246327a569e19d85115b8a67e857b7973934ba4e6&tm=1757387428&sign=1fb9abcb3ea4958e17d7d807f20c06d2 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/242/089/202508211805_1755769495190_H169_1080.jpg" group-title="影视", 经典香港电影 +https://mgtv.ottiptv.cc/mg/625703337.m3u8?token=988ec3586caef422e0f3636ea83c43c673ca0daf84ea98904f2a5a0a8fd09410e127ae5376f5242585f9c1442fe85da484689f6f306736956009901ccfbba46f56a7554515d0858b0d5ce1091e&tm=1757387428&sign=ddb47c4ac6599f9959c56b9325ed30b0 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/230/666/202507181733_1752831177769_H169_1080.jpg" group-title="影视", 高能悬疑 推理时刻 +https://mgtv.ottiptv.cc/mg/625133682.m3u8?token=d16961422e244bf50d9101675c05a56e893fef8a2804d2938403d2869135a5d31d65b7e1895c9b46aeaa589a1d4cb1ad1b0d59fa25f23deb26dda6e2f65edd3621b7fbd57b23f5bb5c643a4da5&tm=1757387428&sign=6ca5b625f9395b79c698ef90fefa8e47 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/002/717/202507241513_1753340542329_H169_1080.jpg" group-title="影视", 抗战经典影片 +https://mgtv.ottiptv.cc/mg/617432318.m3u8?token=a47734525ad2c586bfe0e30d23f436080387eeddf3827c9a1991dad28ae9255d186a26934e5482806632b660316c13e774d48d5d40a41cf19ed31a3fa33a3b3f562d15bdcd3f018df14e660390&tm=1757387428&sign=e4359a2efbfa7dee9f711dfbc55bbfc7 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/035/175/202405061742_1714988181593_H169_1080.jpg" group-title="影视", 新片放映厅 +https://mgtv.ottiptv.cc/mg/619495952.m3u8?token=266b6665b29682c0e9c987240845414eea3d61bcf94816f28513bfb2fb64a298a4bd96420b792adbdbbed816a170d3898f207f0057bb85ff409849e24c33684e45f0e96fe9ab7c4f3577826927&tm=1757387428&sign=7c632030d2382fc598f54273aadd0d1a +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/176/202504161629_1744788994468_H169_1080.jpg" group-title="影视", CHC影迷电影 +https://mgtv.ottiptv.cc/mg/952383261.m3u8?token=fb19307c2f7c9e824061cfc7dc7ea4e3f149c1876b0d4e626aa7b3a0c8695de7e688e5f116b1cb0f92db2bc006b37a351f43d0066079a4f35b7351dd0173143c092358a3c8f8c85a0bb0aa40bd&tm=1757387428&sign=e69a7e86ec1783ac6d2539a349029300 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/554/795/202308221159_1692676692674_H169_1080.jpg" group-title="影视", CHC动作电影 +https://mgtv.ottiptv.cc/mg/644368714.m3u8?token=ed28c3e0fb0d180e7f82122e4340dd05d976fd2bb07716b1b0e0f08ce063766b5bdd88d6e97905d25bb4655537b52b93fc00fc9e72ab5de3470d2c56caa077ceaaf7b41c304b2543f3863c7cf3&tm=1757387428&sign=1142ec7e336c179cdd541363afa3a78b +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/554/911/202308221200_1692676825616_H169_1080.jpg" group-title="影视", CHC家庭影院 +https://mgtv.ottiptv.cc/mg/644368373.m3u8?token=b263c5d154508a1d5a5c41c3b8c5df1afbb832187befe527e8244af332655184ec0f6f788fc7bd252dbb7426aadb0a595de617079f3a22d82a273bb4c7be1f2c7fcda3566925858e6812d26778&tm=1757387428&sign=1e05f6607dc64105b2654b9944dd8b97 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/019/525/202504151721_1744708803016_H169_1080.jpg" group-title="影视", 和美乡途轮播台 +https://mgtv.ottiptv.cc/mg/713591450.m3u8?token=9c25bd89d7a14adaadc8afca14cc578fbad402845bb6d32d7c211978f20abe2466ec80b91433be64d781d2ebdbf45306a1082a61a7944e502a73b01dc63e29814c8c967c19c5325de4f6c39bd1&tm=1757387428&sign=5820b959bbc545b0295a48604e744e7a +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2206/173/738/202304081513_2206173738_HSJ720H.jpg" group-title="影视", 南方影视 +https://mgtv.ottiptv.cc/mg/614961829.m3u8?token=1ede98960967527f96cf63eace374b90fae8ff7dc1bfec7842ccd7e4da720c0eb8fcc2f8e2d5dde4c15a2b133f19776b227db03c9f124b4ee63453e29ecd74ae92d5cccfd4601ce5dd8a3939b9&tm=1757387428&sign=f71e5ed51dfe22d9d1f416e1c36d857e +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/019/527/202506181115_1750216473927_H169_1080.jpg" group-title="影视", 血色山河·抗日战争影像志 +https://mgtv.ottiptv.cc/mg/713600957.m3u8?token=c95d0e5c494b0f0248d3e524e22cea1cdfe0e2b9e5603271f00627e3d1eda3e97bf22e351a30a8b60c94dbd1feb1a2ad9d52bcf4a119b549c3f307787c2fa45eb03da251250b33e96945793a3e&tm=1757387428&sign=53611c233a2afb1e41267e34e7abff29 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2202/634/723/202206081044_1654656251447_H169_1080.jpg" group-title="熊猫", 熊猫频道01高清 +https://mgtv.ottiptv.cc/mg/609158151.m3u8?token=5dbca7fc9fcf8335ca5ecaf937ad986d40348fca130703b6946ae1d04ded643322f0b4fba8e0bd195d3490c27d23bfd77a2320946ac25a9aacc84a2a4ea0589d982e8d529a5c3e64da01000a7f&tm=1757387428&sign=aed4168be7f40af190ca739628b1eaf3 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/200/699/202209211759_2200200699_H169_1080.jpg" group-title="熊猫", 熊猫频道1 +https://mgtv.ottiptv.cc/mg/608933610.m3u8?token=84d56b9f8712f3a04a49b6ba4a17948ac59253400ecebce95ebbe987c5da689494da87e23d760ef3d0324a7063fb11e4f6c3c956c6b1de7f2e6ca4787f0a0b76c9cf1dc2ff47af523a100ca616&tm=1757387428&sign=6aa2f1a41902d0a0ddbe65d19d6d9fb1 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/200/717/202209211759_2200200717_H169_1080.jpg" group-title="熊猫", 熊猫频道2 +https://mgtv.ottiptv.cc/mg/608933640.m3u8?token=b48def16d76d031a3fd87f24266f2f3ddfb8dfb48e1b735442a5bbab639e07485f9ecb5904038295fda8830366e36eb58ac7d0577c37dada40ad9dacc4cd49f9a739f61a46d7e8d85dbbe3e088&tm=1757387428&sign=862248f7e88311454d9668b9869faf8c +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/200/738/202209211759_2200200738_H169_1080.jpg" group-title="熊猫", 熊猫频道3 +https://mgtv.ottiptv.cc/mg/608934619.m3u8?token=b40193f531c02e96354670c8a705e8767858dabfe034866ccd203055f1a7ae4f1a5af3318c70ca56e1d200e241cdb3fba5035cdc6666ff18a83b8a88a607e8b5c0e974d275189d94f2b8099c7b&tm=1757387428&sign=d1c0d315f16caab4c1d02b87d3ba00ba +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/200/771/202209211800_2200200771_H169_1080.jpg" group-title="熊猫", 熊猫频道4 +https://mgtv.ottiptv.cc/mg/608934721.m3u8?token=2e56c74f66d8dcbb593192ba9caee85f41fd95ba2058821ca743a78e86808a90b8213dd8339d8e80310632dc8dccc03a49b30a351c47a703f6804291ecef9f2c671b691475f700d0b6d1a03b36&tm=1757387428&sign=0ebe1af3601ee4004e87049d763a7349 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/200/791/202209211800_2200200791_H169_1080.jpg" group-title="熊猫", 熊猫频道5 +https://mgtv.ottiptv.cc/mg/608935104.m3u8?token=2b4b3d8c49a19f11a360959eb85f2cdc52aaa53abce4a667785d2e532034cdbb202c1ee566e972279e186c505697c2fcd5cb06b0d7f52a1ef6daf1f7347364e622ae2c0d39cae225e8ba62a73f&tm=1757387428&sign=4626db88676612e7b5731eac4acdeda0 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/200/817/202209211800_2200200817_H169_1080.jpg" group-title="熊猫", 熊猫频道6 +https://mgtv.ottiptv.cc/mg/608935797.m3u8?token=0abb5cb5cf3ec1466127e83fdcc078f5ad1b101879ddec415b8422c3358ac5745a4d9937a2941810bdbd8770c97763adb0acd70858079a97c2b0c588ec44143c1c91918a912134a36b9509e2ed&tm=1757387428&sign=8865e1faa8908906b934a0c92fdfc7be +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/192/831/202209211800_2200192831_H169_1080.jpg" group-title="熊猫", 熊猫频道7 +https://mgtv.ottiptv.cc/mg/609169286.m3u8?token=78be3d1d65da3cee7d312896b2b2ec4c317441d6a2c3b7284f6280b25eccb3f12bc1657ae45e5026127ebdbdc30fdcff397272ca66e9951112e35b0b577c369f304ec54422dece456eed9c00cf&tm=1757387428&sign=2c6d3826f55d505a22eb2022d7af5a74 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/192/881/202209211800_2200192881_H169_1080.jpg" group-title="熊猫", 熊猫频道8 +https://mgtv.ottiptv.cc/mg/609169287.m3u8?token=a14a8e0c4da92f6e3bbd4bb690676f62ec8e27b3d2976a7ab2ed55914e049b663d8378c24c33bffeced32b3a8d4a8293537a3e99c456705ce2d357c9578d6112714004a13021d0d468d9d01bee&tm=1757387428&sign=0eca142bb4fd89d64e27f3c3b499aa97 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/192/899/202209211800_2200192899_H169_1080.jpg" group-title="熊猫", 熊猫频道9 +https://mgtv.ottiptv.cc/mg/609169226.m3u8?token=d11209c6600f0fc3da949441af551b201140ab82c94170d27b8ba4581afb5e0185f09360e1f33b49f691b6975c32d65dc0fcef3cbba620c55f25df378220aa0420e0c227e70b04bb05e58e3008&tm=1757387428&sign=76d48d0fd35731321247b6ab32afa321 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/192/937/202209211800_2200192937_H169_1080.jpg" group-title="熊猫", 熊猫频道10 +https://mgtv.ottiptv.cc/mg/609169285.m3u8?token=6c60d7a0716483350c9753730f7d40dc7fe6be51fd46e2c0e435b8ab5a4e702ed3b08278b0a4391c45926d897f18cfb5c58cd9f30397ab9a068d2705f7555215ec2de32771a82cb23a8aa14141&tm=1757387428&sign=e3610d9fc2fc1f3bd211205a8ea199b5 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2206/172/388/202304101530_2206172388_H169_1080.jpg" group-title="少儿", 嘉佳卡通 +https://mgtv.ottiptv.cc/mg/614952364.m3u8?token=f3b3db6218bf4884081799c401b699848ba2324d37ed1fbdfb07beaaf0300e609d5c0c4a9da0f50fb86a0c6eaddb2943653821695505c2c54eff6f44989d7f57353577a811c5aff092a7847e9b&tm=1757387428&sign=2503a188ca500a4f85ee2a20a0fb7d7c +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/019/523/202506060000_1749138932995_H169_1080.jpg" group-title="纪实", 新动力量创一流 +https://mgtv.ottiptv.cc/mg/713589837.m3u8?token=5e69a21ae1e906905d618f4f5f9749ba54a4c459beb813bbe012ec2473836abf230fd732c07d0e12c87358581b992fce9d1b73b4debfcd9a77a6e6a40e831ee2d4e6a59a5435f2600c4fbfd5e3&tm=1757387428&sign=c6a66e24333b16a0b3a5138ce3762592 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/613/479/202210281603_5102115888_HSJ720H.jpg" group-title="印象天下", 钱塘江 +https://mgtv.ottiptv.cc/mg/647370520.m3u8?token=f618f44696611490d7134444870f81d4d78e4d8e9bd2ca5e5a762374e1a31836fbdbac6ab5df26d0b333135ef4f8cde0e8d716fdb789fad8e9ee47122f2cd5b9b071b4de832d2e2086db9a246c&tm=1757387428&sign=266400ab4b0c4cd9b60c0a9ae5819c87 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/462/658/202506201045_1750387453057_H169_1080.jpg" group-title="体育", 五环传奇 +https://mgtv.ottiptv.cc/mg/707671890.m3u8?token=fe59eb72ba9e06eef13dadca0acf81d4717baec4b997ed64be8123d2279160469893a58896f432e66de3ce6424112a142dc9c4776467b57d1e11c8232ba98cc257a6b3116c1dfe55a550881cb8&tm=1757387428&sign=7dd31f7408bb300e6d2f2bd49361cc51 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/341/085/202308221004_1692669748086_H169_1080.jpg" group-title="体育", 掼蛋精英赛 +https://mgtv.ottiptv.cc/mg/631354620.m3u8?token=eac8abc04bbec022cea378748157804fb94bc795b68c9445d4bca6d42ad3c8591b7e678ce20005f0107401e8f5856c2b52d4e44933e94f6e90dc6336568f71c59a3166fe309ac9fec27707ef72&tm=1757387428&sign=cd1383d4de1e46e0c025fb3a2308aefc +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/184/202508040856_5100132656_H169_1080.jpg" group-title="体育", 四海钓鱼 +https://mgtv.ottiptv.cc/mg/637444975.m3u8?token=c1f0f79b4fc98cd4388973a7a985a381fda972f15f3a5c1910de15f4635811e3300befc701680f2099217a7f3ef68f133bc87ca23995fb3a79738abc8e35d3085f8cca72213315bce0edb80704&tm=1757387428&sign=71575a305b0f8395537a99967eaedaa4 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/751/211/202106111236_5102223687_201903181136295010914_HSJ720H.jpg" group-title="体育", 咪咕24小时体育台 +https://mgtv.ottiptv.cc/mg/654102378.m3u8?token=1684d0e2fd92ea70ee26bb84384b682a661192bfed7508b1bc609fbeb3917ca875ccc24357e45ab3f9248704b202d936f59fb46a3b8903727df99792f83a2b1f387aaeb16273eb85f172d846ad&tm=1757387428&sign=590055f35fcd5400d9d109aa35343c38 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/150/202407181432_1721283643483_H169_1080.jpg" group-title="教育", CETV1 +https://mgtv.ottiptv.cc/mg/923287154.m3u8?token=b6cfeb92a88f3b5959b00f561ab644a953f02f0f6988d2a8ff709fa3f09d6ac0aed5a1fcedf5252eea9ff3570949c36367cf1300cc16b9ccf5e15751c2060c9835ea276fb417b503556f6eeffd&tm=1757387429&sign=37ec95a242e986d6f7ed7c9416eda29c +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/152/202407181432_1721283773509_H169_1080.jpg" group-title="教育", CETV2 +https://mgtv.ottiptv.cc/mg/923287211.m3u8?token=3153b8e52f5aa0d33cdf2d331f6b9d43ab75e82da01959aca0ed0e2993be8301514b119d80b03903c942515d4263cdfcc07e45d18e8bb2de16c5e7afb8ad9ebfc297a5cc16812773f6eeeffb65&tm=1757387429&sign=1bb7601be8d4429e2d4b9eee9b3c7501 +#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/154/202407181433_1721283860085_H169_1080.jpg" group-title="教育", CETV4 +https://mgtv.ottiptv.cc/mg/923287339.m3u8?token=3994396348adab20efd64405ac49758a14080aa64792adf05d092bd70cb96f0de796bd4d6152e0487b2c45001ed424eb9bbf2a64152b091ced804ca666c7a30299db68c6804b9b62d25f26bd77&tm=1757387429&sign=a42adf2fa997cfec64bbb049faa4b35c +#EXTINF:-1,tvg-id="cctv16" tvg-name="cctv16" tvg-logo="https://11.112114.xyz/logo/cctv16.png" group-title="央视",cctv16-MCP +https://mursor.ottiptv.cc/mcp/cctv16.m3u8?tm=1757392777&sign=c4e59f2e010e07b48845e9f148b1c0bf +#EXTINF:-1,tvg-id="cctv16" tvg-name="cctv16" tvg-logo="https://11.112114.xyz/logo/cctv16.png" group-title="央视",cctv16-MST +https://mursor.ottiptv.cc/mst/cctv16-2.m3u8?tm=1757392777&sign=3ac7fa00e4714a2a1dc0e2cd2bb2c398 +#EXTINF:-1,tvg-id="cctv4k" tvg-name="cctv4k" tvg-logo="https://11.112114.xyz/logo/cctv4k.png" group-title="央视",cctv4k-MCP +https://mursor.ottiptv.cc/mcp/cctv4k.m3u8?tm=1757392777&sign=f49064647c09d42e92cb8bfc14345bbb +#EXTINF:-1,tvg-id="cctv4k" tvg-name="cctv4k" tvg-logo="https://11.112114.xyz/logo/cctv4k.png" group-title="央视",cctv4k-MXW +https://mursor.ottiptv.cc/mxw/cctv4k-2.m3u8?tm=1757392777&sign=e8e0369871b184c665c6e58276deb823 +#EXTINF:-1,tvg-id="cctv8k" tvg-name="cctv8k" tvg-logo="https://11.112114.xyz/logo/cctv8k.png" group-title="央视",cctv8k-MCP +https://mursor.ottiptv.cc/mcp/cctv8k.m3u8?tm=1757392777&sign=4dba17f50e2e2da7a67aab31ddf8e7af +#EXTINF:-1,tvg-id="第一剧场" tvg-name="第一剧场" tvg-logo="https://11.112114.xyz/logo/第一剧场.png" group-title="央视",第一剧场-MCP +https://mursor.ottiptv.cc/mcp/dyjc.m3u8?tm=1757392777&sign=a2bb96d2bd20623942eac02dc6f82e2e +#EXTINF:-1,tvg-id="cctv8k" tvg-name="风云剧场" tvg-logo="https://11.112114.xyz/logo/风云剧场.png" group-title="央视",风云剧场-MCP +https://mursor.ottiptv.cc/mcp/fyjc.m3u8?tm=1757392777&sign=2aa0e416414d819cdd310023d66af554 +#EXTINF:-1,tvg-id="怀旧剧场" tvg-name="怀旧剧场" tvg-logo="https://11.112114.xyz/logo/怀旧剧场.png" group-title="央视",怀旧剧场-MCP +https://mursor.ottiptv.cc/mcp/hjjc.m3u8?tm=1757392777&sign=34962fc4a8ebca5e340ca4abc4e8df76 +#EXTINF:-1,tvg-id="CGTNALBY" tvg-name="CGTNALBY" tvg-logo="https://11.112114.xyz/logo/CGTNALBY.png" group-title="央视",cgtnar-MCP +https://mursor.ottiptv.cc/mcp/cgtnar.m3u8?tm=1757392777&sign=63e4c7a876ec79b40e8cdb765fbdbfcd +#EXTINF:-1,tvg-id="cgtndocumentary" tvg-name="cgtndocumentary" tvg-logo="https://11.112114.xyz/logo/cgtndocumentary.png" group-title="央视",cgtndoc-MCP +https://mursor.ottiptv.cc/mcp/cgtndoc.m3u8?tm=1757392777&sign=4fbe2921483b7a90077ef11e221a2645 +#EXTINF:-1,tvg-id="CGTNEN" tvg-name="CGTNEN" tvg-logo="https://11.112114.xyz/logo/CGTN.png" group-title="央视",cgtn-MCP +https://mursor.ottiptv.cc/mcp/cgtn.m3u8?tm=1757392777&sign=193dc0af616809052e4d6e365a24ee6c +#EXTINF:-1,tvg-id="cgtnfrench" tvg-name="cgtnfrench" tvg-logo="https://11.112114.xyz/logo/cgtnfrench.png" group-title="央视",cgtnfr-MCP +https://mursor.ottiptv.cc/mcp/cgtnfr.m3u8?tm=1757392777&sign=6751a935d62ddc4d47a407442ff953ee +#EXTINF:-1,tvg-id="cgtnru" tvg-name="cgtnru" tvg-logo="https://11.112114.xyz/logo/CGTN1.png" group-title="央视",cgtnru-MCP +https://mursor.ottiptv.cc/mcp/cgtnru.m3u8?tm=1757392777&sign=22396335d5d644d99f0eafcc0a768428 +#EXTINF:-1,tvg-id="cgtnsp" tvg-name="cgtnsp" tvg-logo="https://11.112114.xyz/logo/CGTN1.png" group-title="央视",cgtnsp-MCP +https://mursor.ottiptv.cc/mcp/cgtnsp.m3u8?tm=1757392777&sign=c01aa8d7ffe3e9f0e9ac082a8d16eeef +#EXTINF:-1,tvg-id="中国教育1台" tvg-name="中国教育1台" tvg-logo="https://11.112114.xyz/logo/中国教育1台.png" group-title="其他",中国教育电视台-MCP +https://mursor.ottiptv.cc/mcp/cetv1.m3u8?tm=1757392777&sign=685faf8f75e7cd9d1fe1cb8eda00b1e1 +#EXTINF:-1,tvg-id="北京卫视" tvg-name="北京卫视" tvg-logo="https://11.112114.xyz/logo/北京卫视.png" group-title="卫视",北京卫视-MCP +https://mursor.ottiptv.cc/mcp/beijing.m3u8?tm=1757392777&sign=7b46d61831412b1404e698226731d36c +#EXTINF:-1,tvg-id="湖南卫视" tvg-name="湖南卫视" tvg-logo="https://11.112114.xyz/logo/湖南卫视.png" group-title="卫视",湖南卫视-MCP +https://mursor.ottiptv.cc/mcp/hunan.m3u8?tm=1757392777&sign=f1cca3604bbbb48c7473dc3d879f87d2 +#EXTINF:-1,tvg-id="江苏卫视" tvg-name="江苏卫视" tvg-logo="https://11.112114.xyz/logo/江苏卫视.png" group-title="卫视",江苏卫视-MCP +https://mursor.ottiptv.cc/mcp/jiangsu.m3u8?tm=1757392777&sign=78cead7d5411a918c97f1d657d7d223d +#EXTINF:-1,tvg-id="东方卫视" tvg-name="东方卫视" tvg-logo="https://11.112114.xyz/logo/东方卫视.png" group-title="卫视",东方卫视-MCP +https://mursor.ottiptv.cc/mcp/dongfang.m3u8?tm=1757392777&sign=d9ad38ab43b5f809b1ee2dad9c3a5ca6 +#EXTINF:-1,tvg-id="浙江卫视" tvg-name="浙江卫视" tvg-logo="https://11.112114.xyz/logo/浙江卫视.png" group-title="卫视",浙江卫视-MCP +https://mursor.ottiptv.cc/mcp/zhejiang.m3u8?tm=1757392777&sign=38e209d3ebe34c669bb3b7fffa627e87 +#EXTINF:-1,tvg-id="湖北卫视" tvg-name="湖北卫视" tvg-logo="https://11.112114.xyz/logo/湖北卫视.png" group-title="卫视",湖北卫视-MCP +https://mursor.ottiptv.cc/mcp/hubei.m3u8?tm=1757392777&sign=2766ec732ffbc031a93a458848fa72ea +#EXTINF:-1,tvg-id="天津卫视" tvg-name="天津卫视" tvg-logo="https://11.112114.xyz/logo/天津卫视.png" group-title="卫视",天津卫视-MCP +https://mursor.ottiptv.cc/mcp/tianjing.m3u8?tm=1757392777&sign=ff4e7ad957334e26b9e900f207e29eb9 +#EXTINF:-1,tvg-id="山东卫视" tvg-name="山东卫视" tvg-logo="https://11.112114.xyz/logo/山东卫视.png" group-title="卫视",山东卫视-MCP +https://mursor.ottiptv.cc/mcp/shandong.m3u8?tm=1757392777&sign=9f120959b0bbf4fad174ced59b5625e0 +#EXTINF:-1,tvg-id="辽宁卫视" tvg-name="辽宁卫视" tvg-logo="https://11.112114.xyz/logo/辽宁卫视.png" group-title="卫视",辽宁卫视-MCP +https://mursor.ottiptv.cc/mcp/liaoning.m3u8?tm=1757392777&sign=347059ad78ecb9b79452205e32b3a58f +#EXTINF:-1,tvg-id="安徽卫视" tvg-name="安徽卫视" tvg-logo="https://11.112114.xyz/logo/安徽卫视.png" group-title="卫视",安徽卫视-MCP +https://mursor.ottiptv.cc/mcp/anhui.m3u8?tm=1757392777&sign=29948b76ecc62007fc0b10518d2478ae +#EXTINF:-1,tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" tvg-logo="https://11.112114.xyz/logo/黑龙江卫视.png" group-title="卫视",黑龙江卫视-MCP +https://mursor.ottiptv.cc/mcp/heilongjiang.m3u8?tm=1757392777&sign=c585af4740455b5f35d6a69bfa29ca81 +#EXTINF:-1,tvg-id="贵州卫视" tvg-name="贵州卫视" tvg-logo="https://11.112114.xyz/logo/贵州卫视.png" group-title="卫视",贵州卫视-MCP +https://mursor.ottiptv.cc/mcp/guizhou.m3u8?tm=1757392777&sign=708456aab52275889b9dda0f38f2124d +#EXTINF:-1,tvg-id="东南卫视" tvg-name="东南卫视" tvg-logo="https://11.112114.xyz/logo/东南卫视.png" group-title="卫视",东南卫视-MCP +https://mursor.ottiptv.cc/mcp/dongnan.m3u8?tm=1757392777&sign=806c3e7086db971614b06255abb89fcc +#EXTINF:-1,tvg-id="重庆卫视" tvg-name="重庆卫视" tvg-logo="https://11.112114.xyz/logo/重庆卫视.png" group-title="卫视",重庆卫视-MCP +https://mursor.ottiptv.cc/mcp/chongqing.m3u8?tm=1757392777&sign=2066bf3e7b38d203424a40dad5e567c9 +#EXTINF:-1,tvg-id="江西卫视" tvg-name="江西卫视" tvg-logo="https://11.112114.xyz/logo/江西卫视.png" group-title="卫视",江西卫视-MCP +https://mursor.ottiptv.cc/mcp/jiangxi.m3u8?tm=1757392777&sign=694d35296742bee9e246b6d71ffdab58 +#EXTINF:-1,tvg-id="广东卫视" tvg-name="广东卫视" tvg-logo="https://11.112114.xyz/logo/广东卫视.png" group-title="卫视",广东卫视-MCP +https://mursor.ottiptv.cc/mcp/guangdong.m3u8?tm=1757392777&sign=d16bb6116f5ae3be8482653c95e6c058 +#EXTINF:-1,tvg-id="河北卫视" tvg-name="河北卫视" tvg-logo="https://11.112114.xyz/logo/河北卫视.png" group-title="卫视",河北卫视-MCP +https://mursor.ottiptv.cc/mcp/hebei.m3u8?tm=1757392777&sign=db924b413cfb9e9c1269ceefd6692915 +#EXTINF:-1,tvg-id="深圳卫视" tvg-name="深圳卫视" tvg-logo="https://11.112114.xyz/logo/深圳卫视.png" group-title="卫视",深圳卫视-MCP +https://mursor.ottiptv.cc/mcp/shenzheng.m3u8?tm=1757392777&sign=a0d7c23e9a4734cca109743e7589f9fd +#EXTINF:-1,tvg-id="吉林卫视" tvg-name="吉林卫视" tvg-logo="https://11.112114.xyz/logo/吉林卫视.png" group-title="卫视",吉林卫视-MCP +https://mursor.ottiptv.cc/mcp/jiling.m3u8?tm=1757392777&sign=ac3a0852dcd90c6894622a92913709a8 +#EXTINF:-1,tvg-id="河南卫视" tvg-name="河南卫视" tvg-logo="https://11.112114.xyz/logo/河南卫视.png" group-title="卫视",河南卫视-MCP +https://mursor.ottiptv.cc/mcp/henan.m3u8?tm=1757392777&sign=c48fb49e4551f577f7d1f34db356d51d +#EXTINF:-1,tvg-id="四川卫视" tvg-name="四川卫视" tvg-logo="https://11.112114.xyz/logo/四川卫视.png" group-title="卫视",四川卫视-MCP +https://mursor.ottiptv.cc/mcp/sichuan.m3u8?tm=1757392777&sign=95deafa2f25ef787c9dae39c0e1a66cd +#EXTINF:-1,tvg-id="广西卫视" tvg-name="广西卫视" tvg-logo="https://11.112114.xyz/logo/广西卫视.png" group-title="卫视",广西卫视-MCP +https://mursor.ottiptv.cc/mcp/guangxi.m3u8?tm=1757392777&sign=fdc60dccd6a711f8f97091a5141e048c +#EXTINF:-1,tvg-id="陕西卫视" tvg-name="陕西卫视" tvg-logo="https://11.112114.xyz/logo/陕西卫视.png" group-title="卫视",陕西卫视-MCP +https://mursor.ottiptv.cc/mcp/shanxiws.m3u8?tm=1757392777&sign=877bd05473e7e99d574ebd2f57f358ff +#EXTINF:-1,tvg-id="山西卫视" tvg-name="山西卫视" tvg-logo="https://11.112114.xyz/logo/山西卫视.png" group-title="卫视",山西卫视-MCP +https://mursor.ottiptv.cc/mcp/shanxi.m3u8?tm=1757392777&sign=58fab0ef927bec086b35a6638f6d3061 +#EXTINF:-1,tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" tvg-logo="https://11.112114.xyz/logo/内蒙古卫视.png" group-title="卫视",内蒙古卫视-MCP +https://mursor.ottiptv.cc/mcp/neimenggu.m3u8?tm=1757392777&sign=a53404efbc6b298ac4301d1ab1f3e493 +#EXTINF:-1,tvg-id="青海卫视" tvg-name="青海卫视" tvg-logo="https://11.112114.xyz/logo/青海卫视.png" group-title="卫视",青海卫视-MCP +https://mursor.ottiptv.cc/mcp/qinghai.m3u8?tm=1757392777&sign=f332e54d33c4bdefea8c63a788031ff8 +#EXTINF:-1,tvg-id="海南卫视" tvg-name="海南卫视" tvg-logo="https://11.112114.xyz/logo/海南卫视.png" group-title="卫视",海南卫视-MCP +https://mursor.ottiptv.cc/mcp/hainan.m3u8?tm=1757392777&sign=0b4648dfefa5d31e93fd1fec84d2aabc +#EXTINF:-1,tvg-id="宁夏卫视" tvg-name="宁夏卫视" tvg-logo="https://11.112114.xyz/logo/宁夏卫视.png" group-title="卫视",宁夏卫视-MCP +https://mursor.ottiptv.cc/mcp/ningxia.m3u8?tm=1757392777&sign=8994283c8cd930ce829f6c7a8349aed9 +#EXTINF:-1,tvg-id="西藏卫视" tvg-name="西藏卫视" tvg-logo="https://11.112114.xyz/logo/西藏卫视.png" group-title="卫视",西藏卫视-MCP +https://mursor.ottiptv.cc/mcp/xizang.m3u8?tm=1757392777&sign=ef77c9fd2f4e0b6c9b5aba5f2472347e +#EXTINF:-1,tvg-id="新疆卫视" tvg-name="新疆卫视" tvg-logo="https://11.112114.xyz/logo/新疆卫视.png" group-title="卫视",新疆卫视-MCP +https://mursor.ottiptv.cc/mcp/xinjiang.m3u8?tm=1757392777&sign=d9e1e5793573d920d44143233323abc6 +#EXTINF:-1,tvg-id="甘肃卫视" tvg-name="甘肃卫视" tvg-logo="https://11.112114.xyz/logo/甘肃卫视.png" group-title="卫视",甘肃卫视-MCP +https://mursor.ottiptv.cc/mcp/gansu.m3u8?tm=1757392777&sign=9d6720853e1d390ba3b2f1655bb72a00 +#EXTINF:-1,tvg-id="云南卫视" tvg-name="云南卫视" tvg-logo="https://11.112114.xyz/logo/云南卫视.png" group-title="卫视",云南卫视-MCP +https://mursor.ottiptv.cc/mcp/yunnan.m3u8?tm=1757392777&sign=06ec0c941192fe8649a7fae5f12b241b +#EXTINF:-1,tvg-id="兵团卫视" tvg-name="兵团卫视" tvg-logo="https://11.112114.xyz/logo/兵团卫视.png" group-title="卫视",兵团卫视-MCP +https://mursor.ottiptv.cc/mcp/bintuan.m3u8?tm=1757392777&sign=4eba54cb4c16ff7faa84a40bb912fff8 diff --git a/欧歌/api.json b/欧歌/api.json index 4668175..94df951 100644 --- a/欧歌/api.json +++ b/欧歌/api.json @@ -20,7 +20,7 @@ }, { "key": "豆瓣1", - "name": "📢公告❤更新:9/6❤", + "name": "📢公告❤更新:9/9❤", "type": 3, "api": "csp_Notice", "searchable": 0, @@ -40,12 +40,11 @@ "site_urls": [ "https://woog.nxog.eu.org", "https://woog.nxog.fun", - "https://woog.xn--dkw.xn--6qq986b3xl", - "https://ogwo.xn--dkw.xn--6qq986b3xl" + "https://woog.xn--dkw.xn--6qq986b3xl" ], "url_key": "woog", "threadinfo": { - "chunksize": 259, + "chunksize": 221, "threads": 16 } } @@ -74,7 +73,7 @@ ], "url_key": "UC", "threadinfo": { - "chunksize": 256, + "chunksize": 292, "threads": 60 } } @@ -105,7 +104,7 @@ ], "url_key": "woog2", "threadinfo": { - "chunksize": 212, + "chunksize": 272, "threads": 16 } } @@ -122,22 +121,6 @@ "ratio": 1.597 } }, - { - "key": "巧技", - "name": "🐢聚搜┃搜索", - "type": 3, - "api": "csp_qiao2", - "playerType": 2, - "jar": "./jars/巧技.jar", - "ext": "7lj763gg402i79425739i7jghj118797l4hj840gi18633331l4708g2h7145403549g44l8ii56i187681hkjj3hhgh1ih3l32j250lk1k786lj20j468hk3hli4l46gig4i3g7g2722328j0136h01i7g5183k22k7gg3i72hk81gl8k9839kl7i0707" - }, - { - "key": "采集之王", - "name": "🐢采集┃搜索", - "type": 3, - "api": "./api/drpy2.min.js", - "ext": "./js/采集之王.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/json/采集静态.json$1$1" - }, { "key": "荐片", "name": "💡荐片|影视", @@ -438,21 +421,6 @@ "version": "120" } }, - { - "key": "仓鼠", - "name": "👑仓鼠|弹幕", - "type": 3, - "quickSearch": 1, - "api": "csp_AppQi", - "ext": { - "url": "", - "site": "https://ceshi307386.oss-cn-beijing.aliyuncs.com/csurl.txt", - "dataKey": "Z98KXaLtO2wC1Pte", - "dataIv": "Z98KXaLtO2wC1Pte", - "deviceId": "", - "version": "120" - } - }, { "key": "莱米", "name": "👑莱米|弹幕", @@ -483,21 +451,6 @@ "version": "120" } }, - { - "key": "瓜萌", - "name": "👑瓜萌|弹幕", - "type": 3, - "quickSearch": 1, - "api": "csp_AppGet", - "ext": { - "url": "", - "site": "https://www.guahd.com/1.txt", - "dataKey": "f2A7D4B9E8C16531", - "dataIv": "f2A7D4B9E8C16531", - "deviceId": "", - "version": "" - } - }, { "key": "和友", "name": "👑和友|弹幕", @@ -526,22 +479,6 @@ "version": "" } }, - { - "key": "漫国", - "name": "👑漫国|弹幕", - "type": 3, - "quickSearch": 1, - "api": "csp_AppGet", - "ext": { - "url": "https://app.lkdyw.cn", - "site": "", - "dataKey": "e65144389e9361b5", - "dataIv": "e65144389e9361b5", - "deviceId": "", - "version": "", - "ua": "" - } - }, { "key": "豆丁", "name": "👑豆丁|弹幕", @@ -621,152 +558,51 @@ } }, { - "key": "养生堂", - "name": "🧿养生|知识", + "key": "狂人", + "name": "👑狂人丨弹幕", "type": 3, - "jar": "./jars/养生堂.jar", - "api": "csp_XBPQ", - "ext": "./json/养生堂.json", - "style": { - "type": "rect", - "ratio": 1.597 - } - }, - { - "key": "八号影视", - "name": "🧿八号|影视", - "type": 3, - "api": "csp_XYQHiker", - "searchable": 1, "quickSearch": 1, - "filterable": 1, - "ext": "./json/八号影视.json" - }, - { - "key": "农民", - "name": "🧿农民|影视", - "type": 3, - "api": "csp_XBPQ", - "jar": "./jars/养生堂.jar", + "api": "csp_AppGet", "ext": { - "副标题": "欧歌专属", - "请求头": "User-Agent$MOBILE_UA", - "编码": "UTF-8", - "分类url": "https://vip.wwgz.cn:5200/" + "url": "https://www.zjkrmv.vip", + "site": "", + "dataKey": "vXeyuJFqTKqWUtWU", + "dataIv": "vXeyuJFqTKqWUtWU", + "deviceId": "", + "version": "", + "ua": "" } }, { - "key": "明星", - "name": "🧿明星|影视", + "key": "追番", + "name": "👑追番丨弹幕", "type": 3, - "api": "csp_XBPQ", - "jar": "./jars/养生堂.jar", - "ext": { - "副标题": "欧歌专属", - "请求头": "User-Agent$MOBILE_UA", - "编码": "UTF-8", - "分类url": "https://mxvod.com/" - } - }, - { - "key": "番茄", - "name": "🧿番茄|影视", - "type": 3, - "api": "csp_XBPQ", - "jar": "./jars/养生堂.jar", - "ext": { - "副标题": "欧歌专属", - "请求头": "User-Agent$MOBILE_UA", - "编码": "UTF-8", - "分类url": "https://www.yirenmeng.com/" - } - }, - { - "key": "小镇", - "name": "🧿小镇|影视", - "type": 3, - "api": "csp_XBPQ", - "jar": "./jars/养生堂.jar", - "ext": { - "请求头": "User-Agent$MOBILE_UA", - "编码": "UTF-8", - "分类url": "http://dyxz.tv/" - } - }, - { - "key": "永乐", - "name": "🧿永乐|影视", - "type": 3, - "api": "csp_XBPQ", - "jar": "./jars/养生堂.jar", - "ext": { - "副标题": "欧歌专属", - "请求头": "User-Agent$MOBILE_UA", - "编码": "UTF-8", - "分类url": "https://www.ylys.tv/" - } - }, - { - "key": "狐君", - "name": "🧿狐君|影视", - "type": 3, - "api": "csp_XBPQ", - "jar": "./jars/养生堂.jar", - "ext": { - "副标题": "欧歌专属", - "请求头": "User-Agent$MOBILE_UA", - "编码": "UTF-8", - "分类url": "https://www.foxjun.com/" - } - }, - { - "key": "优质", - "name": "🧿优质|影视", - "type": 3, - "api": "csp_XBPQ", - "jar": "./jars/养生堂.jar", - "ext": { - "副标题": "欧歌专属", - "请求头": "User-Agent$MOBILE_UA", - "编码": "UTF-8", - "分类url": "https://www.myripon.com/" - } - }, - { - "key": "韩国", - "name": "🧿韩国|影视", - "type": 3, - "api": "csp_XBPQ", - "jar": "./jars/养生堂.jar", - "ext": { - "副标题": "欧歌专属", - "请求头": "User-Agent$MOBILE_UA", - "编码": "UTF-8", - "分类url": "https://www.hanjukankan.com/;;" - } - }, - { - "key": "猎手影视", - "name": "🧡猎手|PY影视", - "type": 3, - "api": "./api/猎手影视.py", - "searchable": 1, - "changeable": 1, "quickSearch": 1, - "filterable": 1, - "playerType": 2 + "api": "csp_AppGet", + "ext": { + "url": "", + "site": "https://ysappapi.oss-cn-shenzhen.aliyuncs.com/getapi.txt", + "dataKey": "A1akVPQmnnE4Fz9Z", + "dataIv": "A1akVPQmnnE4Fz9Z", + "deviceId": "", + "version": "", + "ua": "" + } }, { - "key": "金牌影视PY", - "name": "🧡金牌|PY影视", + "key": "零三", + "name": "👑零三丨弹幕", "type": 3, - "api": "./api/金牌.py", - "searchable": 1, "quickSearch": 1, - "filterable": 1, - "playerType": 2, + "api": "csp_AppGet", "ext": { - "site": "https://www.hkybqufgh.com,https://www.sizhengxt.com,https://0996zp.com,https://9zhoukj.com/,https://www.sizhengxt.com,https://www.tjrongze.com,https://www.jiabaide.cn,https://cqzuoer.com" + "url": "http://03macapp.01yy.top", + "site": "", + "dataKey": "sdfjiweunikfjofj", + "dataIv": "sdfjiweunikfjofj", + "deviceId": "", + "version": "", + "ua": "" } }, { @@ -807,313 +643,6 @@ "quickSearch": 1, "filterable": 1 }, - { - "key": "软件", - "name": "🅰️软件┃教程", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/软件教程.json" - }, - { - "key": "学堂", - "name": "🅰️学堂┃教育", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/学堂教育.json" - }, - { - "key": "少儿", - "name": "🅰️少儿┃合集", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/少儿合集.json" - }, - { - "key": "小学课堂", - "name": "🅰️小学┃课堂", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/小学课堂.json" - }, - { - "key": "初中课堂", - "name": "🅰️初中┃课堂", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/初中课堂.json" - }, - { - "key": "高中课堂", - "name": "🅰️高中┃课堂", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/高中课堂.json" - }, - { - "key": "儿童口才", - "name": " 🧒口才┃儿童", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/儿童口才.json" - }, - { - "key": "儿童拼音", - "name": " 🧒拼音┃儿童", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/儿童拼音.json" - }, - { - "key": "儿童识字", - "name": " 🧒识字┃儿童", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/儿童识字.json" - }, - { - "key": "儿童思维", - "name": " 🧒思维┃儿童", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/儿童思维.json" - }, - { - "key": "儿童英语", - "name": " 🧒英语┃儿童", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/儿童英语.json" - }, - { - "key": "儿童硬笔", - "name": " 🧒硬笔┃儿童", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/儿童硬笔.json" - }, - { - "key": "儿童编程", - "name": " 🧒编程┃儿童", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/儿童编程.json" - }, - { - "key": "儿童武术", - "name": " 🧒武术┃儿童", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/儿童武术.json" - }, - { - "key": "csp_BBB", - "name": "🅱️套餐┃哔哩", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/哔哩套餐1.json" - }, - { - "key": "Bili", - "name": "🅱️套餐2┃哔哩", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/哔哩套餐2.json" - }, - { - "key": "MV", - "name": "🌈歌曲┃哔哩", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/歌曲MV.json" - }, - { - "key": "美食", - "name": "🌈美食┃哔哩", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/美食.json" - }, - { - "key": "球类", - "name": "⚽️球类┃合集", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/球类合集.json" - }, - { - "key": "球星", - "name": "⚽️球星┃合集", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/球星合集.json" - }, - { - "key": "演唱会", - "name": "🅰️演唱会┃哔哩", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/演唱会.json" - }, - { - "key": "戏曲", - "name": "🅰️戏曲┃合集", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 0, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/戏曲合集.json" - }, - { - "key": "哔哩哔哩听书", - "name": "🅰听书┃哔哩", - "type": 3, - "api": "csp_Bili", - "searchable": 0, - "quickSearch": 0, - "filterable": 0, - "ext": { - "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", - "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/小说.json" - }, - "style": { - "type": "rect", - "ratio": 1.597 - } - }, - { - "key": "急救教学", - "name": "🚑急救|教学", - "type": 3, - "api": "csp_FirstAid", - "searchable": 0, - "quickSearch": 0, - "changeable": 0, - "style": { - "type": "rect", - "ratio": 3.8 - }, - "gridview": "0-0-4.1" - }, - { - "key": "合集", - "name": "💋哔哩┃合集", - "type": 3, - "api": "./api/drpy2.min.js", - "searchable": 1, - "quickSearch": 0, - "filterable": 1, - "order_num": 142, - "ext": "./js/我的哔哩.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bilibili/合集.json" - }, - { - "key": "88看球", - "name": "💋88|看球", - "type": 3, - "api": "./api/drpy2.min.js", - "style": { - "type": "list" - }, - "ext": "./js/88看球.js" - }, - { - "key": "本地", - "name": "🌸本地|视频", - "type": 3, - "api": "csp_LocalFile" - }, - { - "key": "预告", - "name": "🌸新片|预告", - "type": 3, - "api": "csp_DouBan", - "searchable": 0 - }, { "key": "曼波动漫", "name": "🤣曼波|动漫", @@ -1331,6 +860,726 @@ "ratio": 1.433 } }, + { + "key": "养生堂", + "name": "🧿养生|知识", + "type": 3, + "jar": "./jars/养生堂.jar", + "api": "csp_XBPQ", + "ext": "./json/养生堂.json", + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "八号影视", + "name": "🧿八号|影视", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/八号影视.json" + }, + { + "key": "农民", + "name": "🧿农民|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": "./json/农民影视.json" + }, + { + "key": "明星", + "name": "🧿明星|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://mxvod.com/" + } + }, + { + "key": "番茄", + "name": "🧿番茄|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://www.yirenmeng.com/" + } + }, + { + "key": "小镇", + "name": "🧿小镇|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "http://dyxz.tv/" + } + }, + { + "key": "永乐", + "name": "🧿永乐|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://www.ylys.tv/" + } + }, + { + "key": "优质", + "name": "🧿优质|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://www.myripon.com/" + } + }, + { + "key": "韩国", + "name": "🧿韩国|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": "./json/韩剧看看.json" + }, + { + "key": "厂长", + "name": "🧿厂长|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": "./json/厂长资源.json" + }, + { + "key": "小鸭", + "name": "🧿小鸭|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://777tv.ai/;;!H" + } + }, + { + "key": "不卡", + "name": "🧿不卡|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://www.sobods.com/vodshow/1-----------/area/{area}/by/{by}/class/{class}/id/{cateId}/page/{catePg}/year/{year}.html", + "分类": "电影$1#连续剧$2#动漫$4#综艺$3" + } + }, + { + "key": "老王", + "name": "🧿老王|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://www.laowang.co/;;!" + } + }, + { + "key": "麦田", + "name": "🧿麦田|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://www.mtyy1.com/;;!" + } + }, + { + "key": "飞快", + "name": "🧿飞快|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://feikuai.tv/;;!" + } + }, + { + "key": "快快", + "name": "🧿快快|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://4k4k.live/;;!" + } + }, + { + "key": "巧技", + "name": "🐢聚搜┃搜索", + "type": 3, + "api": "csp_qiao2", + "playerType": 2, + "jar": "./jars/巧技.jar", + "ext": "7lj763gg402i79425739i7jghj118797l4hj840gi18633331l4708g2h7145403549g44l8ii56i187681hkjj3hhgh1ih3l32j250lk1k786lj20j468hk3hli4l46gig4i3g7g2722328j0136h01i7g5183k22k7gg3i72hk81gl8k9839kl7i0707" + }, + { + "key": "采集之王", + "name": "🐢采集┃搜索", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/采集之王.js?type=url¶ms=https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/json/采集静态.json$1$1" + }, + { + "key": "哔️软件", + "name": "🅰️软件┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/软件教程.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "哔哩学堂", + "name": "🅰学堂┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/学堂教育.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "哔哩少儿", + "name": "🅰少儿┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/少儿合集.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "️小学", + "name": "🅰️小学┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/小学课堂.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "️初中", + "name": "🅰️初中┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/初中课堂.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "️高中", + "name": "🅰️高中┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/高中课堂.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "口才", + "name": "🧒口才┃儿童", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童口才.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "拼音", + "name": "🧒拼音┃儿童", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童拼音.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "识字", + "name": "🧒识字┃儿童", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童识字.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "思维", + "name": "🧒思维┃儿童", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童思维.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "英语", + "name": "🧒英语┃儿童", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童英语.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "科学", + "name": "🧒科学┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/小灯塔科学.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "国学", + "name": "🧒国学┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/小灯塔国学.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "地理", + "name": "🧒地理┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/小灯塔地理.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "编程", + "name": "🧒编程┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童编程.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "武术", + "name": "🧒武术┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童武术.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "csp_BBB", + "name": "🅱️套餐┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/哔哩套餐1.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "csp_111BB", + "name": "🅱️套餐2┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/哔哩套餐2.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "歌曲", + "name": "🌈歌曲┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/歌曲MV.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "美食", + "name": "🌈美食┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/美食.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "球类", + "name": "⚽️球类┃合集", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/球类合集.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "️球星", + "name": "⚽️球星┃合集", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/球星合集.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "️演唱", + "name": "🅰️演唱┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/演唱会.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "️戏曲", + "name": "🅰️戏曲┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/戏曲合集.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "哔哩哔哩听书", + "name": "🅰听书┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/小说.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "急救教学", + "name": "🚑急救|教学", + "type": 3, + "api": "csp_FirstAid", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "style": { + "type": "rect", + "ratio": 3.8 + }, + "gridview": "0-0-4.1" + }, + { + "key": "影视影视", + "name": "🅰影视┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/合集.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "88看球", + "name": "💋88|看球", + "type": 3, + "api": "./api/drpy2.min.js", + "style": { + "type": "list" + }, + "ext": "./js/88看球.js" + }, + { + "key": "猎手影视", + "name": "🧡猎手|PY影视", + "type": 3, + "api": "./api/猎手影视.py", + "searchable": 1, + "changeable": 1, + "quickSearch": 1, + "filterable": 1, + "playerType": 2 + }, + { + "key": "金牌影视PY", + "name": "🧡金牌|PY影视", + "type": 3, + "api": "./api/金牌.py", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "playerType": 2, + "ext": { + "site": "https://www.hkybqufgh.com,https://www.sizhengxt.com,https://0996zp.com,https://9zhoukj.com/,https://www.sizhengxt.com,https://www.tjrongze.com,https://www.jiabaide.cn,https://cqzuoer.com" + } + }, + { + "key": "网络直播", + "name": "🧡网络|直播", + "type": 3, + "api": "./api/WLZB.py" + }, + { + "key": "哔哩直播", + "name": "🧡哔哩|直播", + "type": 3, + "api": "./api/BLZB.py" + }, + { + "key": "本地", + "name": "🌸本地|视频", + "type": 3, + "api": "csp_LocalFile" + }, + { + "key": "预告", + "name": "🌸新片|预告", + "type": 3, + "api": "csp_DouBan", + "searchable": 0 + }, { "key": "push_agent", "name": "📢手机|推送", @@ -1353,7 +1602,7 @@ "key": "豆瓣3", "name": "📢接口软件永远免费", "type": 3, - "api": "csp_Douban", + "api": "csp_DouBan", "searchable": 0 }, { diff --git a/欧歌/api/BLZB.py b/欧歌/api/BLZB.py new file mode 100644 index 0000000..6f427c7 --- /dev/null +++ b/欧歌/api/BLZB.py @@ -0,0 +1,314 @@ +# coding=utf-8 +# !/usr/bin/python + +""" + +作者 丢丢喵 🚓 内容均从互联网收集而来 仅供交流学习使用 版权归原创者所有 如侵犯了您的权益 请通知作者 将及时删除侵权内容 + ====================Diudiumiao==================== + +""" + +from Crypto.Util.Padding import unpad +from Crypto.Util.Padding import pad +from urllib.parse import unquote +from Crypto.Cipher import ARC4 +from urllib.parse import quote +from base.spider import Spider +from Crypto.Cipher import AES +from datetime import datetime +from bs4 import BeautifulSoup +from base64 import b64decode +import urllib.request +import urllib.parse +import datetime +import binascii +import requests +import base64 +import json +import time +import sys +import re +import os + +sys.path.append('..') + +xurl = "https://search.bilibili.com" + +xurl1 = "https://api.live.bilibili.com" + +headerx = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0' + } + +class Spider(Spider): + global xurl + global xurl1 + global headerx + + def getName(self): + return "首页" + + def init(self, extend): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def extract_middle_text(self, text, start_str, end_str, pl, start_index1: str = '', end_index2: str = ''): + if pl == 3: + plx = [] + while True: + start_index = text.find(start_str) + if start_index == -1: + break + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + break + middle_text = text[start_index + len(start_str):end_index] + plx.append(middle_text) + text = text.replace(start_str + middle_text + end_str, '') + if len(plx) > 0: + purl = '' + for i in range(len(plx)): + matches = re.findall(start_index1, plx[i]) + output = "" + for match in matches: + match3 = re.search(r'(?:^|[^0-9])(\d+)(?:[^0-9]|$)', match[1]) + if match3: + number = match3.group(1) + else: + number = 0 + if 'http' not in match[0]: + output += f"#{match[1]}${number}{xurl}{match[0]}" + else: + output += f"#{match[1]}${number}{match[0]}" + output = output[1:] + purl = purl + output + "$$$" + purl = purl[:-3] + return purl + else: + return "" + else: + start_index = text.find(start_str) + if start_index == -1: + return "" + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + return "" + + if pl == 0: + middle_text = text[start_index + len(start_str):end_index] + return middle_text.replace("\\", "") + + if pl == 1: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + jg = ' '.join(matches) + return jg + + if pl == 2: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + new_list = [f'{item}' for item in matches] + jg = '$$$'.join(new_list) + return jg + + def homeContent(self, filter): + result = {} + result = {"class": [{"type_id": "舞", "type_name": "舞蹈"}, + {"type_id": "音乐", "type_name": "音乐"}, + {"type_id": "手游", "type_name": "手游"}, + {"type_id": "网游", "type_name": "网游"}, + {"type_id": "单机游戏", "type_name": "单机游戏"}, + {"type_id": "虚拟主播", "type_name": "虚拟主播"}, + {"type_id": "电台", "type_name": "电台"}, + {"type_id": "体育", "type_name": "体育"}, + {"type_id": "聊天", "type_name": "聊天"}, + {"type_id": "娱乐", "type_name": "娱乐"}, + {"type_id": "电影", "type_name": "影视"}, + {"type_id": "新闻", "type_name": "新闻"}] + } + + return result + + def homeVideoContent(self): + pass + + def categoryContent(self, cid, pg, filter, ext): + result = {} + videos = [] + + if pg: + page = int(pg) + else: + page = 1 + + url = f'{xurl}/live?keyword={cid}&page={str(page)}' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + res = detail.text + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('div', class_="video-list-item") + + for vod in soups: + + names = vod.find('h3', class_="bili-live-card__info--tit") + name = names.text.strip().replace('直播中', '') + + id = names.find('a')['href'] + id = self.extract_middle_text(id, 'bilibili.com/', '?', 0) + + pic = vod.find('img')['src'] + if 'http' not in pic: + pic = "https:" + pic + + remarks = vod.find('a', class_="bili-live-card__info--uname") + remark = remarks.text.strip() + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result = {'list': videos} + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, ids): + did = ids[0] + result = {} + videos = [] + xianlu = '' + bofang = '' + + url = f'{xurl1}/xlive/web-room/v2/index/getRoomPlayInfo?room_id={did}&platform=web&protocol=0,1&format=0,1,2&codec=0,1' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + data = detail.json() + + content = '欢迎观看哔哩直播' + + setup = data['data']['playurl_info']['playurl']['stream'] + + nam = 0 + + for vod in setup: + + try: + host = vod['format'][nam]['codec'][0]['url_info'][1]['host'] + except (KeyError, IndexError): + continue + + base = vod['format'][nam]['codec'][0]['base_url'] + + extra = vod['format'][nam]['codec'][0]['url_info'][1]['extra'] + + id = host + base + extra + + nam = nam + 1 + + namc = f"{nam}号线路" + + bofang = bofang + namc + '$' + id + '#' + + bofang = bofang[:-1] + + xianlu = '哔哩专线' + + videos.append({ + "vod_id": did, + "vod_content": content, + "vod_play_from": xianlu, + "vod_play_url": bofang + }) + + result['list'] = videos + return result + + def playerContent(self, flag, id, vipFlags): + + result = {} + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = id + result["header"] = headerx + return result + + def searchContentPage(self, key, quick, pg): + result = {} + videos = [] + + if pg: + page = int(pg) + else: + page = 1 + + url = f'{xurl}/live?keyword={key}&page={str(page)}' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + res = detail.text + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('div', class_="video-list-item") + + for vod in soups: + + names = vod.find('h3', class_="bili-live-card__info--tit") + name = names.text.strip().replace('直播中', '') + + id = names.find('a')['href'] + id = self.extract_middle_text(id, 'bilibili.com/', '?', 0) + + pic = vod.find('img')['src'] + if 'http' not in pic: + pic = "https:" + pic + + remarks = vod.find('a', class_="bili-live-card__info--uname") + remark = remarks.text.strip() + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def searchContent(self, key, quick, pg="1"): + return self.searchContentPage(key, quick, '1') + + def localProxy(self, params): + if params['type'] == "m3u8": + return self.proxyM3u8(params) + elif params['type'] == "media": + return self.proxyMedia(params) + elif params['type'] == "ts": + return self.proxyTs(params) + return None + + + + + + + + diff --git a/欧歌/api/WLZB.py b/欧歌/api/WLZB.py new file mode 100644 index 0000000..5fbeeaa --- /dev/null +++ b/欧歌/api/WLZB.py @@ -0,0 +1,768 @@ +# -*- coding: utf-8 -*- +# by @嗷呜 +import json +import re +import sys +import time +from base64 import b64decode, b64encode +from urllib.parse import parse_qs +import requests +from pyquery import PyQuery as pq +sys.path.append('..') +from base.spider import Spider +from concurrent.futures import ThreadPoolExecutor + + +class Spider(Spider): + + def init(self, extend=""): + tid = 'douyin' + headers = self.gethr(0, tid) + response = requests.head(self.hosts[tid], headers=headers) + ttwid = response.cookies.get('ttwid') + headers.update({ + 'authority': self.hosts[tid].split('//')[-1], + 'cookie': f'ttwid={ttwid}' if ttwid else '' + }) + self.dyheaders = headers + pass + + def getName(self): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def destroy(self): + pass + + headers = [ + { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0" + }, + { + "User-Agent": "Dart/3.4 (dart:io)" + } + ] + + excepturl = 'https://www.baidu.com' + + hosts = { + "huya": ["https://www.huya.com","https://mp.huya.com"], + "douyin": "https://live.douyin.com", + "douyu": "https://www.douyu.com", + "wangyi": "https://cc.163.com", + "bili": ["https://api.live.bilibili.com", "https://api.bilibili.com"] + } + + referers = { + "huya": "https://live.cdn.huya.com", + "douyin": "https://live.douyin.com", + "douyu": "https://m.douyu.com", + "bili": "https://live.bilibili.com" + } + + playheaders = { + "wangyi": { + "User-Agent": "ExoPlayer", + "Connection": "Keep-Alive", + "Icy-MetaData": "1" + }, + "bili": { + 'Accept': '*/*', + 'Icy-MetaData': '1', + 'referer': referers['bili'], + 'user-agent': headers[0]['User-Agent'] + }, + 'douyin': { + 'User-Agent': 'libmpv', + 'Icy-MetaData': '1' + }, + 'huya': { + 'User-Agent': 'ExoPlayer', + 'Connection': 'Keep-Alive', + 'Icy-MetaData': '1' + }, + 'douyu': { + 'User-Agent': 'libmpv', + 'Icy-MetaData': '1' + } + } + + def process_bili(self): + try: + self.blfdata = self.fetch( + f'{self.hosts["bili"][0]}/room/v1/Area/getList?need_entrance=1&parent_id=0', + headers=self.gethr(0, 'bili') + ).json() + return ('bili', [{'key': 'cate', 'name': '分类', + 'value': [{'n': i['name'], 'v': str(i['id'])} + for i in self.blfdata['data']]}]) + except Exception as e: + print(f"bili处理错误: {e}") + return 'bili', None + + def process_douyin(self): + try: + data = self.getpq(self.hosts['douyin'], headers=self.dyheaders)('script') + for i in data.items(): + if 'categoryData' in i.text(): + content = i.text() + start = content.find('{') + end = content.rfind('}') + 1 + if start != -1 and end != -1: + json_str = content[start:end] + json_str = json_str.replace('\\"', '"') + try: + self.dyifdata = json.loads(json_str) + return ('douyin', [{'key': 'cate', 'name': '分类', + 'value': [{'n': i['partition']['title'], + 'v': f"{i['partition']['id_str']}@@{i['partition']['title']}"} + for i in self.dyifdata['categoryData']]}]) + except json.JSONDecodeError as e: + print(f"douyin解析错误: {e}") + return 'douyin', None + except Exception as e: + print(f"douyin请求或处理错误: {e}") + return 'douyin', None + + def process_douyu(self): + try: + self.dyufdata = self.fetch( + f'{self.referers["douyu"]}/api/cate/list', + headers=self.headers[1] + ).json() + return ('douyu', [{'key': 'cate', 'name': '分类', + 'value': [{'n': i['cate1Name'], 'v': str(i['cate1Id'])} + for i in self.dyufdata['data']['cate1Info']]}]) + except Exception as e: + print(f"douyu错误: {e}") + return 'douyu', None + + def homeContent(self, filter): + result = {} + cateManual = { + "虎牙": "huya", + "哔哩": "bili", + "抖音": "douyin", + "斗鱼": "douyu", + "网易": "wangyi" + } + classes = [] + filters = { + 'huya': [{'key': 'cate', 'name': '分类', + 'value': [{'n': '网游', 'v': '1'}, {'n': '单机', 'v': '2'}, + {'n': '娱乐', 'v': '8'}, {'n': '手游', 'v': '3'}]}] + } + + with ThreadPoolExecutor(max_workers=3) as executor: + futures = { + executor.submit(self.process_bili): 'bili', + executor.submit(self.process_douyin): 'douyin', + executor.submit(self.process_douyu): 'douyu' + } + + for future in futures: + platform, filter_data = future.result() + if filter_data: + filters[platform] = filter_data + + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + result['filters'] = filters + return result + + def homeVideoContent(self): + pass + + def categoryContent(self, tid, pg, filter, extend): + vdata = [] + result = {} + pagecount = 9999 + result['page'] = pg + result['limit'] = 90 + result['total'] = 999999 + if tid == 'wangyi': + vdata, pagecount = self.wyccContent(tid, pg, filter, extend, vdata) + elif 'bili' in tid: + vdata, pagecount = self.biliContent(tid, pg, filter, extend, vdata) + elif 'huya' in tid: + vdata, pagecount = self.huyaContent(tid, pg, filter, extend, vdata) + elif 'douyin' in tid: + vdata, pagecount = self.douyinContent(tid, pg, filter, extend, vdata) + elif 'douyu' in tid: + vdata, pagecount = self.douyuContent(tid, pg, filter, extend, vdata) + result['list'] = vdata + result['pagecount'] = pagecount + return result + + def wyccContent(self, tid, pg, filter, extend, vdata): + params = { + 'format': 'json', + 'start': (int(pg) - 1) * 20, + 'size': '20', + } + response = self.fetch(f'{self.hosts[tid]}/api/category/live/', params=params, headers=self.headers[0]).json() + for i in response['lives']: + if i.get('cuteid'): + bvdata = self.buildvod( + vod_id=f"{tid}@@{i['cuteid']}", + vod_name=i.get('title'), + vod_pic=i.get('cover'), + vod_remarks=i.get('nickname'), + style={"type": "rect", "ratio": 1.33} + ) + vdata.append(bvdata) + return vdata, 9999 + + def biliContent(self, tid, pg, filter, extend, vdata): + if extend.get('cate') and pg == '1' and 'click' not in tid: + for i in self.blfdata['data']: + if str(i['id']) == extend['cate']: + for j in i['list']: + v = self.buildvod( + vod_id=f"click_{tid}@@{i['id']}@@{j['id']}", + vod_name=j.get('name'), + vod_pic=j.get('pic'), + vod_tag=1, + style={"type": "oval", "ratio": 1} + ) + vdata.append(v) + return vdata, 1 + else: + path = f'/xlive/web-interface/v1/second/getListByArea?platform=web&sort=online&page_size=30&page={pg}' + if 'click' in tid: + ids = tid.split('_')[1].split('@@') + tid = ids[0] + path = f'/xlive/web-interface/v1/second/getList?platform=web&parent_area_id={ids[1]}&area_id={ids[-1]}&sort_type=&page={pg}' + data = self.fetch(f'{self.hosts[tid][0]}{path}', headers=self.gethr(0, tid)).json() + for i in data['data']['list']: + if i.get('roomid'): + data = self.buildvod( + f"{tid}@@{i['roomid']}", + i.get('title'), + i.get('cover'), + i.get('watched_show', {}).get('text_large'), + 0, + i.get('uname'), + style={"type": "rect", "ratio": 1.33} + ) + vdata.append(data) + return vdata, 9999 + + def huyaContent(self, tid, pg, filter, extend, vdata): + if extend.get('cate') and pg == '1' and 'click' not in tid: + id = extend.get('cate') + data = self.fetch(f'{self.referers[tid]}/liveconfig/game/bussLive?bussType={id}', + headers=self.headers[1]).json() + for i in data['data']: + v = self.buildvod( + vod_id=f"click_{tid}@@{int(i['gid'])}", + vod_name=i.get('gameFullName'), + vod_pic=f'https://huyaimg.msstatic.com/cdnimage/game/{int(i["gid"])}-MS.jpg', + vod_tag=1, + style={"type": "oval", "ratio": 1} + ) + vdata.append(v) + return vdata, 1 + else: + gid = '' + if 'click' in tid: + ids = tid.split('_')[1].split('@@') + tid = ids[0] + gid = f'&gameId={ids[1]}' + data = self.fetch(f'{self.hosts[tid][0]}/cache.php?m=LiveList&do=getLiveListByPage&tagAll=0{gid}&page={pg}', + headers=self.headers[1]).json() + for i in data['data']['datas']: + if i.get('profileRoom'): + v = self.buildvod( + f"{tid}@@{i['profileRoom']}", + i.get('introduction'), + i.get('screenshot'), + str(int(i.get('totalCount', '1')) / 10000) + '万', + 0, + i.get('nick'), + style={"type": "rect", "ratio": 1.33} + + ) + vdata.append(v) + return vdata, 9999 + + def douyinContent(self, tid, pg, filter, extend, vdata): + if extend.get('cate') and pg == '1' and 'click' not in tid: + ids = extend.get('cate').split('@@') + for i in self.dyifdata['categoryData']: + c = i['partition'] + if c['id_str'] == ids[0] and c['title'] == ids[1]: + vlist = i['sub_partition'].copy() + vlist.insert(0, {'partition': c}) + for j in vlist: + j = j['partition'] + v = self.buildvod( + vod_id=f"click_{tid}@@{j['id_str']}@@{j['type']}", + vod_name=j.get('title'), + vod_pic='https://p3-pc-weboff.byteimg.com/tos-cn-i-9r5gewecjs/pwa_v3/512x512-1.png', + vod_tag=1, + style={"type": "oval", "ratio": 1} + ) + vdata.append(v) + return vdata, 1 + else: + path = f'/webcast/web/partition/detail/room/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&count=15&offset={(int(pg) - 1) * 15}&partition=720&partition_type=1' + if 'click' in tid: + ids = tid.split('_')[1].split('@@') + tid = ids[0] + path = f'/webcast/web/partition/detail/room/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&count=15&offset={(int(pg) - 1) * 15}&partition={ids[1]}&partition_type={ids[-1]}&req_from=2' + data = self.fetch(f'{self.hosts[tid]}{path}', headers=self.dyheaders).json() + for i in data['data']['data']: + v = self.buildvod( + vod_id=f"{tid}@@{i['web_rid']}", + vod_name=i['room'].get('title'), + vod_pic=i['room']['cover'].get('url_list')[0], + vod_year=i.get('user_count_str'), + vod_remarks=i['room']['owner'].get('nickname'), + style={"type": "rect", "ratio": 1.33} + ) + vdata.append(v) + return vdata, 9999 + + def douyuContent(self, tid, pg, filter, extend, vdata): + if extend.get('cate') and pg == '1' and 'click' not in tid: + for i in self.dyufdata['data']['cate2Info']: + if str(i['cate1Id']) == extend['cate']: + v = self.buildvod( + vod_id=f"click_{tid}@@{i['cate2Id']}", + vod_name=i.get('cate2Name'), + vod_pic=i.get('icon'), + vod_remarks=i.get('count'), + vod_tag=1, + style={"type": "oval", "ratio": 1} + ) + vdata.append(v) + return vdata, 1 + else: + path = f'/japi/weblist/apinc/allpage/6/{pg}' + if 'click' in tid: + ids = tid.split('_')[1].split('@@') + tid = ids[0] + path = f'/gapi/rkc/directory/mixList/2_{ids[1]}/{pg}' + url = f'{self.hosts[tid]}{path}' + data = self.fetch(url, headers=self.headers[1]).json() + for i in data['data']['rl']: + v = self.buildvod( + vod_id=f"{tid}@@{i['rid']}", + vod_name=i.get('rn'), + vod_pic=i.get('rs16'), + vod_year=str(int(i.get('ol', 1)) / 10000) + '万', + vod_remarks=i.get('nn'), + style={"type": "rect", "ratio": 1.33} + ) + vdata.append(v) + return vdata, 9999 + + def detailContent(self, ids): + ids = ids[0].split('@@') + if ids[0] == 'wangyi': + vod = self.wyccDetail(ids) + elif ids[0] == 'bili': + vod = self.biliDetail(ids) + elif ids[0] == 'huya': + vod = self.huyaDetail(ids) + elif ids[0] == 'douyin': + vod = self.douyinDetail(ids) + elif ids[0] == 'douyu': + vod = self.douyuDetail(ids) + return {'list': [vod]} + + def wyccDetail(self, ids): + try: + vdata = self.getpq(f'{self.hosts[ids[0]]}/{ids[1]}', self.headers[0])('script').eq(-1).text() + + def get_quality_name(vbr): + if vbr <= 600: + return "标清" + elif vbr <= 1000: + return "高清" + elif vbr <= 2000: + return "超清" + else: + return "蓝光" + + data = json.loads(vdata)['props']['pageProps']['roomInfoInitData'] + name = data['live'].get('title', ids[0]) + vod = self.buildvod(vod_name=data.get('keywords_suffix'), vod_remarks=data['live'].get('title'), + vod_content=data.get('description_suffix')) + resolution_data = data['live']['quickplay']['resolution'] + all_streams = {} + sorted_qualities = sorted(resolution_data.items(), + key=lambda x: x[1]['vbr'], + reverse=True) + for quality, data in sorted_qualities: + vbr = data['vbr'] + quality_name = get_quality_name(vbr) + for cdn_name, url in data['cdn'].items(): + if cdn_name not in all_streams and type(url) == str and url.startswith('http'): + all_streams[cdn_name] = [] + if isinstance(url, str) and url.startswith('http'): + all_streams[cdn_name].extend([quality_name, url]) + plists = [] + names = [] + for i, (cdn_name, stream_list) in enumerate(all_streams.items(), 1): + names.append(f'线路{i}') + pstr = f"{name}${ids[0]}@@{self.e64(json.dumps(stream_list))}" + plists.append(pstr) + vod['vod_play_from'] = "$$$".join(names) + vod['vod_play_url'] = "$$$".join(plists) + return vod + except Exception as e: + return self.handle_exception(e) + + def biliDetail(self, ids): + try: + vdata = self.fetch( + f'{self.hosts[ids[0]][0]}/xlive/web-room/v1/index/getInfoByRoom?room_id={ids[1]}&wts={int(time.time())}', + headers=self.gethr(0, ids[0])).json() + v = vdata['data']['room_info'] + vod = self.buildvod( + vod_name=v.get('title'), + type_name=v.get('parent_area_name') + '/' + v.get('area_name'), + vod_remarks=v.get('tags'), + vod_play_from=v.get('title'), + ) + data = self.fetch( + f'{self.hosts[ids[0]][0]}/xlive/web-room/v2/index/getRoomPlayInfo?room_id={ids[1]}&protocol=0%2C1&format=0%2C1%2C2&codec=0%2C1&platform=web', + headers=self.gethr(0, ids[0])).json() + vdnams = data['data']['playurl_info']['playurl']['g_qn_desc'] + all_accept_qns = [] + streams = data['data']['playurl_info']['playurl']['stream'] + for stream in streams: + for format_item in stream['format']: + for codec in format_item['codec']: + if 'accept_qn' in codec: + all_accept_qns.append(codec['accept_qn']) + max_accept_qn = max(all_accept_qns, key=len) if all_accept_qns else [] + quality_map = { + item['qn']: item['desc'] + for item in vdnams + } + quality_names = [f"{quality_map.get(qn)}${ids[0]}@@{ids[1]}@@{qn}" for qn in max_accept_qn] + vod['vod_play_url'] = "#".join(quality_names) + return vod + except Exception as e: + return self.handle_exception(e) + + def huyaDetail(self, ids): + try: + vdata = self.fetch(f'{self.hosts[ids[0]][1]}/cache.php?m=Live&do=profileRoom&roomid={ids[1]}', + headers=self.headers[0]).json() + v = vdata['data']['liveData'] + vod = self.buildvod( + vod_name=v.get('introduction'), + type_name=v.get('gameFullName'), + vod_director=v.get('nick'), + vod_remarks=v.get('contentIntro'), + ) + data = dict(reversed(list(vdata['data']['stream'].items()))) + names = [] + plist = [] + + for stream_type, stream_data in data.items(): + if isinstance(stream_data, dict) and 'multiLine' in stream_data and 'rateArray' in stream_data: + names.append(f"线路{len(names) + 1}") + qualities = sorted( + stream_data['rateArray'], + key=lambda x: (x['iBitRate'], x['sDisplayName']), + reverse=True + ) + cdn_urls = [] + for cdn in stream_data['multiLine']: + quality_urls = [] + for quality in qualities: + quality_name = quality['sDisplayName'] + bit_rate = quality['iBitRate'] + base_url = cdn['url'] + if bit_rate > 0: + if '.m3u8' in base_url: + new_url = base_url.replace( + 'ratio=2000', + f'ratio={bit_rate}' + ) + else: + new_url = base_url.replace( + 'imgplus.flv', + f'imgplus_{bit_rate}.flv' + ) + else: + new_url = base_url + quality_urls.extend([quality_name, new_url]) + encoded_urls = self.e64(json.dumps(quality_urls)) + cdn_urls.append(f"{cdn['cdnType']}${ids[0]}@@{encoded_urls}") + + if cdn_urls: + plist.append('#'.join(cdn_urls)) + vod['vod_play_from'] = "$$$".join(names) + vod['vod_play_url'] = "$$$".join(plist) + return vod + except Exception as e: + return self.handle_exception(e) + + def douyinDetail(self, ids): + url = f'{self.hosts[ids[0]]}/webcast/room/web/enter/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&enter_from=web_live&web_rid={ids[1]}&room_id_str=&enter_source=&Room-Enter-User-Login-Ab=0&is_need_double_stream=false&cookie_enabled=true&screen_width=1980&screen_height=1080&browser_language=zh-CN&browser_platform=Win32&browser_name=Edge&browser_version=125.0.0.0' + data = self.fetch(url, headers=self.dyheaders).json() + try: + vdata = data['data']['data'][0] + vod = self.buildvod( + vod_name=vdata['title'], + vod_remarks=vdata['user_count_str'], + ) + resolution_data = vdata['stream_url']['live_core_sdk_data']['pull_data']['options']['qualities'] + stream_json = vdata['stream_url']['live_core_sdk_data']['pull_data']['stream_data'] + stream_json = json.loads(stream_json) + available_types = [] + if any(sdk_key in stream_json['data'] and 'main' in stream_json['data'][sdk_key] for sdk_key in + stream_json['data']): + available_types.append('main') + if any(sdk_key in stream_json['data'] and 'backup' in stream_json['data'][sdk_key] for sdk_key in + stream_json['data']): + available_types.append('backup') + plist = [] + for line_type in available_types: + format_arrays = {'flv': [], 'hls': [], 'lls': []} + qualities = sorted(resolution_data, key=lambda x: x['level'], reverse=True) + for quality in qualities: + sdk_key = quality['sdk_key'] + if sdk_key in stream_json['data'] and line_type in stream_json['data'][sdk_key]: + stream_info = stream_json['data'][sdk_key][line_type] + if stream_info.get('flv'): + format_arrays['flv'].extend([quality['name'], stream_info['flv']]) + if stream_info.get('hls'): + format_arrays['hls'].extend([quality['name'], stream_info['hls']]) + if stream_info.get('lls'): + format_arrays['lls'].extend([quality['name'], stream_info['lls']]) + format_urls = [] + for format_name, url_array in format_arrays.items(): + if url_array: + encoded_urls = self.e64(json.dumps(url_array)) + format_urls.append(f"{format_name}${ids[0]}@@{encoded_urls}") + + if format_urls: + plist.append('#'.join(format_urls)) + + names = ['线路1', '线路2'][:len(plist)] + vod['vod_play_from'] = "$$$".join(names) + vod['vod_play_url'] = "$$$".join(plist) + return vod + + except Exception as e: + return self.handle_exception(e) + + def douyuDetail(self, ids): + headers = self.gethr(0, zr=f'{self.hosts[ids[0]]}/{ids[1]}') + try: + data = self.fetch(f'{self.hosts[ids[0]]}/betard/{ids[1]}', headers=headers).json() + vname = data['room']['room_name'] + vod = self.buildvod( + vod_name=vname, + vod_remarks=data['room'].get('second_lvl_name'), + vod_director=data['room'].get('nickname'), + ) + vdata = self.fetch(f'{self.hosts[ids[0]]}/swf_api/homeH5Enc?rids={ids[1]}', headers=headers).json() + json_body = vdata['data'] + json_body = {"html": self.douyu_text(json_body[f'room{ids[1]}']), "rid": ids[1]} + sign = self.post('http://alive.nsapps.cn/api/AllLive/DouyuSign', json=json_body, headers=self.headers[1]).json()['data'] + body = f'{sign}&cdn=&rate=-1&ver=Douyu_223061205&iar=1&ive=1&hevc=0&fa=0' + body=self.params_to_json(body) + nubdata = self.post(f'{self.hosts[ids[0]]}/lapi/live/getH5Play/{ids[1]}', data=body, headers=headers).json() + plist = [] + names = [] + for i,x in enumerate(nubdata['data']['cdnsWithName']): + names.append(f'线路{i+1}') + d = {'sign': sign, 'cdn': x['cdn'], 'id': ids[1]} + plist.append( + f'{vname}${ids[0]}@@{self.e64(json.dumps(d))}@@{self.e64(json.dumps(nubdata["data"]["multirates"]))}') + vod['vod_play_from'] = "$$$".join(names) + vod['vod_play_url'] = "$$$".join(plist) + return vod + except Exception as e: + return self.handle_exception(e) + + def douyu_text(self, text): + function_positions = [m.start() for m in re.finditer('function', text)] + total_functions = len(function_positions) + if total_functions % 2 == 0: + target_index = total_functions // 2 + 1 + else: + target_index = (total_functions - 1) // 2 + 1 + if total_functions >= target_index: + cut_position = function_positions[target_index - 1] + ctext = text[4:cut_position] + return re.sub(r'eval\(strc\)\([\w\d,]+\)', 'strc', ctext) + return text + + def searchContent(self, key, quick, pg="1"): + pass + + def playerContent(self, flag, id, vipFlags): + try: + ids = id.split('@@') + p = 1 + if ids[0] in ['wangyi', 'douyin','huya']: + p, url = 0, json.loads(self.d64(ids[1])) + elif ids[0] == 'bili': + p, url = self.biliplay(ids) + elif ids[0] == 'huya': + p, url = 0, json.loads(self.d64(ids[1])) + elif ids[0] == 'douyu': + p, url = self.douyuplay(ids) + return {'parse': p, 'url': url, 'header': self.playheaders[ids[0]]} + except Exception as e: + return {'parse': 1, 'url': self.excepturl, 'header': self.headers[0]} + + def biliplay(self, ids): + try: + data = self.fetch( + f'{self.hosts[ids[0]][0]}/xlive/web-room/v2/index/getRoomPlayInfo?room_id={ids[1]}&protocol=0,1&format=0,2&codec=0&platform=web&qn={ids[2]}', + headers=self.gethr(0, ids[0])).json() + urls = [] + line_index = 1 + for stream in data['data']['playurl_info']['playurl']['stream']: + for format_item in stream['format']: + for codec in format_item['codec']: + for url_info in codec['url_info']: + full_url = f"{url_info['host']}/{codec['base_url'].lstrip('/')}{url_info['extra']}" + urls.extend([f"线路{line_index}", full_url]) + line_index += 1 + return 0, urls + except Exception as e: + return 1, self.excepturl + + def douyuplay(self, ids): + try: + sdata = json.loads(self.d64(ids[1])) + headers = self.gethr(0, zr=f'{self.hosts[ids[0]]}/{sdata["id"]}') + ldata = json.loads(self.d64(ids[2])) + result_obj = {} + with ThreadPoolExecutor(max_workers=len(ldata)) as executor: + futures = [ + executor.submit( + self.douyufp, + sdata, + quality, + headers, + self.hosts[ids[0]], + result_obj + ) for quality in ldata + ] + for future in futures: + future.result() + + result = [] + for bit in sorted(result_obj.keys(), reverse=True): + result.extend(result_obj[bit]) + + if result: + return 0, result + return 1, self.excepturl + + except Exception as e: + return 1, self.excepturl + + def douyufp(self, sdata, quality, headers, host, result_obj): + try: + body = f'{sdata["sign"]}&cdn={sdata["cdn"]}&rate={quality["rate"]}' + body=self.params_to_json(body) + data = self.post(f'{host}/lapi/live/getH5Play/{sdata["id"]}', + data=body, headers=headers).json() + if data.get('data'): + play_url = data['data']['rtmp_url'] + '/' + data['data']['rtmp_live'] + bit = quality.get('bit', 0) + if bit not in result_obj: + result_obj[bit] = [] + result_obj[bit].extend([quality['name'], play_url]) + except Exception as e: + print(f"Error fetching {quality['name']}: {str(e)}") + + def localProxy(self, param): + pass + + 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: + print(f"Base64编码错误: {str(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: + print(f"Base64解码错误: {str(e)}") + return "" + + def josn_to_params(self, params, skip_empty=False): + query = [] + for k, v in params.items(): + if skip_empty and not v: + continue + query.append(f"{k}={v}") + return "&".join(query) + + def params_to_json(self, query_string): + parsed_data = parse_qs(query_string) + result = {key: value[0] for key, value in parsed_data.items()} + return result + + def buildvod(self, vod_id='', vod_name='', vod_pic='', vod_year='', vod_tag='', vod_remarks='', style='', + type_name='', vod_area='', vod_actor='', vod_director='', + vod_content='', vod_play_from='', vod_play_url=''): + vod = { + 'vod_id': vod_id, + 'vod_name': vod_name, + 'vod_pic': vod_pic, + 'vod_year': vod_year, + 'vod_tag': 'folder' if vod_tag else '', + 'vod_remarks': vod_remarks, + 'style': style, + 'type_name': type_name, + 'vod_area': vod_area, + 'vod_actor': vod_actor, + 'vod_director': vod_director, + 'vod_content': vod_content, + 'vod_play_from': vod_play_from, + 'vod_play_url': vod_play_url + } + vod = {key: value for key, value in vod.items() if value} + return vod + + def getpq(self, url, headers=None, cookies=None): + data = self.fetch(url, headers=headers, cookies=cookies).text + try: + return pq(data) + except Exception as e: + print(f"解析页面错误: {str(e)}") + return pq(data.encode('utf-8')) + + def gethr(self, index, rf='', zr=''): + headers = self.headers[index] + if zr: + headers['referer'] = zr + else: + headers['referer'] = f"{self.referers[rf]}/" + return headers + + def handle_exception(self, e): + print(f"报错: {str(e)}") + return {'vod_play_from': '哎呀翻车啦', 'vod_play_url': f'翻车啦${self.excepturl}'} + diff --git a/欧歌/jars/config.jar b/欧歌/jars/config.jar new file mode 100644 index 0000000..d1c7923 Binary files /dev/null and b/欧歌/jars/config.jar differ diff --git a/欧歌/jars/csp_woog2.jar b/欧歌/jars/csp_woog2.jar new file mode 100644 index 0000000..d1c7923 Binary files /dev/null and b/欧歌/jars/csp_woog2.jar differ diff --git a/欧歌/jars/csp_woogkk.jar b/欧歌/jars/csp_woogkk.jar new file mode 100644 index 0000000..44e263f Binary files /dev/null and b/欧歌/jars/csp_woogkk.jar differ diff --git a/欧歌/jars/豆瓣1.jar b/欧歌/jars/豆瓣1.jar deleted file mode 100644 index 7cc10dd..0000000 Binary files a/欧歌/jars/豆瓣1.jar and /dev/null differ diff --git a/欧歌/js/我的哔哩.js b/欧歌/js/我的哔哩.js deleted file mode 100644 index 1372a82..0000000 --- a/欧歌/js/我的哔哩.js +++ /dev/null @@ -1,452 +0,0 @@ -/** - * 已知问题: - * [推荐]页面:'雷电模拟器'播放部份影片会出错,'播放器'改成'ijk' & '解码方式'改成'软解',即可正常播放 - * 影视TV 超連結跳轉支持 - * 影视TV 弹幕支持 - * https://t.me/fongmi_offical/ - * https://github.com/FongMi/Release/tree/main/apk - * 皮皮虾DMBox 弹幕支持 - * 设置 > 窗口预览 > 开启 - * https://t.me/pipixiawerun - * vod_area:'bilidanmu' - * Cookie设置 - * Cookie获取方法 https://ghproxy.net/https://raw.githubusercontent.com/UndCover/PyramidStore/main/list.md - * Cookie设置方法1: DR-PY 后台管理界面 - * CMS后台管理 > 设置中心 > 环境变量 > {"bili_cookie":"XXXXXXX","vmid":"XXXXXX"} > 保存 - * Cookie设置方法2: 手动替换Cookie - * 底下代码 headers的 - * "Cookie":"$bili_cookie" - * 手动替换为 - * "Cookie":"将获取的Cookie黏贴在这" - * 客户端长期Cookie设置教程: - * 抓包哔哩手机端搜索access_key,取任意链接里的access_key和appkey在drpy环境变量中增加同名的环境变量即可 - * 此时哔哩.js这个解析可用于此源的解析线路用 - * 传参 ?render=1&type=url¶ms=../json/哔哩教育.json@哔哩教育[官] - * 传参 ?render=1&type=url¶ms=../json/哔哩大全.json@哔哩大全[官] - */ -var rule = { - title: '我的哔哩[官]', - host: 'https://api.bilibili.com', - homeUrl: '/x/web-interface/ranking/v2?rid=0&type=origin', - // url:'/x/web-interface/search/type?search_type=video&keyword=fyclass&page=fypage', - url: '/x/web-interface/search/type?search_type=video&fyfilter', - filter_url: 'keyword=fyclass{{fl.tid}}&page=fypage&duration={{fl.duration}}&order={{fl.order}}', - class_parse: $js.toString(() => { - // let html = request('{{host}}/files/json/哔哩教育.json'); - log('rule.params:' + rule.params); - let html = request(rule.params); - let json = dealJson(html); - input = json.classes; - homeObj.filter = json.filter; - // log(input); - }), - filterable: 1, - detailUrl: '/x/web-interface/view/detail?aid=fyid', - searchUrl: '/x/web-interface/search/type?search_type=video&keyword=**&page=fypage', - searchable: 2, - quickSearch: 0, - params: 'http://127.0.0.1:9978/file/jars/哔哩大全.json', - // params: '?render=1&type=url¶ms=../json/哔哩教育.json@哔哩教育[官]', - // params: '?render=1&type=url¶ms=../json/哔哩大全.json@哔哩大全[官]', - headers: { - "User-Agent": "PC_UA", - "Referer": "https://www.bilibili.com", - "Cookie": "SESSDATA=01c79709%2C1711618905%2C244c3%2A91CjA9UUnRb_kJg03J5FqUbin76yMY90o1-ckJsM1ItQH21ns4hgcS6Le6oMR3SKtC18QSVmxSbGRhN3cyS3NReERsOHRfYVlhTWJKZjZyTF9wUWJXbjNfaF9qWklFMFpoeVg1ZUhFb0Q0MGFiN3FYd1N3UEFEY1oxX29IdmFSRVVLamcybGhhSkJnIIEC; bili_jct=e9d6e9df733afde2a03693d63a4e77dc; DedeUserID=186957646;" - }, - timeout: 5000, - limit: 8, - play_parse: true, - double: false, - lazy: `js: - let ids = input.split('_'); - let dan = 'https://api.bilibili.com/x/v1/dm/list.so?oid=' + ids[1]; - let result = {}; - let iurl = 'https://api.bilibili.com:443/x/player/playurl?avid=' + ids[0] + '&cid=' + ids[1] + '&qn=116'; - let html = request(iurl); - let jRoot = JSON.parse(html); - let jo = jRoot.data; - let ja = jo.durl; - let maxSize = -1; - let position = -1; - ja.forEach(function(tmpJo, i) { - if (maxSize < Number(tmpJo.size)) { - maxSize = Number(tmpJo.size); - position = i - } - }); - let purl = ''; - if (ja.length > 0) { - if (position === -1) { - position = 0 - } - purl = ja[position].url - } - result.parse = 0; - result.playUrl = ''; - result.url = unescape(purl); - result.header = { - 'Referer': 'https://live.bilibili.com', - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' - }; - if (/\\.flv/.test(purl)) { - result.contentType = 'video/x-flv'; - } else { - result.contentType = ''; - } - result.danmaku = dan; - input = result - `, - 推荐: `js: - function stripHtmlTag(src) { - return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' '); - } - function turnDHM(duration) { - let min = ''; - let sec = ''; - try { - min = duration.split(':')[0]; - sec = duration.split(':')[1]; - } catch (e) { - min = Math.floor(duration / 60); - sec = duration % 60; - } - if (isNaN(parseInt(duration))) { - return '无效输入'; - } - if (min == 0) { - return sec + '秒' - } else if (0 < min && min < 60) { - return min + '分' - } else if (60 <= min && min < 1440) { - if (min % 60 == 0) { - let h = min / 60; - return h + '小时' - } else { - let h = min / 60; - h = (h + '').split('.')[0]; - let m = min % 60; - return h + '小时' + m + '分'; - } - } else if (min >= 1440) { - let d = min / 60 / 24; - d = (d + '').split('.')[0]; - let h = min / 60 % 24; - h = (h + '').split('.')[0]; - let m = min % 60; - let dhm = ''; - if (d > 0) { - dhm = d + '天' - } - if (h >= 1) { - dhm = dhm + h + '小时' - } - if (m > 0) { - dhm = dhm + m + '分' - } - return dhm - } - return null - } - function ConvertNum(num) { - let _ws = Math.pow(10, 1); - let _b = 1e4; - if (num < _b) { - return num.toString(); - } - let _r = ''; - let _strArg = ['', '万', '亿', '万亿']; - let _i = Math.floor(Math.log(num) / Math.log(_b)); - if (_i > 3) { - _i = 3; - } - _r = Math.floor(num / Math.pow(_b, _i) * _ws) / _ws + _strArg[_i]; - return _r; - } - let html = request(input); - let vodList = JSON.parse(html).data.list; - let videos = []; - vodList.forEach(function(vod) { - let aid = vod.aid; - let title = stripHtmlTag(vod.title); - let img = vod.pic; - if (img.startsWith('//')) { - img = 'https:' + img; - } - let remark = turnDHM(vod.duration) + ' ▶' + ConvertNum(vod.stat.view) + ' 🆙' + vod.owner.name; - videos.push({ - vod_id: aid, - vod_name: title, - vod_pic: img, - vod_remarks: remark - }) - }); - VODS = videos - `, - 一级: `js: - if (cateObj.tid.endsWith('_clicklink')) { - cateObj.tid = cateObj.tid.split('_')[0]; - input = HOST + '/x/web-interface/search/type?search_type=video&keyword=' + cateObj.tid + '&page=' + MY_PAGE; - } - function stripHtmlTag(src) { - return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' '); - } - function turnDHM(duration) { - let min = ''; - let sec = ''; - try { - min = duration.split(':')[0]; - sec = duration.split(':')[1]; - } catch (e) { - min = Math.floor(duration / 60); - sec = duration % 60; - } - if (isNaN(parseInt(duration))) { - return '无效输入'; - } - if (min == 0) { - return sec + '秒' - } else if (0 < min && min < 60) { - return min + '分' - } else if (60 <= min && min < 1440) { - if (min % 60 == 0) { - let h = min / 60; - return h + '小时' - } else { - let h = min / 60; - h = (h + '').split('.')[0]; - let m = min % 60; - return h + '小时' + m + '分'; - } - } else if (min >= 1440) { - let d = min / 60 / 24; - d = (d + '').split('.')[0]; - let h = min / 60 % 24; - h = (h + '').split('.')[0]; - let m = min % 60; - let dhm = ''; - if (d > 0) { - dhm = d + '天' - } - if (h >= 1) { - dhm = dhm + h + '小时' - } - if (m > 0) { - dhm = dhm + m + '分' - } - return dhm - } - return null - } - function ConvertNum(num) { - let _ws = Math.pow(10, 1); - let _b = 1e4; - if (num < _b) { - return num.toString(); - } - let _r = ''; - let _strArg = ['', '万', '亿', '万亿']; - let _i = Math.floor(Math.log(num) / Math.log(_b)); - if (_i > 3) { - _i = 3; - } - _r = Math.floor(num / Math.pow(_b, _i) * _ws) / _ws + _strArg[_i]; - return _r; - } - let data = []; - let vodList = []; - if (MY_CATE === '推荐') { - input = HOST + '/x/web-interface/index/top/rcmd?ps=14&fresh_idx=' + MY_PAGE + '&fresh_idx_1h=' + MY_PAGE; - data = JSON.parse(request(input)).data; - vodList = data.item; - } else if (MY_CATE === '历史记录') { - input = HOST + '/x/v2/history?pn=' + MY_PAGE; - data = JSON.parse(request(input)).data; - vodList = data; - } else { - data = JSON.parse(request(input)).data; - vodList = data.result; - } - let videos = []; - vodList.forEach(function(vod) { - let aid = vod.aid?vod.aid:vod.id; - let title = stripHtmlTag(vod.title); - let img = vod.pic; - if (img.startsWith('//')) { - img = 'https:' + img; - } - let play = ''; - let danmaku = ''; - if (MY_CATE === '推荐') { - play = ConvertNum(vod.stat.view); - danmaku = vod.stat.danmaku; - } else if (MY_CATE === '历史记录') { - play = ConvertNum(vod.stat.view); - danmaku = vod.stat.danmaku; - } else { - play = ConvertNum(vod.play); - danmaku = vod.video_review; - } - let remark = turnDHM(vod.duration) + ' ▶' + play + ' 💬' + danmaku; - videos.push({ - vod_id: aid, - vod_name: title, - vod_pic: img, - vod_remarks: remark - }) - }); - VODS = videos - `, - 二级: `js: - function stripHtmlTag(src) { - return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' '); - } - let html = request(input); - let jo = JSON.parse(html).data.View; - // 历史记录 - let cookies = rule_fetch_params.headers.Cookie.split(';'); - let bili_jct = ''; - cookies.forEach(cookie => { - if (cookie.includes('bili_jct')) { - bili_jct = cookie.split('=')[1]; - } - }); - if (bili_jct !== '') { - let historyReport = 'https://api.bilibili.com/x/v2/history/report'; - let dataPost = { - aid: jo.aid, - cid: jo.cid, - csrf: bili_jct, - }; - post(historyReport, dataPost, 'form'); - } - - let stat = jo.stat; - let up_info = JSON.parse(html).data.Card; - let relation = up_info.following ? '已关注' : '未关注'; - let aid = jo.aid; - let title = stripHtmlTag(jo.title); - let pic = jo.pic; - let desc = jo.desc; - - let date = new Date(jo.pubdate * 1000); - let yy = date.getFullYear().toString(); - let mm = date.getMonth()+1; - mm = mm < 10 ? ('0' + mm) : mm; - let dd = date.getDate(); - dd = dd < 10 ? ('0' + dd) : dd; - - let up_name = jo.owner.name; - let typeName = jo.tname; - // let remark = jo.duration; - let vod = { - vod_id: aid, - vod_name: title, - vod_pic: pic, - type_name: typeName, - vod_year: yy+mm+dd, - vod_area: 'bilidanmu', - // vod_remarks: remark, - vod_tags: 'mv', - // vod_director: '🆙 ' + up_name + ' 👥 ' + up_info.follower + ' ' + relation, - vod_director: '🆙 ' + '[a=cr:' + JSON.stringify({'id':up_name + '_clicklink','name':up_name}) + '/]' + up_name + '[/a]' + ' 👥 ' + up_info.follower + ' ' + relation, - vod_actor: '▶' + stat.view + ' ' + '💬' + stat.danmaku + ' ' + '👍' + stat.like + ' ' + '💰' + stat.coin + ' ' + '⭐' + stat.favorite, - vod_content: desc - }; - let ja = jo.pages; - let treeMap = {}; - let playurls = []; - ja.forEach(function(tmpJo) { - let cid = tmpJo.cid; - let part = tmpJo.part.replaceAll('#', '﹟').replaceAll('$', '﹩'); - playurls.push( - part + '$' + aid + '_' + cid - ) - }); - treeMap['B站'] = playurls.join('#'); - let relatedData = JSON.parse(html).data.Related; - playurls = []; - relatedData.forEach(function(rd) { - let ccid = rd.cid; - let title = rd.title.replaceAll('#', '﹟').replaceAll('$', '﹩'); - let aaid = rd.aid; - playurls.push( - title + '$' + aaid + '_' + ccid - ) - }); - treeMap['欧歌推荐'] = playurls.join('#'); - vod.vod_play_from = Object.keys(treeMap).join("$$$"); - vod.vod_play_url = Object.values(treeMap).join("$$$"); - VOD = vod; - `, - 搜索: `js: - let html = request(input); - function stripHtmlTag(src) { - return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' '); - } - function turnDHM(duration) { - let min = ''; - let sec = ''; - try { - min = duration.split(':')[0]; - sec = duration.split(':')[1]; - } catch (e) { - min = Math.floor(duration / 60); - sec = duration % 60; - } - if (isNaN(parseInt(duration))) { - return '无效输入'; - } - if (min == 0) { - return sec + '秒' - } else if (0 < min && min < 60) { - return min + '分' - } else if (60 <= min && min < 1440) { - if (min % 60 == 0) { - let h = min / 60; - return h + '小时' - } else { - let h = min / 60; - h = (h + '').split('.')[0]; - let m = min % 60; - return h + '小时' + m + '分'; - } - } else if (min >= 1440) { - let d = min / 60 / 24; - d = (d + '').split('.')[0]; - let h = min / 60 % 24; - h = (h + '').split('.')[0]; - let m = min % 60; - let dhm = ''; - if (d > 0) { - dhm = d + '天' - } - if (h >= 1) { - dhm = dhm + h + '小时' - } - if (m > 0) { - dhm = dhm + m + '分' - } - return dhm - } - return null - } - let videos = []; - let vodList = JSON.parse(html).data.result; - vodList.forEach(function(vod) { - let aid = vod.aid; - let title = stripHtmlTag(vod.title); - let img = vod.pic; - if (img.startsWith('//')) { - img = 'https:' + img; - } - let remark = turnDHM(vod.duration); - videos.push({ - vod_id: aid, - vod_name: title, - vod_pic: img, - vod_remarks: remark - }) - }); - VODS = videos - `, -} diff --git a/欧歌/json/农民影视.json b/欧歌/json/农民影视.json new file mode 100644 index 0000000..205677c --- /dev/null +++ b/欧歌/json/农民影视.json @@ -0,0 +1,10 @@ +{ + "请求头": "手机", + "编码": "UTF-8", + "简介": "简        介:&&

", + "线路数组": "javascript:;\">&&", + "数组": "
  • &&
  • ", + "图片": "data-echo=\"&&\"", + "分类url": "https://vip.wwgz.cn:5200/vod-list-id-{cateId}-pg-{catePg}-order--by-time-class-0-year-{year}-letter--area-{area}-lang-.html", + "分类": "电影$1#电视剧$2#动漫$4#综艺$3#短剧$26" +} \ No newline at end of file diff --git a/欧歌/json/厂长资源.json b/欧歌/json/厂长资源.json new file mode 100644 index 0000000..72a34b8 --- /dev/null +++ b/欧歌/json/厂长资源.json @@ -0,0 +1,33 @@ +{ + "作者": "🐰兔爷🐇", + "站名": "厂长资源", + "编码": "UTF-8", + "发布地址": "https://www.cz01.vip/", + "请求头": "User-Agent$MOBILE_UA", + "主页url": "https://www.czzymovie.com", + "首页": "200", + "起始页": "1", + "分类url": "/{cateId}/page/{catePg};;rcRA", + "分类": "豆瓣电影Top250$dbtop250#最新电影$zuixindianying#剧场版$dongmanjuchangban#电影$movie_bt/movie_bt_series/dyy#电视剧$movie_bt/movie_bt_series/dianshiju#俄罗斯电影$movie_bt/movie_bt_series/eluosidianying#加拿大电影$movie_bt/movie_bt_series/jianadadianying#动画$movie_bt/movie_bt_series/dohua#华语电影$movie_bt/movie_bt_series/huayudianying#印度电影$movie_bt/movie_bt_series/yindudianying#国产剧$movie_bt/movie_bt_series/guochanju#日剧$movie_bt/movie_bt_series/rj#日本电影$movie_bt/movie_bt_series/ribendianying#欧美电影$movie_bt/movie_bt_series/meiguodianying#海外剧(其他)$movie_bt/movie_bt_series/hwj#美剧$movie_bt/movie_bt_series/mj#韩剧$movie_bt/movie_bt_series/hj#韩国电影$movie_bt/movie_bt_series/hanguodianying#番剧$fanju", + "数组": "
  • &&<+-+furk\">&&<", + "链接": "href=\"&&\"", + "影片年代": "年份:&&&&", + "播放标题": ">&&<", + "播放链接": "href=\"&&\"", + "搜索url": "/daoyongjiek0shibushiyoubing?q={wd}&f=_all&p={pg}", + "搜索模式": "1", + "筛选": "1" +} \ No newline at end of file diff --git a/欧歌/json/韩剧看看.json b/欧歌/json/韩剧看看.json new file mode 100644 index 0000000..d1bc4dd --- /dev/null +++ b/欧歌/json/韩剧看看.json @@ -0,0 +1,47 @@ +{ + "作者": "摄氏零度", + "站名": "XBPQ影视", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "嗅探词": ".mp4#.m3u8#.flv", + "过滤词": "", + "主页url": "https://www.hanjukankan.com/", + "首页": "120", + "起始页": "1", + "分类url": "https://www.hanjukankan.com/xvs{cateId}xat{area}xbt{by}xct{class}xdt{lang}xet{letter}xftxgtxht{catePg}atbtct{year}.html;;mrc", + "分类": "韩国剧集$1#韩国电影$2#韩国综艺$3", + "数组": "/xvd&&", + "标题": "title=\"&&\"", + "图片": "data-original=\"&&\"", + "副标题": "module-item-note\">&&", + "线路标题": ">&&", + "影片年代": ".html\">&&", + "影片地区": "*xbtxctxdtxetxftxgtxhtatbtct.html\">&&", + "影片类型": "*xdtxetxftxgtxhtatbtct.html\">&&", + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "请勿相信影片中的广告👉+

    &&

    ", + "倒序": "0", + "播放列表": "", + "播放标题": ">&&", + "搜索标题": "title=\"&&\"", + "搜索图片": "data-original=\"&&\"", + "搜索副标题": "module-item-note\">&&