📺 TVBox看直播很卡,点播加载错误。教你利用GitHub自建接口,流畅看4K~!

📺 TVBox看直播很卡,点播加载错误。教你利用GitHub自建接口,流畅看4K~!

bonnie366
1年前发布

摘要:使用 TVBox 的朋友可能经常遇到痛点:网上找的接口没几天就失效了,或者是直播源卡顿、画质差。与其到处求人找源,不如自己动手丰衣足食!

今天 赛博61区 教大家一套“一劳永逸”的方案:利用 GitHub 免费托管核心文件,并配合 GitHub Actions 每天定时自动抓取大佬维护的直播源。一次配置,永久自动更新,从此实现“看电视自由”!

一、 为什么我们要自建?

首先你要理解 TVBox 的运行原理,原版 TVBox 是一个空壳,什么都看不了。想要让它跑起来,需要三个东西配合:

  1. APP 本体:就像一台没有频道的电视机,需要外部内容才能显示。APP 本体是整个 TVBox 的框架,就像电视机的硬件结构,负责启动、显示界面、以及与用户交互等基本功能,但它本身并不包含任何实际的节目内容。
  2. Jar 文件:这就像是电视的“节目源”或“频道”。每个频道都包含不同的节目内容。Jar 文件是 APP 中的主要代码和资源包,它定义了 TVBox 的功能,像是播放视频、处理互动等。它就像是通过电视机接收到的各种节目,它的内容由程序员提前设计好。
  3. JSON 文件:这是类似电视节目的"节目单"。JSON 文件存储了关于频道(功能)和节目的信息,比如频道的名称、类型、要播放的内容等。TVBox 会根据这些信息来加载和显示对应的内容。就像电视的频道调度表,JSON 文件提供了关于如何显示哪些内容、顺序等的详细配置。

我们要解决的问题
网上的接口通常把 Jar 和 JSON 放在别人的服务器上。一旦大佬删库跑路,你的电视就“瘫痪”了。
我们的方案
把 Jar 和 JSON 搬回我们自己的 GitHub 仓库里存着。只要 GitHub 不倒闭,你的电视就能一直看! 重点是永远不用向平台交会员费了。


二、 第一步:创建 GitHub“基地”

首先我们需要一个仓库来存放所有的文件。

  1. 登录 GitHub,没有帐号的,先注册一个帐号
    2026-02-10_09-42-01.webp
  2. 点击右上角的 + 号,选择 New repository
    2026-02-10_09-45-15.webp
  3. Repository name:输入 CyberTV (或者你喜欢的名字)。
  4. Public:一定要选公开,否则电视读取不到。
  5. 勾选 Add a README file,点击 Create。
    2026-02-10_09-47-45.webp

三、 第二步:托管核心文件

