跳到主要内容
  • 新帖
  • 热门
  • 精选
爬虫波
@magicluweibo
会员
第 236 位会员 2024/05/27 加入
0 帖子 3 回复 0 粉丝 0 关注
  • 概况
  • 话题
  • 回帖
  • 关注
  • 粉丝

热门话题

查看全部话题

还未发布话题。

最近回复

查看全部回复
  • Docker 镜像 pixman/pixman 使用说明 2y ago

    大佬,我想进交流群,有q群吗

  • mytvsuper 转直链 PHP(方便 tivimate&影视等) 2y ago

    感谢分享,我给修改一下,实现免翻直接看。

    这些mpd源的视频流本身没有被墙,但是解密的key所在的域名是vercel-php-clearkey-hex-base64-json.vercel.app 这边被屏蔽,所以,只要反代这个接口就可以实现播放。

    首先去准备一个php,用来反代key的文本

    <?php
    $url = $_GET['url'] ?? '';
    if (strpos($url, 'http') !== 0) {
            $url = base64_decode($url);
        }
    $html_code = pachongbo($url);
    echo $html_code;
    function pachongbo($url){
        $headers = [
        'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'];
    
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_TIMEOUT, 100);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        $data = curl_exec($ch);
        curl_close($ch);
        return $data; 
    }       
    ?>
    

    php存放在海外服务器中,接着上面那份python代码我修改如下

    原来代码中的

    m3uContent += `#KODIPROP:inputstream.adaptive.license_key=${licenseKey}\n`;
    

    修改为

    m3u_content += f"#KODIPROP:inputstream.adaptive.license_key=http://【你自己的服务器ip】/【上面那个php代码】.php?url=" +  base64.b64encode(
                            license_key.encode('utf-8')).decode('utf-8')   + "\n"
    

    此目的为反代key

    再把上面的程序主体部分,定义为一个循环函数,接着让这个函数每2小时运行一次,或者你可以自己修改。

    def pachongbo():
        # 创建或打开文件用于写入
        with open('mytvfree.m3u', 'w', encoding='utf-8') as m3u_file:
            # 写入 M3U 文件的头部
            m3u_file.write("#EXTM3U url-tvg=\"http://【你自己的服务器ip】/【上面那个php代码】.php?url=https://xmltv.bph.workers.dev\"\n")
    
            # 遍历所有频道并写入每个频道的 M3U 内容
            for channel_code in CHANNEL_LIST.keys():
                m3u_content = get_mytvsuper(channel_code)
                m3u_file.write(m3u_content)
    
        print("所有频道的 M3U 播放列表已生成并保存为 'mytvfree.m3u'。")
    
    while True:
        pachongbo()
        time.sleep(7200)  #2小时*60分钟*60秒  
    

A digital lifestyle community co-maintained by Pixer

本网站服务器由 提供,CDN 由 提供,基于 Homeland 构建,采用 Docker 部署。