跨平台 TVBox 兼容桌面播放器 —— 直播 + 点播,一个安装包装好即用。
UnBox 是一个面向电视盒子 / IPTV 用户的桌面播放器,支持 TVBox 单线路源、 FongMi 多线路源(CMS JSON、drpy 服务、FongMi js0 爬虫)与 M3U / TXT 直播源。 无需部署服务、无需配置 Go / Node 环境,下载对应平台的安装包即可使用。
- 直播 + 点播:一套界面同时支持 IPTV 直播与视频点播,分类 / 分组 / 搜索齐全。
- 本地媒体库:添加本地目录并递归扫描视频,支持海报 / 片名展示、无海报时自动抓取视频首帧、断点续播与统一播放入口。
- 智能播放路由:H.264 走内置 Web 播放器(hls.js / mpegts.js / 原生
<video>), HEVC / RTMP / MKV 等本地容器自动切换到外部 mpv;MP4 / M4V / WebM 优先使用内置 Web 播放。 - 断点续播:自动记录观看进度与历史,首页一键接着看。
- 播放设置:设置页可开启自动切集、自动换源与下一集预载。自动换源在播放出错或 持续缓冲 30 秒时按详情页线路顺序尝试其他线路,只匹配同名剧集、每条线路最多一次; 预载只提前准备资源,失败不影响当前播放。三项默认关闭。
- 全站搜索:并发搜索所有已导入站点,结果实时刷新、显示所属站点,可随时中断。
- 多线路 / 多站点:FongMi多线路源支持切换线路,自动记忆上次站点。
- 内嵌 JS 爬虫:纯 Go goja 引擎直接运行 FongMi js0 爬虫(
.js站点),无需 Node 环境。 - 源管理:点播源 / 直播源独立导入,保留历史配置,一键切换、删除、回显。
- 点播详情内嵌播放:详情页直接选集播放,多源并列 Tab,类目 / 详情面板可折叠,播放器自适应放大。
- HTML 简介渲染:DOMPurify 白名单清洗后安全渲染影片简介。
- 日志查看 + 检查更新:内置日志弹窗(可复制),设置页一键检查新版本。
UnBox 支持两类点播源,导入方式一致(设置页粘贴地址即可):
| 类型 | 结构 | 支持的站点 |
|---|---|---|
| TVBox 单线路源 | 顶层直接含 sites 数组 |
type=1 CMS JSON、type=3 爬虫(http drpy 服务 / .js FongMi js0) |
| FongMi 多线路源 | storeHouse → urls[] → 配置 三层 |
点播页可切换线路;每条线路内部与单线路源同构 |
csp_JAR 站点与 xpath(type=0)暂不支持,详见「已知限制」。
前往 Releases 下载对应平台的安装包:
| 平台 | 安装包 | 说明 |
|---|---|---|
| Windows | .exe(NSIS 安装程序或便携版)· amd64 / arm64 |
NSIS 安装包内嵌 mpv,安装后可直接播放 HEVC / RTMP |
| macOS | .zip(内含 .app,arm64 + amd64 通用) |
解压拖入「应用程序」;HEVC 需 brew install mpv |
| Linux | .deb(Ubuntu / Debian)或 .AppImage |
.deb 双击安装并自动依赖 mpv,AppImage 加执行权限直接运行;AppImage 播放 HEVC / MKV / RTMP 等需 sudo apt install mpv |
⚠️ Windows 首次运行提示:安装包暂未做代码签名,首次双击.exe(安装程序或便携版)时 SmartScreen 会弹出「Windows 已保护你的电脑 / 发布者未知」。点「更多信息」→「仍要运行」 即可正常安装;每次下载新版本首次运行时可能再次提示,处理方式相同。 该提示需应用获得代码签名证书后才会消失,不是病毒拦截。
💡 关于 mpv:mpv 用于 HEVC / RTMP 以及 MKV、AVI、RMVB、TS 等本地容器,也用于 WebView 无法解码的视频首帧海报兜底。Windows NSIS 安装包内嵌未修改的便携版 mpv,Linux
.deb声明发行版mpv依赖;macOS 和 Linux.AppImage仍需自行安装 mpv。MP4 / M4V / WebM 使用内置 Web 播放和首帧抓取。mpv 项目源码见 https://mpv.io/。
| 平台 | 架构 | 最低版本 | 运行依赖 |
|---|---|---|---|
| Windows | amd64 / arm64 | Windows 10 1809+ | WebView2(安装包内置引导安装);NSIS 安装包内嵌 mpv |
| macOS | amd64 + arm64(通用二进制) | macOS 12 Monterey+ | 系统内置 WKWebView;HEVC 需 brew install mpv |
| Linux | amd64 | Ubuntu 24.04+ / Debian 13+(需 GTK4 ≥ 4.14 + WebKitGTK 6.0) | libgtk-4-1、libwebkitgtk-6.0-4、gstreamer1.0-libav、gstreamer1.0-plugins-bad、mpv(.deb 自动声明依赖) |
WebView2 Runtime 支持 Windows 10 1809+ 的 arm64 构建版本,故 Windows 两架构最低版本一致。
运行时无需安装 Go / Node 等开发环境 —— 前端资源已编译进二进制。Linux
.deb会声明 GTK / WebKit / GStreamer 依赖;使用.AppImage时请按下方说明手动安装。
Linux 使用
.AppImage时不会自动安装系统依赖。若出现 WebKit 的WebVTT encoder或 MP4 无法播放提示,请执行:sudo apt update sudo apt install gstreamer1.0-libav gstreamer1.0-plugins-bad安装后重启 UnBox;MKV、HEVC、RTMP 等格式仍需
mpv。
🐧 Linux 沙箱(userns):WebKitGTK 用 bubblewrap 做 web 进程沙箱,依赖非特权用户命名空间(unprivileged userns)。Ubuntu 24.04+ 默认以 AppArmor 限制该能力,若首次运行报
bwrap: setting up uid map: Permission denied,请执行:sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 # 本次生效 echo 'kernel.apparmor_restrict_unprivileged_userns=0' | sudo tee /etc/sysctl.d/99-unbox.conf # 持久化旧内核(Ubuntu 22.04 等)改用
kernel.unprivileged_userns_clone=1。应用已内置启动前探测,缺该能力时会直接打印上述指引而非崩溃。
- 打开 设置 页,粘贴导入 点播源(TVBox 单线路 / FongMi 多线路 JSON 地址)或 直播源(M3U / TXT / 订阅地址)。
- 点播 页选择线路与站点,浏览分类或全站搜索,点进详情页选集即可播放。
- 直播 页选择分组与频道,点击播放。
- 媒体库 页添加本地目录,点击「重新扫描」后即可浏览并播放本地视频;没有匹配海报时,MP4 / WebM 等浏览器可解码格式会自动抓取首帧,其他格式在 mpv 可用时走 mpv 兜底。
- 首页 查看观看历史,点击任意记录断点续播。
# 依赖(用 mise 管理,见 .mise.toml):Go 1.26、Node 22、Wails v3 beta.9
mise install
# 开发模式(热重载)
mise run dev
# 本机原生构建
wails3 build # 当前平台
mise run build:linux # 或 build:win / build:mac发布打包走 GitHub Actions:推送 v* 标签后,
按 Linux amd64、Windows amd64/arm64、macOS universal 四个目标构建,并自动创建
Release 挂载产物。
- 后端:Go 1.26 + Wails v3(WebView2 / WKWebView / WebKitGTK)
- 前端:Vue 3 + TypeScript + Vite,hls.js / mpegts.js
- 存储:SQLite(
modernc.org/sqlite,纯 Go 免 CGO)
- Windows / macOS 完整实测与收尾
- FongMi多线路源中基于
csp_JAR 的站点暂未支持:实测csp_JAR 是编译后的 Android dex(非 JS),需安卓运行时才能执行,纯 Go 本地不可行(M5.2 搁置)。 xpath(type=0)站点也暂不支持。 - Linux 的 WebKitGTK 无 MSE,HLS / FLV / TS 会自动切到 mpv 播放。
UnBox 是个人「用爱发电」、完全免费的开源项目。如果你觉得它好用,愿意支持后续的开发和维护,欢迎通过爱发电请我喝杯咖啡 ☕。
每一份支持我都非常感激。当然,不捐助也完全没有关系——软件会一直免费开源下去,你使用它、反馈问题,就已经是最好的支持了。感谢每一位使用 UnBox 的朋友。🙏