Sync all projects
This commit is contained in:
@@ -1,1067 +0,0 @@
|
||||
{
|
||||
"spider": "./spider.jar",
|
||||
"wallpaper": "http://王二小放牛娃牛逼.999888987.xyz",
|
||||
"logo": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaFile/3CEAE9E_773_wexfnw_20250911190012684newMediaFile.gif",
|
||||
"sites": [
|
||||
{
|
||||
"key": "NewDouBan",
|
||||
"name": "🐮【王二小放牛娃】🐮",
|
||||
"type": 3,
|
||||
"api": "csp_NewDouBanGuard",
|
||||
"indexs": 1,
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"filterable": 0,
|
||||
"ext": "./txt/20260414181247-ae51abfbfe.txt"
|
||||
},
|
||||
{
|
||||
"key": "Doubana",
|
||||
"name": "🐮【更新日期:20260717】🐮",
|
||||
"type": 3,
|
||||
"api": "csp_NewDouBanGuard",
|
||||
"indexs": 1,
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"filterable": 0,
|
||||
"ext": "./txt/20260414181247-ae51abfbfe.txt"
|
||||
},
|
||||
{
|
||||
"key": "Doubana",
|
||||
"name": "⬇️【网盘类先扫码】⬇️",
|
||||
"type": 3,
|
||||
"api": "csp_NewDouBanGuard",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"filterable": 0,
|
||||
"ext": "./txt/20260414181247-ae51abfbfe.txt"
|
||||
},
|
||||
{
|
||||
"key": "Wexconfig",
|
||||
"name": "🐮配置┃中心🐮",
|
||||
"type": 3,
|
||||
"api": "csp_WexConfigGuard",
|
||||
"searchable": 0,
|
||||
"changeable": 0,
|
||||
"indexs": 0,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "二小",
|
||||
"name": "💓指南┃4K💓",
|
||||
"type": 3,
|
||||
"api": "csp_NewErXiaoGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "玩偶",
|
||||
"name": "💓玩偶┃4K💓",
|
||||
"type": 3,
|
||||
"api": "csp_NewWoggGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "NewZhiZhen",
|
||||
"name": "💓至臻┃4K💓",
|
||||
"type": 3,
|
||||
"api": "csp_NewZhiZhenGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "NewGuanYing",
|
||||
"name": "💓观影┃4K💓",
|
||||
"type": 3,
|
||||
"api": "csp_NewGuanYingGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"timeout": 120
|
||||
},
|
||||
{
|
||||
"key": "NewJuTou",
|
||||
"name": "💓剧透┃4K💓",
|
||||
"type": 3,
|
||||
"api": "csp_NewJuTouGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "NewHuBan",
|
||||
"name": "💓虎斑┃4K💓",
|
||||
"type": 3,
|
||||
"api": "csp_NewHuBanGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "NewMuOu",
|
||||
"name": "💓木偶┃4K💓",
|
||||
"type": 3,
|
||||
"api": "csp_NewMuOuGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "NewDuoDuo",
|
||||
"name": "💓多多┃4K💓",
|
||||
"type": 3,
|
||||
"api": "csp_NewDuoDuoGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"timeout": 120
|
||||
},
|
||||
{
|
||||
"key": "原盘",
|
||||
"name": "💓原盘┃4K💓",
|
||||
"type": 3,
|
||||
"api": "csp_New4KZnGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "NewPanMe123",
|
||||
"name": "💓123┃4K💓",
|
||||
"type": 3,
|
||||
"api": "csp_NewPanMe123Guard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "WexHanXiaoQuan",
|
||||
"name": "💥韩剧┃秒播💥",
|
||||
"type": 3,
|
||||
"api": "csp_WexHanXiaoQuanGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "WexGuaZi",
|
||||
"name": "💥瓜子┃秒播💥",
|
||||
"type": 3,
|
||||
"api": "csp_WexGuaZiGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "賤賤",
|
||||
"name": "💥贱片┃秒播💥",
|
||||
"type": 3,
|
||||
"api": "csp_WexJianPianGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "WexWenCai",
|
||||
"name": "💥文才┃秒播💥",
|
||||
"type": 3,
|
||||
"api": "csp_WexWenCaiGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "WexDuBoKu",
|
||||
"name": "💥独播┃秒播💥",
|
||||
"type": 3,
|
||||
"api": "csp_WexDuBoKuGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "WexYueYue",
|
||||
"name": "💥闪电┃秒播💥",
|
||||
"type": 3,
|
||||
"api": "csp_WexYueYueGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "WexV6DaShiXiong",
|
||||
"name": "💥师兄┃秒播💥",
|
||||
"type": 3,
|
||||
"api": "csp_WexV6DaShiXiongGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "WexV6TeGou",
|
||||
"name": "💥太狗┃秒播💥",
|
||||
"type": 3,
|
||||
"api": "csp_WexV6TeGouGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "WexYiYs",
|
||||
"name": "💥伊影┃秒播💥",
|
||||
"type": 3,
|
||||
"api": "csp_WexYiYsGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "WexReBo",
|
||||
"name": "💥热播┃秒播💥",
|
||||
"type": 3,
|
||||
"api": "csp_WexReBoGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "WexBoBo",
|
||||
"name": "🎇伯伯┃秒播🎇",
|
||||
"type": 3,
|
||||
"api": "csp_WexBoBoGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "新6V",
|
||||
"name": "🎇新6V┃磁力🎇",
|
||||
"type": 3,
|
||||
"api": "csp_WexXb6vGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "WexIkanBot",
|
||||
"name": "🎇爱看┃采集🎇",
|
||||
"type": 3,
|
||||
"api": "csp_WexIkanBotGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "LiveHuYa",
|
||||
"name": "🐯虎牙┃直播🐯",
|
||||
"type": 3,
|
||||
"api": "csp_LiveHuYaGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "LiveDouYu",
|
||||
"name": "🐳斗鱼┃直播🐳",
|
||||
"type": 3,
|
||||
"api": "csp_LiveDouYuGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "LiveBiLi",
|
||||
"name": "🅱️哔哩┃直播🅱️",
|
||||
"type": 3,
|
||||
"api": "csp_LiveBiLiGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "ManJuHongGuo",
|
||||
"name": "🍉漫短┃小红🍉",
|
||||
"type": 3,
|
||||
"类型": "短剧",
|
||||
"api": "csp_ManJuHongGuoGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "ManJuHuoLong",
|
||||
"name": "🍉漫剧┃小龙🍉",
|
||||
"type": 3,
|
||||
"类型": "短剧",
|
||||
"api": "csp_ManJuHuoLongGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "ManJuQiMao",
|
||||
"name": "🍉漫剧┃小猫🍉",
|
||||
"type": 3,
|
||||
"类型": "短剧",
|
||||
"api": "csp_ManJuQiMaoGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "ManJuXiFan",
|
||||
"name": "🍉漫短┃小喜🍉",
|
||||
"type": 3,
|
||||
"类型": "短剧",
|
||||
"api": "csp_ManJuXiFanGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "ManJuAiHeMa",
|
||||
"name": "🍉漫短┃小马🍉",
|
||||
"type": 3,
|
||||
"类型": "短剧",
|
||||
"api": "csp_DuanJuHeMaGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "DuanJuHaoKan",
|
||||
"name": "🍉短剧┃好看🍉",
|
||||
"type": 3,
|
||||
"类型": "短剧",
|
||||
"api": "csp_DuanJuHaoKanGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "DuanJuQiMiao",
|
||||
"name": "🍉短剧┃小猫🍉",
|
||||
"type": 3,
|
||||
"类型": "短剧",
|
||||
"api": "csp_DuanJuQiMiaoGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "DuanJuXingYa",
|
||||
"name": "🍉短剧┃星星🍉",
|
||||
"type": 3,
|
||||
"类型": "短剧",
|
||||
"api": "csp_DuanJuXingYaGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "DuanJuWeiGuan",
|
||||
"name": "🍉短剧┃小薇🍉",
|
||||
"type": 3,
|
||||
"类型": "短剧",
|
||||
"api": "csp_DuanJuWeiGuanGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "AnimeFanShu",
|
||||
"name": "🤡番薯┃动漫🤡",
|
||||
"type": 3,
|
||||
"api": "csp_AnimeFanShuGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "AnimeMiaoWuGuard",
|
||||
"name": "🤡喵呜┃动漫🤡",
|
||||
"type": 3,
|
||||
"api": "csp_AnimeMiaoWuGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "AnimeHuaziGuard",
|
||||
"name": "🤡花海┃动漫🤡",
|
||||
"type": 3,
|
||||
"api": "csp_AnimeHuaziGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "AnimeMoDu",
|
||||
"name": "🤡魔都┃动漫🤡",
|
||||
"type": 3,
|
||||
"api": "csp_AnimeMoDuGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "BookShiJie",
|
||||
"name": "🎃极品┃听书🎃",
|
||||
"type": 3,
|
||||
"api": "csp_BookShiJieGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "BookYueTing",
|
||||
"name": "🎃悦庭┃听书🎃",
|
||||
"type": 3,
|
||||
"api": "csp_BookYueTingGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"timeout": 120
|
||||
},
|
||||
{
|
||||
"key": "Book23TingShu",
|
||||
"name": "🎃爱上┃听书🎃",
|
||||
"type": 3,
|
||||
"api": "csp_Book23TingShuGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "ChildrenDuoDuo",
|
||||
"name": "👼多多┃儿歌👼",
|
||||
"type": 3,
|
||||
"api": "csp_ChildrenDuoDuoGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "ChildrenBaoBao",
|
||||
"name": "👼宝宝┃儿歌👼",
|
||||
"type": 3,
|
||||
"api": "csp_ChildrenBaoBaoGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "ChildrenBeiWa",
|
||||
"name": "👼贝贝┃儿歌👼",
|
||||
"type": 3,
|
||||
"api": "csp_ChildrenBeiWaGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "ChildrenTuTu",
|
||||
"name": "👼兔兔┃儿歌👼",
|
||||
"type": 3,
|
||||
"api": "csp_ChildrenTuTuGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "WexTangDou",
|
||||
"name": "💃跳舞┃教学💃",
|
||||
"type": 3,
|
||||
"api": "csp_WexTangDouGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "MusicLiYuan",
|
||||
"name": "🎎戏曲┃秒播🎎",
|
||||
"type": 3,
|
||||
"api": "csp_MusicLiYuanGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "MusicQingTing",
|
||||
"name": "🎼蜻蜓┃电台🎼",
|
||||
"type": 3,
|
||||
"api": "csp_MusicQingTingGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "MusicIKtv",
|
||||
"name": "🎼KTV┃音乐🎼",
|
||||
"type": 3,
|
||||
"api": "csp_MusicIKtvGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "Music163",
|
||||
"name": "🎼易听┃音乐🎼",
|
||||
"type": 3,
|
||||
"api": "csp_Music163Guard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "MusicKuWo",
|
||||
"name": "🎼酷听┃音乐🎼",
|
||||
"type": 3,
|
||||
"api": "csp_MusicKuWoGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "MusicLunHui",
|
||||
"name": "🎼轮回┃舞曲🎼",
|
||||
"type": 3,
|
||||
"api": "csp_MusicLunHuiGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "bilibiliys",
|
||||
"name": " 🅱哔哩┃影视🅱",
|
||||
"type": 3,
|
||||
"api": "csp_NewBiLiYSGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"changeable": 0,
|
||||
"ext": "./txt/bilisong.txt"
|
||||
},
|
||||
{
|
||||
"key": "bilibili",
|
||||
"name": " 🅱哔哩┃合集🅱",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.433
|
||||
},
|
||||
"ext": {
|
||||
"json": "https://support-chat.rongcloud.cn/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBYkE9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--47a8ff0e68559a89a9a75b37d09a2b0854dc5a8a/bili001.txt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "bilixiqu",
|
||||
"name": " 🅱哔哩┃戏曲🅱",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.433
|
||||
},
|
||||
"ext": {
|
||||
"json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaImage/183E562_773_xiqu_20251130182006749newMediaImage.txt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "biliych",
|
||||
"name": " 🅱哔哩┃歌曲🅱",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.433
|
||||
},
|
||||
"ext": {
|
||||
"json": "https://support-chat.rongcloud.cn/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBYkU9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--3083f43a14e6b59f4bfe248478a3a8765b34bfdd/bilisong.txt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "少儿教育",
|
||||
"name": "📚少儿┃教育📚",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaImage/3C3AB7A_773_ertong_20250828171550247newMediaImage.txt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "小学课堂",
|
||||
"name": "📚小学┃课堂📚",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaImage/4A3AA71_773_xiaoxue_20250828171535645newMediaImage.txt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "初中课堂",
|
||||
"name": "📚初中┃课堂📚",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaImage/19B1839_773_chuzhong_20250828171521929newMediaImage.txt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "高中教育",
|
||||
"name": "📚高中┃课堂📚",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaImage/345A587_773_gaozhong_20250828171449997newMediaImage.txt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "SportFeiQiu",
|
||||
"name": "🌐飞球┃体育🌐",
|
||||
"type": 3,
|
||||
"api": "csp_SportFeiQiuGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "SportGuaZi",
|
||||
"name": "🌐瓜子┃体育🌐",
|
||||
"type": 3,
|
||||
"api": "csp_SportGuaZiGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "SportKanQiuTong",
|
||||
"name": "🌐球通┃体育🌐",
|
||||
"type": 3,
|
||||
"api": "csp_SportKanQiuTongGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "SportKanqiu",
|
||||
"name": "🌐八八┃体育🌐",
|
||||
"type": 3,
|
||||
"api": "csp_SportKanqiuGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "SportKaFei",
|
||||
"name": "🌐咖啡┃体育🌐",
|
||||
"type": 3,
|
||||
"api": "csp_SportKaFeiGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "SportWwe",
|
||||
"name": "🌐WWE┃体育🌐",
|
||||
"type": 3,
|
||||
"api": "csp_SportWweGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "emby",
|
||||
"name": "🀄️emby┃4K🀄️",
|
||||
"type": 3,
|
||||
"api": "csp_EmbyGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "AList",
|
||||
"name": "👁️Alist┃DIY👁️",
|
||||
"type": 3,
|
||||
"api": "csp_AListGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "webdav",
|
||||
"name": "👁️WebDav┃DIY👁️",
|
||||
"type": 3,
|
||||
"api": "csp_WebDAVGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "DiyVod",
|
||||
"name": "👁Vod┃DIY👁️",
|
||||
"type": 3,
|
||||
"api": "csp_DiyVodGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "MyQuark",
|
||||
"name": "💓我的┃夸克💓",
|
||||
"type": 3,
|
||||
"api": "csp_MyQuarkGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"timeout": 50,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "MyBaiDu",
|
||||
"name": "💓我的┃百度💓",
|
||||
"type": 3,
|
||||
"api": "csp_MyBaiDuGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"timeout": 50,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "MyUcPan",
|
||||
"name": "💓我的┃UC💓",
|
||||
"type": 3,
|
||||
"api": "csp_MyUcPanGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"timeout": 50,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "MyGuangYa",
|
||||
"name": "💓我的┃光鸭💓",
|
||||
"type": 3,
|
||||
"api": "csp_MyGuangYaGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"timeout": 50,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "MyPan189",
|
||||
"name": "💓我的┃天翼💓",
|
||||
"type": 3,
|
||||
"api": "csp_MyPan189Guard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"timeout": 50,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "MyPan115",
|
||||
"name": "💓我的┃115💓",
|
||||
"type": 3,
|
||||
"api": "csp_MyPan115Guard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"timeout": 50,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "Fake115Share",
|
||||
"name": "💓115┃分享💓",
|
||||
"type": 3,
|
||||
"api": "csp_Fake115ShareGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"timeout": 50,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "MyPan123",
|
||||
"name": "💓我的┃123💓",
|
||||
"type": 3,
|
||||
"api": "csp_MyPan123Guard",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"timeout": 50,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "SoTySo",
|
||||
"name": "🎠给力┃天逸🎠",
|
||||
"type": 3,
|
||||
"api": "csp_SoTySoGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "SoBaiDuSo",
|
||||
"name": "🎠给力┃百度🎠",
|
||||
"type": 3,
|
||||
"api": "csp_SoBaiDuSoGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "SoHaiYin",
|
||||
"name": "🎠海音┃综合🎠",
|
||||
"type": 3,
|
||||
"api": "csp_SoHaiYinGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "So97So",
|
||||
"name": "🎠九七┃综合🎠",
|
||||
"type": 3,
|
||||
"api": "csp_So97SoGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "push_agent",
|
||||
"name": "推送",
|
||||
"type": 3,
|
||||
"api": "csp_PushGuard",
|
||||
"searchable": 1,
|
||||
"changeable": 0
|
||||
}
|
||||
],
|
||||
"doh": [
|
||||
{
|
||||
"name": "Google",
|
||||
"url": "https://dns.google/dns-query",
|
||||
"ips": [
|
||||
"8.8.4.4",
|
||||
"8.8.8.8"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare",
|
||||
"url": "https://cloudflare-dns.com/dns-query",
|
||||
"ips": [
|
||||
"1.1.1.1",
|
||||
"1.0.0.1",
|
||||
"2606:4700:4700::1111",
|
||||
"2606:4700:4700::1001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard",
|
||||
"url": "https://dns.adguard.com/dns-query",
|
||||
"ips": [
|
||||
"94.140.14.140",
|
||||
"94.140.14.141"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNSWatch",
|
||||
"url": "https://resolver2.dns.watch/dns-query",
|
||||
"ips": [
|
||||
"84.200.69.80",
|
||||
"84.200.70.40"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9",
|
||||
"url": "https://dns.quad9.net/dns-quer",
|
||||
"ips": [
|
||||
"9.9.9.9",
|
||||
"149.112.112.112"
|
||||
]
|
||||
}
|
||||
],
|
||||
"rules": [
|
||||
{
|
||||
"name": "proxy",
|
||||
"hosts": [
|
||||
"hlsztemgsplive.miguvideo.com=hlsztemgsplive.188766.xyz",
|
||||
"cache.ott.fifalive.itv.cmvideo.cn=fifalive.188766.xyz",
|
||||
"iptv.huuc.edu.cn=huucv6.188766.xyz",
|
||||
"raw.githubusercontent.com",
|
||||
"googlevideo.com",
|
||||
"cdn.v82u1l.com",
|
||||
"cdn.iz8qkg.com",
|
||||
"cdn.kin6c1.com",
|
||||
"c.biggggg.com",
|
||||
"c.olddddd.com",
|
||||
"haiwaikan.com",
|
||||
"www.histar.tv",
|
||||
"youtube.com",
|
||||
"uhibo.com",
|
||||
".*boku.*",
|
||||
".*nivod.*",
|
||||
".*ulivetv.*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "海外看",
|
||||
"hosts": [
|
||||
"haiwaikan"
|
||||
],
|
||||
"regex": [
|
||||
"10.0099",
|
||||
"10.3333",
|
||||
"16.0599",
|
||||
"8.1748",
|
||||
"12.33",
|
||||
"10.85"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "火山嗅探",
|
||||
"hosts": [
|
||||
"huoshan.com"
|
||||
],
|
||||
"regex": [
|
||||
"item_id="
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "抖音嗅探",
|
||||
"hosts": [
|
||||
"douyin.com"
|
||||
],
|
||||
"regex": [
|
||||
"is_play_url="
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "農民嗅探",
|
||||
"hosts": [
|
||||
"toutiaovod.com"
|
||||
],
|
||||
"regex": [
|
||||
"video/tos/cn"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "新视觉嗅探",
|
||||
"hosts": [
|
||||
"muzhi-video.bj.bcebos.com"
|
||||
],
|
||||
"regex": [
|
||||
"202403/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "七新嗅探",
|
||||
"hosts": [
|
||||
"api.52wyb.com"
|
||||
],
|
||||
"regex": [
|
||||
"m3u8?pt=m3u8"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "夜市點擊",
|
||||
"hosts": [
|
||||
"yeslivetv.com"
|
||||
],
|
||||
"script": [
|
||||
"document.getElementsByClassName('vjs-big-play-button')[0].click()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "毛驢點擊",
|
||||
"hosts": [
|
||||
"www.maolvys.com"
|
||||
],
|
||||
"script": [
|
||||
"document.getElementsByClassName('swal-button swal-button--confirm')[0].click()"
|
||||
]
|
||||
}
|
||||
],
|
||||
"ads": [
|
||||
"mozai.4gtv.tv",
|
||||
"pv.vipwm.cc",
|
||||
"static-mozai.4gtv.tv"
|
||||
],
|
||||
"lives": [
|
||||
{
|
||||
"name": "Kimentanm",
|
||||
"type": 0,
|
||||
"url": "https://ghfast.top/https://raw.githubusercontent.com/Kimentanm/aptv/master/m3u/iptv.m3u",
|
||||
"playerType": 2
|
||||
},
|
||||
{
|
||||
"name": "综合直播",
|
||||
"type": 0,
|
||||
"playerType": 2,
|
||||
"url": "https://ghfast.top/https://raw.githubusercontent.com/develop202/migu_video/refs/heads/main/interface.txt",
|
||||
"ua": "bingcha/1.1 (mianfeifenxiang) "
|
||||
}
|
||||
],
|
||||
"headers": [
|
||||
{
|
||||
"host": "hlsztemgsplive.miguvideo.com",
|
||||
"header": {
|
||||
"User-Agent": "bingcha/1.1 (mianfeifenxiang) "
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
@@ -1 +0,0 @@
|
||||
{"hot_gaia":[{"key":"sort","name":"排序","value":[{"n":"热度","v":"recommend"},{"n":"最新","v":"time"},{"n":"评分","v":"rank"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"全部"},{"n":"华语","v":"华语"},{"n":"欧美","v":"欧美"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"}]}],"tv_hot":[{"key":"type","name":"分类","value":[{"n":"综合","v":"tv_hot"},{"n":"国产剧","v":"tv_domestic"},{"n":"欧美剧","v":"tv_american"},{"n":"日剧","v":"tv_japanese"},{"n":"韩剧","v":"tv_korean"},{"n":"动画","v":"tv_animation"}]}],"show_hot":[{"key":"type","name":"分类","value":[{"n":"综合","v":"show_hot"},{"n":"国内","v":"show_domestic"},{"n":"国外","v":"show_foreign"}]}],"movie":[{"key":"类型","name":"类型","value":[{"n":"全部类型","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"动画","v":"动画"},{"n":"悬疑","v":"悬疑"},{"n":"犯罪","v":"犯罪"},{"n":"惊悚","v":"惊悚"},{"n":"冒险","v":"冒险"},{"n":"音乐","v":"音乐"},{"n":"历史","v":"历史"},{"n":"奇幻","v":"奇幻"},{"n":"恐怖","v":"恐怖"},{"n":"战争","v":"战争"},{"n":"传记","v":"传记"},{"n":"歌舞","v":"歌舞"},{"n":"武侠","v":"武侠"},{"n":"情色","v":"情色"},{"n":"灾难","v":"灾难"},{"n":"西部","v":"西部"},{"n":"纪录片","v":"纪录片"},{"n":"短片","v":"短片"}]},{"key":"地区","name":"地区","value":[{"n":"全部地区","v":""},{"n":"华语","v":"华语"},{"n":"欧美","v":"欧美"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"中国大陆","v":"中国大陆"},{"n":"美国","v":"美国"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"德国","v":"德国"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"印度","v":"印度"},{"n":"泰国","v":"泰国"},{"n":"俄罗斯","v":"俄罗斯"},{"n":"加拿大","v":"加拿大"},{"n":"澳大利亚","v":"澳大利亚"},{"n":"爱尔兰","v":"爱尔兰"},{"n":"瑞典","v":"瑞典"},{"n":"巴西","v":"巴西"},{"n":"丹麦","v":"丹麦"}]},{"key":"sort","name":"排序","value":[{"n":"近期热度","v":"T"},{"n":"首映时间","v":"R"},{"n":"高分优先","v":"S"}]},{"key":"年代","name":"年代","value":[{"n":"全部年代","v":""},{"n":"2026","v":"2026"},{"n":"2025","v":"2025"},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2010年代","v":"2010年代"},{"n":"2000年代","v":"2000年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"},{"n":"70年代","v":"70年代"},{"n":"60年代","v":"60年代"},{"n":"更早","v":"更早"}]}],"tv":[{"key":"类型","name":"类型","value":[{"n":"不限","v":""},{"n":"电视剧","v":"电视剧"},{"n":"综艺","v":"综艺"}]},{"key":"电视剧形式","name":"电视剧形式","value":[{"n":"不限","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"悬疑","v":"悬疑"},{"n":"动画","v":"动画"},{"n":"武侠","v":"武侠"},{"n":"古装","v":"古装"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"科幻","v":"科幻"},{"n":"恐怖","v":"恐怖"},{"n":"历史","v":"历史"},{"n":"战争","v":"战争"},{"n":"动作","v":"动作"},{"n":"冒险","v":"冒险"},{"n":"传记","v":"传记"},{"n":"剧情","v":"剧情"},{"n":"奇幻","v":"奇幻"},{"n":"惊悚","v":"惊悚"},{"n":"灾难","v":"灾难"},{"n":"歌舞","v":"歌舞"},{"n":"音乐","v":"音乐"}]},{"key":"综艺形式","name":"综艺形式","value":[{"n":"不限","v":""},{"n":"真人秀","v":"真人秀"},{"n":"脱口秀","v":"脱口秀"},{"n":"音乐","v":"音乐"},{"n":"歌舞","v":"歌舞"}]},{"key":"地区","name":"地区","value":[{"n":"全部地区","v":""},{"n":"华语","v":"华语"},{"n":"欧美","v":"欧美"},{"n":"国外","v":"国外"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"中国大陆","v":"中国大陆"},{"n":"中国香港","v":"中国香港"},{"n":"美国","v":"美国"},{"n":"英国","v":"英国"},{"n":"泰国","v":"泰国"},{"n":"中国台湾","v":"中国台湾"},{"n":"意大利","v":"意大利"},{"n":"法国","v":"法国"},{"n":"德国","v":"德国"},{"n":"西班牙","v":"西班牙"},{"n":"俄罗斯","v":"俄罗斯"},{"n":"瑞典","v":"瑞典"},{"n":"巴西","v":"巴西"},{"n":"丹麦","v":"丹麦"},{"n":"印度","v":"印度"},{"n":"加拿大","v":"加拿大"},{"n":"爱尔兰","v":"爱尔兰"},{"n":"澳大利亚","v":"澳大利亚"}]},{"key":"sort","name":"排序","value":[{"n":"近期热度","v":"T"},{"n":"首播时间","v":"R"},{"n":"高分优先","v":"S"}]},{"key":"年代","name":"年代","value":[{"n":"全部","v":""},{"n":"2026","v":"2026"},{"n":"2025","v":"2025"},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2010年代","v":"2010年代"},{"n":"2000年代","v":"2000年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"},{"n":"70年代","v":"70年代"},{"n":"60年代","v":"60年代"},{"n":"更早","v":"更早"}]},{"key":"平台","name":"平台","value":[{"n":"全部","v":""},{"n":"腾讯视频","v":"腾讯视频"},{"n":"爱奇艺","v":"爱奇艺"},{"n":"优酷","v":"优酷"},{"n":"湖南卫视","v":"湖南卫视"},{"n":"Netflix","v":"Netflix"},{"n":"HBO","v":"HBO"},{"n":"BBC","v":"BBC"},{"n":"NHK","v":"NHK"},{"n":"CBS","v":"CBS"},{"n":"NBC","v":"NBC"},{"n":"tvN","v":"tvN"}]}],"rank_list_movie":[{"key":"榜单","name":"榜单","value":[{"n":"实时热门电影","v":"movie_real_time_hotest"},{"n":"一周口碑电影榜","v":"movie_weekly_best"},{"n":"豆瓣电影Top250","v":"movie_top250"}]}],"rank_list_tv":[{"key":"榜单","name":"榜单","value":[{"n":"实时热门电视","v":"tv_real_time_hotest"},{"n":"华语口碑剧集榜","v":"tv_chinese_best_weekly"},{"n":"全球口碑剧集榜","v":"tv_global_best_weekly"},{"n":"国内口碑综艺榜","v":"show_chinese_best_weekly"},{"n":"国外口碑综艺榜","v":"show_global_best_weekly"}]}]}
|
||||
@@ -1,702 +0,0 @@
|
||||
{
|
||||
"class": [
|
||||
{
|
||||
"type_name": "演唱会筛选",
|
||||
"type_id": "演唱会超清"
|
||||
},
|
||||
{
|
||||
"type_name": "粤语",
|
||||
"type_id": "粤语歌曲超清"
|
||||
},
|
||||
{
|
||||
"type_name": "热榜",
|
||||
"type_id": "2022年热们歌曲超清"
|
||||
},
|
||||
{
|
||||
"type_name": "抖音神曲",
|
||||
"type_id": "抖音神曲超清"
|
||||
},
|
||||
{
|
||||
"type_name": "经典老歌",
|
||||
"type_id": "经典老歌超清"
|
||||
},
|
||||
{
|
||||
"type_name": "DJ",
|
||||
"type_id": "DJ歌曲超清"
|
||||
},
|
||||
{
|
||||
"type_name": "网红翻唱",
|
||||
"type_id": "网红翻唱歌曲超清"
|
||||
},
|
||||
{
|
||||
"type_name": "韩国女团",
|
||||
"type_id": "韩国女团演唱会超清"
|
||||
}
|
||||
],
|
||||
"filters": {
|
||||
"演唱会超清": [
|
||||
{
|
||||
"key": "order",
|
||||
"name": "排序",
|
||||
"value": [
|
||||
{
|
||||
"n": "综合排序",
|
||||
"v": "0"
|
||||
},
|
||||
{
|
||||
"n": "最多点击",
|
||||
"v": "click"
|
||||
},
|
||||
{
|
||||
"n": "最新发布",
|
||||
"v": "pubdate"
|
||||
},
|
||||
{
|
||||
"n": "最多弹幕",
|
||||
"v": "dm"
|
||||
},
|
||||
{
|
||||
"n": "最多收藏",
|
||||
"v": "stow"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "tid",
|
||||
"name": "分类",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": "演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "A阿杜",
|
||||
"v": "阿杜演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "A阿黛尔",
|
||||
"v": "阿黛尔演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "BBeyond",
|
||||
"v": "Beyond演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "BBy2",
|
||||
"v": "By2演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "BBIGBANG",
|
||||
"v": "BIGBANG演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "B布兰妮",
|
||||
"v": "布兰妮演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "B坂井泉水",
|
||||
"v": "坂井泉水演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "C陈奕迅",
|
||||
"v": "陈奕迅演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "C蔡依林",
|
||||
"v": "蔡依林演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "C初音未来",
|
||||
"v": "初音未来演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "C蔡健雅",
|
||||
"v": "蔡健雅演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "C陈小春",
|
||||
"v": "陈小春演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "C草蜢",
|
||||
"v": "草蜢演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "C陈慧娴",
|
||||
"v": "陈慧娴演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "C崔健",
|
||||
"v": "崔健演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "C仓木麻衣",
|
||||
"v": "仓木麻衣演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "D戴荃",
|
||||
"v": "戴荃演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "D动力火车",
|
||||
"v": "动力火车演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "D邓丽君",
|
||||
"v": "邓丽君演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "D丁当",
|
||||
"v": "丁当演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "D刀郎",
|
||||
"v": "刀郎演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "D邓紫棋",
|
||||
"v": "邓紫棋演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "D戴佩妮",
|
||||
"v": "戴佩妮演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "D邓丽君",
|
||||
"v": "邓丽君演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "F飞儿乐队",
|
||||
"v": "飞儿乐队演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "F费玉清",
|
||||
"v": "费玉清演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "F费翔",
|
||||
"v": "费翔演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "F方大同",
|
||||
"v": "方大同演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "F房东的猫",
|
||||
"v": "房东的猫演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "F凤飞飞",
|
||||
"v": "凤飞飞演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "F凤凰传奇",
|
||||
"v": "凤凰传奇演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "G郭采洁",
|
||||
"v": "郭采洁演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "G光良",
|
||||
"v": "光良演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "G郭静",
|
||||
"v": "郭静演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "G郭富城",
|
||||
"v": "郭富城演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "H胡彦斌",
|
||||
"v": "胡彦斌演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "H胡夏",
|
||||
"v": "胡夏演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "H韩红",
|
||||
"v": "韩红演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "H黄品源",
|
||||
"v": "黄品源演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "H黄小琥",
|
||||
"v": "黄小琥演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "H花儿乐队",
|
||||
"v": "花儿乐队演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "H黄家强",
|
||||
"v": "黄家强演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "H后街男孩",
|
||||
"v": "后街男孩演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "J经典老歌",
|
||||
"v": "经典老歌演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "J贾斯丁比伯",
|
||||
"v": "贾斯丁比伯演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "J金池",
|
||||
"v": "金池演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "J金志文",
|
||||
"v": "金志文演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "J焦迈奇",
|
||||
"v": "焦迈奇演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "K筷子兄弟",
|
||||
"v": "筷子兄弟演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L李玟",
|
||||
"v": "李玟演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L林忆莲",
|
||||
"v": "林忆莲演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L李克勤",
|
||||
"v": "李克勤演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L刘宪华",
|
||||
"v": "刘宪华演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L李圣杰",
|
||||
"v": "李圣杰演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L林宥嘉",
|
||||
"v": "林宥嘉演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L梁静茹",
|
||||
"v": "梁静茹演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L李健",
|
||||
"v": "李健演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L林俊杰",
|
||||
"v": "林俊杰演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L李玉刚",
|
||||
"v": "李玉刚演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L林志炫",
|
||||
"v": "林志炫演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L李荣浩",
|
||||
"v": "李荣浩演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L李宇春",
|
||||
"v": "李宇春演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L洛天依",
|
||||
"v": "洛天依演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L林子祥",
|
||||
"v": "林子祥演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L李宗盛",
|
||||
"v": "李宗盛演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L黎明",
|
||||
"v": "黎明演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L刘德华",
|
||||
"v": "刘德华演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L罗大佑",
|
||||
"v": "罗大佑演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L林肯公园",
|
||||
"v": "林肯公园演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "LLadyGaga",
|
||||
"v": "LadyGaga演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "L旅行团乐队",
|
||||
"v": "旅行团乐队演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "M莫文蔚",
|
||||
"v": "莫文蔚演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "M毛不易",
|
||||
"v": "毛不易演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "M梅艳芳",
|
||||
"v": "梅艳芳演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "M迈克尔杰克逊",
|
||||
"v": "迈克尔杰克逊演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "N南拳妈妈",
|
||||
"v": "南拳妈妈演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "P朴树",
|
||||
"v": "朴树演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Q齐秦",
|
||||
"v": "齐秦演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Q青鸟飞鱼",
|
||||
"v": "青鸟飞鱼演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "R容祖儿",
|
||||
"v": "容祖儿演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "R任贤齐",
|
||||
"v": "任贤齐演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "S水木年华",
|
||||
"v": "水木年华演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "S孙燕姿",
|
||||
"v": "孙燕姿演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "S苏打绿",
|
||||
"v": "苏打绿演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "SSHE",
|
||||
"v": "SHE演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "S孙楠",
|
||||
"v": "孙楠演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "T陶喆",
|
||||
"v": "陶喆演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "T谭咏麟",
|
||||
"v": "谭咏麟演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "T田馥甄",
|
||||
"v": "田馥甄演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "T谭维维",
|
||||
"v": "谭维维演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "T逃跑计划",
|
||||
"v": "逃跑计划演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "T田震",
|
||||
"v": "田震演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "T谭晶",
|
||||
"v": "谭晶演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "T屠洪刚",
|
||||
"v": "屠洪刚演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "T泰勒·斯威夫特",
|
||||
"v": "泰勒·斯威夫特演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "W王力宏",
|
||||
"v": "王力宏演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "W王杰",
|
||||
"v": "王杰演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "W吴克群",
|
||||
"v": "吴克群演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "W王心凌",
|
||||
"v": "王心凌演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "W王靖雯",
|
||||
"v": "好声音王靖雯演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "W汪峰",
|
||||
"v": "汪峰演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "W伍佰",
|
||||
"v": "伍佰演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "W王菲",
|
||||
"v": "王菲演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "W五月天",
|
||||
"v": "五月天演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "W汪苏泷",
|
||||
"v": "汪苏泷演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "X徐佳莹",
|
||||
"v": "徐佳莹演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "X弦子",
|
||||
"v": "弦子演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "X萧亚轩",
|
||||
"v": "萧亚轩演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "X许巍",
|
||||
"v": "许巍演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "X薛之谦",
|
||||
"v": "薛之谦演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "X许嵩",
|
||||
"v": "许嵩演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "X小虎队",
|
||||
"v": "小虎队演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "X萧敬腾",
|
||||
"v": "萧敬腾演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "X谢霆锋",
|
||||
"v": "谢霆锋演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "X徐小凤",
|
||||
"v": "徐小凤演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "X信乐队",
|
||||
"v": "信乐队演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Y夜愿乐队",
|
||||
"v": "夜愿乐队演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Y羽泉",
|
||||
"v": "羽泉演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Y郁可唯",
|
||||
"v": "郁可唯演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Y叶倩文",
|
||||
"v": "叶倩文演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Y杨坤",
|
||||
"v": "杨坤演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Y庾澄庆",
|
||||
"v": "庾澄庆演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Y尤长靖",
|
||||
"v": "尤长靖演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Y易烊千玺",
|
||||
"v": "易烊千玺演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Y袁娅维",
|
||||
"v": "袁娅维演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Y杨丞琳",
|
||||
"v": "杨丞琳演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Y杨千嬅",
|
||||
"v": "杨千嬅演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Y杨宗纬",
|
||||
"v": "杨宗纬演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z郑秀文",
|
||||
"v": "郑秀文演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z周杰伦",
|
||||
"v": "周杰伦演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z张学友",
|
||||
"v": "张学友演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z张信哲",
|
||||
"v": "张信哲演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z张宇",
|
||||
"v": "张宇演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z周华健",
|
||||
"v": "周华健演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z张韶涵",
|
||||
"v": "张韶涵演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z周深",
|
||||
"v": "周深演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z纵贯线",
|
||||
"v": "纵贯线演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z赵雷",
|
||||
"v": "赵雷演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z周传雄",
|
||||
"v": "周传雄演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z张国荣",
|
||||
"v": "张国荣演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z周慧敏",
|
||||
"v": "周慧敏演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z张惠妹",
|
||||
"v": "张惠妹演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z周笔畅",
|
||||
"v": "周笔畅演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z郑中基",
|
||||
"v": "郑中基演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z张艺兴",
|
||||
"v": "张艺兴演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z张震岳",
|
||||
"v": "张震岳演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z张雨生",
|
||||
"v": "张雨生演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z郑智化",
|
||||
"v": "郑智化演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z卓依婷",
|
||||
"v": "卓依婷演唱会超清"
|
||||
},
|
||||
{
|
||||
"n": "Z中岛美雪",
|
||||
"v": "中岛美雪演唱会超清"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "duration",
|
||||
"name": "时长",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": "0"
|
||||
},
|
||||
{
|
||||
"n": "60分钟以上",
|
||||
"v": "4"
|
||||
},
|
||||
{
|
||||
"n": "30~60分钟",
|
||||
"v": "3"
|
||||
},
|
||||
{
|
||||
"n": "10~30分钟",
|
||||
"v": "2"
|
||||
},
|
||||
{
|
||||
"n": "10分钟以下",
|
||||
"v": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -68,23 +68,6 @@
|
||||
"api": "csp_Hxq",
|
||||
"ext": "http://www.小不点.com/api/2026/fishhxq.php"
|
||||
},
|
||||
{
|
||||
"key": "无极99",
|
||||
"name": "无极 • APP",
|
||||
"type": 3,
|
||||
"api": "csp_App99",
|
||||
"ext": {
|
||||
"host": "http://111.170.140.70:19987/app/bn",
|
||||
"LoginPath": "/app/log",
|
||||
"version": "",
|
||||
"appkey": "c403317c2a2946659b0bcbabdd5de43a",
|
||||
"versionName": "1.0.1",
|
||||
"name": "无极影视",
|
||||
"package": "com.wujiys.app",
|
||||
"buildNumber": "2001",
|
||||
"buildSignature": "A0859BDC35AD3E81D4051E2A4678C77C62773EDB3423DDF1DEFF94CB331D398E"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "橙子99",
|
||||
"name": "橙子 • APP",
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -68,23 +68,6 @@
|
||||
"api": "csp_Hxq",
|
||||
"ext": "http://www.小不点.com/api/2026/fishhxq.php"
|
||||
},
|
||||
{
|
||||
"key": "无极99",
|
||||
"name": "无极 • APP",
|
||||
"type": 3,
|
||||
"api": "csp_App99",
|
||||
"ext": {
|
||||
"host": "http://111.170.140.70:19987/app/bn",
|
||||
"LoginPath": "/app/log",
|
||||
"version": "",
|
||||
"appkey": "c403317c2a2946659b0bcbabdd5de43a",
|
||||
"versionName": "1.0.1",
|
||||
"name": "无极影视",
|
||||
"package": "com.wujiys.app",
|
||||
"buildNumber": "2001",
|
||||
"buildSignature": "A0859BDC35AD3E81D4051E2A4678C77C62773EDB3423DDF1DEFF94CB331D398E"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "橙子99",
|
||||
"name": "橙子 • APP",
|
||||
|
||||
@@ -0,0 +1,567 @@
|
||||
/*
|
||||
@header({
|
||||
searchable: 1,
|
||||
filterable: 1,
|
||||
quickSearch: 1,
|
||||
title: '短剧聚合1[DRPY]',
|
||||
author: 'Gemini',
|
||||
'类型': '短剧',
|
||||
lang: 'ds'
|
||||
})
|
||||
*/
|
||||
|
||||
globalThis.aggConfig = {
|
||||
keys: 'd3dGiJc651gSQ8w1',
|
||||
charMap: {
|
||||
'+': 'P', '/': 'X', '0': 'M', '1': 'U', '2': 'l', '3': 'E', '4': 'r', '5': 'Y', '6': 'W', '7': 'b', '8': 'd', '9': 'J',
|
||||
'A': '9', 'B': 's', 'C': 'a', 'D': 'I', 'E': '0', 'F': 'o', 'G': 'y', 'H': '_', 'I': 'H', 'J': 'G', 'K': 'i', 'L': 't',
|
||||
'M': 'g', 'N': 'N', 'O': 'A', 'P': '8', 'Q': 'F', 'R': 'k', 'S': '3', 'T': 'h', 'U': 'f', 'V': 'R', 'W': 'q', 'X': 'C',
|
||||
'Y': '4', 'Z': 'p', 'a': 'm', 'b': 'B', 'c': 'O', 'd': 'u', 'e': 'c', 'f': '6', 'g': 'K', 'h': 'x', 'i': '5', 'j': 'T',
|
||||
'k': '-', 'l': '2', 'm': 'z', 'n': 'S', 'o': 'Z', 'p': '1', 'q': 'V', 'r': 'v', 's': 'j', 't': 'Q', 'u': '7', 'v': 'D',
|
||||
'w': 'w', 'x': 'n', 'y': 'L', 'z': 'e'
|
||||
},
|
||||
headers: {
|
||||
default: { 'User-Agent': 'okhttp/3.12.11', 'content-type': 'application/json; charset=utf-8' }
|
||||
},
|
||||
platform: {
|
||||
星芽: { host: 'https://app.whjzjx.cn', url1: '/cloud/v2/theater/home_page?theater_class_id', url2: '/v2/theater_parent/detail', search: '/v3/search', classes: '/cloud/v2/theater/classes', rankDetail: '/cloud/v1/first_level_ranking/detail', loginUrl: 'https://u.shytkjgs.com/user/v1/account/login' },
|
||||
西饭: { host: 'https://xifan-api-cn.youlishipin.com', url1: '/xifan/drama/portalPage', url2: '/xifan/drama/getDuanjuInfo', search: '/xifan/search/getSearchList' },
|
||||
七猫: { host: 'https://api-store.qmplaylet.com', url1: '/api/v1/playlet/index', url2: 'https://api-read.qmplaylet.com/player/api/v1/playlet/info', search: '/api/v1/playlet/search' },
|
||||
围观: { host: 'https://api.drama.9ddm.com', url1: '/drama/home/shortVideoTags', url2: '/drama/home/shortVideoDetail', search: '/drama/home/search' },
|
||||
河马: { host: 'https://www.kuaikaw.cn', search: '/seo/video/6007' }
|
||||
},
|
||||
platformList: [
|
||||
{ name: '七猫短剧', id: '七猫' },
|
||||
{ name: '星芽短剧', id: '星芽' },
|
||||
{ name: '西饭短剧', id: '西饭' },
|
||||
{ name: '围观短剧', id: '围观' },
|
||||
{ name: '河马短剧', id: '河马' }
|
||||
],
|
||||
search: { limit: 30, timeout: 6000 }
|
||||
};
|
||||
|
||||
// ==================== 工具辅助函数 ====================
|
||||
async function md5(str) {
|
||||
return CryptoJS.MD5(str).toString(CryptoJS.enc.Hex).toLowerCase();
|
||||
}
|
||||
function base64Encode(text) {
|
||||
return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text));
|
||||
}
|
||||
function base64Decode(text) {
|
||||
return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(text));
|
||||
}
|
||||
function stripHtml(text) {
|
||||
return String(text || '').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();
|
||||
}
|
||||
function joinTags(tags) {
|
||||
if (Array.isArray(tags)) {
|
||||
return tags.map(tag => {
|
||||
if (!tag) return '';
|
||||
if (typeof tag === 'string') return tag;
|
||||
return tag.name || tag.title || tag.label || tag.text || '';
|
||||
}).filter(Boolean).join(' ');
|
||||
}
|
||||
return String(tags || '');
|
||||
}
|
||||
function buildSearchRemark(platform, episodeText = '', extra = '') {
|
||||
const parts = [platform];
|
||||
const ep = String(episodeText || '').trim();
|
||||
if (ep) parts.push(/集|期|完结|更新/.test(ep) ? ep : `${ep}集`);
|
||||
const suffix = String(extra || '').trim();
|
||||
return suffix ? `${parts.join('|')} ${suffix}` : parts.join('|');
|
||||
}
|
||||
function parseNextData(html) {
|
||||
try {
|
||||
const match = String(html || '').match(/<script id="__NEXT_DATA__" type="application\/json">([\s\S]*?)<\/script>/);
|
||||
return match?.[1] ? JSON.parse(match[1]) : null;
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
function normalizeHemaSearchBook(book) {
|
||||
if (!book?.bookId) return null;
|
||||
return {
|
||||
vod_id: `河马@/drama/${book.bookId}`,
|
||||
vod_name: book.bookName,
|
||||
vod_pic: book.coverWap,
|
||||
vod_remarks: buildSearchRemark('河马短剧', `${book.statusDesc || (book.status === 1 ? '完本' : '更新中') || ''} ${book.totalChapterNum || ''}集`.trim()),
|
||||
vod_tag: joinTags(book.bookTypeThree || book.tags || book.categoryName || book.categoryNames),
|
||||
vod_content: [book.introduction, book.desc, book.bookDesc, book.actor, book.actress].filter(Boolean).join(' ')
|
||||
};
|
||||
}
|
||||
function buildHemaTmpId() {
|
||||
return Math.random().toString(36).slice(2, 18);
|
||||
}
|
||||
function getHemaHeaders(referer = 'https://www.kuaikaw.cn') {
|
||||
return {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0',
|
||||
Referer: referer,
|
||||
Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8',
|
||||
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8'
|
||||
};
|
||||
}
|
||||
function getHemaApiHeaders(referer) {
|
||||
return {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0',
|
||||
Referer: referer,
|
||||
Origin: 'https://www.kuaikaw.cn',
|
||||
'Content-Type': 'application/json',
|
||||
Accept: 'application/json, text/plain, */*',
|
||||
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
||||
pname: 'www.kuaikaw.cn',
|
||||
tmpid: buildHemaTmpId()
|
||||
};
|
||||
}
|
||||
async function getQmParamsAndSign() {
|
||||
const sessionId = Math.floor(Date.now()).toString();
|
||||
const data = {
|
||||
"static_score": "0.8", "uuid": "00000000-7fc7-08dc-0000-000000000000",
|
||||
"device-id": "20250220125449b9b8cac84c2dd3d035c9052a2572f7dd0122edde3cc42a70",
|
||||
"sourceuid": "aa7de295aad621a6", "refresh-type": "0", "model": "22021211RC",
|
||||
"client-id": "aa7de295aad621a6", "brand": "Redmi", "sys-ver": "12", "phone-level": "H",
|
||||
"wlb-uid": "aa7de295aad621a6", "session-id": sessionId
|
||||
};
|
||||
const jsonStr = JSON.stringify(data);
|
||||
const base64Str = btoa(unescape(encodeURIComponent(jsonStr)));
|
||||
let qmParams = '';
|
||||
for (let i = 0; i < base64Str.length; i++) {
|
||||
qmParams += globalThis.aggConfig.charMap[base64Str[i]] || base64Str[i];
|
||||
}
|
||||
const paramsStr = `AUTHORIZATION=app-version=10001application-id=com.duoduo.readchannel=unknownis-white=net-env=5platform=androidqm-params=${qmParams}reg=${globalThis.aggConfig.keys}`;
|
||||
return { qmParams, sign: await md5(paramsStr) };
|
||||
}
|
||||
async function getHeaderX() {
|
||||
const { qmParams, sign } = await getQmParamsAndSign();
|
||||
return {
|
||||
'net-env': '5', 'reg': '', 'channel': 'unknown', 'is-white': '', 'platform': 'android',
|
||||
'application-id': 'com.duoduo.read', 'authorization': '', 'app-version': '10001',
|
||||
'user-agent': 'webviewversion/0', 'qm-params': qmParams, 'sign': sign
|
||||
};
|
||||
}
|
||||
|
||||
// ==================== 主规则对象 ====================
|
||||
var rule = {
|
||||
类型: '短剧',
|
||||
title: '聚合短剧1[短]',
|
||||
author: 'Gemini',
|
||||
host: '',
|
||||
url: '',
|
||||
searchUrl: '*',
|
||||
searchable: 1,
|
||||
quickSearch: 1,
|
||||
filterable: 1,
|
||||
timeout: 5000,
|
||||
play_parse: true,
|
||||
search_match: true,
|
||||
headers: globalThis.aggConfig.headers.default,
|
||||
filter_url: '{{fl.area}}',
|
||||
|
||||
filter_def: {
|
||||
星芽: { area: '1', class2: '0', rank: '1' },
|
||||
西饭: { area: '都市' },
|
||||
七猫: { area: '0' },
|
||||
围观: { area: '' },
|
||||
河马: { area: '462' }
|
||||
},
|
||||
|
||||
filter: {
|
||||
七猫: [{
|
||||
key: 'area', name: '分类',
|
||||
value: [
|
||||
{ n: '全部', v: '0' }, { n: '男频', v: '1' }, { n: '新剧', v: '3' }, { n: '现代言情', v: '21' },
|
||||
{ n: '神豪', v: '37' }, { n: '萌宝', v: '356' }, { n: '穿越', v: '373' }, { n: '战神', v: '527' },
|
||||
{ n: '神医', v: '1269' }, { n: '古装', v: '1272' }
|
||||
]
|
||||
}],
|
||||
星芽: [{
|
||||
key: 'area', name: '剧场',
|
||||
value: [
|
||||
{ n: '剧场', v: '1' }, { n: '热播短剧', v: '2' }, { n: '会员专享', v: '8' },
|
||||
{ n: '星选好剧', v: '7' }, { n: '新剧', v: '3' }, { n: '阳光剧场', v: '5' }, { n: '排行榜', v: '9' }
|
||||
]
|
||||
}, {
|
||||
key: 'class2', name: '类型',
|
||||
value: [
|
||||
{ n: '全部', v: '0' }, { n: '都市', v: '4' }, { n: '逆袭', v: '7' }, { n: '古装', v: '5' },
|
||||
{ n: '亲情', v: '41' }, { n: '现代言情', v: '15' }, { n: '重生', v: '6' }, { n: '虐恋', v: '8' },
|
||||
{ n: '玄幻', v: '35' }, { n: '穿越', v: '17' }, { n: '脑洞', v: '32' }, { n: '甜宠', v: '33' },
|
||||
{ n: '古代言情', v: '37' }, { n: '战神', v: '24' }, { n: '历史', v: '40' }, { n: '赘婿', v: '26' },
|
||||
{ n: '萌宝', v: '9' }, { n: '神医', v: '25' }
|
||||
]
|
||||
}, {
|
||||
key: 'rank', name: '榜单',
|
||||
value: [
|
||||
{ n: '实时热榜', v: '1' }, { n: '热搜榜', v: '2' }, { n: '新剧榜', v: '3' },
|
||||
{ n: '剧单榜', v: '4' }, { n: '口碑榜', v: '5' }
|
||||
]
|
||||
}],
|
||||
西饭: [{
|
||||
key: 'area', name: '分类',
|
||||
value: [
|
||||
{ n: '都市', v: '都市' }, { n: '甜宠', v: '甜宠' }, { n: '逆袭', v: '逆袭' },
|
||||
{ n: '战神', v: '战神' }, { n: '古装', v: '古装' }, { n: '穿越', v: '穿越' }, { n: '萌宝', v: '萌宝' }
|
||||
]
|
||||
}],
|
||||
围观: [{
|
||||
key: 'area', name: '分类',
|
||||
value: [
|
||||
{ n: '全部', v: '' }, { n: '都市', v: '都市' }, { n: '逆袭', v: '逆袭' }, { n: '家庭', v: '家庭' },
|
||||
{ n: '古装', v: '古装' }, { n: '复仇', v: '复仇' }, { n: '甜宠', v: '甜宠' }, { n: '悬疑', v: '悬疑' },
|
||||
{ n: '爱情', v: '爱情' }, { n: '重生', v: '重生' }, { n: '总裁', v: '总裁' }, { n: '穿越', v: '穿越' },
|
||||
{ n: '萌宝', v: '萌宝' }, { n: '战神', v: '战神' }, { n: '职场', v: '职场' }, { n: '神豪', v: '神豪' },
|
||||
{ n: '神医', v: '神医' }, { n: '赘婿', v: '赘婿' }
|
||||
]
|
||||
}],
|
||||
河马: [{
|
||||
key: 'area', name: '分类',
|
||||
value: [
|
||||
{ n: '甜宠', v: '462' }, { n: '古装仙侠', v: '1102' }, { n: '现代言情', v: '1145' },
|
||||
{ n: '青春', v: '1170' }, { n: '豪门恩怨', v: '585' }, { n: '逆袭', v: '417-464' },
|
||||
{ n: '重生', v: '439-465' }, { n: '系统', v: '1159' }, { n: '总裁', v: '1147' }, { n: '职场商战', v: '943' }
|
||||
]
|
||||
}]
|
||||
},
|
||||
|
||||
预处理: async function () {
|
||||
const cfg = globalThis.aggConfig;
|
||||
try {
|
||||
const data = { 'device': '24250683a3bdb3f118dff25ba4b1cba1a' };
|
||||
const options = {
|
||||
method: 'POST',
|
||||
headers: { 'User-Agent': 'okhttp/4.10.0', 'platform': '1', 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(data)
|
||||
};
|
||||
let html = await request(cfg.platform.星芽.loginUrl, options);
|
||||
const res = JSON.parse(html);
|
||||
const token = res?.data?.token || res?.token;
|
||||
this.xingya_headers = { ...rule.headers, authorization: token };
|
||||
} catch (e) {
|
||||
log(`星芽短剧token获取失败: ${e.message}`);
|
||||
this.xingya_headers = rule.headers;
|
||||
}
|
||||
},
|
||||
|
||||
class_parse: () => ({
|
||||
class: globalThis.aggConfig.platformList.map(item => ({
|
||||
type_id: item.id,
|
||||
type_name: item.name
|
||||
}))
|
||||
}),
|
||||
|
||||
推荐: async function () {
|
||||
const cfg = globalThis.aggConfig;
|
||||
const randomPlat = cfg.platformList[Math.floor(Math.random() * cfg.platformList.length)];
|
||||
const platId = randomPlat.id;
|
||||
const defaultFilter = this.filter_def?.[platId] || {};
|
||||
const fakeContext = {
|
||||
MY_CATE: platId,
|
||||
MY_FL: defaultFilter,
|
||||
MY_PAGE: 1,
|
||||
...this
|
||||
};
|
||||
return await this.一级.call(fakeContext);
|
||||
},
|
||||
|
||||
一级: async function () {
|
||||
const { MY_CATE, MY_FL, MY_PAGE } = this;
|
||||
const area = MY_FL?.area || '';
|
||||
const plat = globalThis.aggConfig.platform[MY_CATE];
|
||||
const cfg = globalThis.aggConfig;
|
||||
let d = [];
|
||||
if (!plat) return setResult(d);
|
||||
|
||||
const fetchStr = async (url, opt = {}) => await request(url, { headers: this.headers, ...opt });
|
||||
|
||||
try {
|
||||
switch (MY_CATE) {
|
||||
case '七猫': {
|
||||
const sign = await md5(`operation=1playlet_privacy=1tag_id=${area}${cfg.keys}`);
|
||||
const url = `${plat.host}${plat.url1}?tag_id=${area}&playlet_privacy=1&operation=1&sign=${sign}`;
|
||||
const headers = { ...await getHeaderX(), ...cfg.headers.default };
|
||||
const res = JSON.parse(await fetchStr(url, { headers }));
|
||||
(res?.data?.list || []).forEach(item => {
|
||||
d.push({ title: item.title, img: item.image_link, desc: `${item.total_episode_num}集`, url: `七猫@${encodeURIComponent(item.playlet_id)}` });
|
||||
});
|
||||
break;
|
||||
}
|
||||
case '星芽': {
|
||||
const class2 = MY_FL?.class2 || '0';
|
||||
const headers = this.xingya_headers || cfg.headers.default;
|
||||
if (area === '9') {
|
||||
const rank = MY_FL?.rank || class2 || '1';
|
||||
const res = JSON.parse(await fetchStr(`${plat.host}${plat.rankDetail}?id=${rank}`, { headers }));
|
||||
(res?.data?.list || []).forEach(item => {
|
||||
const i = item.theater || item;
|
||||
if (!i?.id) return;
|
||||
d.push({ title: i.title, img: i.cover_url, desc: `${i.total || ''}集`, url: `星芽@${plat.host}${plat.url2}?theater_parent_id=${i.id}` });
|
||||
});
|
||||
} else {
|
||||
const url = `${plat.host}${plat.url1}=${area}&type=1&class2_ids=${class2}&page_num=${MY_PAGE}&page_size=24`;
|
||||
const res = JSON.parse(await fetchStr(url, { headers }));
|
||||
(res?.data?.list || []).forEach(i => {
|
||||
const item = i.theater || i;
|
||||
if (!item?.id) return;
|
||||
d.push({ title: item.title, img: item.cover_url, desc: `${item.total || ''}集`, url: `星芽@${plat.host}${plat.url2}?theater_parent_id=${item.id}` });
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case '西饭': {
|
||||
const typeName = area;
|
||||
const searchUrl = `${plat.host}${plat.search}?reqType=search&offset=0&keyword=${encodeURIComponent(typeName || '')}&quickEngineVersion=-1&scene=`;
|
||||
const res = JSON.parse(await fetchStr(searchUrl));
|
||||
const elements = res?.result?.elements || [];
|
||||
for (const block of elements) {
|
||||
const contents = Array.isArray(block?.contents) ? block.contents : [];
|
||||
for (const item of contents) {
|
||||
const dj = item?.duanjuVo || {};
|
||||
if (!dj.duanjuId) continue;
|
||||
const categories = Array.isArray(dj.categories) ? dj.categories : [];
|
||||
if (typeName && !categories.includes(typeName)) continue;
|
||||
d.push({ title: dj.title, img: dj.coverImageUrl, desc: `${dj.total || ''}集`, url: `西饭@${dj.duanjuId}#${dj.source}` });
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case '围观': {
|
||||
const clientInfo = await md5(String(Date.now()).slice(-10));
|
||||
const url = `${plat.host}${plat.search}?version_code=1500&version_name=1.5.0&device_name=Pixel%208%20Pro&device_type=phone&is_first_day=true&is_first_24h=true&app_launch_way=icon&default_homepage=homepage_interaction&device_owning_firm=Google&font_scale=default&os_type=1&clientInfo=${clientInfo}`;
|
||||
const opt = {
|
||||
method: 'POST',
|
||||
headers: { 'User-Agent': 'okhttp/5.1.0', 'Content-Type': 'application/json; charset=utf-8' },
|
||||
body: JSON.stringify({ audience: '全部', order: '最新', page: MY_PAGE, pageSize: 30, searchWord: '', subject: area || '' })
|
||||
};
|
||||
const res = JSON.parse(await fetchStr(url, opt));
|
||||
(res?.data || []).forEach(i => {
|
||||
d.push({ title: i.title, img: i.horzPoster || i.vertPoster, desc: `${i.episodeCount || ''}集`, url: `围观@${i.oneId}` });
|
||||
});
|
||||
break;
|
||||
}
|
||||
case '河马': {
|
||||
const url = `${plat.host}/browse/${area || '462'}/${MY_PAGE}`;
|
||||
const html = await fetchStr(url, { headers: getHemaHeaders(url) });
|
||||
const json = parseNextData(html);
|
||||
const bookList = json?.props?.pageProps?.bookList || [];
|
||||
for (const book of bookList) {
|
||||
if (!book?.bookId) continue;
|
||||
d.push({ title: book.bookName, img: book.coverWap, desc: `${book.statusDesc || ''} ${book.totalChapterNum || ''}集`.trim(), url: `河马@/drama/${book.bookId}` });
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
log(`${MY_CATE}一级加载失败: ${e.message}`);
|
||||
}
|
||||
return setResult(d);
|
||||
},
|
||||
|
||||
二级: async function () {
|
||||
const { orId } = this;
|
||||
const [platform, ...rest] = orId.split('@');
|
||||
const id = rest.join('@');
|
||||
const cfg = globalThis.aggConfig;
|
||||
const plat = cfg.platform[platform];
|
||||
const fetchStr = async (url, opt = {}) => await request(url, { headers: this.headers, ...opt });
|
||||
|
||||
let VOD = {
|
||||
vod_id: orId, vod_name: '未知', vod_pic: '', vod_remarks: '',
|
||||
vod_content: '', vod_play_from: platform + '短剧', vod_play_url: ''
|
||||
};
|
||||
|
||||
if (!plat) return VOD;
|
||||
|
||||
try {
|
||||
switch (platform) {
|
||||
case '七猫': {
|
||||
const didDecoded = decodeURIComponent(id);
|
||||
const sign = await md5(`playlet_id=${didDecoded}${cfg.keys}`);
|
||||
const url = `${plat.url2}?playlet_id=${didDecoded}&sign=${sign}`;
|
||||
const headers = { ...await getHeaderX(), ...cfg.headers.default };
|
||||
const res = JSON.parse(await fetchStr(url, { headers }));
|
||||
if (res?.data) {
|
||||
const d = res.data;
|
||||
VOD.vod_name = d.title; VOD.vod_pic = d.image_link; VOD.vod_remarks = `${d.total_episode_num}集`; VOD.vod_content = d.intro;
|
||||
VOD.vod_play_url = (d.play_list || []).map(i => `${i.sort}$${i.video_url}`).join('#');
|
||||
}
|
||||
break;
|
||||
}
|
||||
case '星芽': {
|
||||
const headers = this.xingya_headers || cfg.headers.default;
|
||||
const res = JSON.parse(await fetchStr(id, { headers }));
|
||||
if (res?.data) {
|
||||
const d = res.data;
|
||||
VOD.vod_name = d.title; VOD.vod_pic = d.cover_url; VOD.vod_remarks = d.desc_tags + ''; VOD.vod_content = d.introduction || '';
|
||||
VOD.vod_play_url = (d.theaters || []).map(i => `${i.num}$${i.son_video_url}`).join('#');
|
||||
}
|
||||
break;
|
||||
}
|
||||
case '西饭': {
|
||||
const [duanjuId, source] = id.split('#');
|
||||
const url = `${plat.host}${plat.url2}?duanjuId=${duanjuId}&source=${source}`;
|
||||
const res = JSON.parse(await fetchStr(url));
|
||||
if (res?.result) {
|
||||
const d = res.result;
|
||||
VOD.vod_name = d.title; VOD.vod_pic = d.coverImageUrl; VOD.vod_content = d.desc || '';
|
||||
VOD.vod_remarks = d.updateStatus === 'over' ? `${d.total}集 已完结` : `更新${d.total}集`;
|
||||
VOD.vod_play_url = (d.episodeList || []).map(e => `${e.index}$${e.playUrl}`).join('#');
|
||||
}
|
||||
break;
|
||||
}
|
||||
case '围观': {
|
||||
const clientInfo = await md5(String(Date.now()).slice(-10));
|
||||
const url = `${plat.host}${plat.url2}?version_code=1500&version_name=1.5.0&device_name=Pixel%208%20Pro&device_type=phone&is_first_day=true&is_first_24h=true&app_launch_way=icon&default_homepage=homepage_interaction&device_owning_firm=Google&font_scale=default&os_type=1&clientInfo=${clientInfo}&oneId=${id}&page=1&pageSize=1000&userId=0&queryAll=true`;
|
||||
const res = JSON.parse(await fetchStr(url, { headers: { 'User-Agent': 'okhttp/5.1.0', 'Content-Type': 'application/json; charset=utf-8' } }));
|
||||
if (res?.data?.length) {
|
||||
const episodes = res.data;
|
||||
VOD.vod_name = res.title || episodes[0]?.title || VOD.vod_name;
|
||||
VOD.vod_pic = res.vertPoster || episodes[0]?.vertPoster || '';
|
||||
VOD.vod_remarks = `共${episodes.length}集`; VOD.vod_content = res.description || '';
|
||||
VOD.vod_play_url = episodes.map(e => `${e.playOrder || e.title}$${base64Encode(JSON.stringify(e.videoClarityList || []))}`).join('#');
|
||||
}
|
||||
break;
|
||||
}
|
||||
case '河马': {
|
||||
const didPath = id.startsWith('/drama/') ? id : `/drama/${id}`;
|
||||
const html = await fetchStr(`${plat.host}${didPath}`, { headers: getHemaHeaders(`${plat.host}${didPath}`) });
|
||||
const json = parseNextData(html);
|
||||
const pageProps = json?.props?.pageProps || {};
|
||||
const bookInfo = pageProps.bookInfoVo || {};
|
||||
const chapterList = pageProps.chapterList || [];
|
||||
VOD.vod_name = bookInfo.title || bookInfo.bookName || VOD.vod_name; VOD.vod_pic = bookInfo.coverWap || '';
|
||||
VOD.vod_remarks = `${bookInfo.statusDesc || ''} ${bookInfo.totalChapterNum || ''}集`.trim(); VOD.vod_content = bookInfo.introduction || '';
|
||||
VOD.vod_play_url = chapterList.map(chapter => {
|
||||
const chapterId = chapter.chapterId; const chapterName = chapter.chapterName;
|
||||
const videoVo = chapter.chapterVideoVo || {}; const directUrl = videoVo.mp4 || videoVo.mp4720p || videoVo.vodMp4Url;
|
||||
return `${chapterName}$${directUrl && /\.(mp4|m3u8)/.test(directUrl) ? directUrl : `${didPath.replace('/drama/', '')}+${chapterId}`}`;
|
||||
}).join('#');
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
VOD.vod_name = '加载失败';
|
||||
}
|
||||
return VOD;
|
||||
},
|
||||
|
||||
搜索: async function (wd, quick, pg) {
|
||||
const { KEY, MY_PAGE } = this;
|
||||
const cfg = globalThis.aggConfig;
|
||||
const d = [];
|
||||
const timeout = cfg.search.timeout;
|
||||
const wdLower = KEY.toLowerCase();
|
||||
|
||||
const tasks = cfg.platformList.map(async (p) => {
|
||||
try {
|
||||
const plat = cfg.platform[p.id];
|
||||
let results = [];
|
||||
|
||||
if (p.id === '七猫') {
|
||||
const sign = await md5(`page=${MY_PAGE}wd=${KEY}${cfg.keys}`);
|
||||
const url = `${plat.host}${plat.search}?page=${MY_PAGE}&wd=${encodeURIComponent(KEY)}&sign=${sign}`;
|
||||
const headerX = await getHeaderX();
|
||||
const res = JSON.parse(await request(url, { headers: { ...headerX, ...cfg.headers.default }, timeout }));
|
||||
(res?.data?.list || []).forEach(i => {
|
||||
results.push({ title: i.title, img: i.image_link, desc: buildSearchRemark('七猫短剧', i.total_num || i.total_episode_num || '', i.hot_value || ''), url: `七猫@${encodeURIComponent(i.id || i.playlet_id)}` });
|
||||
});
|
||||
} else if (p.id === '星芽') {
|
||||
const headers = this.xingya_headers || cfg.headers.default;
|
||||
const res = JSON.parse(await request(plat.host + plat.search, { method: 'POST', headers, body: JSON.stringify({ text: KEY }), timeout }));
|
||||
(res.data?.theater?.search_data || []).forEach(i => {
|
||||
results.push({ title: i.title, img: i.cover_url, desc: buildSearchRemark('星芽短剧', i.total || i.current_num, i.play_amount_str || i.pv_str ? `播放:${i.play_amount_str || i.pv_str}` : ''), url: `星芽@${plat.host}${plat.url2}?theater_parent_id=${i.id}` });
|
||||
});
|
||||
} else if (p.id === '西饭') {
|
||||
const url = `${plat.host}${plat.search}?reqType=search&offset=${(MY_PAGE - 1) * 30}&keyword=${encodeURIComponent(KEY)}&quickEngineVersion=-1&scene=`;
|
||||
const res = JSON.parse(await request(url, { timeout }));
|
||||
const elements = Array.isArray(res?.result?.elements) ? res.result.elements : [];
|
||||
const contents = elements.flatMap(el => Array.isArray(el?.contents) ? el.contents : [el]);
|
||||
contents.forEach(vod => {
|
||||
const dj = vod?.duanjuVo || vod || {};
|
||||
if (!dj.duanjuId || !dj.title) return;
|
||||
results.push({ title: dj.title, img: dj.coverImageUrl, desc: buildSearchRemark('西饭短剧', dj.total), url: `西饭@${dj.duanjuId}#${dj.source || ''}` });
|
||||
});
|
||||
} else if (p.id === '围观') {
|
||||
const clientInfo = await md5(String(Date.now()).slice(-10));
|
||||
const url = `${plat.host}${plat.search}?version_code=1500&version_name=1.5.0&device_name=Pixel%208%20Pro&device_type=phone&is_first_day=true&is_first_24h=true&app_launch_way=icon&default_homepage=homepage_interaction&device_owning_firm=Google&font_scale=default&os_type=1&clientInfo=${clientInfo}`;
|
||||
const res = JSON.parse(await request(url, {
|
||||
method: 'POST',
|
||||
headers: { 'User-Agent': 'okhttp/5.1.0', 'Content-Type': 'application/json; charset=utf-8' },
|
||||
body: JSON.stringify({ audience: '', order: '', page: MY_PAGE, pageSize: 30, keyword: KEY, subject: '' }),
|
||||
timeout
|
||||
}));
|
||||
(res?.data || []).forEach(i => {
|
||||
results.push({ title: i.title, img: i.horzPoster || i.vertPoster, desc: buildSearchRemark('围观短剧', i.episodeCount || ''), url: `围观@${i.oneId}` });
|
||||
});
|
||||
} else if (p.id === '河马') {
|
||||
const res = JSON.parse(await request(`${plat.host}${plat.search}`, {
|
||||
method: 'POST',
|
||||
headers: getHemaApiHeaders(`${plat.host}/search?searchValue=${encodeURIComponent(KEY)}`),
|
||||
body: JSON.stringify({ sourceType: 1, keyword: KEY, index: MY_PAGE }),
|
||||
timeout
|
||||
}));
|
||||
const apiBookList = Array.isArray(res?.data?.bookList) ? res.data.bookList : [];
|
||||
apiBookList.map(normalizeHemaSearchBook).filter(Boolean).forEach(v => {
|
||||
results.push({ title: v.vod_name, img: v.vod_pic, desc: v.vod_remarks, url: v.vod_id });
|
||||
});
|
||||
}
|
||||
return results;
|
||||
} catch (e) {
|
||||
log(`搜索失败(平台:${p.name}):${e.message}`);
|
||||
return [];
|
||||
}
|
||||
});
|
||||
|
||||
const settledResults = await Promise.allSettled(tasks);
|
||||
const flatResults = settledResults
|
||||
.filter(r => r.status === 'fulfilled')
|
||||
.flatMap(r => r.value)
|
||||
.map(item => ({ ...item, title: stripHtml(item.title) }));
|
||||
|
||||
return setResult(rule.search_match ? flatResults.filter(i => (i.title || '').toLowerCase().includes(wdLower)) : flatResults);
|
||||
},
|
||||
|
||||
lazy: async function (flag, id, flags) {
|
||||
const cfg = globalThis.aggConfig;
|
||||
|
||||
if (/七猫/.test(flag)) {
|
||||
return { parse: 0, url: id };
|
||||
}
|
||||
|
||||
if (/西饭/.test(flag)) {
|
||||
return { parse: 0, url: id };
|
||||
}
|
||||
|
||||
if (/围观/.test(flag)) {
|
||||
try {
|
||||
const ps = JSON.parse(base64Decode(id));
|
||||
let urls = [];
|
||||
for (const item of ps || []) {
|
||||
if (item?.name && item?.url) {
|
||||
urls.push(item.name, item.url);
|
||||
}
|
||||
}
|
||||
return { parse: 0, url: urls.length ? urls : id, headers: { 'User-Agent': 'okhttp/5.1.0' } };
|
||||
} catch (e) {
|
||||
return { parse: 0, url: id };
|
||||
}
|
||||
}
|
||||
|
||||
if (/河马/.test(flag)) {
|
||||
if (/\.(mp4|m3u8)(\?|$)/i.test(id)) {
|
||||
return { parse: 0, url: id, header: getHemaHeaders() };
|
||||
}
|
||||
const parts = String(id || '').split('+');
|
||||
if (parts.length >= 2) {
|
||||
const [dramaId, chapterId] = parts;
|
||||
const episodeUrl = `${cfg.platform.河马.host}/episode/${dramaId}/${chapterId}`;
|
||||
const html = await request(episodeUrl, { headers: getHemaHeaders(episodeUrl) });
|
||||
const json = parseNextData(html);
|
||||
const videoInfo = json?.props?.pageProps?.chapterInfo?.chapterVideoVo || {};
|
||||
const videoUrl = videoInfo.mp4 || videoInfo.mp4720p || videoInfo.vodMp4Url || (String(html).match(/(https?:\/\/[^"']+\.mp4[^"']*)/) || [])[1] || '';
|
||||
return { parse: 0, url: videoUrl, header: getHemaHeaders() };
|
||||
}
|
||||
return { parse: 0, url: id, header: getHemaHeaders() };
|
||||
}
|
||||
|
||||
return { parse: 0, url: id };
|
||||
}
|
||||
};
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user