Skip to content

About

A floating, immersive, framework-based browser.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

FluxBrowser

FluxBrowser 是一个基于 Electron 的悬浮式视频浏览器,主要面向 Windows 桌面场景。它把“主栏”、“网页内容区”和“方向指示器”拆成独立浮动区域,适合一边看网页视频、一边处理其他桌面任务。

当前版本已经支持多标签页、浮动 WebView、沉浸模式、实时字幕采集、方向关键字指示、书签继续观看、Git 同步、界面语言切换和动画开关等完整能力。

功能概览

1. 悬浮式主界面

  • 主栏独立悬浮,包含菜单、前进后退、刷新、地址栏和标签栏。
  • WebView 内容区独立悬浮,可自由拖动、缩放,并记忆位置与尺寸。
  • 方向指示器也是独立浮窗,支持移动、缩放、旋转,并单独记忆状态。

2. 多标签浏览

  • 支持创建、关闭、激活多个网页标签页。
  • 标签支持拖拽排序。
  • 拖拽时提供插入高亮和归位动画。
  • 启动时会恢复上次的标签页状态。

3. 启动恢复保护

  • 恢复的标签页会自动重新打开。
  • 非活动标签页在被点击前保持静音。
  • 启动恢复时会尝试自动暂停页面中的视频,避免一打开就同时播放多路音视频。
  • 在暂停完成前会先静音,减少恢复阶段的声音干扰。

4. 沉浸模式

  • 通过全局快捷键切换沉浸模式。
  • 沉浸模式下隐藏主栏,只保留网页内容区。
  • 沉浸模式下会收起 WebView 的拖拽条和缩放手柄。
  • 方向指示器在沉浸模式下隐藏控制点且不接收鼠标点击。
  • 可选“老板键保护”逻辑:隐藏窗口时暂停视频,并只保留恢复窗口所需快捷键。

5. 视频与字幕辅助

  • 全局快捷键控制播放/暂停、快进、快退。
  • 支持长按快进倍速配置。
  • 支持实时轮询网页字幕内容。
  • 支持字幕关键字检测。
  • 当字幕中出现东南西北及其组合方向词时,方向指示器会在对应方位打点提示。
  • 指示器可关闭;关闭后不再显示,也不会因其自动依赖字幕采集。

6. 书签与继续观看

  • 可从当前页面一键保存书签。
  • 书签包含标题、URL、视频时间和保存时间。
  • 支持独立书签窗口,方便继续观看和管理记录。

7. 设置、同步与维护

  • 图形化设置面板,支持快捷键录制与保存。
  • 支持分辨率预设管理。
  • 支持界面语言切换,目前内置 简体中文 和 English。
  • 支持界面动画开关。
  • 支持应用更新检查、下载与安装。
  • 支持调试日志开关。
  • 支持清理日志、快捷键配置、窗口配置、应用配置和分辨率预设。
  • 支持通过 GitHub 仓库同步配置与书签。

默认快捷键

功能 默认快捷键
老板键 Delete
沉浸模式 Home
视频播放 / 暂停 Down
视频快进 Right
视频快退 Left
字幕采集开关 Alt+S
提高透明度 Alt+Up
降低透明度 Alt+Down
页面后退 Alt+Left
页面前进 Alt+Right

所有快捷键都可以在设置页里重新绑定。

默认分辨率预设

  • 480 x 270
  • 640 x 360
  • 800 x 450
  • 960 x 540
  • 1024 x 576
  • 1280 x 720 (HD)

这些预设以 WebView 内容区为目标尺寸,可在设置页继续新增和删除。

运行环境

  • Windows 10 / 11
  • Node.js 18+

说明:

  • 项目当前主要围绕 Windows 桌面交互设计。
  • 安装包构建目标为 Windows nsis。
  • 某些键盘长按逻辑依赖 Windows 行为。

本地开发

1. 克隆仓库

git clone https://github.com/DHJComical/FluxBrowser.git
cd FluxBrowser

2. 安装依赖

npm install

3. 启动开发版

npm start

打包

npm run build

构建产物会输出到 dist/ 目录。

配置与数据文件

应用数据位于 Electron 的 userData 目录下。当前版本会使用或生成以下文件:

  • key-config.json: 全局快捷键配置
  • window-bounds.json: 主窗口基础边界与透明度配置
  • app-config.json: 应用设置,如语言、置顶、动画开关、方向指示器等
  • resolution-presets.json: 分辨率预设
  • tabs-state.json: 标签页恢复状态
  • bookmarks/bookmarks.json 或 bookmarks/bookmarks-dev.json: 书签数据
  • sync-data/: Git 同步时导出的中间数据

设置页包含的能力

播放与窗口

  • 快捷键配置
  • 始终置顶
  • 老板键保护
  • 方向指示器开关
  • 界面动画开关
  • 视频快进 / 快退时长
  • 长按快进倍速
  • 分辨率预设管理

数据与同步

  • 仅上传书签
  • 仅下载书签
  • GitHub PAT / 远程仓库 / Git 用户名 / Git 邮箱配置
  • 上传全部同步数据
  • 下载全部同步数据

系统与维护

  • 语言切换
  • 更新检查、下载、安装
  • 调试日志开关
  • 缓存与配置清理

技术栈

  • Electron
  • Node.js
  • Vanilla JavaScript
  • HTML / CSS
  • electron-builder
  • electron-updater
  • electron-log

项目结构

可以结合 PROJECT_STRUCTURE.md 查看更细的目录说明。

当前主要目录:

  • src/main/: 主进程逻辑、窗口管理、IPC、服务
  • src/renderer/: 渲染层页面、样式和交互脚本
  • src/plugins/: 快捷键与网页控制插件
  • src/i18n/: 国际化语言文件
  • resources/: 图标等静态资源

已实现的关键特性更新

如果你是从旧版本迁移过来,这几个点是当前版本最明显的变化:

  • 从单网页窗口演进为“浮动主栏 + 浮动 WebView + 多标签页”的结构
  • 标签支持拖拽排序
  • 启动恢复标签页时增加了自动暂停与后台静音保护
  • 新增方向指示器与字幕方向词提示
  • 新增字幕采集与关键字检测链路
  • 新增完整 i18n
  • 新增界面动画开关

许可

本项目基于 GNU General Public License v3.0 or later 发布。

About

A floating, immersive, framework-based browser.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages