├── README.md ├── _config.yml ├── _includes └── head-custom.html ├── ext ├── EasyList.txt ├── bilibili.json ├── biliych.json └── uBlock.txt ├── favicon ├── favicon1.png └── favicon2.png ├── jar ├── Butterfly.jar └── Extra.jar ├── js ├── cheerio.min.js ├── crypto-js.js ├── ddys.js ├── douban.js ├── drpymin2.js ├── gbk.js ├── kuqimv.js ├── libvio.js ├── 模板.js └── 荐片.js ├── m.json ├── n.json └── script ├── 123pan.crack.js ├── crack.video.js ├── crackvideo.user.js ├── feishu.wiki.crack.js └── violentmonkey.crx /README.md: -------------------------------------------------------------------------------- 1 | ## TV盒子软件 2 | 3 | 4 | 5 | ## 影视TV [GitHub仓库](https://github.com/FongMi/Release) [蓝奏云分享](https://cyao.lanzov.com/b038ypj3ze) 密码 666 6 | 7 | 配置地址选一个输入 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | ## TVBox [蓝奏云分享](https://cyao.lanzov.com/b038ypj4kf) 密码 666 20 | 21 | ## 盒子软件 22 | 23 | [飞视浏览器](https://cyao.lanzouy.com/irdJv08lt7bc) [当贝桌面](https://cyao.lanzov.com/iHODy16dojuj) 24 | 25 | [儿歌多多](https://cyao.lanzov.com/iNaO116domhe) [看电视](https://cyao.lanzov.com/iLlBk2uofwyd) 26 | 27 | ## 油猴脚本 [暴力猴](https://cyao2q.github.io/files/script/violentmonkey.crx) 28 | 29 | [破解VIP会员视频](https://cyao2q.github.io/files/script/crack.video.js) 30 | 31 | [123云盘解锁](https://cyao2q.github.io/files/script/123pan.crack.js) 32 | 33 | ## 阅读APP自用书源 34 | 35 | 36 | 37 | ## 广告过滤规则 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | ## A free CDN for Open Source 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman 2 | -------------------------------------------------------------------------------- /_includes/head-custom.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ext/bilibili.json: -------------------------------------------------------------------------------- 1 | {"class":[{"type_name":"登陆配置","type_id":"peizhi"},{"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":"风景4K"},{"type_name":"说案","type_id":"说案"},{"type_name":"知名UP主","type_id":"知名UP主"},{"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":"健身","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":"MV","type_id":"MV4K"},{"type_name":"舞曲","type_id":"舞曲超清"},{"type_name":"4K","type_id":"4K"},{"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":"Windows","type_id":"Windows"}], 2 | "filters":{"考公考证":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"动漫合集":[{"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":"动画片","v":"儿童动画片合集"},{"n":"番剧","v":"番剧合集"},{"n":"国创","v":"国创动漫合集"},{"n":"国漫","v":"国产动漫合集"},{"n":"日漫","v":"日本动画合集"},{"n":"韩漫","v":"韩国动画片合集"},{"n":"美漫","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"}]}],"演唱会超清":[{"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"}]}],"探索发现超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"电影":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"鬼畜":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"一口气沙雕动漫":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"说案":[{"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":"汤圆","v":"汤圆说案"},{"n":"唐唐","v":"唐唐说案"},{"n":"罗翔","v":"罗翔说刑法"},{"n":"何家弘","v":"何家弘说案"},{"n":"韩诺","v":"韩诺说案"},{"n":"老V","v":"老V说案"},{"n":"禁播档案‼️","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"}]}],"演讲":[{"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":"全部演讲4K"},{"n":"A艾跃进","v":"艾跃进演讲4K"},{"n":"C超级演说家","v":"超级演说家4K"},{"n":"D电影","v":"电影演讲4K"},{"n":"D典籍里的中国","v":"典籍里的中国4K"},{"n":"G感动中国","v":"感动中国4K"},{"n":"G郭继承","v":"郭继承演讲4K"},{"n":"H华春莹","v":"华春莹演讲4K"},{"n":"L雷军","v":"雷军演讲4K"},{"n":"L罗翔","v":"罗翔演讲4K"},{"n":"R任正非","v":"任正非演讲4K"},{"n":"TED","v":"TED演讲4K"},{"n":"W汪文斌","v":"汪文斌演讲4K"},{"n":"Y一刻","v":"一刻演讲4K"},{"n":"Z赵立坚","v":"赵立坚演讲4K"},{"n":"Z郑强","v":"郑强演讲4K"}]},{"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"}]}],"解说":[{"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":"电影","v":"电影解说"},{"n":"电视","v":"电视解说"},{"n":"历史","v":"历史解说"},{"n":"动漫","v":"动漫解说"},{"n":"小说","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"}]}],"风景4K":[{"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":"风景4K"},{"n":"A澳门","v":"澳门风景4K"},{"n":"A安徽","v":"安徽风景4K"},{"n":"B布达拉宫","v":"布达拉宫风景4K"},{"n":"B北京","v":"北京风景4K"},{"n":"C重庆","v":"重庆风景4K"},{"n":"C草原","v":"草原风景4K"},{"n":"D大海","v":"大海风景4K"},{"n":"F福建","v":"福建风景4K"},{"n":"G广东","v":"广东风景4K"},{"n":"G广西","v":"广西风景4K"},{"n":"G贵州","v":"贵州风景4K"},{"n":"G甘肃","v":"甘肃风景4K"},{"n":"H海南","v":"海南风景4K"},{"n":"H河北","v":"河北风景4K"},{"n":"H河南","v":"河南风景4K"},{"n":"H湖北","v":"湖北风景4K"},{"n":"H湖南","v":"湖南风景4K"},{"n":"H黑龙江","v":"黑龙江风景4K"},{"n":"J吉林","v":"吉林风景4K"},{"n":"J江苏","v":"江苏风景4K"},{"n":"J江西","v":"江西风景4K"},{"n":"L辽宁","v":"辽宁风景4K"},{"n":"M民宿","v":"民宿风景4K"},{"n":"N内蒙古","v":"内蒙古风景4K"},{"n":"N宁夏","v":"宁夏风景4K"},{"n":"Q青海","v":"青海风景4K"},{"n":"S上海","v":"上海风景4K"},{"n":"S陕西","v":"陕西风景4K"},{"n":"S四川","v":"四川风景4K"},{"n":"S山西","v":"山西风景4K"},{"n":"S山东","v":"山东风景4K"},{"n":"T天津","v":"天津风景4K"},{"n":"T台湾","v":"台湾风景4K"},{"n":"T天空","v":"天空风景4K"},{"n":"X西湖","v":"西湖风景4K"},{"n":"X西藏","v":"西藏风景4K"},{"n":"X新疆","v":"新疆风景4K"},{"n":"X香港","v":"香港风景4K"},{"n":"Y云南","v":"云南风景4K"},{"n":"Z浙江","v":"浙江风景4K"}]},{"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"}]}],"MV4K":[{"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":"MV4K"},{"n":"A阿杜","v":"阿杜MV4K"},{"n":"A阿黛尔","v":"阿黛尔MV4K"},{"n":"BBeyond","v":"BeyondMV4K"},{"n":"BBy2","v":"By2MV4K"},{"n":"BBIGBANG","v":"BIGBANGMV4K"},{"n":"B布兰妮","v":"布兰妮MV4K"},{"n":"C陈奕迅","v":"陈奕迅MV4K"},{"n":"C蔡依林","v":"蔡依林MV4K"},{"n":"C初音未来","v":"初音未来MV4K"},{"n":"C蔡健雅","v":"蔡健雅MV4K"},{"n":"C陈小春","v":"陈小春MV4K"},{"n":"C草蜢","v":"草蜢MV4K"},{"n":"C陈慧娴","v":"陈慧娴MV4K"},{"n":"C崔健","v":"崔健MV4K"},{"n":"C仓木麻衣","v":"仓木麻衣MV4K"},{"n":"D戴荃","v":"戴荃MV4K"},{"n":"D动力火车","v":"动力火车MV4K"},{"n":"D邓丽君","v":"邓丽君MV4K"},{"n":"D丁当","v":"丁当MV4K"},{"n":"D刀郎","v":"刀郎MV4K"},{"n":"D邓紫棋","v":"邓紫棋MV4K"},{"n":"D戴佩妮","v":"戴佩妮MV4K"},{"n":"D邓丽君","v":"邓丽君MV4K"},{"n":"F飞儿乐队","v":"飞儿乐队MV4K"},{"n":"F费玉清","v":"费玉清MV4K"},{"n":"F费翔","v":"费翔MV4K"},{"n":"F方大同","v":"方大同MV4K"},{"n":"F房东的猫","v":"房东的猫MV4K"},{"n":"F凤飞飞","v":"凤飞飞MV4K"},{"n":"F凤凰传奇","v":"凤凰传奇MV4K"},{"n":"G古风歌曲","v":"古风歌曲4K"},{"n":"G国乐大典","v":"国乐大典4K"},{"n":"G郭采洁","v":"郭采洁MV4K"},{"n":"G光良","v":"光良MV4K"},{"n":"G郭静","v":"郭静MV4K"},{"n":"G郭富城","v":"郭富城MV4K"},{"n":"H胡彦斌","v":"胡彦斌MV4K"},{"n":"H胡夏","v":"胡夏MV4K"},{"n":"H韩红","v":"韩红MV4K"},{"n":"H黄品源","v":"黄品源MV4K"},{"n":"H黄小琥","v":"黄小琥MV4K"},{"n":"H花儿乐队","v":"花儿乐队MV4K"},{"n":"H黄家强","v":"黄家强MV4K"},{"n":"H后街男孩","v":"后街男孩MV4K"},{"n":"J经典老歌","v":"经典老歌4K"},{"n":"J贾斯丁比伯","v":"贾斯丁比伯MV4K"},{"n":"J金池","v":"金池MV4K"},{"n":"J金志文","v":"金志文MV4K"},{"n":"J焦迈奇","v":"焦迈奇MV4K"},{"n":"K筷子兄弟","v":"筷子兄弟MV4K"},{"n":"L李玟","v":"李玟MV4K"},{"n":"L林忆莲","v":"林忆莲MV4K"},{"n":"L李克勤","v":"李克勤MV4K"},{"n":"L刘宪华","v":"刘宪华MV4K"},{"n":"L李圣杰","v":"李圣杰MV4K"},{"n":"L林宥嘉","v":"林宥嘉MV4K"},{"n":"L梁静茹","v":"梁静茹MV4K"},{"n":"L李健","v":"李健MV4K"},{"n":"L林俊杰","v":"林俊杰MV4K"},{"n":"L李玉刚","v":"李玉刚MV4K"},{"n":"L林志炫","v":"林志炫MV4K"},{"n":"L李荣浩","v":"李荣浩MV4K"},{"n":"L李宇春","v":"李宇春MV4K"},{"n":"L洛天依","v":"洛天依MV4K"},{"n":"L林子祥","v":"林子祥MV4K"},{"n":"L李宗盛","v":"李宗盛MV4K"},{"n":"L黎明","v":"黎明MV4K"},{"n":"L刘德华","v":"刘德华MV4K"},{"n":"L罗大佑","v":"罗大佑MV4K"},{"n":"L林肯公园","v":"林肯公园MV4K"},{"n":"LLadyGaga","v":"LadyGagaMV4K"},{"n":"L旅行团乐队","v":"旅行团乐队MV4K"},{"n":"M莫文蔚","v":"莫文蔚MV4K"},{"n":"M毛不易","v":"毛不易MV4K"},{"n":"M梅艳芳","v":"梅艳芳MV4K"},{"n":"M迈克尔杰克逊","v":"迈克尔杰克逊MV4K"},{"n":"N南拳妈妈","v":"南拳妈妈MV4K"},{"n":"P朴树","v":"朴树MV4K"},{"n":"Q齐秦","v":"齐秦MV4K"},{"n":"Q青鸟飞鱼","v":"青鸟飞鱼MV4K"},{"n":"R容祖儿","v":"容祖儿MV4K"},{"n":"R热歌","v":"热歌MV4K"},{"n":"R任贤齐","v":"任贤齐MV4K"},{"n":"S水木年华","v":"水木年华MV4K"},{"n":"S孙燕姿","v":"孙燕姿MV4K"},{"n":"S苏打绿","v":"苏打绿MV4K"},{"n":"SSHE","v":"SHEMV4K"},{"n":"S孙楠","v":"孙楠MV4K"},{"n":"T陶喆","v":"陶喆MV4K"},{"n":"T谭咏麟","v":"谭咏麟MV4K"},{"n":"T田馥甄","v":"田馥甄MV4K"},{"n":"T谭维维","v":"谭维维MV4K"},{"n":"T逃跑计划","v":"逃跑计划MV4K"},{"n":"T田震","v":"田震MV4K"},{"n":"T谭晶","v":"谭晶MV4K"},{"n":"T屠洪刚","v":"屠洪刚MV4K"},{"n":"T泰勒·斯威夫特","v":"泰勒·斯威夫特MV4K"},{"n":"W王力宏","v":"王力宏MV4K"},{"n":"W王杰","v":"王杰MV4K"},{"n":"W吴克群","v":"吴克群MV4K"},{"n":"W王心凌","v":"王心凌MV4K"},{"n":"W汪峰","v":"汪峰MV4K"},{"n":"W伍佰","v":"伍佰MV4K"},{"n":"W王菲","v":"王菲MV4K"},{"n":"W五月天","v":"五月天MV4K"},{"n":"W汪苏泷","v":"汪苏泷MV4K"},{"n":"X徐佳莹","v":"徐佳莹MV4K"},{"n":"X弦子","v":"弦子MV4K"},{"n":"X萧亚轩","v":"萧亚轩MV4K"},{"n":"X许巍","v":"许巍MV4K"},{"n":"X薛之谦","v":"薛之谦MV4K"},{"n":"X许嵩","v":"许嵩MV4K"},{"n":"X小虎队","v":"小虎队MV4K"},{"n":"X萧敬腾","v":"萧敬腾MV4K"},{"n":"X谢霆锋","v":"谢霆锋MV4K"},{"n":"X徐小凤","v":"徐小凤MV4K"},{"n":"X信乐队","v":"信乐队MV4K"},{"n":"Y夜愿乐队","v":"夜愿乐队MV4K"},{"n":"Y原创音乐","v":"原创音乐MV4K"},{"n":"Y羽泉","v":"羽泉MV4K"},{"n":"Y粤语","v":"粤语MV4K"},{"n":"Y郁可唯","v":"郁可唯MV4K"},{"n":"Y叶倩文","v":"叶倩文MV4K"},{"n":"Y杨坤","v":"杨坤MV4K"},{"n":"Y庾澄庆","v":"庾澄庆MV4K"},{"n":"Y尤长靖","v":"尤长靖MV4K"},{"n":"Y易烊千玺","v":"易烊千玺MV4K"},{"n":"Y袁娅维","v":"袁娅维MV4K"},{"n":"Y杨丞琳","v":"杨丞琳MV4K"},{"n":"Y杨千嬅","v":"杨千嬅MV4K"},{"n":"Y杨宗纬","v":"杨宗纬MV4K"},{"n":"Z周杰伦","v":"周杰伦MV4K"},{"n":"Z张学友","v":"张学友MV4K"},{"n":"Z张信哲","v":"张信哲MV4K"},{"n":"Z张宇","v":"张宇MV4K"},{"n":"Z周华健","v":"周华健MV4K"},{"n":"Z张韶涵","v":"张韶涵MV4K"},{"n":"Z周深","v":"周深MV4K"},{"n":"Z纵贯线","v":"纵贯线MV4K"},{"n":"Z赵雷","v":"赵雷MV4K"},{"n":"Z周传雄","v":"周传雄MV4K"},{"n":"Z张国荣","v":"张国荣MV4K"},{"n":"Z周慧敏","v":"周慧敏MV4K"},{"n":"Z张惠妹","v":"张惠妹MV4K"},{"n":"Z周笔畅","v":"周笔畅MV4K"},{"n":"Z郑中基","v":"郑中基MV4K"},{"n":"Z张艺兴","v":"张艺兴MV4K"},{"n":"Z张震岳","v":"张震岳MV4K"},{"n":"Z中国好声音","v":"中国好声音MV4K"},{"n":"Z张雨生","v":"张雨生MV4K"},{"n":"Z郑智化","v":"郑智化MV4K"},{"n":"Z卓依婷","v":"卓依婷MV4K"},{"n":"Z中岛美雪","v":"中岛美雪MV4K"}]},{"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"}]}],"帕梅拉":[{"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":"瘦腿","v":"帕梅拉瘦腿"},{"n":"腹部","v":"帕梅拉腹部"},{"n":"手臂","v":"帕梅拉手臂"},{"n":"热身","v":"帕梅拉热身"},{"n":"舞蹈","v":"帕梅拉舞蹈"},{"n":"燃脂","v":"帕梅拉燃脂"},{"n":"有氧","v":"帕梅拉有氧"},{"n":"拉伸","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"}]}],"知名UP主":[{"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":"知名UP主"},{"n":"菠萝赛东","v":"菠萝赛东"},{"n":"冯提莫","v":"冯提莫"},{"n":"林延秋","v":"林延秋"},{"n":"-LKs-","v":"-LKs-"},{"n":"小约翰可汗","v":"小约翰可汗"},{"n":"low馆长","v":"low馆长"},{"n":"自说自话的总裁","v":"自说自话的总裁"},{"n":"所长林超","v":"所长林超"},{"n":"世界未解之谜M","v":"世界未解之谜M"},{"n":"李永乐老师官方","v":"李永乐老师官方"},{"n":"罗兹","v":"罗兹"},{"n":"回到2049","v":"回到2049"},{"n":"二次元的中科院物理所","v":"二次元的中科院物理所"},{"n":"毕导THU","v":"毕导THU"},{"n":"罗翔讲刑法","v":"罗翔讲刑法"},{"n":"戴博士实验室","v":"戴博士实验室"},{"n":"芳斯塔芙","v":"芳斯塔芙"},{"n":"参赛者网","v":"参赛者网"},{"n":"三维地图看世界","v":"三维地图看世界"},{"n":"有机社会","v":"有机社会"},{"n":"乌鸦校尉CaptainWuya","v":"乌鸦校尉CaptainWuya"},{"n":"果壳","v":"果壳"},{"n":"严伯钧","v":"严伯钧"},{"n":"是你们的康康","v":"是你们的康康"},{"n":"老爸评测","v":"老爸评测"},{"n":"硬核的半佛仙人","v":"硬核的半佛仙人"},{"n":"盗月社食遇记","v":"盗月社食遇记"},{"n":"我是郭杰瑞","v":"我是郭杰瑞"},{"n":"无穷小亮的科普日常","v":"无穷小亮的科普日常"},{"n":"papi酱","v":"papi酱"},{"n":"老番茄","v":"老番茄"},{"n":"绵羊料理","v":"绵羊料理"},{"n":"老师好我叫何同学","v":"老师好我叫何同学"},{"n":"敬汉卿","v":"敬汉卿"},{"n":"周六野Zoey","v":"周六野Zoey"},{"n":"木鱼水心","v":"木鱼水心"},{"n":"凉风Kaze","v":"凉风Kaze"},{"n":"小潮院长","v":"小潮院长"},{"n":"中国BOY超级大猩猩","v":"中国BOY超级大猩猩"},{"n":"李子柒","v":"李子柒"},{"n":"敖厂长","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"}]}],"太极拳":[{"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":"邱慧芳","v":"太极拳邱慧芳"},{"n":"陈氏","v":"太极拳陈氏"},{"n":"武当","v":"太极拳武当"},{"n":"二十四式","v":"太极拳二十四式"},{"n":"三十六式","v":"太极拳三十六式"},{"n":"五禽戏","v":"五禽戏"},{"n":"八段锦","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"}]}],"舞蹈":[{"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":"宅舞","v":"宅舞"},{"n":"街舞","v":"街舞"},{"n":"中国舞","v":"中国舞"},{"n":"广场舞","v":"广场舞"},{"n":"交谊舞","v":"交谊舞"},{"n":"教程","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"}]}],"音乐":[{"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":"钢琴曲","v":"钢琴曲"},{"n":"协奏曲","v":"协奏曲r"},{"n":"中国古风音乐","v":"中国古风音乐"},{"n":"背景音乐","v":"背景音乐"},{"n":"助眠音乐r","v":"助眠音乐"},{"n":"胎教音乐","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"}]}],"歌曲":[{"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":"香港歌曲","v":"香港歌曲"},{"n":"台湾歌曲","v":"台湾歌曲"},{"n":"内地歌曲","v":"内地歌曲"},{"n":"英文歌曲","v":"英文歌曲"},{"n":"日文歌曲","v":"日文歌曲"},{"n":"小语种歌曲","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"}]}],"平面设计教学":[{"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":"Adobe Photoshop","v":"Adobe Photoshop教程"},{"n":"Adobe Illustrator","v":"Adobe Illustrator教程"},{"n":"CorelDRAW","v":"CorelDRAW教程"},{"n":"Adobe InDesign","v":"Adobe InDesign教程"},{"n":"Adobe Pagermaker","v":"Adobe Pagermaker教程"},{"n":"SAI","v":"SAI教程"},{"n":"Adobe Bridge","v":"Adobe Bridge教程"},{"n":"Adobe Pagermaker","v":"Adobe Pagermake教程r"},{"n":"3D Studio Max","v":"3D Studio Max教程"},{"n":"PR","v":"PR教程"},{"n":"AE","v":"AE教程"},{"n":"CINEMA 4D","v":"CINEMA 4D教程"}]},{"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"}]}],"软件教程":[{"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":"MT管理器","v":"MT管理器"},{"n":"NP管理器","v":"NP管理器"},{"n":"mixplorer","v":"mixplorer"},{"n":"脱壳","v":"脱壳"},{"n":"爬虫","v":"爬虫"},{"n":"json&jar","v":"json&jar"},{"n":"网盘挂载","v":"网盘挂载"},{"n":"alist+WebDav","v":"alist+WebDav"},{"n":"TVBox修改","v":"TVBox修改教程"},{"n":"EXCEL","v":"EXCEL教程"},{"n":"Git入门到精通","v":"Git入门到精通"},{"n":"java","v":"java教程"},{"n":"phyton","v":"phyton教程"},{"n":"xml","v":"xml教程"}]},{"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"}]}],"Windows":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"小姐姐超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"广场舞超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"舞曲超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"白噪音超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"搞笑超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"体育超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"4K":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"足球比赛合集超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"篮球超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"动物世界超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"儿童超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"荒野求生超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"纪录片超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"食谱":[{"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":"川菜食谱","v":"川菜食谱"},{"n":"豫菜食谱","v":"豫菜食谱"},{"n":"淮扬菜食谱","v":"淮扬菜食谱"},{"n":"湘菜食谱","v":"湘菜食谱"},{"n":"鲁菜食谱","v":"鲁菜食谱"},{"n":"粤菜食谱","v":"粤菜食谱"},{"n":"潮菜食谱","v":"潮菜食谱"},{"n":"浙菜食谱","v":"浙菜食谱"},{"n":"徽菜食谱","v":"徽菜食谱"},{"n":"闽菜食谱","v":"闽菜食谱"},{"n":"苏菜食谱","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"}]}],"健身":[{"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":"瘦腿","v":"瘦腿"},{"n":"腹部","v":"腹部"},{"n":"手臂","v":"手臂"},{"n":"热身","v":"热身"},{"n":"帕梅拉","v":"帕梅拉"},{"n":"燃脂","v":"燃脂"},{"n":"有氧","v":"有氧"},{"n":"拉伸","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"}]}],"窗白噪音":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"美食超清":[{"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":"舌尖上的中国","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":"徽菜美食超清"},{"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":"西班牙菜"},{"n":"土耳其菜","v":"土耳其菜系"},{"n":"阿拉伯菜","v":"阿拉伯菜"},{"n":"德国菜","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"}]}],"广场舞":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"球星":[{"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":"梅西","v":"梅西"},{"n":"C罗","v":"C罗"},{"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":"NBA","v":"NBA"},{"n":"詹姆斯","v":"詹姆斯"},{"n":"库里","v":"库里"},{"n":"杜兰特","v":"杜兰特"},{"n":"UFC","v":"UFC"},{"n":"斯诺克","v":"斯诺克"},{"n":"网球","v":"网球"},{"n":"F1","v":"F1"},{"n":"高尔夫","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"}]}],"电视剧":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"相声小品超清":[{"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":"单口相声","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":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"戏曲":[{"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":"京剧","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":"滑稽戏"},{"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":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"旅游":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"游泳":[{"key":"tid","name":"分类","value":[{"n":"全部","v":"泳姿"},{"n":"蝶泳","v":"蝶泳"},{"n":"仰泳","v":"仰泳"},{"n":"蛙泳","v":"蛙泳"},{"n":"自由泳","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"}]}]}} -------------------------------------------------------------------------------- /ext/biliych.json: -------------------------------------------------------------------------------- 1 | {"class":[{"type_name":"登陆配置","type_id":"peizhi"},{"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"}]}]}} -------------------------------------------------------------------------------- /favicon/favicon1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyao2q/files/a22419a005d630db0dccfdc351c6a152d06e962f/favicon/favicon1.png -------------------------------------------------------------------------------- /favicon/favicon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyao2q/files/a22419a005d630db0dccfdc351c6a152d06e962f/favicon/favicon2.png -------------------------------------------------------------------------------- /jar/Butterfly.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyao2q/files/a22419a005d630db0dccfdc351c6a152d06e962f/jar/Butterfly.jar -------------------------------------------------------------------------------- /jar/Extra.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyao2q/files/a22419a005d630db0dccfdc351c6a152d06e962f/jar/Extra.jar -------------------------------------------------------------------------------- /js/ddys.js: -------------------------------------------------------------------------------- 1 | var lists = `js: 2 | log(TABS); 3 | let d = []; 4 | pdfh = jsp.pdfh; 5 | pdfa = jsp.pdfa; 6 | if (typeof play_url === "undefined") { 7 | var play_url = "" 8 | } 9 | 10 | function getLists(html) { 11 | let src = pdfh(html, ".wp-playlist-script&&Html"); 12 | src = JSON.parse(src).tracks; 13 | let list1 = []; 14 | let list2 = []; 15 | let url1 = ""; 16 | let url2 = ""; 17 | src.forEach(function(it) { 18 | let src0 = it.src0; 19 | let src1 = it.src1; 20 | let title = it.caption; 21 | url1 = "https://v.ddys.pro" + src0; 22 | url2 = "https://ddys.pro/getvddr2/video?id=" + src1 + "&type=mix"; 23 | let zm = "https://ddys.pro/subddr/" + it.subsrc; 24 | list1.push({ 25 | title: title, 26 | url: url1, 27 | desc: zm 28 | }); 29 | list2.push({ 30 | title: title, 31 | url: url2, 32 | desc: zm 33 | }) 34 | }); 35 | return { 36 | list1: list1, 37 | list2: list2 38 | } 39 | } 40 | var data = getLists(html); 41 | var list1 = data.list1; 42 | var list2 = data.list2; 43 | let nums = pdfa(html, "body&&.post-page-numbers"); 44 | nums.forEach(function(it) { 45 | let num = pdfh(it, "body&&Text"); 46 | log(num); 47 | let nurl = input + num + "/"; 48 | if (num == 1) { 49 | return 50 | } 51 | log(nurl); 52 | let html = request(nurl); 53 | let data = getLists(html); 54 | list1 = list1.concat(data.list1); 55 | list2 = list2.concat(data.list2) 56 | }); 57 | list1 = list1.map(function(item) { 58 | return item.title + "$" + play_url + urlencode(item.url + "|" + input + "|" + item.desc) 59 | }); 60 | list2 = list2.map(function(item) { 61 | return item.title + "$" + play_url + urlencode(item.url + "|" + input + "|" + item.desc) 62 | }); 63 | LISTS = [list1, list2]; 64 | `; 65 | 66 | var lazy = `js: 67 | let purl = input.split("|")[0]; 68 | let referer = input.split("|")[1]; 69 | let zm = input.split("|")[2]; 70 | print("purl:" + purl); 71 | print("referer:" + referer); 72 | print("zm:" + zm); 73 | if (/getvddr/.test(purl)) { 74 | let html = request(purl, { 75 | headers: { 76 | Referer: HOST, 77 | "User-Agent": MOBILE_UA 78 | } 79 | }); 80 | print(html); 81 | try { 82 | input = {jx:0,url:JSON.parse(html).url,parse:0} || {} 83 | } catch (e) { 84 | input = purl 85 | } 86 | } else { 87 | input = { 88 | jx: 0, 89 | url: purl, 90 | parse: 0, 91 | header: JSON.stringify({ 92 | 'user-agent': MOBILE_UA, 93 | 'referer': HOST 94 | }) 95 | } 96 | } 97 | `; 98 | 99 | // 网址发布页 https://ddys.site 100 | var rule={ 101 | title:'ddys', 102 | host:'https://ddys.pro/', 103 | //hostJs:'print(HOST);let html=request(HOST,{headers:{"User-Agent":MOBILE_UA}});HOST = jsp.pdfh(html,"a:eq(1)&&href")', 104 | url:'/fyclass/page/fypage/', 105 | searchUrl:'/?s=**&post_type=post', 106 | searchable:2, 107 | quickSearch:0, 108 | filterable:0, 109 | headers:{ 110 | 'User-Agent':'MOBILE_UA', 111 | }, 112 | class_parse:'#primary-menu li.menu-item;a&&Text;a&&href;\.pro/(.*)', 113 | cate_exclude:'站长|^其他$|关于|^电影$|^剧集$|^类型$', 114 | play_parse:true, 115 | // lazy:'js:let purl=input.split("|")[0];let referer=input.split("|")[1];let zm=input.split("|")[2];print("purl:"+purl);print("referer:"+referer);print("zm:"+zm);let myua="okhttp/3.15";if(/ddrkey/.test(purl)){let ret=request(purl,{Referer:referer,withHeaders:true,"User-Agent":myua});log(ret);input=purl}else{let html=request(purl,{headers:{Referer:referer,"User-Agent":myua}});print(html);try{input=JSON.parse(html).url||{}}catch(e){input=purl}}', 116 | lazy:lazy, 117 | limit:6, 118 | 推荐:'*', 119 | double:true, // 推荐内容是否双层定位 120 | 一级:'.post-box-list&&article;a:eq(-1)&&Text;.post-box-image&&style;a:eq(0)&&Text;a:eq(-1)&&href', 121 | 二级:{ 122 | "title":".post-title&&Text;.cat-links&&Text", 123 | "img":".doulist-item&&img&&data-cfsrc", 124 | "desc":".published&&Text", 125 | "content":".abstract&&Text", 126 | // "tabs":"js:TABS=['国内','海外(貌似不能播放)']", 127 | "tabs":"js:TABS=['👑公众号:多多影音👑(Exo)','国内2']", 128 | // "lists":"js:log(TABS);let d=[];pdfh=jsp.pdfh;pdfa=jsp.pdfa;if(typeof play_url===\"undefined\"){var play_url=\"\"}function getLists(html){let src=pdfh(html,\".wp-playlist-script&&Html\");src=JSON.parse(src).tracks;let list1=[];let list2=[];src.forEach(function(it){let src0=it.src0;let src1=it.src1;let src2=it.src2;let title=it.caption;let url1=\"https://ddys.tv/getvddr/video?id=\"+src1+\"&dim=1080P+&type=mix\";let url2=\"https://w.ddys.tv\"+src0+\"?ddrkey=\"+src2;let zm=\"https://ddys.tv/subddr/\"+it.subsrc;list1.push({title:title,url:url1,desc:zm});list2.push({title:title,url:url2,desc:zm})});return{list1:list1,list2:list2}}var data=getLists(html);var list1=data.list1;var list2=data.list2;let nums=pdfa(html,\"body&&.post-page-numbers\");nums.forEach(function(it){let num=pdfh(it,\"body&&Text\");log(num);let nurl=input+num+\"/\";if(num==1){return}log(nurl);let html=request(nurl);let data=getLists(html);list1=list1.concat(data.list1);list2=list2.concat(data.list2)});list1=list1.map(function(item){return item.title+\"$\"+play_url+urlencode(item.url+\"|\"+input+\"|\"+item.desc)});list2=list2.map(function(item){return item.title+\"$\"+play_url+urlencode(item.url+\"|\"+input+\"|\"+item.desc)});LISTS=[list1,list2];", 129 | // lists:'js:log(TABS);let d=[];pdfh=jsp.pdfh;pdfa=jsp.pdfa;if(typeof play_url==="undefined"){var play_url=""}function getLists(html){let src=pdfh(html,".wp-playlist-script&&Html");src=JSON.parse(src).tracks;let list1=[];let list2=[];src.forEach(function(it){let src0=it.src0;let src1=it.src1;let src2=it.src2;let title=it.caption;let url1="https://ddys.pro/getvddr/video?id="+src1+"&dim=1080P+&type=mix";let url2="https://w.ddys.pro"+src0+"?ddrkey="+src2;let zm="https://ddys.pro/subddr/"+it.subsrc;list1.push({title:title,url:url1,desc:zm});list2.push({title:title,url:url2,desc:zm})});return{list1:list1,list2:list2}}var data=getLists(html);var list1=data.list1;var list2=data.list2;let nums=pdfa(html,"body&&.post-page-numbers");nums.forEach(function(it){let num=pdfh(it,"body&&Text");log(num);let nurl=input+num+"/";if(num==1){return}log(nurl);let html=request(nurl);let data=getLists(html);list1=list1.concat(data.list1);list2=list2.concat(data.list2)});list1=list1.map(function(item){return item.title+"$"+play_url+urlencode(item.url+"|"+input+"|"+item.desc)});list2=list2.map(function(item){return item.title+"$"+play_url+urlencode(item.url+"|"+input+"|"+item.desc)});LISTS=[list1,list2];', 130 | "lists":lists 131 | }, 132 | 搜索:'#main&&article;.post-title&&Text;;.published&&Text;a&&href' 133 | } -------------------------------------------------------------------------------- /js/douban.js: -------------------------------------------------------------------------------- 1 | var rule = { 2 | title:'drpy', 3 | host:'https://frodo.douban.com', 4 | apidoc:'https://www.doubanapi.com', 5 | homeUrl:'', 6 | searchUrl:'', 7 | searchable:1, 8 | quickSearch:1, 9 | filterable:1, 10 | // 分类链接fypage参数支持1个()表达式 11 | url:'/?pg=fypage&class=fyclass&douban=$douban', 12 | filter_url:'fl={{fl}}', 13 | 图片来源:'@Referer=https://api.douban.com/@User-Agent=Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/113.0.0.0%20Safari/537.36', 14 | headers:{ 15 | "Host": "frodo.douban.com", 16 | // "Host": "api.douban.com", 17 | "Connection": "Keep-Alive", 18 | "Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html", 19 | // "content-type": "application/json", 20 | "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat" 21 | }, 22 | timeout:5000, 23 | class_name:'热门电影&热播剧集&热播综艺&电影筛选&电视筛选&电影榜单&电视榜单', 24 | class_url:'hot_gaia&tv_hot&show_hot&movie&tv&rank_list_movie&rank_list_tv', 25 | filter:{'interests': [{'key': 'status', 'name': '状态', 'value': [{'n': '想看', 'v': 'mark'}, {'n': '在看', 'v': 'doing'}, {'n': '看过', 'v': 'done'}]}, {'key': 'subtype_tag', 'name': '形式', 'value': [{'n': '全部', 'v': ''}, {'n': '电影', 'v': 'movie'}, {'n': '电视', 'v': 'tv'}]}, {'key': 'year_tag', 'name': '年代', 'value': [{'n': '全部', 'v': '全部'}, {'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': '更早'}]}], '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': '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': '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'}]}]}, 26 | limit:20, 27 | play_parse:false, 28 | 推荐:'', 29 | 推荐:'js:let d=[];let douban_api_host="http://api.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function subject_real_time_hotest(){try{let res=miniapp_request("/subject_collection/subject_real_time_hotest/items",{});let lists=[];let arr=res.subject_collection_items||[];arr.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"暂无评分";let honnor=(item.honor_infos||[]).map(function(it){return it.title}).join("|");lists.append({vod_id:"msearch:"+TYPE,vod_name:item.title||"",vod_pic:item.pic.normal,vod_remarks:rating+" "+honnor})}});return lists}catch(e){print("发生了错误:"+e.message);return[]}}VODS=subject_real_time_hotest();print(VODS);', 30 | // 手动调用解析请求json的url,此lazy不方便 31 | lazy:'', 32 | // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', 33 | 一级:'', 34 | 一级:'js:let d=[];let douban=input.split("douban=")[1].split("&")[0];let douban_api_host="http://api.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);if(/request_error/.test(html)){print(html)}return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function cate_filter(d,douban){douban=douban||"";try{let res={};if(MY_CATE==="interests"){if(douban){let status=MY_FL.status||"mark";let subtype_tag=MY_FL.subtype_tag||"";let year_tag=MY_FL.year_tag||"全部";let path="/user/"+douban+"/interests";res=miniapp_request(path,{type:"movie",status:status,subtype_tag:subtype_tag,year_tag:year_tag,start:(MY_PAGE-1)*count,count:count})}else{return{}}}else if(MY_CATE==="hot_gaia"){let sort=MY_FL.sort||"recommend";let area=MY_FL.area||"全部";let path="/movie/"+MY_CATE;res=miniapp_request(path,{area:area,sort:sort,start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE==="tv_hot"||MY_CATE==="show_hot"){let stype=MY_FL.type||MY_CATE;let path="/subject_collection/"+stype+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE.startsWith("rank_list")){let id=MY_CATE==="rank_list_movie"?"movie_real_time_hotest":"tv_real_time_hotest";id=MY_FL.榜单||id;let path="/subject_collection/"+id+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else{let path="/"+MY_CATE+"/recommend";let selected_categories;let tags;let sort;if(Object.keys(MY_FL).length>0){sort=MY_FL.sort||"T";tags=Object.values(MY_FL).join(",");if(MY_CATE==="movie"){selected_categories={"类型":MY_FL.类型||"","地区":MY_FL.地区||""}}else{selected_categories={"类型":MY_FL.类型||"","形式":MY_FL.类型?MY_FL.类型+"地区":"","地区":MY_FL.地区||""}}}else{sort="T";tags="";if(MY_CATE==="movie"){selected_categories={"类型":"","地区":""}}else{selected_categories={"类型":"","形式":"","地区":""}}}let params={tags:tags,sort:sort,refresh:0,selected_categories:stringify(selected_categories),start:(MY_PAGE-1)*count,count:count};res=miniapp_request(path,params)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/^rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d,douban);setResult2(res);', 35 | 二级:'', 36 | 搜索:'', 37 | } -------------------------------------------------------------------------------- /js/drpymin2.js: -------------------------------------------------------------------------------- 1 | import cheerio from"./cheerio.min.js";import"./crypto-js.js";import 模板 from"./模板.js";import{gbkTool}from"./gbk.js";function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log("预处理执行失败:"+e.message)}}}let rule={};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.46beta12 20230709";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://drpy.nokia.press:8028/ocr/drpy/text";if(typeof MY_URL==="undefined"){var MY_URL}var HOST;var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url)$/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];globalThis.encodeUrl=urlencode;globalThis.urlencode=urlencode;function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./uri.min.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{log("通过drpy_ocr验证码接口过验证...");let html=request(OCR_API,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true);code=html||""}catch(e){log(`OCR识别验证码发生错误:${e.message}`)}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie,"User-Agent":MOBILE_UA},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj.method="POST";return request(url,obj)}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){log("历史无cookie,新增过验证后的cookie");obj.headers["Cookie"]=cookie}else if(obj.headers&&obj.headers.cookie&&obj.headers.cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有小写过期的cookie,更新过验证后的cookie")}else if(obj.headers&&obj.headers.Cookie&&obj.headers.Cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有大写过期的cookie,更新过验证后的cookie")}else if(!obj.headers){obj.headers={Cookie:cookie};log("历史无headers,更新过验证后的含cookie的headers")}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表双层定位处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表单层定位处理发生错误:"+e.message)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd).replaceAll("fypage",searchObj.pg);MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(detailObj.二级访问前){try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`);eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}}if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let new_vod_list=[];let tt1=(new Date).getTime();if(typeof pdfl==="function"){new_vod_list=pdfl(html,p1,list_text,list_url,MY_URL)}else{let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}for(let i=0;i0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);return JSON.stringify({list:[vod]})}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function proxyParse(proxyObj){var input=proxyObj.params;if(proxyObj.proxy_rule){log("准备执行本地代理规则:\n"+proxyObj.proxy_rule);try{eval(proxyObj.proxy_rule);if(input&&input!==proxyObj.params&&Array.isArray(input)&&input.length===3){return input}else{return[404,"text/plain","Not Found"]}}catch(e){return[500,"text/plain","代理规则错误:"+e.message]}}else{return[404,"text/plain","Not Found"]}}function init(ext){console.log("init");try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}else{eval(ext.replace("var rule","rule"))}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");HOST=rule.host;if(rule.hostJs){console.log(`检测到hostJs,准备执行...`);try{eval(rule.hostJs);rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:`+e.message)}}rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;rule.二级访问前=rule.二级访问前||"";if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.search_encoding=rule.搜索编码||rule.search_encoding||"";rule.图片来源=rule.图片来源||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};rule.proxy_rule=rule.hasOwnProperty("proxy_rule")?rule.proxy_rule:"";if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}else if(k.toLowerCase()==="cookie"){let v=rule.headers[k];if(v&&v.startsWith("http")){console.log(v);try{v=fetch(v);console.log(v);rule.headers[k]=v}catch(e){console.log(`从${v}获取cookie发生错误:`+e.message)}}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";log("orId:"+orId);if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick){if(rule.search_encoding){if(rule.search_encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.search_encoding)}}else if(rule.encoding&&rule.encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.encoding)}let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:1,quick:quick};return searchParse(searchObj)}function proxy(params){if(rule.proxy_rule&&rule.proxy_rule.trim()){rule.proxy_rule=rule.proxy_rule.trim()}if(rule.proxy_rule.startsWith(":js")){rule.proxy_rule=rule.proxy_rule.replace(":js","")}let proxyObj={params:params,proxy_rule:rule.proxy_rule};return proxyParse(proxyObj)}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,DRPY:DRPY}; -------------------------------------------------------------------------------- /js/kuqimv.js: -------------------------------------------------------------------------------- 1 | var rule = { 2 | title:'酷奇MV', 3 | host:'https://www.kuqimv.com', 4 | url:'/play/fyclass_fypage.html', 5 | searchUrl:'/search.php?key=**&pages=fypage', 6 | searchable:2, 7 | quickSearch:0, 8 | class_name:'华语高清&日韩精选&欧美MV&高清现场&影视MV&夜店视频&车模视频&热舞视频&美女写真&美女打碟', 9 | class_url:'1&2&3&4&5&6&7&8&9&10', 10 | headers:{ 11 | 'User-Agent':'MOBILE_UA' 12 | }, 13 | timeout:5000, 14 | play_parse:true, 15 | lazy:'', 16 | limit:6, 17 | double:false, 18 | 推荐:'*', 19 | 一级:'js:var d=[];pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;var html=request(input);let list=pdfa(html,".mv_list&&li");list.forEach((it)=>{d.push({title:pdfh(it,".name&&Text"),desc:"🎤"+pdfh(it,".singer&&Text")+"|"+pdfh(it,".time&&Text"),pic_url:pd(it,"img&&src"),url:pd(it,"a&&href"),})});setResult(d);', 20 | 二级:'*', 21 | 搜索:'.video_list&&li;a&&title;;.singer&&Text;a&&href;.t_03:eq(1)&&Text', 22 | } 23 | -------------------------------------------------------------------------------- /js/libvio.js: -------------------------------------------------------------------------------- 1 | // 永久网址:https://libvio.app 2 | muban.首图2.二级.title = 'h1&&Text;.data:eq(0)&&Text' 3 | muban.首图2.二级.desc = '.data.hidden-xs&&Text;;;.data:eq(1)&&Text;.data:eq(4)&&Text' 4 | muban.首图2.二级.content = '.detail-content&&Text' 5 | var rule = { 6 | title:'LIBVIO', 7 | 模板:'首图2', 8 | host:'https://iioo.me/', 9 | hostJs:'print(HOST);let html=request(HOST,{headers:{"User-Agent":PC_UA}});let src=jsp.pdfh(html,"li:eq(0)&&a:eq(2)&&href");print(src);HOST=src', 10 | url:'/show/fyclassfyfilter.html', 11 | filterable:1,//是否启用分类筛选, 12 | filter_url:'-{{fl.area}}-{{fl.by}}--{{fl.lang}}----fypage---{{fl.year}}', 13 | filter: { 14 | "1":[{"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":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"法语","v":"法语"},{"n":"德语","v":"德语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], 15 | "2":[{"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":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], 16 | "4":[{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国","v":"中国"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], 17 | "27":[{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], 18 | "15":[{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], 19 | "16":[{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"美国","v":"美国"},{"n":"英国","v":"英国"},{"n":"德国","v":"德国"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}] 20 | }, 21 | headers:{//网站的请求头,完整支持所有的,常带ua和cookies 22 | 'User-Agent':'MOBILE_UA' 23 | }, 24 | class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', 25 | tab_exclude:'夸克网盘|百度云盘', 26 | pagecount:{"27":1}, 27 | lazy:`js: var html = JSON.parse(request(input).match(/r player_.*?=(.*?) responseText 150 | }, 151 | 'responseText': { 152 | configurable: true, 153 | enumerable: true, 154 | get: () => responseText 155 | } 156 | }); 157 | } 158 | } 159 | } 160 | 161 | // 修改用户信息 162 | function modifyUserInfo(res) { 163 | if (!res.data) return; 164 | 165 | res.data.Vip = true; 166 | res.data.VipLevel = user.svip ? 2 : 1; 167 | if (user.ad === 1) res.data.IsShowAdvertisement = false; 168 | 169 | if (user.endtime) { 170 | let time = new Date(user.endtime * 1000); 171 | res.data.VipExpire = time.toLocaleString(); 172 | res.data.UserVipDetailInfos = [{ 173 | VipDesc: user.svip === 1 ? "SVIP 会员" : "VIP 会员", 174 | TimeDesc: time.toLocaleDateString() + " 到期", 175 | IsUse: time >= new Date() 176 | }]; 177 | } 178 | 179 | if (user.name) res.data.Nickname = user.name; 180 | if (user.photo) res.data.HeadImage = user.photo; 181 | if (user.mail) res.data.Mail = user.mail; 182 | if (user.phone) res.data.Passport = Number(user.phone); 183 | if (user.id) res.data.UID = Number(user.id); 184 | } 185 | 186 | // 修改下载信息 187 | function modifyDownloadInfo(res, url) { 188 | if (!res.data) return; 189 | 190 | let downloadUrl = res.data.DownloadUrl || res.data.DownloadURL; 191 | if (!downloadUrl) return; 192 | 193 | try { 194 | let originURL = new URL(downloadUrl); 195 | if (originURL.origin.includes("web-pro")) { 196 | let directURL = new URL(decodeURIComponent(atob(originURL.searchParams.get('params'))), originURL.origin); 197 | directURL.searchParams.set('auto_redirect', 0); 198 | originURL.searchParams.set('params', btoa(directURL.href)); 199 | downloadUrl = originURL.href; 200 | } else { 201 | originURL.searchParams.set('auto_redirect', 0); 202 | let newURL = new URL('https://web-pro2.123952.com/download-v2/', originURL.origin); 203 | newURL.searchParams.set('params', btoa(encodeURI(originURL.href))); 204 | newURL.searchParams.set('is_s3', 0); 205 | downloadUrl = decodeURIComponent(newURL.href); 206 | } 207 | 208 | if (res.data.DownloadUrl) res.data.DownloadUrl = downloadUrl; 209 | if (res.data.DownloadURL) res.data.DownloadURL = downloadUrl; 210 | } catch (e) { 211 | console.error('Download URL modification error:', e); 212 | } 213 | } 214 | 215 | // 替换原始的XMLHttpRequest 216 | unsafeWindow.XMLHttpRequest = CustomXHR; 217 | 218 | // 重写fetch 219 | unsafeWindow.fetch = async function(url, options) { 220 | if (url.includes('web_logs') || url.includes('metrics')) { 221 | throw new Error('【123 云盘解锁】已屏蔽此数据收集器'); 222 | } 223 | return originalFetch(url, options); 224 | }; 225 | 226 | // 重写atob 227 | const originalAtob = unsafeWindow.atob; 228 | unsafeWindow.atob = function(str) { 229 | try { 230 | return originalAtob(decodeURIComponent(str)); 231 | } catch (e) { 232 | return originalAtob(str); 233 | } 234 | }; 235 | 236 | // 十连抽(bushi):console.log(reddem(),reddem(),reddem(),reddem(),reddem(),reddem(),reddem(),reddem(),reddem(),reddem()) 237 | let reddem = unsafeWindow.reddem = () => { 238 | const and = { 239 | os: "Android", 240 | vers: ["6.0", "7.1.2", "8.1.0", "9.0", "10.0"] 241 | }; 242 | const ios = { 243 | os: "iOS", 244 | vers: ["12.0", "13.4", "14.0", "15.0"] 245 | }; 246 | 247 | const devs = { 248 | "Apple": ios, 249 | "Xiaomi": and, 250 | "Samsung": and, 251 | "Huawei": { 252 | ...and, 253 | hmos: () => (Math.random() < 0.5 ? "HarmonyOS;" : ""), 254 | hmsCore: () => `HMScore ${Math.floor(Math.random() * 7) + 1}.${Math.floor(Math.random() * 10)}.${Math.floor(Math.random() * 10)}.${Math.floor(Math.random() * 1000)};` 255 | }, 256 | "Google": and, 257 | "Oneplus": and, 258 | "Vivo": and, 259 | "Oppo": and 260 | }; 261 | 262 | const appXVers = [ 263 | "2.1.3", "2.1.4", 264 | "2.3.1", "2.3.2", "2.3.4", "2.3.5", 265 | "2.3.6", "2.3.7", "2.3.8", "2.3.9", 266 | "2.3.12", "2.3.13", "2.3.14", 267 | "2.4.0", "2.4.1", "2.4.7" 268 | ]; 269 | const appVers = [ 270 | "38", "39", 271 | "42", "43", "44", "45", 272 | "46", "47", "48", "49", 273 | "50", "54", "55", 274 | "56", "61", "62", "69" 275 | ]; 276 | const appXVer = appXVers[Math.floor(Math.random() * appXVers.length)]; 277 | const appVer = appVers[appXVers.indexOf(appXVer)]; 278 | 279 | const brands = Object.keys(devs); 280 | const brand = brands[Math.floor(Math.random() * brands.length)]; 281 | const { 282 | os, 283 | vers 284 | } = devs[brand]; 285 | 286 | const osVer = vers[Math.floor(Math.random() * vers.length)]; 287 | 288 | return { 289 | ua: `123pan/v${appXVer} (${os}_${osVer};${brand})`, 290 | version: Number(appVer), 291 | versionX: appXVer, 292 | osVersion: osVer, 293 | os: os, 294 | brand: brand 295 | } 296 | } 297 | 298 | // 格式化设置项 299 | const formatSetting = (key, value, comment) => { 300 | const item = document.createElement('div'); 301 | item.style.cssText = ` 302 | padding: 12px; 303 | background: #f8f9fa; 304 | border-radius: 6px; 305 | border: 1px solid #e0e0e0; 306 | `; 307 | 308 | const content = document.createElement('div'); 309 | content.style.cssText = ` 310 | display: flex; 311 | justify-content: space-between; 312 | align-items: center; 313 | flex-wrap: wrap; 314 | gap: 10px; 315 | `; 316 | 317 | const keyElement = document.createElement('strong'); 318 | keyElement.style.cssText = ` 319 | color: #202124; 320 | margin-right: 10px; 321 | flex: 1; 322 | `; 323 | keyElement.textContent = `${key}:`; 324 | content.appendChild(keyElement); 325 | 326 | // 判断设置类型 327 | const isSwitch = typeof value === 'number' && (value === 0 || value === 1); 328 | const isEditable = ['用户名', '头像', '等级'].includes(key); 329 | 330 | if (isSwitch) { 331 | // 创建开关按钮 332 | const switchContainer = document.createElement('div'); 333 | switchContainer.style.cssText = ` 334 | position: relative; 335 | display: inline-block; 336 | width: 44px; 337 | height: 24px; 338 | background: ${value ? '#1a73e8' : '#ccc'}; 339 | border-radius: 12px; 340 | transition: all 0.3s; 341 | cursor: pointer; 342 | flex-shrink: 0; 343 | `; 344 | 345 | const switchKnob = document.createElement('div'); 346 | switchKnob.style.cssText = ` 347 | position: absolute; 348 | top: 2px; 349 | left: ${value ? '22px' : '2px'}; 350 | width: 20px; 351 | height: 20px; 352 | background: white; 353 | border-radius: 50%; 354 | transition: all 0.3s; 355 | box-shadow: 0 2px 4px rgba(0,0,0,0.2); 356 | `; 357 | 358 | switchContainer.appendChild(switchKnob); 359 | 360 | // 添加点击事件 361 | switchContainer.onclick = () => { 362 | const newValue = value === 1 ? 0 : 1; 363 | // 更新用户配置 364 | switch (key) { 365 | case 'VIP状态': 366 | user.vip = newValue; 367 | GM_setValue('vip', newValue); 368 | break; 369 | case 'SVIP显示': 370 | user.svip = newValue; 371 | GM_setValue('svip', newValue); 372 | break; 373 | case '广告控制': 374 | user.ad = newValue; 375 | GM_setValue('ad', newValue); 376 | break; 377 | case '调试模式': 378 | user.debug = newValue; 379 | GM_setValue('debug', newValue); 380 | break; 381 | } 382 | 383 | // 更新开关状态 384 | switchContainer.style.background = newValue ? '#1a73e8' : '#ccc'; 385 | switchKnob.style.left = newValue ? '22px' : '2px'; 386 | value = newValue; 387 | 388 | // 刷新页面以应用更改 389 | location.reload(); 390 | }; 391 | 392 | content.appendChild(switchContainer); 393 | } else if (isEditable) { 394 | // 创建输入框 395 | const inputElement = document.createElement('input'); 396 | inputElement.type = key === '等级' ? 'number' : 'text'; 397 | inputElement.value = value; 398 | inputElement.style.cssText = ` 399 | flex: 2; 400 | padding: 6px 10px; 401 | border: 1px solid #ddd; 402 | border-radius: 4px; 403 | font-size: 14px; 404 | width: 200px; 405 | transition: border-color 0.3s; 406 | `; 407 | 408 | if (key === '等级') { 409 | inputElement.min = 0; 410 | inputElement.max = 128; 411 | } 412 | 413 | // 添加输入框焦点效果 414 | inputElement.addEventListener('focus', () => { 415 | inputElement.style.borderColor = '#1a73e8'; 416 | }); 417 | 418 | inputElement.addEventListener('blur', () => { 419 | inputElement.style.borderColor = '#ddd'; 420 | }); 421 | 422 | // 添加保存按钮 423 | const saveButton = document.createElement('button'); 424 | saveButton.textContent = '保存'; 425 | saveButton.style.cssText = ` 426 | padding: 6px 12px; 427 | background: #1a73e8; 428 | color: white; 429 | border: none; 430 | border-radius: 4px; 431 | cursor: pointer; 432 | font-size: 12px; 433 | margin-left: 8px; 434 | transition: background 0.2s; 435 | `; 436 | 437 | saveButton.onmouseover = () => { 438 | saveButton.style.background = '#1557b0'; 439 | }; 440 | saveButton.onmouseout = () => { 441 | saveButton.style.background = '#1a73e8'; 442 | }; 443 | 444 | // 保存按钮点击事件 445 | saveButton.onclick = () => { 446 | let newValue = inputElement.value; 447 | if (key === '等级') { 448 | newValue = parseInt(newValue); 449 | if (isNaN(newValue) || newValue < 0 || newValue > 128) { 450 | alert('等级必须在 0-128 之间'); 451 | return; 452 | } 453 | } 454 | 455 | // 更新配置 456 | switch (key) { 457 | case '用户名': 458 | user.name = newValue; 459 | GM_setValue('name', newValue); 460 | break; 461 | case '头像': 462 | user.photo = newValue; 463 | GM_setValue('photo', newValue); 464 | break; 465 | case '等级': 466 | user.level = newValue; 467 | GM_setValue('level', newValue); 468 | break; 469 | } 470 | 471 | // 显示保存成功提示 472 | const successTip = document.createElement('span'); 473 | successTip.textContent = '已保存'; 474 | successTip.style.cssText = ` 475 | color: #188038; 476 | font-size: 12px; 477 | margin-left: 8px; 478 | `; 479 | content.appendChild(successTip); 480 | setTimeout(() => successTip.remove(), 2000); 481 | 482 | // 刷新页面以应用更改 483 | location.reload(); 484 | }; 485 | 486 | const inputContainer = document.createElement('div'); 487 | inputContainer.style.cssText = ` 488 | display: flex; 489 | align-items: center; 490 | flex: 2; 491 | `; 492 | inputContainer.appendChild(inputElement); 493 | inputContainer.appendChild(saveButton); 494 | content.appendChild(inputContainer); 495 | } else { 496 | // 非编辑项的显示 497 | const valueElement = document.createElement('span'); 498 | valueElement.style.cssText = ` 499 | color: ${typeof value === 'number' ? '#1a73e8' : '#188038'}; 500 | font-weight: 500; 501 | word-break: break-all; 502 | text-align: right; 503 | flex: 2; 504 | `; 505 | valueElement.textContent = key === '过期时间' ? new Date(value * 1000).toLocaleString() : value; 506 | content.appendChild(valueElement); 507 | } 508 | 509 | item.appendChild(content); 510 | 511 | if (comment) { 512 | const commentElement = document.createElement('div'); 513 | commentElement.style.cssText = ` 514 | margin-top: 8px; 515 | font-size: 12px; 516 | color: #5f6368; 517 | line-height: 1.4; 518 | `; 519 | commentElement.textContent = comment; 520 | item.appendChild(commentElement); 521 | } 522 | 523 | return item; 524 | }; 525 | 526 | function createSettingsPanel() { 527 | // 检查是否已存在面板 528 | if (document.getElementById('vip-settings-panel')) { 529 | return; 530 | } 531 | 532 | // 创建面板容器 533 | const panel = document.createElement('div'); 534 | panel.id = 'vip-settings-panel'; 535 | panel.style.cssText = ` 536 | position: fixed; 537 | bottom: 20px; 538 | right: 20px; 539 | background: linear-gradient(to bottom, rgba(255, 255, 255, 0.98), rgba(250, 250, 250, 0.98)); 540 | backdrop-filter: blur(10px); 541 | padding: 25px; 542 | border-radius: 12px; 543 | box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); 544 | z-index: 9999; 545 | width: 520px; 546 | font-size: 14px; 547 | max-height: 85vh; 548 | overflow-y: auto; 549 | font-family: Arial, sans-serif; 550 | border: 1px solid rgba(230, 230, 230, 0.7); 551 | scrollbar-width: thin; 552 | scrollbar-color: #1a73e8 #f8f9fa; 553 | `; 554 | 555 | // 创建标题 556 | const title = document.createElement('h3'); 557 | title.textContent = '123云盘VIP设置面板'; 558 | title.style.cssText = ` 559 | margin: 0 0 15px 0; 560 | font-size: 18px; 561 | font-weight: bold; 562 | padding-bottom: 10px; 563 | border-bottom: 2px solid #e0e0e0; 564 | background: linear-gradient(135deg, #1a73e8, #1557b0); 565 | -webkit-background-clip: text; 566 | -webkit-text-fill-color: transparent; 567 | letter-spacing: 0.5px; 568 | `; 569 | panel.appendChild(title); 570 | 571 | // 创建设置列表 572 | const settingsList = document.createElement('div'); 573 | settingsList.style.cssText = ` 574 | display: grid; 575 | gap: 15px; 576 | padding: 20px; 577 | background: rgba(255, 255, 255, 0.5); 578 | border-radius: 8px; 579 | `; 580 | 581 | // 添加所有设置项 582 | const settings = [{ 583 | key: 'VIP状态', 584 | value: user.vip, 585 | comment: '会员修改总开关' 586 | }, 587 | { 588 | key: 'SVIP显示', 589 | value: user.svip, 590 | comment: '显示为超级会员' 591 | }, 592 | { 593 | key: '广告控制', 594 | value: user.ad, 595 | comment: '关闭广告' 596 | }, 597 | { 598 | key: '用户名', 599 | value: user.name, 600 | comment: '自定义用户名' 601 | }, 602 | { 603 | key: '头像', 604 | value: user.photo, 605 | comment: '自定义头像URL' 606 | }, 607 | { 608 | key: '等级', 609 | value: user.level, 610 | comment: '成长容量等级(最高128)' 611 | }, 612 | { 613 | key: '过期时间', 614 | value: user.endtime, 615 | comment: '会员过期时间' 616 | }, 617 | { 618 | key: '调试模式', 619 | value: user.debug, 620 | comment: '调试信息显示级别' 621 | } 622 | ]; 623 | 624 | settings.forEach(setting => { 625 | settingsList.appendChild(formatSetting(setting.key, setting.value, setting.comment)); 626 | }); 627 | 628 | panel.appendChild(settingsList); 629 | 630 | // 添加分隔线 631 | const divider = document.createElement('div'); 632 | divider.style.cssText = ` 633 | height: 1px; 634 | background: linear-gradient(to right, transparent, #e0e0e0, transparent); 635 | margin: 15px 0; 636 | `; 637 | panel.appendChild(divider); 638 | 639 | // 添加交流群按钮 640 | const groupButton = document.createElement('a'); 641 | groupButton.href = 'https://qm.qq.com/cgi-bin/qm/qr?k=7j_1SXC6SUlOKqHfqVk2YMPrWSdf5Js7&jump_from=webapi&authKey=ih1vlkxMeQc9CxE18GjR2WN0x85OQoP7jB78/3UzeJ4hvXw3+eSUNeRMjHjS24lT'; 642 | groupButton.target = '_blank'; 643 | groupButton.style.cssText = ` 644 | display: block; 645 | margin-top: 20px; 646 | padding: 12px 20px; 647 | background: linear-gradient(135deg, #1a73e8, #1557b0); 648 | color: white; 649 | border: none; 650 | border-radius: 8px; 651 | cursor: pointer; 652 | text-align: center; 653 | text-decoration: none; 654 | font-weight: 500; 655 | transition: all 0.3s ease; 656 | box-shadow: 0 2px 6px rgba(26, 115, 232, 0.3); 657 | `; 658 | 659 | // 添加图标和文字 660 | groupButton.innerHTML = ` 661 |
662 | 663 | 664 | 665 | 加入交流群 666 |
667 | `; 668 | 669 | groupButton.onmouseover = () => { 670 | groupButton.style.transform = 'translateY(-2px)'; 671 | groupButton.style.boxShadow = '0 4px 12px rgba(26, 115, 232, 0.4)'; 672 | }; 673 | 674 | groupButton.onmouseout = () => { 675 | groupButton.style.transform = 'translateY(0)'; 676 | groupButton.style.boxShadow = '0 2px 6px rgba(26, 115, 232, 0.3)'; 677 | }; 678 | 679 | panel.appendChild(groupButton); 680 | 681 | // 添加关闭按钮 682 | const closeButton = document.createElement('button'); 683 | closeButton.textContent = '×'; 684 | closeButton.style.cssText = ` 685 | position: absolute; 686 | top: 10px; 687 | right: 10px; 688 | width: 24px; 689 | height: 24px; 690 | border: none; 691 | background: #f44336; 692 | color: white; 693 | border-radius: 50%; 694 | cursor: pointer; 695 | display: flex; 696 | align-items: center; 697 | justify-content: center; 698 | font-size: 18px; 699 | padding: 0; 700 | line-height: 1; 701 | transition: all 0.2s ease; 702 | `; 703 | 704 | closeButton.onmouseover = () => { 705 | closeButton.style.transform = 'rotate(90deg)'; 706 | closeButton.style.background = '#d32f2f'; 707 | }; 708 | 709 | closeButton.onmouseout = () => { 710 | closeButton.style.transform = 'rotate(0)'; 711 | closeButton.style.background = '#f44336'; 712 | }; 713 | 714 | closeButton.onclick = () => panel.remove(); 715 | panel.appendChild(closeButton); 716 | 717 | // 添加自定义滚动条样式 718 | const style = document.createElement('style'); 719 | style.textContent = ` 720 | #vip-settings-panel::-webkit-scrollbar { 721 | width: 8px; 722 | } 723 | #vip-settings-panel::-webkit-scrollbar-track { 724 | background: #f8f9fa; 725 | border-radius: 4px; 726 | } 727 | #vip-settings-panel::-webkit-scrollbar-thumb { 728 | background: #1a73e8; 729 | border-radius: 4px; 730 | } 731 | #vip-settings-panel::-webkit-scrollbar-thumb:hover { 732 | background: #1557b0; 733 | } 734 | `; 735 | document.head.appendChild(style); 736 | 737 | document.body.appendChild(panel); 738 | } 739 | 740 | function addTriggerButton() { 741 | const trigger = document.createElement('button'); 742 | trigger.textContent = '设置面板'; 743 | trigger.style.cssText = ` 744 | position: fixed; 745 | bottom: 20px; 746 | right: 20px; 747 | padding: 8px 16px; 748 | background: #1a73e8; 749 | color: white; 750 | border: none; 751 | border-radius: 6px; 752 | cursor: pointer; 753 | z-index: 9998; 754 | font-size: 14px; 755 | font-weight: 500; 756 | box-shadow: 0 2px 6px rgba(26, 115, 232, 0.3); 757 | transition: all 0.2s ease; 758 | `; 759 | 760 | trigger.onmouseover = () => { 761 | trigger.style.background = '#1557b0'; 762 | trigger.style.boxShadow = '0 4px 8px rgba(26, 115, 232, 0.4)'; 763 | }; 764 | trigger.onmouseout = () => { 765 | trigger.style.background = '#1a73e8'; 766 | trigger.style.boxShadow = '0 2px 6px rgba(26, 115, 232, 0.3)'; 767 | }; 768 | 769 | trigger.onclick = createSettingsPanel; 770 | document.body.appendChild(trigger); 771 | } 772 | 773 | // 使用 MutationObserver 来确保按钮添加到页面上 774 | function waitForBody() { 775 | if (document.body) { 776 | addTriggerButton(); 777 | } else { 778 | setTimeout(waitForBody, 100); 779 | } 780 | } 781 | 782 | // 使用多种方式确保脚本执行 783 | document.addEventListener('DOMContentLoaded', waitForBody); 784 | window.addEventListener('load', waitForBody); 785 | 786 | // 立即尝试执行 787 | waitForBody(); 788 | })(); 789 | -------------------------------------------------------------------------------- /script/crackvideo.user.js: -------------------------------------------------------------------------------- 1 | // ==UserScript== 2 | // @name 破解VIP会员视频-优化整理版 3 | // @namespace https://github.com/cyao2q/files 4 | // @version 1.1.10 5 | // @description 一键破解[优酷|腾讯|乐视|爱奇艺]等会员视频 6 | // @author 漠星曜 7 | // @license MIT 8 | // @downloadURL https://cyao2q.github.io/files/script/crackvideo.user.js 9 | // @require https://code.jquery.com/jquery-latest.js 10 | // @noframes 11 | // @match *://*.iqiyi.com/* 12 | // @match *://*.youku.com/* 13 | // @match *://*.le.com/* 14 | // @match *://*.letv.com/* 15 | // @match *://v.qq.com/* 16 | // @match *://*.tudou.com/* 17 | // @match *://*.mgtv.com/* 18 | // @match *://film.sohu.com/* 19 | // @match *://tv.sohu.com/* 20 | // @match *://*.acfun.cn/v/* 21 | // @match *://*.bilibili.com/* 22 | // @match *://vip.1905.com/play/* 23 | // @match *://*.pptv.com/* 24 | // @match *://v.yinyuetai.com/video/* 25 | // @match *://v.yinyuetai.com/playlist/* 26 | // @match *://*.fun.tv/vplay/* 27 | // @match *://*.wasu.cn/Play/show/* 28 | // @match *://*.56.com/* 29 | // @grant GM.getValue 30 | // @grant GM.setValue 31 | // @grant GM_getValue 32 | // @grant GM_setValue 33 | // @grant unsafeWindow 34 | // @grant GM_xmlhttpRequest 35 | // @grant GM.xmlHttpRequest 36 | // @grant GM_openInTab 37 | // @grant GM.openInTab 38 | // ==/UserScript== 39 | 40 | /* jshint esversion:6 */ 41 | 42 | (() => { 43 | 'use strict'; 44 | const YoukuIcon = ''; 45 | const VQQIcon = ''; 46 | var tMscript = document.createElement('script'); 47 | tMscript.innerText = `q = function(cssSelector){return document.querySelector(cssSelector);};qa = function(cssSelector){return document.querySelectorAll(cssSelector);};`; 48 | document.head.appendChild(tMscript); 49 | window.q = function (cssSelector) { 50 | return document.querySelector(cssSelector); 51 | }; 52 | window.qa = function (cssSelector) { 53 | return document.querySelectorAll(cssSelector); 54 | }; 55 | window.makeEl = function (tag) { 56 | return document.createElement(tag); 57 | }; 58 | 59 | /* 兼容 Tampermonkey | Violentmonkey | Greasymonkey 4.0+ */ 60 | function GMaddStyle(cssText) { 61 | let a = document.createElement('style'); 62 | a.textContent = cssText; 63 | let doc = document.head || document.documentElement; 64 | doc.appendChild(a); 65 | } 66 | 67 | GMaddStyle(` 68 | /*TMHY:TamperMonkeyHuanYan*/ 69 | #TMHYvideoContainer{z-index:999998;background:rgba(0,0,0,.7);position:fixed;top:7em;left:5em;height:65%;width:65%;resize:both;overflow:auto;box-shadow:2px 2px 5px 5px rgba(255,255,0,.8);} 70 | /*TMHYVideoContainer*/ 71 | #TMHYvideoContainer button{top:.1em;cursor:pointer;visibility:hidden;font-size:3em;color:#fff;background:transparent;border:0;} 72 | #TMHYvideoContainer:hover button{visibility:visible;} 73 | #TMHYvideoContainer:hover button:hover{color:#ff0;} 74 | #TMHYiframe{height:100%;width:100%;overflow:auto;position:absolute;top:0;left:0;margin:auto;border:0;box-shadow:0 0 3em rgba(0,0,0,.4);z-index:-1;} 75 | /*TMHYIframe*/ 76 | #TMHYul{position:fixed;top:5em;left:0;padding:0;z-index:999999;} 77 | #TMHYul li{list-style:none;} 78 | #TMHYul svg{float:right;} 79 | .TM1{opacity:0.8;position:relative;width:1.9em;cursor:pointer;} 80 | .TM1:hover{opacity:1;} 81 | .TM1 span{display:block;border-radius:0 .3em .3em 0;background-color:#ffff00;border:0;font:bold 1em "微软雅黑"!important;color:#ff0000;margin:0;padding:1em .3em;} 82 | .TM3{position:absolute;top:0;left:1.8em;display:none;border-radius:.3em;margin:0;padding:0;} 83 | .TM3 li{float:none;margin:0;font-size:1.25em;padding:.25em 1em;cursor:pointer;color:#3a3a3a!important;background:rgba(255,255,0,0.8);} 84 | .TM3 li:hover{color:white!important;background:rgba(0,0,0,.8);} 85 | .TM3 li:last-child{border-radius:0 0 .35em .35em;} 86 | .TM3 li:first-child{border-radius:.35em .35em 0 0;} 87 | .TM1:hover .TM3{display:block;} 88 | `); 89 | 90 | var defaultapi = { 91 | title: "纯净", 92 | url: "https://im1907.top/?jx=" 93 | }; 94 | 95 | var apis = [ 96 | {"name": "纯净", "url": "https://im1907.top/?jx=", "mobile": 1}, 97 | {"name": "虾米", "url": "https://jx.xmflv.com/?url=", "mobile": 0}, 98 | {"name": "虾米2", "url": "https://jx.xmflv.cc/?url=", "mobile": 0}, 99 | {"name": "剖云", "url": "https://www.pouyun.com/?url=", "mobile": 0}, 100 | {"name": "七哥", "url": "https://jx.nnxv.cn/tv.php?url=", "mobile": 0}, 101 | {"name": "夜幕", "url": "https://www.yemu.xyz/?url=", "mobile": 0}, 102 | {"name": "云析", "url": "https://jx.yparse.com/index.php?url=", "mobile": 0}, 103 | {"name": "IK9", "url": "https://yparse.ik9.cc/index.php?url=", "mobile": 0}, 104 | {"name": "JY", "url": "https://jx.playerjy.com/?url=", "mobile": 0}, 105 | {"name": "PM", "url": "https://www.playm3u8.cn/jiexi.php?url=", "mobile": 0}, 106 | {"name": "M3U8", "url": "https://jx.m3u8.tv/jiexi/?url=", "mobile": 0}, 107 | {"name": "8090", "url": "https://www.8090g.cn/?url=", "mobile": 0} 108 | ]; 109 | 110 | /* 执行 */ 111 | var div = makeEl("div"); 112 | div.id = "TMHYd"; 113 | var txt = '', i = 0; 114 | /*提供的接口列表*/ 115 | for (i in apis) { 116 | txt += `
  • ${apis[i].name}
  • `; 117 | } 118 | div.innerHTML = ` 119 |
      120 |
      • ${txt}
    • 121 |
    122 | `; 123 | document.body.appendChild(div); 124 | })(); -------------------------------------------------------------------------------- /script/feishu.wiki.crack.js: -------------------------------------------------------------------------------- 1 | // ==UserScript== 2 | // @name 放开飞书文档的复制和右键屏蔽 3 | // @namespace https://github.com/cyao2q/files 4 | // @version 0.5 5 | // @description 让飞书文档不受权限限制,可以复制任意内容,可以打开右键菜单(复制下载图片) 6 | // @author 漠星曜 7 | // @license GPL License 8 | // @downloadURL https://cyao2q.github.io/files/script/feishu.wiki.crack.js 9 | // @namespace http://tampermonkey.net/ 10 | // @match *://*.feishu.cn/* 11 | // @icon https://sf3-scmcdn2-cn.feishucdn.com/ccm/pc/web/resource/bear/src/common/assets/favicons/icon_file_doc_nor-32x32.8cb0fef16653221e74b9.png 12 | // @grant none 13 | // @run-at document-start 14 | // ==/UserScript== 15 | 16 | (function() { 17 | console.log('已放开飞书文档的复制和右键屏蔽!!!!'); 18 | document.addEventListener('DOMContentLoaded', function () { 19 | const rawAddEventListener = document.addEventListener; 20 | document.addEventListener = function (type, listener, options) { 21 | if(type === 'copy') { 22 | rawAddEventListener.call( 23 | document, 24 | type, 25 | event => { 26 | return null; 27 | }, 28 | options, 29 | ); 30 | return 31 | } 32 | rawAddEventListener.call( 33 | document, 34 | type, 35 | listener, 36 | options, 37 | ); 38 | }; 39 | 40 | const bodyAddEventListener = document.body.addEventListener; 41 | document.body.addEventListener = function (type, listener, options) { 42 | bodyAddEventListener.call( 43 | document.body, 44 | type, 45 | event => { 46 | if (type === 'contextmenu') { 47 | return true; 48 | } 49 | return listener(event); 50 | }, 51 | options, 52 | ); 53 | }; 54 | }); 55 | })(); -------------------------------------------------------------------------------- /script/violentmonkey.crx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyao2q/files/a22419a005d630db0dccfdc351c6a152d06e962f/script/violentmonkey.crx --------------------------------------------------------------------------------