Skip to content

ACM-VIT/open-with-browser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Forktober GIF

Open With Browser

Intelligent link routing for your desktop: automatically open links in the right browser and profile.

made-by-acm license tauri react


Table of Contents


Quick Showcase

Open With Browser offers a centralized Dashboard for link status and recent activity, alongside customizable rules and precise browser selection.

Screenshot of the Dashboard


About

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

Architecture (planned)

  • 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)

Project Structure

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

Documentation

Comprehensive guides for developers and users:

Quick Reference: Supported Browsers

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


Prerequisites

  • Rust toolchain (stable)
  • Bun

For detailed requirements: https://v2.tauri.app/start/prerequisites/


Quick Start

# 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 dev

Build a release installer:

cd apps/desktop
bun run tauri build

Usage

  1. Launch the app.
  2. In Settings, use Open default-app settings to trigger OS registration (the app writes the required manifests before opening the system panel).
  3. Create a few rules (e.g., host: github.com → Chrome [Coding]).
  4. Click a link anywhere—matching rules will route it automatically.
  5. 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.


Contributing

We welcome contributions of all kinds! Please read our Contributing Guidelines to get started quickly and make your PRs count.


Hacktoberfest

hacktoberfest

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

Submitting a Pull Request

  1. Fork the repository
  2. Clone your fork locally:
    git clone <HTTPS-ADDRESS>
    cd <NAME-OF-REPO>
  3. Create a new branch:
    git checkout -b <your-branch-name>
  4. Make your changes and stage them:
    git add .
  5. Commit your changes:
    git commit -m "feat: your message"
  6. Push to your fork:
    git push origin <your-branch-name>
  7. Open a Pull Request and clearly describe what you changed and why. Link related issues (e.g., “Fixes #123”).

Guidelines for Pull Request

  • 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.

License

MIT © 2025 ACM VIT — see LICENSE.


Authors

Authors:
Contributors:


Community & Conduct

By participating in this project, you agree to abide by our Code of Conduct.


Made with ❤️ by ACM‑VIT

Footer GIF

About

Smart link manager that opens URLs in specific browsers and profiles based on customizable rules.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 11

Languages