// 劇迷 Gimy TV (gimyai.tw) — 从 剧迷.py 转换的 drpy JS 版 // 站点: MacCMS v10 改版, Cloudflare Managed Challenge 全站防护 // ==================================================================== // 【必读】CF Cookie 说明 // 本站所有页面都在 Cloudflare 挑战后, cf_clearance cookie 过期后所有列表会变空。 // 更新 cookie 方法(在电视盒子同一路由器网络下的电脑上操作): // 1. 用 Edge 浏览器打开 https://gimyai.tw/ 等页面自动通过验证 // 2. F12 -> 应用 -> Cookie -> 复制 cf_clearance 的值 // 3. 替换下面 headers 里的 'cf_clearance=...' (整行替换, 保留 cf_clearance= 前缀) // 注意: cookie 绑定 IP+UA, 必须在电视盒子同一网络下获取; User-Agent 必须与本文件 // headers 里的完全一致(Edge 默认 UA), 不要改动 UA 字符串。 // ==================================================================== var GIMY_HOST = 'https://gimyai.tw'; var GIMY_UA = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36 Edg/152.0.0.0'; // 2026-08-29 在本机 Edge 通过 CF 挑战后获取的 cookie, 过期后按上面说明更换 var GIMY_CK = 'cf_clearance=.i6lfveWRx5t3n4Wl3QiX0svRnUJmol9o3vQJYLaq8Y-1788002818-1.2.1.1-mM.anIi49gCBX.ogY4VbE9kcfRiu_NfQgFw6StMl2M00SU7oW6IHEiGf6vMuhoMkgoenXla3hK5JMMPLWml9V9wavizWU12sYr1kzfttd_7CSv55mhdd8SAbZF4vY8Orh768wVu5lK.RB1IWzN6b30oLUR3g0lyqAeQGJDN5_sf0VTAhbMIe4RwV.PZN4mHUUTy9xPevBtw_eH9IZf1pCDMOazGyRdGZ_P390BRm77NUDXGQZUsL1uX3Iq25rARN4FieGx_Ff1SPNr0xlcgRTc8wz4CK67Vd.1RvjU0_gxMl0y4w3YDCz7ZNdUxlc30aF1SVY53Ks3loLHEq2UYvIAn_6XdnWTp2N53.ApqlKG4Od44tVb2_Dok_8j_wTP9bilIoKWMc6U6rPPhI2cT.eFtIbHgov8ogLxTR1rcDVgZjBo33ojfGoYrMOMSYCabumsRmVcmbsQ5s3nfV31vrzsAt8FJgMQbFQrlHgDmsMIjqjGAl25W0hZ_v578j9NWOs5uHJpm8reu66kDvvGIIZQ'; // ==================================================================== // 【搜索】站点标题全是繁体且接口按标题精确匹配, 输入简体搜不到。 // 搜索函数内置 简->繁(台湾用字) 转换表(约2700字), 简体关键词会自动转成繁体再请求; // 转换后无结果时自动回退用原词再请求一次, 所以直接输入繁体也能正常搜。 // 转换表由 OpenCC 字典生成, 已剔除代理对字符(否则 JS 侧字符索引会错位)。 // ==================================================================== // 筛选: 地区/年份 (与 explore 页 12 段 URL 的第2段/第12段对应) var AREA_VALS = [ { 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: '其他' } ]; var YEAR_VALS = [ { n: '全部', v: '' }, { n: '2026', v: '2026' }, { n: '2025', v: '2025' }, { n: '2024', v: '2024' }, { n: '2023', v: '2023' }, { n: '2022', v: '2022' }, { n: '2021', v: '2021' }, { n: '2020', v: '2020' }, { n: '2019', v: '2019' }, { n: '2018', v: '2018' }, { n: '2017', v: '2017' } ]; var GIMY_FILTER = {}; var _cats = '2&13&20&15&14&21&31&4&29&34&38&22'.split('&'); for (var _i = 0; _i < _cats.length; _i++) { GIMY_FILTER[_cats[_i]] = [ { key: 'area', name: '地區', value: AREA_VALS }, { key: 'year', name: '年份', value: YEAR_VALS } ]; } var rule = { title: '劇迷', host: 'https://gimyai.tw', url: '/explore/fyclass-----------.html', searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=20&page=fypage', searchable: 1, quickSearch: 1, filterable: 1, class_name: '電視劇&陸劇&韓劇&日劇&台劇&港劇&海外劇&動漫&綜藝&短劇&AI漫劇&紀錄片', class_url: '2&13&20&15&14&21&31&4&29&34&38&22', filter: GIMY_FILTER, headers: { 'User-Agent': GIMY_UA, 'Cookie': GIMY_CK, 'Referer': 'https://gimyai.tw/' }, timeout: 8000, play_parse: true, double: false, limit: 6, // 首页推荐: 解析 gimyai.tw 首页海报卡 推荐: `js: var d = []; try { var html = request('https://gimyai.tw/') || ''; if (html.indexOf('Just a moment') === -1) { var reg = /]*class="poster"[^>]*href="\\/detail\\/(\\d+)\\.html"[^>]*>([\\s\\S]*?)<\\/a>/g; var r; while ((r = reg.exec(html)) !== null) { var c = r[2]; var mt = c.match(/alt="([^"]*)"/); var mp = c.match(/src="([^"]*)"/); var ms = c.match(/class="poster__status"[^>]*>([^<]*)<\\/span>/); d.push({ vod_id: 'https://gimyai.tw/detail/' + r[1] + '.html', vod_name: mt ? mt[1] : r[1], vod_pic: mp ? mp[1] : '', vod_remarks: ms ? ms[1] : '' }); if (d.length >= 30) { break; } } } } catch (e) {} VODS = d; `, // 分类列表: explore 页(12段URL: tid-地区-8空-年份), ?page=N 翻页, 每页36条 一级: `js: var d = []; try { var tid = MY_CATE; if (!tid) { var tm = (input || '').match(/\\/explore\\/(\\d+)/); tid = tm ? tm[1] : '2'; } var area = '', year = ''; try { if (MY_FL && MY_FL.area) { area = MY_FL.area; } if (MY_FL && MY_FL.year) { year = MY_FL.year; } } catch (e0) {} var pg = 1; try { pg = parseInt(MY_PAGE, 10) || 1; } catch (e0) {} var u = 'https://gimyai.tw/explore/' + tid + '-' + encodeURIComponent(area) + '----------' + year + '.html?page=' + pg; var html = request(u) || ''; if (html.indexOf('Just a moment') === -1) { var reg = /]*class="poster"[^>]*href="\\/detail\\/(\\d+)\\.html"[^>]*>([\\s\\S]*?)<\\/a>/g; var r; while ((r = reg.exec(html)) !== null) { var c = r[2]; var mt = c.match(/alt="([^"]*)"/); var mp = c.match(/src="([^"]*)"/); var ms = c.match(/class="poster__status"[^>]*>([^<]*)<\\/span>/); d.push({ vod_id: 'https://gimyai.tw/detail/' + r[1] + '.html', vod_name: mt ? mt[1] : r[1], vod_pic: mp ? mp[1] : '', vod_remarks: ms ? ms[1] : '' }); } } } catch (e) {} VODS = d; `, // 详情: og标签取标题/封面/简介, span.k 取元数据, route-title+eps 取多线路选集 二级: `js: var vod = { vod_id: input, vod_name: '劇迷', vod_pic: '', type_name: '', vod_year: '', vod_area: '', vod_remarks: '', vod_actor: '', vod_director: '', vod_content: '', vod_play_from: '', vod_play_url: '' }; try { var html = request(input) || ''; if (html.indexOf('Just a moment') > -1) { vod.vod_name = 'CF验证过期,请更换cf_clearance'; VOD = vod; } else { var m; m = html.match(/property="og:title" content="([^"]*)"/); if (m) { vod.vod_name = m[1].replace(/\\s*線上看\\s*[-–]\\s*Gimy.*$/, '').trim() || m[1]; } m = html.match(/]*>([\\s\\S]*?)<\\/h1>/); if (!vod.vod_name || vod.vod_name === '劇迷') { vod.vod_name = m ? m[1].replace(/<[^>]+>/g, '').trim() : vod.vod_name; } m = html.match(/property="og:image" content="([^"]*)"/); if (m) { vod.vod_pic = m[1]; } m = html.match(/property="og:description" content="([^"]*)"/); if (m) { vod.vod_content = m[1]; } // 元数据 标签:值 var mreg = /\\s*(演員|演员|主演|導演|导演|地區|地区|年份|類別|类别|狀態|状态|更新)\\s*[::]\\s*<\\/span>\\s*([\\s\\S]*?)<\\/div>/g; var mm; while ((mm = mreg.exec(html)) !== null) { var val = mm[2].replace(/<[^>]+>/g, '').replace(/&/g, '&').trim(); var lab = mm[1]; if (lab === '演員' || lab === '演员' || lab === '主演') { vod.vod_actor = val; } else if (lab === '導演' || lab === '导演') { vod.vod_director = val; } else if (lab === '地區' || lab === '地区') { vod.vod_area = val; } else if (lab === '年份') { vod.vod_year = val; } else if (lab === '類別' || lab === '类别') { vod.type_name = val.replace(/\\s*·\\s*\\d{4}.*$/, '').trim(); if (!vod.vod_year) { var ym = val.match(/(\\d{4})/); if (ym) { vod.vod_year = ym[1]; } } } else if (lab === '狀態' || lab === '状态' || lab === '更新') { if (!vod.vod_remarks) { vod.vod_remarks = val; } } } if (!vod.vod_year && vod.vod_remarks) { var ym2 = vod.vod_remarks.match(/(\\d{4})/); if (ym2) { vod.vod_year = ym2[1]; } } // 播放线路: route-title + eps(data-route-sid) var playFrom = []; var playUrl = []; var rreg = /class="route-title">([\\s\\S]*?)<\\/div>\\s*
]*data-route-sid="(\\d+)"[^>]*>([\\s\\S]*?)<\\/div>/g; var rr; while ((rr = rreg.exec(html)) !== null) { var rname = rr[1].replace(/<[^>]+>/g, '').replace(/\\s+/g, ' ').trim() || ('线路' + rr[2]); var eplist = []; var ereg = /]*class="ep"[^>]*href="\\/play\\/(\\d+)-(\\d+)-(\\d+)\\.html"[^>]*>([\\s\\S]*?)<\\/a>/g; var ee; while ((ee = ereg.exec(rr[3])) !== null) { var ename = ee[4].replace(/<[^>]+>/g, '').trim() || ('第' + ee[3] + '集'); eplist.push(ename + '$https://gimyai.tw/play/' + ee[1] + '-' + ee[2] + '-' + ee[3] + '.html'); } if (eplist.length > 0) { playFrom.push(rname); playUrl.push(eplist.join('#')); } } vod.vod_play_from = playFrom.join('$$$'); vod.vod_play_url = playUrl.join('$$$'); VOD = vod; } } catch (e) { VOD = vod; } `, // 搜索: index.php/ajax/suggest JSON 接口, 支持 fypage 分页 // 搜索: index.php/ajax/suggest JSON 接口, 支持 fypage 分页 // 站点标题为繁体且接口精确匹配: 关键词先做 简体->繁体(台湾用字) 转换, 无结果再回退原词 搜索: `js: var d = []; try { var kw = KEY || ''; var pg = MY_PAGE || 1; var S2T_S = '㐷㐹㐽㑇㑈㑔㑩㓥㓰㔉㖊㖞㘎㚯㛀㛣㛤㟆㟥㡎㤘㤽㥪㧏㧐㧑㧟㧰㨫㭎㭏㭤㭴㱩㱮㲿㳔㳕㳠㳡㳽㴋㶉㶶㶽㺍㻅䀥䁖䂵䃅䅉䅟䇲䉤䌶䌷䌸䌹䌺䌻䌼䌽䌾䌿䍀䍁䍠䎬䏝䓓䓕䓖䓨䗖䙌䙓䜣䜤䜧䜩䝙䞍䞐䟢䥺䥽䥾䦂䦃䦅䦆䦶䦷䩄䯄䯅䲝䲟䲠䲡䲢䲣䴓䴔䴕䴖䴗䴘䴙䶮万与丑专业丛东丝丢两严丧个丰临为丽举么义乌乐乔习乡书买乱争于亏云亘亚产亩亲亵亸亿仅仆从仑仓仪们价众优伙会伛伞伟传伡伣伤伥伦伧伪伫体余佣佥侠侣侥侦侧侨侩侪侬侭俣俦俨俩俪俫俭债倾偬偻偾偿傤傥傧储傩儿兑兖党兰关兴兹养兽冁内冈册写军农冯冲决况冻净凄准凉减凑凛几凤凫凭凯凶击凿刍划刘则刚创删别刬刭刹刽刾刿剀剂剐剑剥剧劝办务劢动励劲劳势勋勚匀匦匮区医华协单卖占卢卤卧卫却卺厂厅历厉压厌厍厐厕厘厢厣厦厨厩厮县叁参叆叇双发变叙叠台叶号叹叽吁吃后吓吕吗吨听启吴呐呒呓呕呖呗员呙呛呜咏咙咛咝咤咨咸响哑哒哓哔哕哗哙哜哝哟唇唛唝唠唡唢唤啧啬啭啮啯啰啴啸喷喽喾嗫嗳嘘嘤嘱噜嚣团园囱围囵国图圆圣圹场坏块坚坛坜坝坞坟坠垄垅垆垒垦垩垫垭垯垱垲垴埘埙埚堑堕塆墙壮声壳壶壸处备复够头夸夹夺奁奂奋奖奥妆妇妈妩妪妫姗姹娄娅娆娇娈娱娲娴婳婴婵婶媪媭嫒嫔嫱嬷孙学孪宁宝实宠审宪宫宽宾寝对寻导寿将尔尘尝尧尴尸尽层屃屉届属屡屦屿岁岂岖岗岘岚岛岩岭岳岽岿峃峄峡峣峤峥峦峰崂崃崄崭嵘嵚嵝巅巩巯币帅师帏帐帘帜带帧帮帱帻帼幂干并广庄庆床庐庑库应庙庞废庼廪开异弃弑张弥弪弯弹强归当录彟彦彨彻征径徕忆忏忧忾怀态怂怃怄怅怆怜总怼怿恋恒恳恶恸恹恺恻恼恽悦悫悬悭悮悯惊惧惨惩惫惬惭惮惯愠愤愦愿慑慭懑懒懔戆戋戏戗战戬戯户扑执扩扪扫扬扰抚抛抟抠抡抢护报担拟拢拣拥拦拧拨择挂挚挛挜挝挞挟挠挡挢挣挤挥挦捝捞损捡换捣据掳掴掷掸掺掼揽揾揿搀搁搂搄搅携摄摅摆摇摈摊撄撑撵撷撸撺擜擞攒敌敚敛敩数斋斓斗斩断无旧时旷旸昙昵昼昽显晋晒晓晔晕晖暂暧术朴机杀杂权杠条来杨杩杰极构枞枢枣枥枧枨枪枫枭柜柠柽栀栅标栈栉栊栋栌栎栏树栖样栾桠桡桢档桤桥桦桧桨桩桪梦梼梾梿检棁棂椁椝椟椠椢椤椫椭椮楼榄榅榇榈榉榝槚槛槟槠横樯樱橥橱橹橼檩欢欤欧歼殁殇残殒殓殚殡殴毁毂毕毙毡毵氇气氢氩氲汇汉汤汹沄沟没沣沤沥沦沧沨沩沪泞泪泶泷泸泺泻泼泽泾洁洒洼浃浅浆浇浈浉浊测浍济浏浐浑浒浓浔浕涂涌涚涛涝涞涟涠涡涢涣涤润涧涨涩淀渊渌渍渎渐渑渔渖渗温游湾湿溁溃溅溆溇滗滚滞滟滠满滢滤滥滦滨滩滪潆潇潋潍潜潴澛澜濑濒灏灭灯灵灶灾灿炀炉炖炜炝点炼炽烁烂烃烛烟烦烧烨烩烫烬热焕焖焘煴熏爱爷牍牦牵牺犊状犷犸犹狈狝狞独狭狮狯狰狱狲猃猎猕猡猪猫猬献獭玑玙玚玛玮环现玱玺珐珑珰珲琎琏琐琼瑶瑷瑸璎瓒瓮瓯电画畅畴疖疗疟疠疡疬疭疮疯疱疴痈痉痒痖痨痪痫痴瘅瘆瘗瘘瘪瘫瘾瘿癞癣癫皂皑皱皲盏盐监盖盗盘眍眦眬睁睐睑瞆瞒瞩矫矶矾矿砀码砖砗砚砜砺砻砾础硁硕硖硗硙硚确硵碍碛碜碱礼祃祎祢祯祷祸禀禄禅离秃秆种秘积称秽秾稆税稣稳穑穞穷窃窍窎窑窜窝窥窦窭竖竞笃笋笔笕笺笼笾筑筚筛筜筝筹筼签筿简箓箦箧箨箩箪箫篑篓篮篯篱簖籁籴类籼粜粝粤粪粮粽糁糇糍紧絷緼縆纟纠纡红纣纤纥约级纨纩纪纫纬纭纮纯纰纱纲纳纴纵纶纷纸纹纺纻纼纽纾线绀绁绂练组绅细织终绉绊绋绌绍绎经绐绑绒结绔绕绖绗绘给绚绛络绝绞统绠绡绢绣绤绥绦继绨绩绪绫绬续绮绯绰绱绲绳维绵绶绷绸绹绺绻综绽绾绿缀缁缂缃缄缅缆缇缈缉缊缋缌缍缎缏缐缑缒缓缔缕编缗缘缙缚缛缜缝缞缟缠缡缢缣缤缥缦缧缨缩缪缫缬缭缮缯缰缱缲缳缴缵罂网罗罚罢罴羁羟羡群翘翙翚耢耧耸耻聂聋职聍联聩聪肃肠肤肮肴肾肿胀胁胆胜胧胨胪胫胶脉脍脏脐脑脓脔脚脱脶脸腊腌腘腭腻腼腽腾膑膻臜舆舣舰舱舻艰艳艺节芈芗芜芦苁苇苈苋苌苍苎苏苧苹范茎茏茑茔茕茧荆荐荙荚荛荜荝荞荟荠荡荣荤荥荦荧荨荩荪荫荬荭荮药莅莱莲莳莴莶获莸莹莺莼萚萝萤营萦萧萨葱蒀蒇蒉蒋蒌蒏蓝蓟蓠蓣蓥蓦蔂蔷蔹蔺蔼蕰蕲蕴薮藓藴蘖虏虑虚虫虬虮虱虽虾虿蚀蚁蚂蚃蚕蚝蚬蛊蛎蛏蛮蛰蛱蛲蛳蛴蜕蜗蜡蝇蝈蝉蝎蝼蝾螀螨蟏衅衔补衬衮袄袅袆袜袭袯装裆裈裢裣裤裥褛褴襕见观觃规觅视觇览觉觊觋觌觍觎觏觐觑觞触觯訚詟誉誊讠计订讣认讥讦讧讨让讪讫讬训议讯记讱讲讳讴讵讶讷许讹论讻讼讽设访诀证诂诃评诅识诇诈诉诊诋诌词诎诏诐译诒诓诔试诖诗诘诙诚诛诜话诞诟诠诡询诣诤该详诧诨诩诪诫诬语诮误诰诱诲诳说诵诶请诸诹诺读诼诽课诿谀谁谂调谄谅谆谇谈谉谊谋谌谍谎谏谐谑谒谓谔谕谖谗谘谙谚谛谜谝谞谟谠谡谢谣谤谥谦谧谨谩谪谫谬谭谮谯谰谱谲谳谴谵谶豮贝贞负贠贡财责贤败账货质贩贪贫贬购贮贯贰贱贲贳贴贵贶贷贸费贺贻贼贽贾贿赀赁赂赃资赅赆赇赈赉赊赋赌赍赎赏赐赑赒赓赔赕赖赗赘赙赚赛赜赝赞赟赠赡赢赣赪赵赶趋趱趸跃跄跖跞践跶跷跸跹跻踌踪踬踯蹑蹒蹰蹿躏躜躯輼车轧轨轩轪轫转轭轮软轰轱轲轳轴轵轶轷轸轹轺轻轼载轾轿辀辁辂较辄辅辆辇辈辉辊辋辌辍辎辏辐辑辒输辔辕辖辗辘辙辚辞辟辩辫边辽达迁过迈运还这进远违连迟迩迳迹适选逊递逦逻遗遥邓邝邬邮邹邺邻郁郏郐郑郓郦郧郸酂酝酦酱酽酾酿醖采释里鉴銮錾钅钆钇针钉钊钋钌钍钎钏钐钑钒钓钔钕钖钗钘钙钚钛钜钝钞钟钠钡钢钣钤钥钦钧钨钩钪钫钬钭钮钯钰钱钲钳钴钵钶钷钸钹钺钻钼钽钾钿铀铁铂铃铄铅铆铇铈铉铊铋铌铍铎铏铐铑铒铓铔铕铖铗铘铙铚铛铜铝铞铟铠铡铢铣铤铥铦铧铨铩铪铫铬铭铮铯铰铱铲铳铴铵银铷铸铹铺铻铼铽链铿销锁锂锃锄锅锆锇锈锉锊锋锌锍锎锏锐锑锒锓锔锕锖锗锘错锚锛锜锝锞锟锠锡锢锣锤锥锦锧锨锩锪锫锬锭键锯锰锱锲锳锴锵锶锷锸锹锺锻锼锽锾锿镀镁镂镃镄镅镆镇镈镉镊镋镌镍镎镏镐镑镒镓镔镕镖镗镘镙镚镛镜镝镞镟镠镡镢镣镤镥镦镧镨镩镪镫镬镭镮镯镰镱镲镳镴镵镶长门闩闪闫闬闭问闯闰闱闲闳间闵闶闷闸闹闺闻闼闽闾闿阀阁阂阃阄阅阆阇阈阉阊阋阌阍阎阏阐阑阒阓阔阕阖阗阘阙阚阛队阳阴阵阶际陆陇陈陉陕陦陧陨险随隐隶隽难雇雏雠雳雾霁霉霡霭靓靔静靥鞑鞒鞯鞲韦韧韨韩韪韫韬韵页顶顷顸项顺须顼顽顾顿颀颁颂颃预颅领颇颈颉颊颋颌颍颎颏颐频颒颓颔颕颖颗题颙颚颛颜额颞颟颠颡颢颣颤颥颦颧风飏飐飑飒飓飔飕飖飗飘飙飚飞飨餍饣饤饥饦饧饨饩饪饫饬饭饮饯饰饱饲饳饴饵饶饷饸饹饺饻饼饽饾饿馀馁馂馃馄馅馆馇馈馉馊馋馌馍馎馏馐馑馒馓馔馕马驭驮驯驰驱驲驳驴驵驶驷驸驹驺驻驼驽驾驿骀骁骂骃骄骅骆骇骈骉骊骋验骍骎骏骐骑骒骓骔骕骖骗骘骙骚骛骜骝骞骟骠骡骢骣骤骥骦骧髅髋髌鬓鬶魇魉鱼鱽鱾鱿鲀鲁鲂鲃鲄鲅鲆鲇鲈鲉鲊鲋鲌鲍鲎鲏鲐鲑鲒鲓鲔鲕鲖鲗鲘鲙鲚鲛鲜鲝鲞鲟鲠鲡鲢鲣鲤鲥鲦鲧鲨鲩鲪鲫鲬鲭鲮鲯鲰鲱鲲鲳鲴鲵鲶鲷鲸鲹鲺鲻鲼鲽鲾鲿鳀鳁鳂鳃鳄鳅鳆鳇鳈鳉鳊鳋鳌鳍鳎鳏鳐鳑鳒鳓鳔鳕鳖鳗鳘鳙鳚鳛鳜鳝鳞鳟鳠鳡鳢鳣鳤鸟鸠鸡鸢鸣鸤鸥鸦鸧鸨鸩鸪鸫鸬鸭鸮鸯鸰鸱鸲鸳鸴鸵鸶鸷鸸鸹鸺鸻鸼鸽鸾鸿鹀鹁鹂鹃鹄鹅鹆鹇鹈鹉鹊鹋鹌鹍鹎鹏鹐鹑鹒鹓鹔鹕鹖鹗鹘鹙鹚鹛鹜鹝鹞鹟鹠鹡鹢鹣鹤鹥鹦鹧鹨鹩鹪鹫鹬鹭鹮鹯鹰鹱鹲鹳鹴鹾麦麸麹麺麽黄黉黡黩黪黾鼋鼌鼍鼹齐齑齿龀龁龂龃龄龅龆龇龈龉龊龋龌龙龚龛龟鿎鿏鿒鿔'; var S2T_T = '傌㑶偑㑳倲㑯儸劏劃劚噚喎㘚㜄媰㜏孋㠏嵾幓㥮懤慺掆㩳撝擓擽㩜棡椲樢樫殰殨瀇濧灡澾濄瀰潚鸂燶煱獱璯䁻瞜碽磾稏穇筴籔䊷紬縳絅䋙䋚綐綵䋻䋹繿繸䍦䎱膞薵薳藭罃螮䙡襬訢鿁䜀讌貙䝼賰躎釾鏺䥱䥇鐯鐥钁䦛䦟靦騧䯀䱽鮣鰆鰌鰧䱷鳾鵁鴷鶄鶪鷉鸊龑萬與醜專業叢東絲丟兩嚴喪個豐臨為麗舉麼義烏樂喬習鄉書買亂爭於虧雲亙亞產畝親褻嚲億僅僕從侖倉儀們價眾優夥會傴傘偉傳俥俔傷倀倫傖偽佇體餘傭僉俠侶僥偵側僑儈儕儂儘俁儔儼倆儷倈儉債傾傯僂僨償儎儻儐儲儺兒兌兗黨蘭關興茲養獸囅內岡冊寫軍農馮衝決況凍淨悽準涼減湊凜幾鳳鳧憑凱兇擊鑿芻劃劉則剛創刪別剗剄剎劊㓨劌剴劑剮劍剝劇勸辦務勱動勵勁勞勢勳勩勻匭匱區醫華協單賣佔盧滷臥衛卻巹廠廳歷厲壓厭厙龎廁釐廂厴廈廚廄廝縣叄參靉靆雙發變敘疊臺葉號嘆嘰籲吃後嚇呂嗎噸聽啟吳吶嘸囈嘔嚦唄員咼嗆嗚詠嚨嚀噝吒諮鹹響啞噠嘵嗶噦譁噲嚌噥喲唇嘜嗊嘮啢嗩喚嘖嗇囀齧嘓囉嘽嘯噴嘍嚳囁噯噓嚶囑嚕囂團園囪圍圇國圖圓聖壙場壞塊堅壇壢壩塢墳墜壟壠壚壘墾堊墊埡墶壋塏堖塒壎堝塹墮壪牆壯聲殼壺壼處備復夠頭誇夾奪奩奐奮獎奧妝婦媽嫵嫗媯姍奼婁婭嬈嬌孌娛媧嫻嫿嬰嬋嬸媼嬃嬡嬪嬙嬤孫學孿寧寶實寵審憲宮寬賓寢對尋導壽將爾塵嘗堯尷屍盡層屓屜屆屬屢屨嶼歲豈嶇崗峴嵐島巖嶺嶽崬巋嶨嶧峽嶢嶠崢巒峰嶗崍嶮嶄嶸嶔嶁巔鞏巰幣帥師幃帳簾幟帶幀幫幬幘幗冪幹並廣莊慶床廬廡庫應廟龐廢廎廩開異棄弒張彌弳彎彈強歸當錄彠彥彲徹徵徑徠憶懺憂愾懷態慫憮慪悵愴憐總懟懌戀恆懇惡慟懨愷惻惱惲悅愨懸慳悞憫驚懼慘懲憊愜慚憚慣慍憤憒願懾憖懣懶懍戇戔戲戧戰戩戱戶撲執擴捫掃揚擾撫拋摶摳掄搶護報擔擬攏揀擁攔擰撥擇掛摯攣掗撾撻挾撓擋撟掙擠揮撏挩撈損撿換搗據擄摑擲撣摻摜攬搵撳攙擱摟揯攪攜攝攄擺搖擯攤攖撐攆擷擼攛㩵擻攢敵敓斂斆數齋斕鬥斬斷無舊時曠暘曇暱晝曨顯晉曬曉曄暈暉暫曖術樸機殺雜權槓條來楊榪傑極構樅樞棗櫪梘棖槍楓梟櫃檸檉梔柵標棧櫛櫳棟櫨櫟欄樹棲樣欒椏橈楨檔榿橋樺檜槳樁樳夢檮棶槤檢梲欞槨槼櫝槧槶欏樿橢槮樓欖榲櫬櫚櫸樧檟檻檳櫧橫檣櫻櫫櫥櫓櫞檁歡歟歐殲歿殤殘殞殮殫殯毆毀轂畢斃氈毿氌氣氫氬氳匯漢湯洶澐溝沒灃漚瀝淪滄渢溈滬濘淚澩瀧瀘濼瀉潑澤涇潔灑窪浹淺漿澆湞溮濁測澮濟瀏滻渾滸濃潯濜塗湧涗濤澇淶漣潿渦溳渙滌潤澗漲澀澱淵淥漬瀆漸澠漁瀋滲溫遊灣溼濚潰濺漵漊潷滾滯灩灄滿瀅濾濫灤濱灘澦瀠瀟瀲濰潛瀦瀂瀾瀨瀕灝滅燈靈灶災燦煬爐燉煒熗點煉熾爍爛烴燭煙煩燒燁燴燙燼熱煥燜燾熅燻愛爺牘犛牽犧犢狀獷獁猶狽獮獰獨狹獅獪猙獄猻獫獵獼玀豬貓蝟獻獺璣璵瑒瑪瑋環現瑲璽琺瓏璫琿璡璉瑣瓊瑤璦璸瓔瓚甕甌電畫暢疇癤療瘧癘瘍癧瘲瘡瘋皰痾癰痙癢瘂癆瘓癇痴癉瘮瘞瘻癟癱癮癭癩癬癲皂皚皺皸盞鹽監蓋盜盤瞘眥矓睜睞瞼瞶瞞矚矯磯礬礦碭碼磚硨硯碸礪礱礫礎硜碩硤磽磑礄確磠礙磧磣鹼禮禡禕禰禎禱禍稟祿禪離禿稈種秘積稱穢穠穭稅穌穩穡穭窮竊竅窵窯竄窩窺竇窶豎競篤筍筆筧箋籠籩築篳篩簹箏籌篔籤篠簡籙簀篋籜籮簞簫簣簍籃籛籬籪籟糴類秈糶糲粵糞糧粽糝餱餈緊縶縕緪糹糾紆紅紂纖紇約級紈纊紀紉緯紜紘純紕紗綱納紝縱綸紛紙紋紡紵紖紐紓線紺紲紱練組紳細織終縐絆紼絀紹繹經紿綁絨結絝繞絰絎繪給絢絳絡絕絞統綆綃絹繡綌綏絛繼綈績緒綾緓續綺緋綽鞝緄繩維綿綬繃綢綯綹綣綜綻綰綠綴緇緙緗緘緬纜緹緲緝縕繢緦綞緞緶線緱縋緩締縷編緡緣縉縛縟縝縫縗縞纏縭縊縑繽縹縵縲纓縮繆繅纈繚繕繒韁繾繰繯繳纘罌網羅罰罷羆羈羥羨群翹翽翬耮耬聳恥聶聾職聹聯聵聰肅腸膚骯餚腎腫脹脅膽勝朧腖臚脛膠脈膾髒臍腦膿臠腳脫腡臉臘醃膕顎膩靦膃騰臏羶臢輿艤艦艙艫艱豔藝節羋薌蕪蘆蓯葦藶莧萇蒼苧蘇薴蘋範莖蘢蔦塋煢繭荊薦薘莢蕘蓽萴蕎薈薺蕩榮葷滎犖熒蕁藎蓀蔭蕒葒葤藥蒞萊蓮蒔萵薟獲蕕瑩鶯蓴蘀蘿螢營縈蕭薩蔥蒕蕆蕢蔣蔞醟藍薊蘺蕷鎣驀虆薔蘞藺藹薀蘄蘊藪蘚蘊櫱虜慮虛蟲虯蟣蝨雖蝦蠆蝕蟻螞蠁蠶蠔蜆蠱蠣蟶蠻蟄蛺蟯螄蠐蛻蝸蠟蠅蟈蟬蠍螻蠑螿蟎蠨釁銜補襯袞襖嫋褘襪襲襏裝襠褌褳襝褲襉褸襤襴見觀覎規覓視覘覽覺覬覡覿覥覦覯覲覷觴觸觶誾讋譽謄訁計訂訃認譏訐訌討讓訕訖託訓議訊記訒講諱謳詎訝訥許訛論訩訟諷設訪訣證詁訶評詛識詗詐訴診詆謅詞詘詔詖譯詒誆誄試詿詩詰詼誠誅詵話誕詬詮詭詢詣諍該詳詫諢詡譸誡誣語誚誤誥誘誨誑說誦誒請諸諏諾讀諑誹課諉諛誰諗調諂諒諄誶談讅誼謀諶諜謊諫諧謔謁謂諤諭諼讒諮諳諺諦謎諞諝謨讜謖謝謠謗諡謙謐謹謾謫譾謬譚譖譙讕譜譎讞譴譫讖豶貝貞負貟貢財責賢敗賬貨質販貪貧貶購貯貫貳賤賁貰貼貴貺貸貿費賀貽賊贄賈賄貲賃賂贓資賅贐賕賑賚賒賦賭齎贖賞賜贔賙賡賠賧賴賵贅賻賺賽賾贗贊贇贈贍贏贛赬趙趕趨趲躉躍蹌蹠躒踐躂蹺蹕躚躋躊蹤躓躑躡蹣躕躥躪躦軀轀車軋軌軒軑軔轉軛輪軟轟軲軻轤軸軹軼軤軫轢軺輕軾載輊轎輈輇輅較輒輔輛輦輩輝輥輞輬輟輜輳輻輯轀輸轡轅轄輾轆轍轔辭闢辯辮邊遼達遷過邁運還這進遠違連遲邇逕跡適選遜遞邐邏遺遙鄧鄺鄔郵鄒鄴鄰鬱郟鄶鄭鄆酈鄖鄲酇醞醱醬釅釃釀醞採釋裡鑑鑾鏨釒釓釔針釘釗釙釕釷釺釧釤鈒釩釣鍆釹鍚釵鈃鈣鈈鈦鉅鈍鈔鍾鈉鋇鋼鈑鈐鑰欽鈞鎢鉤鈧鈁鈥鈄鈕鈀鈺錢鉦鉗鈷缽鈳鉕鈽鈸鉞鑽鉬鉭鉀鈿鈾鐵鉑鈴鑠鉛鉚鉋鈰鉉鉈鉍鈮鈹鐸鉶銬銠鉺鋩錏銪鋮鋏鋣鐃銍鐺銅鋁銱銦鎧鍘銖銑鋌銩銛鏵銓鎩鉿銚鉻銘錚銫鉸銥鏟銃鐋銨銀銣鑄鐒鋪鋙錸鋱鏈鏗銷鎖鋰鋥鋤鍋鋯鋨鏽銼鋝鋒鋅鋶鐦鐧銳銻鋃鋟鋦錒錆鍺鍩錯錨錛錡鍀錁錕錩錫錮鑼錘錐錦鑕鍁錈鍃錇錟錠鍵鋸錳錙鍥鍈鍇鏘鍶鍔鍤鍬鍾鍛鎪鍠鍰鎄鍍鎂鏤鎡鐨鎇鏌鎮鎛鎘鑷钂鐫鎳鎿鎦鎬鎊鎰鎵鑌鎔鏢鏜鏝鏍鏰鏞鏡鏑鏃鏇鏐鐔钁鐐鏷鑥鐓鑭鐠鑹鏹鐙鑊鐳鐶鐲鐮鐿鑔鑣鑞鑱鑲長門閂閃閆閈閉問闖閏闈閒閎間閔閌悶閘鬧閨聞闥閩閭闓閥閣閡閫鬮閱閬闍閾閹閶鬩閿閽閻閼闡闌闃闠闊闋闔闐闒闕闞闤隊陽陰陣階際陸隴陳陘陝隯隉隕險隨隱隸雋難僱雛讎靂霧霽黴霢靄靚靝靜靨韃鞽韉韝韋韌韍韓韙韞韜韻頁頂頃頇項順須頊頑顧頓頎頒頌頏預顱領頗頸頡頰頲頜潁熲頦頤頻頮頹頷頴穎顆題顒顎顓顏額顳顢顛顙顥纇顫顬顰顴風颺颭颮颯颶颸颼颻飀飄飆飈飛饗饜飠飣飢飥餳飩餼飪飫飭飯飲餞飾飽飼飿飴餌饒餉餄餎餃餏餅餑餖餓餘餒餕餜餛餡館餷饋餶餿饞饁饃餺餾饈饉饅饊饌饢馬馭馱馴馳驅馹駁驢駔駛駟駙駒騶駐駝駑駕驛駘驍罵駰驕驊駱駭駢驫驪騁驗騂駸駿騏騎騍騅騌驌驂騙騭騤騷騖驁騮騫騸驃騾驄驏驟驥驦驤髏髖髕鬢鬹魘魎魚魛魢魷魨魯魴䰾魺鮁鮃鯰鱸鮋鮓鮒鮊鮑鱟鮍鮐鮭鮚鮳鮪鮞鮦鰂鮜鱠鱭鮫鮮鮺鯗鱘鯁鱺鰱鰹鯉鰣鰷鯀鯊鯇鮶鯽鯒鯖鯪鯕鯫鯡鯤鯧鯝鯢鯰鯛鯨鰺鯴鯔鱝鰈鰏鱨鯷鰮鰃鰓鱷鰍鰒鰉鰁鱂鯿鰠鰲鰭鰨鰥鰩鰟鰜鰳鰾鱈鱉鰻鰵鱅䲁鰼鱖鱔鱗鱒鱯鱤鱧鱣䲘鳥鳩雞鳶鳴鳲鷗鴉鶬鴇鴆鴣鶇鸕鴨鴞鴦鴒鴟鴝鴛鷽鴕鷥鷙鴯鴰鵂鴴鵃鴿鸞鴻鵐鵓鸝鵑鵠鵝鵒鷳鵜鵡鵲鶓鵪鵾鵯鵬鵮鶉鶊鵷鷫鶘鶡鶚鶻鶖鷀鶥鶩鷊鷂鶲鶹鶺鷁鶼鶴鷖鸚鷓鷚鷯鷦鷲鷸鷺䴉鸇鷹鸌鸏鸛鸘鹺麥麩麴麵麼黃黌黶黷黲黽黿鼂鼉鼴齊齏齒齔齕齗齟齡齙齠齜齦齬齪齲齷龍龔龕龜䃮䥑鿓鎶'; var tkw = ''; for (var ci = 0; ci < kw.length; ci++) { var ch = kw.charAt(ci); var ix = S2T_S.indexOf(ch); tkw += (ix > -1 ? S2T_T.charAt(ix) : ch); } var tryWd = (tkw === kw) ? [kw] : [tkw, kw]; for (var wi = 0; wi < tryWd.length && d.length === 0; wi++) { var u = 'https://gimyai.tw/index.php/ajax/suggest?mid=1&wd=' + encodeURIComponent(tryWd[wi]) + '&limit=20&page=' + pg; var txt = request(u) || ''; if (txt.indexOf('Just a moment') === -1 && txt.charAt(0) === '{') { var data = null; try { data = JSON.parse(txt); } catch (e1) { data = null; } if (data && data.code === 1 && data.list) { for (var i2 = 0; i2 < data.list.length; i2++) { var it = data.list[i2]; d.push({ vod_id: 'https://gimyai.tw/detail/' + it.id + '.html', vod_name: it.name || ('' + it.id), vod_pic: it.pic || '', vod_remarks: '' }); } } } } } catch (e) {} VODS = d; `, // 播放: play 页 player_data JSON, encrypt 1=urldecode 2=base64+urldecode // 直链(m3u8/mp4)直接输出裸链接; 非直链走 attzy 解析器 lazy: `js: try { var url = input; if (url.indexOf('http') !== 0) { url = 'https://gimyai.tw' + url; } var html = request(url) || ''; var m = html.match(/var\\s+player_data\\s*=\\s*(\\{[\\s\\S]+?\\})\\s*;?\\s*<\\/script>/); if (!m) { m = html.match(/player_data\\s*=\\s*(\\{[\\s\\S]+?\\})/); } if (m) { var pd = null; try { pd = JSON.parse(m[1]); } catch (e1) { var um = m[1].match(/"url"\\s*:\\s*"(https?:\\/\\/[^"]+)"/); if (um) { pd = { url: um[1], encrypt: 0, from: '' }; } } if (pd) { var pu = pd.url || ''; var enc = pd.encrypt || 0; if (enc === 1) { try { pu = decodeURIComponent(pu); } catch (e2) {} } else if (enc === 2) { try { pu = decodeURIComponent(atob(pu)); } catch (e3) {} } var pul = (pu || '').toLowerCase(); if (pul.indexOf('.m3u8') > -1 || pul.indexOf('.mp4') > -1) { input = pu; } else if (pu) { var from = pd.from || ''; var ap = 'lb'; if (from === 'qsvip') { ap = 'qs'; } else if (from === 'JD4K') { ap = 'jd'; } input = 'https://v.attzy.com/ap/' + ap + '/?url=' + encodeURIComponent(pu); } } } else { var dm = html.match(/(https?:\\/\\/[^"'\\s<>]+\\.m3u8[^"'\\s<>]*)/); if (dm) { input = dm[1]; } } } catch (e) {} ` };