这是保证点播功能(看电影电视剧)稳定的关键。

  1. 获取核心 Jar 包

    • 为了兼容性,我们使用目前最稳的“饭太硬”同款核心。
    • 已同步到我的GitHub,请放心下载
  2. 上传到仓库

    • 在仓库页面点击 Add file -> Upload files
      2026-02-10_09-52-05.webp
    • 选择刚下载的文件
      2026-02-10_09-57-51.webp
      2026-02-10_10-17-36.webp
    • 上传进度完成后点击提交 (Commit)。
      2026-02-10_09-58-41.webp
    • (建议:可以建一个 jar 文件夹存放,显得更整洁)
      2026-02-10_09-59-41.webp
  3. 编写配置文件 (config.json)

    • 在仓库点击 Add file -> Create new file
      2026-02-10_10-05-00.webp
    • 新建一个 config.json 文件。
      2026-02-10_10-09-33.webp
    • 复制粘贴下列代码,用户名仓库名改成自己的。
    • 关键点spider (爬虫) 的地址要指向我们刚才上传的 jar。为了防屏蔽和加速,我们使用 ghproxy 代理。
    • 配置文件来自饭太硬 大佬,仅供参考。
{
  "spider": "https://ghproxy.net/https://raw.githubusercontent.com/你的用户名/你的仓库名/main/jar/fan.jar",
  "wallpaper": "https://深色壁纸.xxooo.cf/",
  "sites": [
    {
      "key": "Douban",
      "name": "豆瓣热播 | 饭太硬核心",
      "type": 3,
      "api": "csp_DouDouGuard",
      "indexes": 1,
      "searchable": 0,
      "quickSearch": 0,
      "changeable": 0
    },
    {
      "key": "MDrive",
      "name": "🗂我的云盘➖配置",
      "type": 3,
      "api": "csp_MyDriveGuard",
      "changeable": 0,
      "indexes": 0,
      "searchable": 1,
      "style": {
        "type": "oval"
      },
      "ext": {
        "Cloud-drive": "http://www.饭太硬.com/tv/tvfan/Cloud-drive.txt"
      }
    },
    {
      "key": "Wogg",
      "name": "👺玩偶哥哥➖4K弹幕",
      "type": 3,
      "api": "csp_WoGGGuard",
      "timeout": 30,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 0,
      "ext": {
        "Cloud-drive": "http://www.饭太硬.com/tv/tvfan/Cloud-drive.txt",
        "from": "4k|auto"
      }
    },
    {
      "key": "YGP",
      "name": "🚀预告药神➖预告片",
      "type": 3,
      "api": "csp_YGPGuard",
      "searchable": 0,
      "quickSearch": 0,
      "changeable": 0
    },
    {
      "key": "alllive",
      "name": "🎧一直播➖直播",
      "type": 3,
      "api": "csp_AllliveGuard",
      "searchable": 1,
      "quickSearch": 0,
      "changeable": 0,
      "ext": "uqGL1fpJNAUH7axYx5bf4OWuvyk="
    },
    {
      "key": "seed",
      "name": "🔜刚劲刚➖三盘",
      "type": 3,
      "api": "csp_SeedhubGuard",
      "ext": "5++kwLhNYm9UrO9wh7Dl7eKamTee4s/5",
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 0,
      "indexes": 0,
      "style": {
        "type": "list"
      }
    },
    {
      "key": "ZPan",
      "name": "🎬刚盘搜➖三盘",
      "type": 3,
      "api": "csp_S_zpsGuard",
      "searchable": 1,
      "quickSearch": 0,
      "changeable": 0,
      "ext": {
        "siteUrl": "https://api.jkai.de/"
      },
      "indexes": 0,
      "style": {
        "type": "list"
      }
    },
    {
      "key": "Libvio",
      "name": "🌃立播➖秒播",
      "type": 3,
      "api": "csp_LibvioGuard",
      "timeout": 10,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1,
      "ext": {
        "Cloud-drive": "http://www.饭太硬.com/tv/tvfan/Cloud-drive.txt",
        "from": "4k|auto"
      }
    },
    {
      "key": "T4",
      "name": "🧡太冻➖秒播",
      "type": 3,
      "api": "csp_T4Guard",
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 0,
      "ext": "rfOIzPkSUkANv6AT2prC8en3+TzKx9TnlT8vaY37HhtYfAQe6C5xqrVuJPhQwYV6r3eRdMBGm3Qm6Th+BushR86B6KqJGXDsHazHw7alBG/7zUxkN1tK/NypRxnpBNoeUtpw4jcCCGhytI75yO4g4zG6SOPA0RSwhksM0IF2friAkrHCWoW3v+0mdw6sjz4t4XB1Df7yL/R5cfaA/5LQYq3I8OkvMrJMU9Q1P7JXwx7NSF2zTyH/ANVmZ4u5m567DW1KVG7OuQjXPjZiOXTYk0+wjpfBRTf19yIq6q/C76k2Fs80joAMPw0ueDR+QHxtuDcTom2rmHkI1Fonkzi6BotbpUcbSi4PiIgmfdbvVwhGZ+i4nvt+IYa48l5aLA7PLgDiERpuOs31aHaXlgFswT87XyTb8QaF4CuzKWJuXptwNTjvXAS9KHdxH49Ay+hfBAB2bCvUf4CMoldF2wZUv0mI2qY966erFpOFg+FOc7t88EUH8j8ACXQtHJiKC9RQ+SaLIF0="
    },
    {
      "key": "NewCz",
      "name": "💫厂长➖秒播",
      "type": 3,
      "api": "csp_NewCzGuard",
      "timeout": 10,
      "playerType": 2,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1
    },
    {
      "key": "LiteApple",
      "name": "🍎小苹果➖秒播",
      "type": 3,
      "api": "csp_LiteAppleGuard",
      "timeout": 10,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1
    },
    {
      "key": "Jpys",
      "name": "🈺文才➖秒播",
      "type": 3,
      "api": "csp_JpysGuard",
      "timeout": 10,
      "playerType": 2,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1
    },
    {
      "key": "YCy",
      "name": "⚒原创➖秒播",
      "type": 3,
      "api": "csp_YCyzGuard",
      "timeout": 15,
      "playerType": 1,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1
    },
    {
      "key": "Bttwoo",
      "name": "🍄比特➖秒播",
      "type": 3,
      "api": "csp_BttwooGuard",
      "timeout": 10,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1
    },
    {
      "key": "Jqq",
      "name": "🆙金圈➖多线",
      "type": 3,
      "api": "csp_JqqGuard",
      "timeout": 10,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1
    },
    {
      "key": "AppTT",
      "name": "🔥热播➖多线",
      "type": 3,
      "api": "csp_AppTTGuard",
      "timeout": 10,
      "playerType": 2,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1,
      "ext": "uqGL1bNENExT7/hGxpSE5qU="
    },
    {
      "key": "AppSx",
      "name": "🧿下饭➖多线",
      "type": 3,
      "api": "csp_AppSxGuard",
      "timeout": 10,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1,
      "ext": "rfOX1voDIQhH8epBwpmIsuStr2HSytK11WwwcM/+XB8SbkBB4XYk/L52LroCiYRhoDrRLJ4ZkCh5q2RxCb5yUs6B5aCQVGSkR6zDgKLrFSDulg=="
    },
    {
      "key": "AppSx_Maomao",
      "name": "😽猫猫➖多线",
      "type": 3,
      "api": "csp_AppSxGuard",
      "timeout": 10,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1,
      "ext": "rfOX1voDIQhH8epBwtCFsub0/WmdmYi/k2NkJsm7Vk4dJQZft2UtrrwhKK52i/dDilKkU5Nz+V0bwkYsVuU="
    },
    {
      "key": "AppSx_HeiMu",
      "name": "🤑黑木➖多线",
      "type": 3,
      "api": "csp_AppSxGuard",
      "timeout": 10,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1,
      "ext": "rfOX1voDIQhH8epBwtCFsra0umqGnpe+lWNtKs6yVR1PMxpf9CY77fshTPNP+c5lnl6CWfxm7XYO7C1p"
    },
    {
      "key": "AppSx_Mozi",
      "name": "🍇末子➖多线",
      "type": 3,
      "api": "csp_AppSxGuard",
      "timeout": 10,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1,
      "ext": "rfOb1uAWbkRHp7hdxprG9un3+TDC2t/rlTwlcMr+ChdbeV8Q9y9xsKxqfbtO0M05tGWcacFVm2c45jhyH6t1Rt6A6PjICGqxV+uN1uOqS2/x0Vp5J0Vfo8usQADpHg=="
    },
    {
      "key": "Nmys",
      "name": "🤱糯米➖多线",
      "type": 3,
      "api": "csp_NmyswvGuard",
      "timeout": 15,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1
    },
    {
      "key": "Auete",
      "name": "🏝奥特➖多线",
      "type": 3,
      "api": "csp_AueteGuard",
      "timeout": 10,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1
    },
    {
      "key": "JPJ",
      "name": "👬基片➖P2P",
      "type": 3,
      "api": "csp_JPJGuard",
      "timeout": 10,
      "playerType": 2,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 0
    },
    {
      "key": "SixV",
      "name": "🧶新6V➖磁力",
      "type": 3,
      "api": "csp_SixVGuard",
      "timeout": 10,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 0,
      "ext": "https://www.xb6v.com/"
    },
    {
      "key": "Dm84",
      "name": "🚌巴士➖动漫",
      "type": 3,
      "api": "csp_Dm84Guard",
      "timeout": 10,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1
    },
    {
      "key": "Anime1",
      "name": "🐤日漫➖动漫",
      "type": 3,
      "api": "csp_Anime1Guard",
      "timeout": 10,
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 1
    },
    {
      "key": "Zbz",
      "name": "⚽超全➖看球",
      "type": 3,
      "api": "csp_ZbzGuard",
      "searchable": 0,
      "quickSearch": 0,
      "changeable": 0,
      "style": {
        "type": "list"
      },
      "ext": "uqGL1fpJNAUf8fdTwZCE5qSp+Q=="
    },
    {
      "key": "88",
      "name": "⚽88➖看球",
      "type": 3,
      "api": "csp_Sir88Guard",
      "timeout": 10,
      "searchable": 0,
      "changeable": 0,
      "style": {
        "type": "list"
      }
    },
    {
      "key": "Kanqiu",
      "name": "⚽手机➖看球",
      "type": 3,
      "api": "csp_KanqiuGuard",
      "timeout": 10,
      "searchable": 0,
      "changeable": 0,
      "style": {
        "type": "list"
      }
    },
    {
      "key": "MTV1",
      "name": "🎧️听听➖音乐",
      "type": 3,
      "api": "csp_MusicGuard",
      "style": {
        "type": "rect",
        "ratio": 1
      },
      "searchable": 1,
      "quickSearch": 0,
      "changeable": 0
    },
    {
      "key": "MTV",
      "name": "🎹明星➖MV",
      "type": 3,
      "api": "csp_BiliGuard",
      "style": {
        "type": "rect",
        "ratio": 1.597
      },
      "searchable": 0,
      "quickSearch": 0,
      "changeable": 0,
      "ext": {
        "json": "https://nos.netease.com/ysf/5af5fbe12a88b7c45aa1c21e6551826c.txt"
      }
    },
    {
      "key": "YiSo",
      "name": "😹易搜➖三盘",
      "type": 3,
      "api": "csp_YiSoGuard",
      "searchable": 1,
      "quickSearch": 1,
      "changeable": 0,
      "ext": {
        "Cloud-drive": "http://www.饭太硬.com/tv/tvfan/Cloud-drive.txt",
        "from": "4k|auto",
        "yiSoCookie": "satoken=4437cb8c-a260-411b-9a0d-1fa622ab422f"
      }
    },
    {
      "key": "Bili",
      "name": "🅱哔哔合集➖弹幕",
      "type": 3,
      "api": "csp_BiliGuard",
      "style": {
        "type": "rect",
        "ratio": 1.597
      },
      "searchable": 1,
      "quickSearch": 0,
      "changeable": 0,
      "ext": {
        "json": "https://nos.netease.com/ysf/0075389dca9afadd4614e9713765ff17.txt"
      }
    },
    {
      "key": "fan",
      "name": "导航 www.饭太硬.com",
      "type": 3,
      "api": "csp_XPathGuard",
      "searchable": 1,
      "quickSearch": 0,
      "changeable": 0
    },
    {
      "key": "cc",
      "name": "请勿相信视频中广告",
      "type": 3,
      "api": "csp_XPathGuard",
      "searchable": 1,
      "quickSearch": 0,
      "changeable": 0
    }
  ],
  "logo": "https://bdcache1-f1.v3mh.com/image/25-12-16/6941612717007.gif",
  "lives": [
    {
      "name": "写鸭",
      "type": 0,
      "url": "https://bc.188766.xyz/?ip=&mishitong=true&mima=mianfeibuhuaqian&json=true",
      "timeout": 10,
      "ua": "bingcha/1.1(mianfeifenxiang)"
    },
    {
      "name": "develop202",
      "type": 0,
      "url": "https://raw.githubusercontent.com/develop202/migu_video/refs/heads/main/interface.txt",
      "playerType": 2,
      "epg": "http://epg.51ymt.top:8000/api/diyp/?ch={name}&date={date}"
    },
    {
      "name": "IPv6",
      "type": 0,
      "url": "https://nos.netease.com/ysf/3d75a78a0fc7ede372c03598d6d10367.m3u",
      "playerType": 2
    },
    {
      "name": "虎牙一起看",
      "type": 0,
      "url": "https://sub.ottiptv.cc/huyayqk.m3u",
      "playerType": 2,
      "timeout": 10,
      "ua": "okHttp/Mod-1.4.0.0"
    },
    {
      "name": "斗鱼一起看",
      "type": 0,
      "url": "https://sub.ottiptv.cc/douyuyqk.m3u",
      "playerType": 2,
      "timeout": 10,
      "ua": "okHttp/Mod-1.4.0.0"
    },
    {
      "name": "B站直链",
      "type": 0,
      "url": "https://sub.ottiptv.cc/bililive.m3u",
      "playerType": 2,
      "timeout": 10,
      "ua": "okHttp/Mod-1.4.0.0"
    },
    {
      "name": "YY轮播",
      "type": 0,
      "url": "https://sub.ottiptv.cc/yylunbo.m3u",
      "playerType": 2,
      "timeout": 10,
      "ua": "okHttp/Mod-1.4.0.0"
    }
  ]
}

