Rust library to open URLs in the web browsers available on a platform
Rust library to open URLs and local files in the web browsers available on a platform, with guarantees of Consistent Behaviour.
Inspired by the webbrowser python library
use webbrowser;
if webbrowser::open("http://github.com").is_ok() {
// ...
}
Platform | Supported | Browsers | Test status |
---|---|---|---|
macos | ✅ | default + others | ✅ |
windows | ✅ | default only | ✅ |
linux/wsl | ✅ | default only (respects $BROWSER env var, so can be used with other browsers) | ✅ |
android | ✅ | default only | ✅ |
ios | ✅ | default only | ✅ |
wasm | ✅ | default only | ✅ |
unix (*bsd, aix etc.) | ✅ | default only (respects $BROWSER env var, so can be used with other browsers) | Manual |
webbrowser
defines consistent behaviour on all platforms as follows:
webbrowser::open_browser_with_options
.webbrowser
optionally allows the following features to be configured:
hardened
- this disables handling of non-http(s) urls (e.g. file:///
) as a hard security precautiondisable-wsl
- this disables WSL file
implementation (http
still works)wasm-console
- this enables logging to wasm console (valid only on wasm platform)PRs invited for
Important note (while testing):
cargo test
will actually open the browser locallyWhen contributing, please note that your work will be dual licensed as MIT + Apache-2.0 (see below).
SPDX-License-Identifier: Apache-2.0 OR MIT
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.