# BrowerSelector **Repository Path**: lightings/brower-selector ## Basic Information - **Project Name**: BrowerSelector - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-11 - **Last Updated**: 2026-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Browser Selector 一个 Windows 平台的浏览器选择器:可注册为系统的可选默认浏览器,根据可配置的 URL 规则, 自动决定用哪个浏览器打开链接(例如 `*.company.com` 用 Edge,其余用 Chrome)。 ## 功能 - 注册/取消注册为 Windows "默认应用 -> Web 浏览器" 候选项(HKCU 级别,无需管理员权限)。 - 打开链接时静默按规则匹配,无需弹窗确认,无匹配规则命中时使用指定的默认浏览器。 - 规则支持三种匹配方式: - **通配符**:不含 `/` 时按域名匹配(如 `*.github.com`),含 `/` 时按完整 URL 匹配。 - **正则表达式**:作用于完整 URL。 - **包含子串**:不区分大小写。 - 规则按列表顺序匹配,命中第一条即生效。 - 图形化设置界面:增删改浏览器列表和匹配规则、调整规则顺序、设置兜底默认浏览器。 - 配置保存在 `%AppData%\BrowserSelector\config.json`,首次运行会自动探测已安装的 Edge / Chrome / Firefox 生成初始配置。 ## 构建 & 运行 ```powershell cd src\BrowserSelector dotnet build -c Release ``` - 直接双击生成的 `BrowserSelector.exe`(不带参数)会打开设置界面。 - 系统把它作为默认浏览器调用时会传入一个 URL 参数,此时程序静默匹配并转发,不显示窗口。 ## 设为默认浏览器 1. 打开设置界面,点击「注册为可选默认浏览器」。 2. 点击「打开系统默认应用设置...」(或手动前往 设置 -> 应用 -> 默认应用 -> Web 浏览器), 选择 **Browser Selector**。 > 出于安全策略,Windows 8 及以上系统不允许程序自行静默设为默认浏览器,需要用户手动确认一次。 ## 目录结构 ``` src/BrowserSelector/ Models/AppConfig.cs 配置数据模型(浏览器、规则) Services/ConfigService.cs 配置文件加载/保存,首次运行自动探测浏览器 Services/UrlMatcher.cs URL 匹配逻辑 Services/BrowserLauncher.cs 启动指定浏览器打开 URL Services/RegistrationService.cs 注册/取消注册为系统默认浏览器候选项 App.xaml.cs 程序入口:区分“被系统调用打开链接”与“用户手动打开设置界面” MainWindow.xaml(.cs) 设置界面 TextInputDialog.xaml(.cs) 简单的文本输入弹窗(用于命名新添加的浏览器) ```