四、 第三步:配置自动化机器人 🚀

这是本教程的灵魂。直播源失效快,我们通过GitHub Actions脚本每天自动抓取其他大佬维护的高清源,同步到自己仓库,避免手动更新的麻烦。

1. 开启仓库写入权限

默认情况下 Actions 不能修改文件,必须授权。

  • 进入仓库 Settings -> 左侧 Actions -> General
    2026-02-10_10-12-24.webp
    2026-02-10_10-14-17.webp
  • 拉到最底部的 Workflow permissions
  • 勾选 Read and write permissions 并保存。
    2026-02-10_10-15-22.webp

2. 创建自动工作流

name: 自动更新直播源

# 触发机制:每天北京时间早上 6:00 (UTC 22:00) 自动运行
on:
  schedule:
    - cron: '0 22 * * *'
  # 允许手动点按钮触发
  workflow_dispatch:

permissions:
  contents: write

jobs:
  update:
    runs-on: ubuntu-latest
    steps:
      - name: 检出代码
        uses: actions/checkout@v3

      - name: 创建目录
        run: mkdir -p live

      - name: 下载最新直播源 (抓取范明明 IPv6 源)
        # 这里使用 wget 下载外部源,并重命名保存到 live 文件夹
        run: |
          wget https://raw.githubusercontent.com/fanmingming/live/main/tv/m3u/ipv6.m3u -O live/my_live.m3u

      - name: 提交更改到仓库
        run: |
          git config --local user.email "[email protected]"
          git config --local user.name "GitHub Actions"
          git add live/my_live.m3u
          # 如果文件有变化才提交
          git commit -m "Auto update live source" || exit 0
          git push

