SBPlus

Samsung Browser 增强模块(LSPosed 模块)。

以 LSPosed 为运行框架,为三星浏览器(Samsung Internet,包名 com.sec.android.app.sbrowser) 补充官方未提供的功能。


English

A LSPosed module that enhances Samsung Internet Browser (package com.sec.android.app.sbrowser) with features not provided officially.

Features

  1. Download Bridge — forward downloads to a third-party manager (ADM / IDM+ / 1DM, customizable package), passing Cookie / UA / Referer; optionally block the native download.
  2. Settings Integration + Logging — inject an SBPlus submenu into browser settings, with a built-in log viewer.
  3. Via-style Grid Menu — turn the "More" menu into a multi-column grid, drag-to-reorder, add/remove icons.
  4. Region Switch — switch the browser region to one of 17 countries.
  5. UA Spoofing — fully replace the User-Agent (Desktop Chrome / Mobile / iPhone / custom).
  6. Streamlined Settings — master switch + multi-select hiding for unneeded items.
  7. Block Updates & Red Dots — block browser updates, clear update notifications / popups / red dots.
  8. Homepage Video Background — play a video on the homepage (loop, muted).
  9. Userscript Manager — full built-in manager: list / add / save / delete / toggle, .user.js interception, source management, "update all", lightweight GM API, detail page + share import; scheduled execution via @crontab (background scheduler, once/once(expr) syntax); per-script site exclusion list; menu registration dedupe; hardened @require/@resource cache and enable-list protection.
  10. Bookmark Management — import / export bookmarks (Chrome / Edge / Firefox HTML format), tree checkbox dialog.
  11. Random UA — 55 real UA strings with random rotation; supports platform/browser multi-select and custom parameters.
  12. Media Sniffer & Download Engine — multi-threaded download engine for m3u8/TVOD streams; sniff and download video/audio/image resources with tab-based select-all (video/audio/image independent). Built-in site parsers for Bilibili DASH (auto-pair video+audio into single MP4, 4K/1080P+/HDR), Douyin / Kuaishou / Xiaohongshu / Weibo / AcFun / Toutiao (SSR JSON extraction via script tag), and global platforms YouTube (itag resolution), TikTok, X/Twitter, Instagram/Facebook (performance CDN). Segmented video (m4s/ts) auto-remux to MP4 — instant, no transcoding bloat. Task progress bar, speed display, cancel support, configurable concurrency.
  13. Homepage Beautification — personalize the homepage: flip clock, homepage date, clock/date color settings, search box tweaks and more.
  14. Version + Project URL + Auto Update Check — version and project URL shown in module home and browser menu, with auto update checking.
  15. Bookmark AI Smart Organize — auto-classify bookmarks into a two-level (category / sub-category) system; preview before apply, adjust per category, retry; powered by your own OpenAI-compatible model provider (only bookmark titles and domains are sent).
  16. AI Model Settings — manage multiple provider groups (base URL / API key / model list) under Settings → Models; shared by bookmark AI organize and future features.

Requirements

  1. Rooted device with LSPosed installed (via Magisk).
  2. Install the module APK, then enable it in LSPosed Manager.
  3. Set scope to Samsung Internet (com.sec.android.app.sbrowser) or Beta (com.sec.android.app.sbrowser.beta).
  4. Restart the browser (or device).

Supported Versions

Channel Package Version
Stable com.sec.android.app.sbrowser 30.0.0.67, 30.1.0.67
Beta com.sec.android.app.sbrowser.beta 30.0.0.67

The module resolves obfuscated class/method names at runtime, so it generally adapts to newer browser versions automatically without a module update.

Build

call <path-to-android-sdk>/env.bat
gradle assembleDebug --no-daemon

Output: app\build\outputs\apk\debug\app-debug.apk

Self-adaptation

