Repository navigation
w3bs:// on every platform: OS handler registration for macOS, Windows, Linux - #151
Merged
Merged
Conversation
…, Linux A W3BS link from another app, or one typed in the address bar (Chromium hands any scheme it cannot load to the OS), now reaches TronBrowser everywhere: - macOS: tron-w3bs-register builds ~/Applications/TronBrowser Links.app, a faceless applet declaring CFBundleURLTypes w3bs that runs the launcher (re-signed ad hoc, registered with LaunchServices, default only if unclaimed) - Windows: tron-w3bs.ps1 registers HKCU\Software\Classes\w3bs and opens the URI; cmd.exe never parses a URI from a page. `tron w3bs://...` works too - Linux: the launcher sets the xdg default for installs that never ran install.sh (deb/rpm/AppImage/brew), unless another app handles w3bs The launcher and tronbrowser.cmd register in the background on every start, so every install method heals after upgrades. The launcher now encodes the URI like encodeURIComponent, so the address bar stays readable. w3bs-scheme.yml proves each OS's real dispatch (xdg-open, open, Start-Process) reaches the engine with the resolver URL. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
ThreatCrush Security Scan48 finding(s) HIGH/CRITICAL: 2 | MEDIUM: 25 | LOW: 21
Snippets are redacted; ThreatCrush never prints matched credential material. |
…h, retry LaunchServices Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #149. A W3BS link from another app, or one typed in the address bar (Chromium hands any scheme it cannot load to the OS), now reaches TronBrowser on every platform and opens through
https://w3bs.org/browse?q=.tron-w3bs-registerbuilds~/Applications/TronBrowser Links.app, a faceless applet that declaresw3bsinCFBundleURLTypesand runs the launcher. It is re-signed ad hoc and registered with LaunchServices, and it becomes the default only if nothing else claims the scheme. Chromium.app can't be the handler because it would handw3bs://straight back to the OS.tron-w3bs.ps1registersHKCU\Software\Classes\w3bsand opens the URI. cmd.exe never parses a URI that came from a page, and malformed URIs open the resolver without them.tron w3bs://…works too.w3bs.The launcher and
tronbrowser.cmdregister in the background on every start, so every install method works and an upgrade re-points the handler. The launcher now encodes likeencodeURIComponent, so the address bar showsq=w3bs%3A%2F%2Fprompt…instead of a byte-by-byte encoding.New
w3bs-scheme.ymlproves each OS's real dispatch (xdg-open,open,Start-Process) reaches the engine with the resolver URL. The Linux run passes locally.Not possible without admin: skipping Chromium's "open this app?" confirmation for typed URIs. That needs the
AutoLaunchProtocolsFromOriginsmanaged policy (root, MDM, or HKLM). After that one click, the URI opens in TronBrowser.🤖 Generated with Claude Code