第五放映
https://www.d5uu.com/
辞晨 (8650)4天前
一个看电视的
{ "bookSourceComment": "\/\/2025.4.4 by.◎辞晨◎\n\/\/搜索验证", "bookSourceGroup": "写源", "bookSourceName": "第五放映", "bookSourceType": 0, "bookSourceUrl": "https:\/\/www.d5uu.com\/", "customOrder": 5, "enabled": false, "enabledCookieJar": true, "enabledExplore": true, "exploreUrl": "@js:\nsort=[];\npush=(title,url,type1,type2)=>sort.push({\n\t\ttitle: title,\n\t\turl: url,\n\t\tstyle: {\n\t\t\t\tlayout_flexGrow: type1,\n\t\t\t\tlayout_flexBasisPercent: type2\n\t\t\t}\n\t});\npush(\"全部🌊分类\",null,1,1)\n\tarList=[\"电影\",\"电视剧\",\"综艺\",\"动漫\"]\n\tarList.map((tag,index)=>{\n\t\turl=`\/dc\/?${index+1}-{{page}}.html`;\n\t\tpush(tag, url, 1, 0.25);\n\t\t});\n\/\/java.log(JSON.stringify(sort))\nJSON.stringify(sort)", "header": "@js:\nJSON.stringify({\n \"User-Agent\": \"Mozilla\/5.0 (Linux; Android 15; V2304A Build\/AP3A.240905.015.A2; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/132.0.6834.163 Mobile Safari\/537.36\"\n})", "jsLib": "", "lastUpdateTime": "1745603299836", "loginCheckJs": "ck = cookie.getCookie(source.key).toString();\njava.log(ck);\nif (ck) {\n cck = ck.split(\"; \").filter(item => !item.startsWith(\"ssea2_search\")).join('; ');\n cookie.setCookie(source.key, cck);\n java.log(cck);\n}\nresult;", "respondTime": 180000, "ruleBookInfo": { "author": "", "coverUrl": "", "intro": "", "kind": "", "lastChapter": "", "name": "", "wordCount": "" }, "ruleContent": { "content": "\/\/div[@class=\"stui-player__video embed-responsive embed-responsive-16by9 clearfix\"]\/script\/text()\n@js:\nvar url=result.match(\/http.*?m3u8\/g)[0];\nb64 = java['base64Encode'](`\n <html>\n <head>\n <meta name=\"viewport\" content=\"width=device-width\">\n <style>\n body {\n margin: 0;\n font-family: Arial, sans-serif;\n background: linear-gradient(135deg, #ece9e6, #ffffff);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n padding: 20px;\n }\n .container {\n width: 100%;\n max-width: 800px;\n background: #fff;\n border-radius: 10px;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n margin-bottom: 20px;\n }\n h3 {\n margin: 0;\n padding: 10px 20px;\n font-size: 0.9em;\n background: #333;\n color: #fff;\n border-radius: 10px 10px 0 0;\n }\n .video-container {\n width: 100%;\n background: #000;\n position: relative;\n }\n video {\n width: 100%;\n height: auto;\n display: block;\n }\n .info-container {\n padding: 20px;\n }\n .info-container p {\n margin: 10px 0;\n color: #555;\n }\n .info-container p span {\n font-weight: bold;\n color: #000;\n }\n <\/style>\n <\/head>\n <body>\n <div class=\"container\">\n <h3>{{book.name}}<\/h3>\n <div class=\"video-container\">\n <video id=\"video\" src=\"${url}\" poster=\"{{book.coverUrl}}\" controls><\/video>\n <\/div>\n <\/div>\n <div class=\"info-container\">\n <p>🧾 名称:<span>{{book.name}}<\/span><\/p>\n <p>🧾 分类:<span>{{book.author}}<\/span><\/p>\n <p>🔖 标签:<span>{{book.kind}}<\/span><\/p>\n <p>🏷 简介:<span>{{book.intro}}<\/span><\/p>\n <\/div>\n <script>\n \/\/ 获取视频元素\n const video = document.getElementById('video');\n let touchStartX = 0;\n let touchStartY = 0;\n let touchStartTime = 0;\n let isLongPress = false;\n\n \/\/ 滑动快进\n video.addEventListener('touchstart', (e) => {\n touchStartX = e.touches[0].clientX;\n touchStartY = e.touches[0].clientY;\n touchStartTime = Date.now();\n isLongPress = false;\n });\n\n video.addEventListener('touchmove', (e) => {\n const deltaX = e.touches[0].clientX - touchStartX;\n const deltaY = e.touches[0].clientY - touchStartY;\n\n \/\/ 如果是水平滑动,且未进入长按状态\n if (Math.abs(deltaX) > Math.abs(deltaY) && !isLongPress) {\n const duration = video.duration;\n const seekTime = video.currentTime + (deltaX \/ 50); \/\/ 每滑动100px快进1秒\n video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n }\n e.preventDefault(); \/\/ 防止默认行为(如页面滚动)\n });\n\n \/\/ 长按快进\n video.addEventListener('touchend', (e) => {\n const touchEndTime = Date.now();\n const touchDuration = touchEndTime - touchStartTime;\n\n \/\/ 如果长按时间超过500ms,进入长按快进状态\n if (touchDuration > 500) {\n isLongPress = true;\n\n \/\/ 在长按状态下,根据滑动距离快进\n const deltaX = e.changedTouches[0].clientX - touchStartX;\n const duration = video.duration;\n const seekTime = video.currentTime + (deltaX \/ 100); \/\/ 每滑动100px快进1秒\n video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n } else {\n isLongPress = false;\n }\n });\n <\/script>\n <\/body>\n <\/html>\n`);\ndataUrl = 'data:text\/html;base64,' + b64;\n java['startBrowser'](dataUrl, title);\n java['toast']('正在加载视频\\n视频加载较慢,请耐心等待');\n '【刷新正文】播放\\n✅直链:\\n' + `${url}`;\n" }, "ruleExplore": { "author": "p.-1@text", "bookList": ".stui-vodlist@li", "bookUrl": "h4@a@href", "coverUrl": "a@data-original", "lastChapter": "span.2@text", "name": "h4@a@text" }, "ruleSearch": { "author": "p.0@text##导演:", "bookList": "<js>\nif (\/系统安全验证\/.test(src)) {\n let url = source.key;\n let psid = cookie.getCookie(url);\n \/\/java.log(psid);\n let searchkey = java.get(\"key\");\n let code = java.getVerificationCode(\"https:\/\/www.d5uu.com\/include\/vdimgck.php\");\n let so = java.post(`${url}\/search.php?scheckAC=check&page&searchtype&order&tid&area&year&letter&yuyan&state&money&ver&jq`, `validate=${code}&searchword=${searchkey}`, {\n \"Cookie\": psid\n });\n \/\/java.log(cookie.getCookie(url));\n cookie.setCookie(url, psid);\n result = so.body();\n \/\/java.log(result);\n}\nresult;\n<\/js>\n.stui-vodlist__media@li", "bookUrl": "h3@a@href", "checkKeyWord": "", "coverUrl": "a@data-original", "intro": ".hidden-sm@text##简介:", "kind": "p.2@text##类型\\:|地区\\:|年份\\:##,", "lastChapter": "span.2@text", "name": "h3@a@text" }, "ruleToc": { "chapterList": ".episode-list-d5uu@li", "chapterName": "a@text", "chapterUrl": "a@href" }, "searchUrl": "@js:\njava.put(\"key\",key);\nresult = \"https:\/\/www.d5uu.com\/search.php,\" + JSON.stringify({\n \"body\": \"searchword={{key}}\",\n \"method\": \"POST\"\n});\nresult;", "weight": 0 }