Intelligent link routing for your desktop: automatically open links in the right browser and profile.
- About
- Architecture
- Project Structure
- Documentation
- Prerequisites
- Quick Start
- Usage
- Contributing
- Hacktoberfest
- Submitting a Pull Request
- Guidelines for Pull Request
- License
- Authors
Open With Browser offers a centralized Dashboard for link status and recent activity, alongside customizable rules and precise browser selection.
Open With Browser is a desktop application that enhances link management by choosing the right browser and profile automatically based on user‑defined rules.
Examples:
- Open all GitHub links in your “Coding” Chrome profile.
- Open IEEE Xplore links in your “University” profile.
If a link doesn’t match any rule, a fallback “Open With” dialog appears listing all detected browsers and their profiles. You can open “Just once” or create an “Always” rule on the fly.
Key features:
- Rule‑based routing by host, path, query, scheme, and more
- Automatic browser and profile discovery (Chrome/Edge/Brave/Firefox)
- Smart fallback dialog with “Just once” and “Always” options
- Cross‑platform via Tauri (Windows/macOS/Linux)
- Import/export rules, optional telemetry, and audit logs
- Frontend: React + Vite (apps/desktop)
- Backend: Tauri v2 (Rust) with modular services
- Rule Engine: evaluates URL → Action (browser/profile)
- Browser Discovery: finds installed browsers per OS
- Profile Resolver: lists/launches profiles for Chromium/Firefox
- Opener: spawns the selected browser with correct args
- Registration: register as default handler for http/https
- Storage: SQLite for rules/settings (planned)
Monorepo style to grow comfortably:
open-with-browser/
├─ apps/
│ └─ desktop/ # Tauri app (React + Vite + Rust)
│ ├─ src/ # UI
│ └─ src-tauri/ # Rust backend
├─ packages/ # Future shared crates/libs
├─ docs/ # Architecture notes, specs
├─ README.md
├─ LICENSE (MIT)
└─ CODE_OF_CONDUCT.md
Comprehensive guides for developers and users:
- Documentation Hub - Overview of all available documentation
- Windows Browser Profiles - Complete guide to browser profile paths on Windows
| Browser | Windows | macOS | Linux | Profile Support |
|---|---|---|---|---|
| Google Chrome | Documented | Planned | Planned | Documented |
| Microsoft Edge | Documented | Planned | Planned | Documented |
| Brave Browser | Documented | Planned | Planned | Documented |
| Mozilla Firefox | Documented | Planned | Planned | Documented |
Legend: Documented | Planned | Not supported
- Rust toolchain (stable)
- Bun
For detailed requirements: https://v2.tauri.app/start/prerequisites/
# 1) Clone
git clone https://github.com/ACM-VIT/open-with-browser.git
cd open-with-browser
# 2) Install frontend deps
cd apps/desktop
bun install
# 3) Run the frontend + Tauri in dev
bun run tauri dev
# Alternatively, if you prefer npm:
# npm install ; npm run tauri devBuild a release installer:
cd apps/desktop
bun run tauri build- Launch the app.
- In Settings, use Open default-app settings to trigger OS registration (the app writes the required manifests before opening the system panel).
- Create a few rules (e.g., host: github.com → Chrome [Coding]).
- Click a link anywhere—matching rules will route it automatically.
- If unmatched, the “Open With” dialog appears; choose a browser/profile:
- Just once: open now, don’t save a rule
- Always: open now and create a rule for next time
Tip: You can import/export rules from Settings.
We welcome contributions of all kinds! Please read our Contributing Guidelines to get started quickly and make your PRs count.
Join us for Hacktoberfest! Quality > quantity.
- Aim for meaningful, well‑scoped PRs that solve real issues.
- Non‑code contributions (docs, design, tutorials) are welcome via PR.
- Full participation details: https://hacktoberfest.com/participation
- Fork the repository
- Clone your fork locally:
git clone <HTTPS-ADDRESS> cd <NAME-OF-REPO>
- Create a new branch:
git checkout -b <your-branch-name>
- Make your changes and stage them:
git add .
- Commit your changes:
git commit -m "feat: your message"
- Push to your fork:
git push origin <your-branch-name>
- Open a Pull Request and clearly describe what you changed and why. Link related issues (e.g., “Fixes #123”).
- Avoid PRs that are automated/scripted or plagiarized from someone else’s work.
- Don’t spam; keep each PR focused and meaningful.
- The project maintainer’s decision on PR validity is final.
- For more, see our Contributing Guidelines and the Hacktoberfest participation rules.
MIT © 2025 ACM VIT — see LICENSE.
Authors:
Contributors:
By participating in this project, you agree to abide by our Code of Conduct.
Made with ❤️ by ACM‑VIT


