// ==================== 央视直播解析(酷9版) ====================
// 参数:id=频道名称(例如 cctv1, cctv2, bjws 等)
// 支持频道:cctv1~cctv17, cctv4k, cctv8k, cgtn系列, 各地方卫视等
// ---------- 1. 适配ku9.request ----------
var HttpBridge = {
fetchWithHeaders: function(url, headers) {
var resp = ku9.request(url, 'GET', headers, null, true);
if (resp && resp.code === 200) {
return resp.body;
}
return null;
}
};
// ---------- 2. 嵌入原压缩代码(会自动解压并定义 getPlayUrl) ----------
// 注意:以下为原始压缩代码,执行后会在全局作用域生成 getPlayUrl 函数
;eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('V 25(q){R r=(q||"1w").1x(/\\/$/,"");R t={\'1w\':[\'26\',\'27\',\'S\'],\'28\':[\'29\',\'2a\',\'S\'],\'2b\':[\'2c\',\'2d\',\'S\'],\'2e\':[\'2f\',\'2g\',\'S\'],\'2h\':[\'2i\',\'2j\',\'S\'],\'2k\':[\'2l\',\'2m\',\'S\'],\'2n\':[\'2o\',\'2p\',\'S\'],\'2q\':[\'2r\',\'2s\',\'S\'],\'2t\':[\'2u\',\'2v\',\'S\'],\'2w\':[\'2x\',\'2y\',\'S\'],\'2z\':[\'2A\',\'2B\',\'S\'],\'2C\':[\'2D\',\'2E\',\'S\'],\'2F\':[\'2G\',\'2H\',\'S\'],\'2I\':[\'2J\',\'2K\',\'S\'],\'2L\':[\'2M\',\'2N\',\'S\'],\'2O\':[\'2P\',\'2Q\',\'S\'],\'2R\':[\'2S\',\'2T\',\'S\'],\'2U\':[\'2V\',\'2W\',\'S\'],\'2X\':[\'2Y\',\'2Z\',\'S\'],\'30\':[\'31\',\'34\',\'S\'],\'35\':[\'36\',\'37\',\'S\'],\'38\':[\'39\',\'3a\',\'S\'],\'3b\':[\'3c\',\'3d\',\'S\'],\'3e\':[\'3f\',\'3g\',\'S\'],\'3h\':[\'3i\',\'3j\',\'S\'],\'3k\':[\'3l\',\'3m\',\'S\'],\'3n\':[\'3o\',\'3p\',\'S\'],\'3q\':[\'3r\',\'3s\',\'17\'],\'3t\':[\'3u\',\'3v\',\'17\'],\'3w\':[\'3x\',\'3y\',\'17\'],\'3z\':[\'3A\',\'3B\',\'17\'],\'3C\':[\'3D\',\'3E\',\'17\'],\'3F\':[\'3G\',\'3H\',\'17\'],\'3I\':[\'3J\',\'3K\',\'17\'],\'3L\':[\'3M\',\'3N\',\'17\'],\'3O\':[\'3P\',\'3Q\',\'17\'],\'3R\':[\'3S\',\'3T\',\'17\'],\'3U\':[\'3V\',\'3W\',\'17\'],\'3X\':[\'3Y\',\'3Z\',\'17\'],\'40\':[\'41\',\'42\',\'17\'],\'43\':[\'44\',\'45\',\'S\'],\'46\':[\'47\',\'48\',\'S\'],\'49\':[\'4a\',\'4b\',\'S\'],\'4c\':[\'4d\',\'4e\',\'S\'],\'4f\':[\'4g\',\'4h\',\'S\'],\'4i\':[\'4j\',\'4k\',\'S\'],\'4l\':[\'4m\',\'4n\',\'S\'],\'4o\':[\'4p\',\'4q\',\'S\'],\'4r\':[\'4s\',\'4t\',\'S\'],\'4u\':[\'4v\',\'4w\',\'S\'],\'4x\':[\'4y\',\'4z\',\'S\'],\'4A\':[\'4B\',\'4C\',\'S\'],\'4D\':[\'4E\',\'4F\',\'S\'],\'4G\':[\'4H\',\'4I\',\'S\'],\'4J\':[\'4K\',\'4L\',\'S\'],\'4M\':[\'4N\',\'4O\',\'S\'],\'4P\':[\'4Q\',\'4R\',\'S\'],\'4S\':[\'4T\',\'4U\',\'S\'],\'4V\':[\'4W\',\'4X\',\'S\'],\'4Y\':[\'4Z\',\'50\',\'S\'],\'51\':[\'52\',\'53\',\'S\'],\'54\':[\'55\',\'56\',\'S\'],\'57\':[\'58\',\'59\',\'S\'],\'5a\':[\'5b\',\'5c\',\'S\'],\'5d\':[\'5e\',\'5f\',\'S\'],\'5g\':[\'5h\',\'5i\',\'S\'],\'5j\':[\'5k\',\'5l\',\'S\'],\'5m\':[\'5n\',\'5o\',\'S\'],\'5p\':[\'5q\',\'5r\',\'S\'],\'5s\':[\'5t\',\'5u\',\'S\'],\'5v\':[\'5w\',\'5x\',\'S\'],\'5y\':[\'5z\',\'5A\',\'S\'],\'5B\':[\'5C\',\'5D\',\'S\']};Y(!t[r])W"";R u=t[r][0];R w=t[r][1];R x=t[r][2];V 1l(a){R b=[];X(R i=0;i>>5)+k[1]))|0))|0;z=(z+((((y<<4)+k[2])^(y+c)^((y>>>5)+k[3]))|0))|0}W[(y>>>24)&T,(y>>>16)&T,(y>>>8)&T,y&T,(z>>>24)&T,(z>>>16)&T,(z>>>8)&T,z&T]}V 1r(b,c){R d=b.U;R e=d+1+2+7;R f=e%8;Y(f)f=8-f;R g=[];R h=[0,0,0,0,0,0,0,0];h[0]=(1b.1d(1b.1h()*1s)&5J)|f;R k=1;1i(f>0){h[k]=1b.1d(1b.1h()*1s);k++;f--}R l=[0,0,0,0,0,0,0,0];R m=[0,0,0,0,0,0,0,0];V 1j(){X(R j=0;j<8;j++)h[j]^=m[j];R a=1z(h,c);X(R j=0;j<8;j++)a[j]^=l[j];l=h.1A();m=a.1A();X(R j=0;j<8;j++)g.1m(a[j]);k=0}R i=0;1i(i<2){Y(k<8){h[k]=1b.1d(1b.1h()*1s);k++;i++}Y(k==8)1j()}R n=0;R o=d;1i(o>0){Y(k<8){h[k]=b[n];n++;k++;o--}Y(k==8)1j()}i=0;1i(i<7){Y(k<8){h[k]=0;k++;i++}Y(k==8)1j()}Y(k>0){X(R j=k;j<8;j++)h[j]=0;1j()}W g}V 1c(a){W[(a>>>24)&T,(a>>>16)&T,(a>>>8)&T,a&T]}V 1e(a){W[(a>>>8)&T,a&T]}V 1o(s){R b=[];X(R i=0;i=5?s.1D(s.U-5):\'\'}R g=1c(a);R h=[1p(c),1p(e),1p(f),d];X(R i=0;i>2;R h=((d&3)<<4)|(1q(e)?0:(e>>4));R k=1q(e)?64:(((e&15)<<2)|(1q(f)?0:(f>>6)));R l=1q(f)?64:(f&63);c+=b.1f(g)+b.1f(h)+b.1f(k)+b.1f(l)}R m="69-=";R n="";X(R j=0;j0)K+="&";K+=1X(k)+"="+1X(J[k])}R L="7m://7n.7o.1M.7p?"+K;R M={"7q-7r":"7s","7t":"7u-7v","7w":"7x/7y"};R N=1Y.7z(M);R O="";R P=7A.7B(L,N);Y(P){7C{R Q=1Y.7D(P);Y(Q.1Z){O=Q.1Z}}7E(e){}}W O}',62,475,'|||||||||||||||||||||||||||||||||||||||||||||||||||||var|fhd|0xFF|length|function|return|for|if|rh||||||||shd|||concat|Math|packN|floor|packn|charAt|toString|random|while|processBlock|4330403|hexToBytes|push|calcSignature|strToBytes|guardLastFive|isNaN|oiSymmetryEncrypt2|256|appVer|guid|generateUUID|cctv1|replace|bytesToHex|teaEncryptECB|slice|generateCkGuardTime|null|substring|buildPacket|Platform|Timestamp|Sdtfrom|randFlag|vid|nil|uuid4|cctv|ck_guard_time|customEncode|NaN|encryptDataToCKey|0xED|generateGuid|V8|1035|3031|generateFlowid|encodeURIComponent|JSON|playurl||||||getPlayUrl|2024078201|600001859|cctv2|2024075401|600001800|cctv3|2024068501|600001801|cctv4|2029797101|600001814|cctv5|2024078401|600001818|cctv5p|2024078001|600001817|cctv6|2013693901|600108442|cctv7|2024072001|600004092|cctv8|2029793001|600001803|cctv9|2024078601|600004078|cctv10|2024078701|600001805|cctv11|2027248701|600001806|cctv12|2027248801|600001807|cctv13|2029797201|600001811|cctv14|2027248901|600001809|cctv15|2027249001|600001815|cctv16|2027249101|600098637|cctv164k|2027249301|600099502|cctv17|2027249401|600001810|cctv4k|2029810301|||600002264|cctv8k|2026774101|600156816|cgtn|2024181701|600014550|cgtnfy|2024181801|600084704|cgtney|2024181901|600084758|cgtnalby|2024182001|600084782|cgtnxby|2024182101|600084744|cgtnwyjl|2024182301|600084781|cctvfyjc|2025637103|600099658|cctvdyjc|2026874203|600099655|cctvhjjc|2026874303|600099620|cctvsjdl|2026874403|600099637|cctvfyyy|2026874503|600099660|cctvbqkj|2026874603|600099649|cctvfyzq|2026966203|600099636|cctvgeqwq|2026874703|600099659|cctvnxss|2026874803|600099650|cctvyswhjp|2026874903|600099653|cctvystq|2026875003|600099652|cctvdszn|2026875103|600099656|cctvwsjk|2025637003|600099651|bjws|2024052703|600002309|jsws|2024171103|600002521|dfws|2024054503|600002483|zjws|2024054703|600002520|hnws|2024054803|600002475|hbws|2024171203|600002508|gdws|2024060903|600002485|gxws|2024060703|600002509|hljws|2029797003|600002498|hnws2|2024055603|600002506|cqws|2024061103|600002531|szws|2024061303|600002481|scws|2024061403|600002516|henanws|2029797303|600002525|fjdnhz|2024061503|600002484|gzhws|2024061603|600002490|jxws|2024061703|600002503|lnws|2024171303|600002505|ahws|2024171403|600002532|hbws2|2024171503|600002493|sdws|2029787903|600002513|tjws|2019927003|600152137|jlws|2025561503|600190405|shanxiws|2029795103|600190400|nxws|2025608503|600190737|nmgws|2025561203|600190401|ynws|2025561303|600190402|shanxiws2|2025560803|600190407|qhws|2025559103|600190406|xzws|2025558003|600190403|cetv1|2022823801|600171827|gxpd|2029360403|600213139|xjws|2019927403|600152138|parseInt|substr|0x83|0x7FFFFFFF|0x9e3779b9|0xF8|charCodeAt|110DBEC10C23E7D2E56A1CAD6914EF1B|0xB3|0xC9|0x53|0xA0|0x69|0x13|0xAD|0x4D|toUpperCase|0000004200000004000004d2|2622783A|v0|000|com||yangshipin|app|||iphone|ex_json_bus|ex_json_vs|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_|indexOf|59b2f7cf725ef43c34fdd7c123411ed3|0x84|0x2E|0x08|0xF0|0x66|0xE6|0xEA|0x48|0xB4|0xCA|0xA9|0x91|0x6F|0xF3|0xF|01|65536|padStart|00000000000000000000000000000000|Date|now|1000|_zj1A5Gh6QYcxWjIUGos2w|dcgh|_|atime|120|livepid|cnlid|app_version|300090|caplv|cmd|defn|device|iPhone|encryptVer|getpreviewinfo|hevclv|lang|zh|Hans_JP|livequeue|logintype|nettype|newnettype|newplatform|platform|sdtfrom|v3021|spacode|spaudio|spdemuxer|spdrm|spdynamicrange|spflv|spflvaudio|sphdrfps|sphttps|spvcode|MSgzMDoyMTYwLDYwOjIxNjB8MzA6MjE2MCw2MDoyMTYwKTsyKDMwOjIxNjAsNjA6MjE2MHwzMDoyMTYwLDYwOjIxNjAp|spvideo|stream|system|sysver|ios18|uhd_flag|cKey|fntick|flowid|playbacktime|in|https|bkliveinfo|ysp|cn|User|Agent|qqlive|Connection|Keep|Alive|Accept|application|json|stringify|HttpBridge|fetchWithHeaders|try|parse|catch'.split('|'),0,{}));
// ---------- 3. 酷9主入口 ----------
function main(item) {
if (!item || !item.url) {
return { url: "" };
}
var url = item.url.toString();
var id = ku9.getQuery(url, "id");
if (!id) {
return { url: "" };
}
try {
// 获取解压后的函数(原压缩代码会定义 getPlayUrl)
var getPlayUrlFunc = null;
try {
getPlayUrlFunc = getPlayUrl;
} catch (e) {}
if (!getPlayUrlFunc) {
try {
getPlayUrlFunc = eval("getPlayUrl");
} catch (e) {}
}
if (!getPlayUrlFunc) {
// 如果仍然找不到,尝试其他可能名称
try {
getPlayUrlFunc = playUrl;
} catch (e) {}
}
if (!getPlayUrlFunc) {
return { url: "" };
}
var playUrl = getPlayUrlFunc(id);
if (playUrl && playUrl.indexOf('http') === 0) {
// 处理回看参数
var playseek = ku9.getQuery(url, "playseek");
if (playseek) {
var parts = playseek.split('-');
if (parts.length === 2) {
var start = parts[0].trim();
var end = parts[1].trim();
var separator = playUrl.indexOf('?') > -1 ? '&' : '?';
playUrl += separator + "playbackbegin=" + start + "&playbackend=" + end;
}
}
return { url: playUrl };
}
} catch (e) {
// 忽略异常
}
return { url: "" };
}