A browser picker for Linux. Click a link, pick which browser opens it.
You have a work browser and a personal browser. Or you use different profiles for different things. You click a link in an email and it opens in the wrong one. Now you have to copy the URL, switch browsers, paste it. Every time.
Silo fixes that. Click a link anywhere and Silo asks which browser or profile you want. One click and it opens. Set up a rule and it stops asking. Work links go to your work browser. Personal links go to your personal browser. No copying, no pasting, no thinking about it.
There are a handful of browser pickers on Linux. Junction is the most popular but it has no rules and no profile detection. Linkquisition has rules but profiles are manual. Linklever auto-detects profiles but it's paid and uses a non-native UI. On Windows, BrowserPicker by Andrew Longmore was the inspiration for this whole project.
I wanted something free, native and thorough: auto-detect every profile across every browser family, route links with rules, unwrap tracking redirects and look like it belongs on a GNOME or KDE desktop.
Silo registers as your default browser. It doesn't replace anything. It sits in the middle so that when you click a link outside a browser (in an email, a chat app, a document, wherever), Silo pops up and lets you choose which browser or profile to open it in.
Click "Always" next to a browser and that domain goes straight to your chosen browser next time with no popup.
| Silo | Junction | Linkquisition | Linklever | BrowserPicker (Win) | |
|---|---|---|---|---|---|
| Profile auto-detection | All Chromium + Firefox | No | No | Yes | Chrome/Edge/Firefox |
| Rules | Domain, path, wildcards, exceptions | No | Domain, site, regex | Yes | Hostname, prefix, regex, contains |
| Redirect unwrapping | SafeLinks + Google, nested | No | Plugin | No | Yes |
| Fallback browser | Yes | No | No | Yes | Yes |
| Config export/import | Yes | No | No | No | Yes |
| Safety check | Google Transparency Report | No | No | No | No |
| Custom browsers | Yes | Partial | Yes | Yes | Yes |
| Hide browsers/profiles | Yes | No | Yes | No | Yes |
| Reorder picker list | Yes | No | No | No | Yes |
| Firefox containers | Via Multi-Account Containers | No | No | No | Yes |
| Native UI | GTK4/libadwaita | GTK4 | GTK3 | Avalonia | WPF |
| Licence | MIT | GPLv3 | MIT | Paid | MIT |
Silo is the only free, open-source Linux picker with automatic profile detection across all Chromium and Firefox-family browsers.
Firefox containers: If you use Firefox's Multi-Account Containers extension and have set sites to always open in a specific container, those assignments work automatically when Silo opens a URL in Firefox. The only thing Silo doesn't do yet is let you choose a container on the fly in the picker for one-off cases. BrowserPicker supports this via the "Open URL in Container" extension.
Silo finds profiles within each browser, not just the browsers themselves:
- Chromium family: Chrome, Edge, Brave, Vivaldi, Opera, Chromium
- Firefox family: Firefox, Zen, Floorp, LibreWolf, Waterfox, Mullvad Browser
"Vivaldi - Work" and "Vivaldi - Personal" appear as separate entries in the picker, each opening the correct profile.
Links from email and chat are often wrapped in tracking redirects.
Outlook wraps links through SafeLinks (those long
safelinks.protection.outlook.com URLs) and Google wraps them through
google.com/url. The real destination is buried inside as a parameter.
Silo detects these, strips the wrapper and shows you where the link really goes. The picker displays the real domain and your rules match against it. This works even when redirects are nested (SafeLinks wrapping a Google redirect wrapping the actual URL).
Because Silo opens the real URL directly, the tracking redirect is bypassed entirely. Microsoft's SafeLinks server or Google's redirect service never receives the click.
Silo also labels Office documents (Word, Excel, PowerPoint) when it spots them in a URL, so you know what you're about to open.
Rules send specific domains straight to a browser without showing the picker. Create them from the picker ("Always" button) or from the Rules tab in settings.
Patterns can be a plain domain like github.com or include a path
like github.com/no-faff. A path pattern matches anything underneath
it, so github.com/no-faff matches github.com/no-faff/silo but
not github.com/other. Wildcards work too: *.corp.com.
Exception rules let you force the picker for a specific domain, even if you have a fallback browser set. Useful for domains where you genuinely want to choose each time.
Silo needs GTK4 and libadwaita. On Fedora:
sudo dnf install gtk4 libadwaitaOn Ubuntu 24.04+:
sudo apt install libgtk-4-1 libadwaita-1-0Download the latest release, extract and run the install script:
tar xzf silo-1.1.0-linux-x86_64.tar.gz
cd silo-1.1.0
./install.shThis copies the binary to ~/.local/bin/ and installs the .desktop
file. Launch Silo from your app launcher or run silo in a terminal.
On first launch it asks to register as your default browser. Your
previous default is saved and restored if you uninstall.
Open settings (launch silo with no arguments), go to the Uninstall
tab and click Uninstall. It restores your previous default browser,
removes the config and deletes the binary.
- A link is clicked somewhere on your system
- Linux calls Silo (it's the registered default browser)
- If the link is wrapped in a redirect (SafeLinks, Google), Silo unwraps it to get the real URL
- Silo checks your rules. If a rule matches, it opens the assigned browser silently
- If no rule matches, Silo either shows the picker or sends the link to whichever browser you've chosen in the "When no rule matches" setting on the Rules tab
Keyboard shortcuts in the picker: 1-9 and 0 select a browser, Escape closes without opening anything.
Launch silo with no URL to open settings.
- Welcome: Introduction, how each tab works and default browser registration
- Browsers: All detected browsers and profiles, with toggles to hide any you don't use. Add custom browsers for anything not detected automatically
- Rules: Domain and path rules, the "When no rule matches" fallback setting, a suspend toggle to temporarily bypass all rules and config export/import
- Open: Paste a URL and open it directly in any browser. Shows redirect unwrapping in real time and includes a safety check via Google's Transparency Report
- About: Version, GitHub link, report issues and donate
- Uninstall: Remove Silo and restore your previous default browser
Silo does not collect, store or transmit any data about the links you
open. It has no analytics, no telemetry and no network access. Your
config (rules, browser preferences) is a plain JSON file stored locally
at ~/.config/silo/config.json and never leaves your machine.
The only network request Silo ever makes is if you explicitly click "Check URL" on the Open tab, which opens Google's Transparency Report in your browser. Silo itself does not contact Google or any other service.
When a link has been wrapped by a tracking service (like Outlook SafeLinks or Google redirects), Silo strips the wrapper and opens the real URL directly. The tracking service never finds out you clicked the link.
- Requires GTK4 with libadwaita 1.5+. Ubuntu 22.04 and earlier are not supported.
- Flatpak and Snap browser profiles are detected alongside native installs.
- If you installed Silo via a package manager, use the package manager to uninstall rather than the built-in uninstall button (which deletes the binary directly).
Requires Rust 1.85+ and GTK4/libadwaita development packages:
# Fedora
sudo dnf install gtk4-devel libadwaita-devel gcc glib2-devel pkgconf-pkg-config
# Ubuntu
sudo apt install libgtk-4-dev libadwaita-1-dev gcc libglib2.0-dev pkg-configgit clone https://github.com/no-faff/silo.git
cd silo
cargo build --release
strip target/release/siloThe binary is at target/release/silo (about 1.1 MB stripped).
Run the tests:
cargo test --workspaceOpen with Silo for Firefox and Open with Silo for Chrome add "Open with Silo" to the right-click context menu. Right-click any link, pick a browser. Rules and "Always" work the same way as when Silo intercepts links as your default browser.