IPTV myTV SUPER 直播代理

coding · 2024年05月13日 · 最后由 coding 回复于 2024年06月08日 · 4245 次阅读

Update:

现已在 Docker 支持:https://pixman.io/topics/31


myTV SUPER 是香港的流媒体平台,注册用户可以看免费的一些频道,比如翡翠台、TVB Plus 等,如果要在 iptv 软件里播放的话,需要使用程序做一个转换,下面是使用 cloudflare workers 来代理的方法,这个代码也支持付费频道,但是需要你自己开通了会员。

代码

addEventListener("fetch", event => {
  event.respondWith(handleRequest(event.request))
})

const api_token = '你的 TOKEN';
async function get_mytvsuper(channel) {
  const headers = {
    'Accept': 'application/json',
    'Authorization': `Bearer ${api_token}`,
    'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
    'Host': 'user-api.mytvsuper.com',
    'Origin': 'https://www.mytvsuper.com',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5.2 Safari/605.1.15',
    'Referer': 'https://www.mytvsuper.com/',
    'X-Forwarded-For': '210.6.4.148', 
  }

  const params = new URLSearchParams();
  params.append('platform', 'android_tv');
  params.append('network_code', channel);

  const response = await fetch(`https://user-api.mytvsuper.com/v1/channel/checkout?${params}`, { headers });
  if (response.status != 200) {
    return null;
  }

  const json = await response.json();
  const profiles = json.profiles || [];
  let play_url = '';
  for (let i of profiles) {
    if (i.quality === 'high') {
      play_url = i.streaming_path;
      break;
    }
  }

  if (!play_url) {
    return null;
  }
  return play_url.split('&p=')[0];
}

async function handleRequest(request) {
  const url = new URL(request.url);
  const path = url.pathname.split('/');
  const id = path.pop();

  const redirect_url = await get_mytvsuper(id) || 'https://nolive.livednow.com/nolive.m3u8';

  let cacheControl = 'public, max-age=10'
  if (redirect_url !== 'https://nolive.livednow.com/nolive.m3u8') {
    cacheControl = 'public, max-age=43200' 
  }

  const response = new Response(null, {
    status: 302,
    headers: {
      Location: redirect_url,
      'Cache-Control': cacheControl,
    },
  });
  return response;
}

播放链接类似:https://DOMAIN/{ID},例如翡翠台 4k: https://DOMAIN/JUHD

完整的 m3u 文件可以访问 https://assets.livednow.com/m3u/mytvsuper.m3u 获取,注意将里边的 https://mytvsuper.livednow.com 替换成你自己的域名。

Token 的获取

登录 myTV SUPER 官网后,打开开发者工具 - Network,过滤 https://www.mytvsuper.com/api/auth/getSession/self/ 这个 api 的请求,查看 Response 中的 token 字段,如下图

这个平台的流是 MPEG-DASH 格式,所以需要支持 MPD 的播放器

感激之情,溢于言表,一键三连

嘿嘿,支持。。。。。。。。

一键三连

感谢分享

请问大佬如果长期在 tivi 软件上播放啊,转换 base64 是可以播放,但地址只能播放一天左右就失效了,又要更换地址

Guo_123 回复

这个暂时没有好的解决办法,因为官方 api 返回的 url 就是 24 小时有效,可以尝试下别的软件,比如 ott 什么的

Guo_123 回复

m3u 前面固定的啊,包括 key,只是你获得的 URL 需要变动,而 URL 使用老大的方法也可以固定获取的链接https://domain/JUHDm3u,URL。根本不需要变动 自动获得

请问用 vlc 播放的话 画面是花屏 看不到正常视频 怎么解决?

Guo_123 回复

看样子是 tivi 不支持 302 跳转

Even 回复

tivi 不支持 302 跳转

yandex 回复

vlc 没支持 drm 视频吧,你可以试试浏览器安装 https://chromewebstore.google.com/detail/videoplayer-mpdm3u8m3uepg/opmeopcambhfimffbomjgemehjkbbmji 这个插件后打开 m3u

我请求地址是https://mytvsuper.yandexmixman.workers.dev/JUHD 但返回 {"error":"Error","message":"Token and remote not found"}

请教什么问题?

yandex 回复

const api_token = '你的 TOKEN';

这里的 token 设置正确了吗?要复制完整

tivimate 不行 好忧伤

感谢大佬已成功

请问是 php 代码吗?

minor8429 回复

这是 cloudflare workers 代码

请问 报错 302 是什么问题?可以分析下是哪个步骤出错了吗

Samuel 回复

302 不是报错,他是跳转到播放地址

能用 actions 定时获取直链吗。

bsex 回复

可以啊,你写个 GitHub action,把链接保存下

想请教下,这个 key 如果不使用 up 提供的,想要自己试下获取,要怎么去获取

aiwei 回复

关键词 getwvkeys

coding 回复

研究下用 GitHub action 能不能定时生成供 tivimate 使用的 m3u。

coding 回复

显示 302 之后 OTT 报发生了错误 这种情况是什么问题呢😂

请问老大我在 vps 上正常推流了 mysuper 了,但在本地 nas 部署 Ubuntu 后,最后推流失败,是因为本地没有代理原因吗?如果是可以麻烦老大提供一个代理部署的代码吗?

Guo_123 回复

对的,要代理访问,这个是 workers 的代码,我不知道你说的 ubuntu 什么意思

感谢分享

大佬,这个搞不明白。可否也出一个 docker 版本?本地在 nas 比较好代理。感谢

大佬,这个列表能不能完善一下节目图标?

wailan 回复

自己转换直链就好

TOKEN 没错 一直找不到节目

JIMKUN 回复

如果用插件的话,是需要设置 ClearKeys 的

xiaopeng 回复

哪个频道

coding 回复

这个 key 只能复制你的吗,还是可以从那里获取?

JIMKUN 回复

你自己去获取也跟我写的一样

怎么修改成获取点播区 1080p 代码啊?

token 会过期吗?需要隔段时间更新一次?

XX 回复

一般情况下挺长久的

qqmme 回复

点播没去分析,我估计没有那么容易,比较 clearkey 还不一定一样

coding 回复

只获取下载链接应该没问题吧?clearkey 我可以获取到,所以该怎么改啊?

qqmme 回复

浏览器抓包

coding 回复

但是想获取 1080p 的,浏览器只有 720 的,所以想改这个代码获取链接

coding 回复

请问这个播放器在哪儿下载?

今天测试,播不了了,之前正常,是不是 key 更新了?

这个能不能也整合到 DOCKER 内

renwen 回复

可以

coding 回复

potplayer 支持吗?😂

Devin 回复

不太确定

coding 回复

windows 上有哪个播放器支持?

Devin 回复

还真没测试过,没有 Windows 电脑

coding 回复

那你 mb 上用什么软件播放呢?

Devin 回复

网页插件

大佬请问 hami 可以类似设置吗

Calvin 回复

也可以的,就是我没有账号去抓 key

手机版付费会员也可以用这个方法吗?

coding 回复

失效了,大佬补补链接

tvos 是不是不支持?

请问是失效了吗?

root 回复

对的,

coding pixman Docker 镜像已支持 MytvSuper 直播源 提及了此话题。 06月11日 21:21
需要 登录 后方可回复, 如果你还没有账号请 注册新账号