3. 手动运行一次

  • 保存后,点击仓库顶部的 Actions 标签。
    2026-02-10_10-49-25.webp
  • 左侧点击 自动更新直播源
    2026-02-10_10-50-32.webp
  • 右侧点击 Run workflow
    2026-02-10_10-50-55.webp
  • 等待几十秒,当变成绿色 ✅,说明成功!你的仓库里会自动多出一个 live/my_live.m3u 文件。
    2026-02-10_10-52-07.webp
    2026-02-10_10-52-44.webp

五、 第四步:串联配置与上机

最后,我们要告诉 config.json 去读取这个自动更新的直播文件。

  1. 修改 config.json
    2026-02-10_10-57-31.webp

    • 找到 "lives" 部分,填入你的自动化源地址。用户名仓库名改成自己的。
      2026-02-10_10-58-47.webp
  "lives": [
    {
      "name": "🚀自动更新源",
      "type": 0,
      "url": "https://ghproxy.net/https://raw.githubusercontent.com/你的用户名/CyberTV/main/live/my_live.m3u",
      "playerType": 1
    },
  ]

(注:只需替换选中部分)

  1. 获取订阅链接

    • 你的最终 TVBox 订阅链接为:
      https://ghproxy.net/https://raw.githubusercontent.com/你的用户名/CyberTV/main/config.json
  2. TVBox 设置

    • 打开 TVBox -> 设置 -> 配置地址 -> 输入上面的链接 -> 确定。
      2026-02-10_11-11-18.webp
  3. 加载资源
    2026-02-10_11-10-44.webp

六、 避坑指南 & 总结

  1. 大小写敏感:GitHub 严格区分大小写,CyberTVcybertv 是两个地址,填错会报错 404。
  2. 网络问题:TVBox 内尽量使用 ghproxy.netcdn.jsdelivr.net 加速链接,不要直接用 raw.github...,否则国内很难连上。
  3. 关于账号风控:新注册的 GitHub 账号如果频繁运行 Actions 可能会被标记。如果遇到 Actions 被禁用,可以直接在 config.json 中引用咖啡伴侣大佬的原始链接作为备用方案。

通过这套方案,点播源的 Jar 包在自己手里(稳),直播源每天自动更新(新),堪称目前最完美的 TVBox 养老方案!


版权声明:本文由 赛博61区 原创发布,转载请注明出处。
喜欢就支持一下吧
点赞 0 分享 收藏
评论 抢沙发
OωO
取消 登录评论
SSL