The module resolves Samsung's obfuscated / version-dependent class and method names at runtime, instead of hardcoding them:

  • Dynamic parent resolution — obtains the parent (obfuscated androidx class) of PreferenceFragmentCustom at launch, so it adapts to whichever obfuscation name the browser version uses.
  • Multi-candidate method fallback — for obfuscated methods (e.g. PreferenceManager's createPreferenceScreen), tries candidate names in order, standard first then obfuscated names.
  • Isolated error handling — each hook is independently guarded; a failure in one does not break others or the browser itself.

Re-resolution happens on every browser start, so after a browser update the module adapts automatically without a module update.


中文

框架说明

  • 目标框架:LSPosed(接口兼容标准 Xposed API)
  • 模块入口:assets/xposed_init → com.sbplus.browser.MainHook
  • 兼容:LSPosed 可加载,老 Xposed / EdXposed 理论上也可加载

使用前提

  1. 手机已 root,并安装 LSPosed(Magisk 模块方式)
  2. 安装本模块 APK 后,打开 LSPosed Manager:
    • 启用本模块
    • 作用域(Scope)勾选「三星浏览器」(com.sec.android.app.sbrowser)
  3. 重启三星浏览器(或重启系统)

作用域需要时可在 LSPosed 界面手动勾选。

支持版本

渠道 包名 版本
正式版 com.sec.android.app.sbrowser 30.0.0.67, 30.1.0.67
Beta 版 com.sec.android.app.sbrowser.beta 30.0.0.67

模块通过运行时自适应解析混淆类名/方法名,通常浏览器更新后无需更新模块即可自动适配。

已实现功能

1. 下载桥接(第三方下载器接管)

把三星浏览器的下载请求转交给第三方下载器(ADM / IDM+ / 1DM,包名可自定义)。

  • hook TinDownloadController 下载链路(onDownloadStarted 等)
  • 传递 Cookie / User-Agent / Referer 等登录态信息
  • 可选阻断原生下载(真正"接管"而非并行)

2. 设置集成 + 日志

在三星浏览器设置页注入 SBPlus 子菜单,并提供内置日志查看。

3. Via 风格网格菜单

把三星「更多」菜单从单列纵向列表改造成多列网格(Via 风格),支持拖拽排序、 添加/删除图标。

4. 改区(Country ISO Code)

通过 hook CountryUtil.getCountryIsoCode() 等入口,将浏览器地区切换到 17 国之一, 影响所有区域相关行为。

5. 浏览器标识(UA 伪装)

hook SBrowserCommandLine.initialize(),通过 TerraceCommandLine.appendSwitchWithValue 注入 user-agent switch,完整替换 UA(桌面 Chrome / 手机 / iPhone / 自定义)。需重启浏览器生效。

6. 精简设置页

主开关 + 23 项多选屏蔽,两列网格展示,隐藏不需要的设置项。

7. 屏蔽更新和小红点

独立总开关,彻底屏蔽浏览器更新:

  • 清除更新通知 / 弹窗 / 红点(关于页、更多按钮、设置徽标)
  • 阻断更新检查链路(UpdateManager.checkUpdate*)
  • 阻断商店网络(StubUtil.checkUpdateOnGalaxyStore 等)
  • 禁止跳转商店 / 升档
  • 通过官方预留 disable-update-dialog switch 优雅屏蔽弹窗

8. 主页视频背景

让浏览器主页(新标签页/快速访问页)背景播放动态视频。

  • 通过 MediaStore 将选中视频存入公共 Movies/SBPlus/ 目录
  • 用 TextureView + MediaPlayer 循环静音播放(TextureView 规避 SurfaceView 被不透明背景色盖住的问题)
  • 子页提供「选择视频 / 清除视频 / 删除视频」三个操作

9. 油猴脚本管理(Userscript)

完整的内置油猴脚本管理器:

  • 脚本列表 / 添加 / 保存 / 删除 / 开关(开关在前、名字在后)
  • 拦截 .user.js 下载引导安装
  • 支持源管理(@updateURL / @downloadURL)、「更新所有脚本」
  • 内置精简版 GM API(GM_setValue / GM_getValue / GM_registerMenuCommand 等)
  • 脚本详情页 + 分享导入
  • @crontab 定时执行(后台调度器自动拉起,once / once(expr) 语法)
  • 按脚本排除站点(排除列表内不注入)
  • 菜单注册去重、@require / @resource 本地缓存与启用名单加固

10. 书签管理

  • 导入 / 导出书签(Chrome / Edge / Firefox 通用 HTML 格式)
  • 树形勾选对话框(可选导入/导出指定节点)

11. 随机浏览器标识(UA)

内置 55 条真实 UA 池,支持随机轮换(桌面 Chrome / 手机 / iPhone / 自定义)。支持平台/浏览器多选和自定义参数动态生成。

12. 资源嗅探与下载引擎

多线程下载引擎(m3u8/TVOD 流式),按类型分tab显示(视频/音频/图片独立全选)。

  • B站 DASH 自动合并:视频+音频流自动配对合并为单 MP4(4K/1080P+/HDR,大会员全清晰度)
  • 国内站点解析器:抖音 / 快手 / 小红书 / 微博 / AcFun / 头条(script 标签 SSR JSON 提取)
  • 国外平台支持:YouTube(itag 清晰度标注)、TikTok、X/Twitter、Instagram/Facebook
  • 分片视频(m4s/ts)自动纯 remux 转 MP4(秒级完成,不膨胀)
  • 任务进度条 / 速度显示 / 取消支持 / 并发数可配置
  • 下载后自动转 MP4 开关(默认开)
  • 图片格子选中显示蓝色遮罩

13. 主页美化子菜单

主页搜索框等页面元素的个性化设置:翻页时钟、主页日期、时钟 / 日期颜色设置等。

14. 版本号 + 项目地址 + 自动检测更新

  • SBPlus 应用首页与浏览器 SBPlus 菜单里都显示版本号 + 项目地址
  • 启动/进入页面时自动检测 GitHub 最新 release,有新版本在版本号后提示「点击更新」,点击后确认下载 apk

15. 书签 AI 智能整理

自动把收藏夹按语义分类(大类 / 子类两级体系),先预览确认、可逐类调整后再应用,支持重试。 由用户自配的 OpenAI 兼容模型服务驱动,仅发送书签标题与域名。

16. AI 模型设置

「设置 → 模型」:多分组管理接口地址 / API Key / 模型列表(OpenAI 兼容接口),书签 AI 整理等功能共用。

构建

call <path-to-android-sdk>\env.bat
gradle assembleDebug --no-daemon

产物:app\build\outputs\apk\debug\app-debug.apk

自适应说明

模块对三星浏览器内部被混淆/随版本变化的类名与方法名做了运行时自适应解析,而非硬编码:

  • 动态父类解析:通过明文类 PreferenceFragmentCustom 动态获取其父类(androidx 混淆类), 无论浏览器版本把混淆名改成 H2.A 还是其他,都能自动找到。
  • 多候选方法回退:对被混淆的方法(如 PreferenceManager 的 createPreferenceScreen) 按候选名列表依次尝试,标准名优先、混淆名兜底。
  • 独立容错:每个 hook 点单独保护,单个失败不影响其他功能,也不影响浏览器自身。

浏览器每次启动时都会重新解析适配,浏览器更新后无需模块更新即可自动适配新版本。

开发环境

  • Windows AMD64
  • Java 17(Temurin)
  • Gradle 8.7
  • Android SDK 34+
  • 依赖仓库:阿里云镜像(解决国内拉取 AGP 依赖超时问题)
  • 测试设备:三星 Galaxy(Android 16 / SDK 36)

项目结构

SBPlus/
├── app/
│   ├── build.gradle              (namespace/applicationId = com.sbplus.browser)
│   └── src/main/
│       ├── AndroidManifest.xml   (xposedmodule 声明)
│       ├── assets/xposed_init    (模块入口)
│       ├── res/values/           (app_name=SBPlus, xposedscope)
│       └── java/com/sbplus/browser/
│           ├── MainHook.java               (核心 hook,功能 1-13)
│           ├── MainActivity.java           (模块首页/版本号/更新检测)
│           ├── UpdateChecker.java          (GitHub 最新版本查询)
│           ├── MenuReorderHelper.java      (网格菜单拖拽排序)
│           ├── MenuAddButtonHelper.java    (添加图标)
│           ├── MenuEditHelper.java         (编辑图标)
│           ├── HomeLogoHelper.java        (主页 Logo 偏好)
│           ├── HomeClockHelper.java       (主页时钟偏好)
│           ├── FontHelper.java            (模块 UI 自定义字体)
│           ├── ThemeColorHelper.java      (主题色槽位)
│           ├── LogWriter.java / LogProvider.java / LogManagerActivity.java (日志系统)
│           └── ...
├── build.gradle
├── settings.gradle               (rootProject.name=SBPlus)
└── gradle.properties

Releases

10/12/2026, 6:57:55 PM

SBPlus v2.6.1

三星浏览器增强模块(Xposed/LSPosed)。

更新内容

  • 翻页时钟改为纯 Canvas 自绘
  • App 界面重构
  • 适配三星浏览器 31.0.0.64

安装

  • 设备需已安装 LSPosed(或兼容 Xposed 框架)
  • 在 LSPosed 中启用模块,作用域勾选「三星浏览器」(com.sec.android.app.sbrowser)
  • 安装 / 更新后重启浏览器生效

Assets

1

9/20/2026, 2:16:37 PM

SBPlus v2.6.0

三星浏览器增强模块(Xposed/LSPosed):视频资源嗅探与下载、主题美化、字体定制、书签整理、油猴脚本增强。

✨ 新增功能

  • 书签 AI 智能整理:自动分类(大类 / 子类两级体系)
  • AI 模型设置:新增「设置 → 模型」入口,多分组管理接口地址 / API Key / 模型列表(OpenAI 兼容接口)
  • 油猴脚本功能增强:菜单注册去重、脚本启用名单防误覆盖、@require/@resource 本地缓存加固、主页菜单增加设置跳转入口、增加排除站点项
  • 主页美化功能增加:翻页时钟、主页日期、设置时钟和日期颜色、
  • 资源嗅探优化

🛡 安全与隐私

  • GM Cookie 能力收紧
  • GM XHR 授权 fail-closed
  • 日志库访问准入

🐛 关键修复

  • 修复多处缺陷
  • 体验修复
  • 性能优化

安装

  • 设备需已安装 LSPosed(或兼容 Xposed 框架)
  • 在 LSPosed 中启用模块,作用域勾选「三星浏览器」(com.sec.android.app.sbrowser)
  • 安装 / 更新后重启浏览器生效

Assets

1

9/10/2026, 6:57:55 PM

适配三星浏览器新版:正式版 30.1.0.67
更新检测优化:改为冷启动只检测一次,避免频繁网络请求
代码优化:清理 14 个冗余 import、14 个废弃 private 方法、未使用布局文件和变量、合并重复 UA 字符串

Assets

1

8/25/2026, 12:08:19 AM

1.主页 Logo / 时钟启动抖动修复

2.性能与体积优化

3.增加调试页面入口

Assets

1

8/22/2026, 12:33:00 AM

SBPlus v2.5

三星浏览器增强模块(Xposed/LSPosed):视频资源嗅探与下载、主题美化、字体定制、下载管理。

✨ 新增功能

  • 多线程下载引擎:内置下载升级为多线程并发 + 落盘加速(高并发独立落盘代替分批串行写盘),m3u8 分片并发下载后自动转 MP4
  • 资源嗅探站点解析器(siteParsers):抖音 / 快手 / 小红书 / 微博 / AcFun / 头条 deepScan 深度嗅探,aweme/json 数据拦截提取
  • script 标签通道:抖音 / 快手 / 小红书 / 微博 / AcFun / 头条 全部走 script 源码提取 SSR 状态 JSON,解决 isolated world 读不到 window 变量的问题
  • 国外平台嗅探:YouTube(ytInitialPlayerResponse script 提取 + itag 清晰度标注)、TikTok(SIGI_STATE)、X/Twitter(video.twimg)、Instagram/Facebook(fbcdn/cdninstagram)
  • B站高清全面支持:页面内 __playinfo__ 优先解析(大会员全清晰度 DASH,4K / 1080P+ / 720P 等带标注),XHR 接口兜底
  • B站 DASH 自动合并:勾选视频 + 音频流自动配对合并为单 MP4(跨 CDN 节点配对、音频复用、任务大小累加显示)
  • 嗅探面板:可点击进入子页入口(带竖线指示)、下载方式/设置并入浏览器设置、资源嗅探分类
  • cookie 管理、下载后自动转 MP4 开关(默认开,m4s 纯 remux 秒级完成不膨胀)
  • 下载管理界面重构:下载列表 / 进度通知 / 并发可配置 / 百分比 + 速度实时显示 / m3u8 播放列表直接转 MP4
  • 主题美化:图标染色(排除 sites/bookmark/history,修复书签历史页背景染蓝)、主页壁纸跟随、Material You 取色、地址栏跳转 app 图标等

🚀 性能优化

  • 移除遗留全局 Drawable.setColorFilter 诊断 hook(每帧绘制过桥 + 打日志)
  • 修复 onDraw 重绘风暴:颜色相同时不再每帧请求重绘,显著改善开屏卡顿与掉帧
  • 高频日志(syncPeriodic)仅在状态变化时输出
  • 删除 13 个死方法 + 6 个死字段,源码精简

🐛 关键修复

  • B站 480p 限制修复:缺省清晰度修正
  • B站 DASH 配对 3 层根因:①视频/音频走不同 CDN 节点域名 → 配对 key 去域名取路径 ②新版音频流 seq 也是 1 → 靠 type 字段区分 ③合并任务大小显示累加
  • 视频嗅探抓不到 m3u8 的根本原因修复
  • m3u8/TS 转 MP4 改纯 remux(不再真转码,300MB 不膨胀成 1G+,秒级完成)
  • 下载列表百分比修复(单文件下载也显示百分比)

安装

  • 设备需已安装 LSPosed(或兼容 Xposed 框架)
  • 在 LSPosed 中启用模块,作用域勾选「三星浏览器」(com.sec.android.app.sbrowser)
  • 安装后重启浏览器生效

下载

见下方 Assets:SBPlus-2.5-release.apk(签名版)

Assets

1

8/19/2026, 12:22:05 AM

更新内容

  • 随机UA重构:动态生成,支持平台/浏览器多选+自定义参数
  • 分片视频支持:m4s/ts自动识别+二进制拼接下载
  • 脚本详情页启用开关显示修复

Assets

1

8/17/2026, 9:01:20 AM

v2.2

  • 修复长列表子页底部留白(脚本列表等最后一项不再被遮挡)
  • 修复脚本更新/下载中断导致文件损坏(批量读 + 长超时 + 完整性校验)
  • 弹窗 ScrollView 限高 + 底部锚点向上展开

Assets

1