电视浏览器

Verified safeOpen sourceExclusive
No reviews reviews
4
downloads
5.0
android

AI summary

Minimalist web browser for Android TV and set-top boxes. Scan a QR code with your phone to control the TV's browser remotely—no app installation needed on the phone. Features TV virtual keyboard, Bing pinyin search, mouse mode, and HTML5 video fullscreen. Open source under MIT license.

Generated by AI. May contain inaccuracies.

About this app

这是 KeynoWu/tv-browser,一个给 Android TV / 电视盒子用的开源极简浏览器,最大特点是用手机扫码就能遥控电视上的网页,手机端无需安装任何 App。下面把项目核心信息梳理给你。

🎯 项目定位

- 形态:Android TV 端 APK(Kotlin + 系统 WebView)+ 手机端纯网页控制页(扫码即用) - 协议/版本:MIT 协议,支持 Android 5.0+(API 21+) - 核心思路:电视只负责"显示网页",手机负责"输入和控制",两者在同一 Wi-Fi 下通过电视端跑的一个本地 HTTP 服务通信 - 最新版本:v0.1.0(2026-08-27 发布),目前 0 Star、0 Fork,属于个人早期开源项目

📺 电视端能做什么

- 系统 WebView 加载任意网站,支持 HTML5 视频全屏 - TV 虚拟键盘:遥控器方向键在字母/数字/符号网格上输入网址,带 "https://"、 ".com"、 ".cn" 等一键快捷键 - 必应拼音搜索:遥控器输拼音 → 实时中文联想 → 方向键选候选 → 打开结果 - 鼠标模式(飞鼠):工具栏切换后页面出现光标,遥控器方向键移动、OK 点击、边缘自动滚动;手机端可用触摸板控制 - 主页展示二维码 + 可动态编辑的快捷站点 - 进度条、渲染崩溃保护、切后台暂停等体验细节

📱 手机端能做什么(扫码即用)

- 扫电视上的二维码,手机浏览器直接打开控制页(iOS/Android 通用) - 网址输入框 + Bing 搜索 + 快捷站点点击直达 - 圆形 D-pad 遥控面板:方向/OK/返回/菜单/主页/刷新,单击即发、长按连发、触控震动 - 文字输入注入:手机打字实时同步到电视页面的输入框(Base64 传输,兼容 React/Vue) - 快捷站点管理:增删改,保存后电视主页实时同步 - 3 秒轮询显示电视当前页面标题与 URL

🏗 架构与安全模型

电视端在 8080 端口跑了一个 NanoHTTPD 本地服务,主要路由:

路由 作用

"GET /" 手机控制页

"GET /home" 电视主页(二维码 + 动态快捷入口)

"GET /qr.png" 二维码(需令牌)

"GET /api/status" 电视状态

"POST /api/open" 打开网址

"POST /api/key" 模拟按键

"POST /api/input" 注入文字

"GET /api/suggest" 搜索联想(Bing 转发)

"GET/POST /api/sites" 快捷站点读/存

安全方面做了几件事,值得肯定:

- 令牌鉴权:二维码携带随机令牌并持久化,所有控制 API 校验 "X-Auth-Token",防止局域网内任意设备操控电视 - 协议白名单:仅允许 http/https,拒绝 "file:" 等本地文件读取 - Host 校验:防 DNS rebinding,仅接受本机 IP/localhost - 请求限制:body ≤ 64KB(双重校验防 chunked 绕过) - WebView 收紧:禁 file/content 访问、禁定位、禁表单保存、无 JS 桥

💡 作者特别说明:浏览器功能本身是开放的,令牌保护的是"局域网控制服务"——只有扫了码(拿到令牌)的设备才有权操控电视。 🚀 快速开始

# 1. 下载 Release 的 APK 或自行编译 adb install -r app-release.apk

# 2. 电视上打开 App,主页会显示二维码 # 形如 http://{电视IP}:8080/?t=令牌

# 3. 手机连同一 Wi-Fi,扫码打开控制页

# 4. 开始用:输网址 / 遥控面板 / 编辑快捷入口

自行编译需要 JDK 17 + Android SDK(platform 34):

./gradlew assembleDebug # 调试包 ./gradlew assembleRelease # 发布包(需 local.properties 配置签名)

项目还附带了一个 "web/verify.js" 链路验证脚本,覆盖 29 项路由/token/参数/suggest/sites 检查,方便你改完代码后回归测试。

🛠 技术栈与代码结构

- Android 端:Kotlin · AGP 8.6.0 · Gradle 8.7 · 系统 WebView · NanoHTTPD 2.3.1 · ZXing 3.5.3 - 控制页:纯 HTML/CSS/JS,无构建步骤,SVG 图标,随 APK 打包 - 代码语言占比:HTML 34.6% · Kotlin 30.5% · JavaScript 23.7% · CSS 11.2%

app/src/main/java/com/tvbrowser/app/ ├── MainActivity.kt # 浏览器主界面 + 遥控 + 全屏 + 快捷站点存储 ├── RemoteServer.kt # NanoHTTPD 控制服务(路由/鉴权/联想/站点) ├── RemoteActions.kt # 服务到 Activity 接口 ├── ServerConfig.kt # 端口/令牌配置 ├── QrUtil.kt # ZXing 二维码 └── NetUtil.kt # 局域网 IP

项目经历了 9 轮 REVIEW 迭代(REVIEW.md ~ REVIEW9.md),覆盖架构、安全/稳定/性能、UI/图标、资源生命周期、构建发布等,每轮都有实际的发现与修复闭环,代码质量上有一定保障。

💡 适用场景与局限

适合:

- 电视盒子没有好用的浏览器、又不想装一堆 App - 想在电视上看一些"网页版"内容(比如某些视频站、文档、Web 应用) - 开发者想研究"Android TV + 手机网页遥控"的本地通信方案

需要注意:

- 项目很新(v0.1.0),0 Star,作者单人维护,生产环境长期使用需自行评估稳定性 - 依赖系统 WebView,不同电视/盒子 WebView 版本差异可能影响兼容性和视频播放能力 - 控制链路是 HTTP 明文 + 令牌,仅在可信局域网内使用;跨网段/公网暴露 8080 端口会有安全风险 - 搜索联想依赖 Bing 转发,国内网络环境可能需要替换成其他搜索引擎

What's new

v0.1.0Sep 4, 2026

0.1.0版本

About this version

Version
0.1.0 (1)
Size
2.71 MB
Requires Android
5.0
Target SDK
21
Architecture
universal
Downloads
4
Updated
Sep 4, 2026
Package
com.tvbrowser.app

Similar apps

Ratings & reviews

0 ratings
  • 5
    0
  • 4
    0
  • 3
    0
  • 2
    0
  • 1
    0

Write a review

Tap a star to rate this app