Ship TronBrowser's own engine: install the portable ungoogled-chromium, prefer it, drop the pin-flag workaround - #107
Merged
Merged
Conversation
…m, prefer it, drop the pin-flag workaround The Flathub ungoogled-chromium ignores NSS user trust (bonita, 152: the leaf sat in the exact database strace showed it opening, every sandbox switch made no difference, net log said No matching issuer found), while the same 152 as a portable build accepts that database. The pin flag from #106 worked but Chromium marks it unsupported at every start. So install.sh now fetches the pinned portable ungoogled-chromium into <launcher dir>/engine on install and upgrade, the launcher prefers it after a --version probe, and https on Moshpit names goes back to the silent per-name NSS import. The helper (3.4.3) reports flatpak-engine so the sidebar points at tron upgrade when a Flatpak is still running. Verified end to end in a container: the real launcher picked the engine, the helper imported the leaf, https://chovy.hacker loaded with no flags. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
ThreatCrush Security Scan55 finding(s) HIGH/CRITICAL: 2 | MEDIUM: 33 | LOW: 20
…and 5 more. Full results in the Security tab. Snippets are redacted; ThreatCrush never prints matched credential material. |
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.
What
TronBrowser ships its own engine on Linux: the installer fetches the pinned portable ungoogled-chromium next to the launcher, the launcher prefers it, and the
--ignore-certificate-errors-spki-listworkaround from #106 is reverted. https on Moshpit names then works through the ordinary per-name NSS trust the pit helper already does: no flag, no "unsupported command-line flag" bar, no relaunch.Why
The Flathub ungoogled-chromium ignores NSS user trust. On bonita (152.0.7977.82-1)
straceshowed it opening the exact database holding the leaf, every sandbox switch made no difference, and its net log still said "No matching issuer found". The same 152 release as a portable build accepts that database in every variant tried. The pin flag made the Flatpak work but Chromium flags it as an unsupported switch at every start, which is not shippable. Owning the engine removes the dependency on whatever Chromium a machine happens to have, and it is the build the Docker image already runs.Changes
install.sh:ensure_enginedownloadsungoogled-chromium-<version>-<arch>_linux.tar.xz(152.0.7977.82-1, x86_64 and arm64) into<launcher dir>/engine/, atomically (extract to.new, swap), with aVERSIONmarker; no-op when current; runs on install and ontron upgrade;ensure-enginesubcommand; skip withTB_NO_ENGINE_INSTALL=1, pin withTRONBROWSER_ENGINE_VERSION.ensure_browserreturns early when the engine is present. Linux only; macOS keeps the Homebrew cask.launcher/tronbrowser: prefers$DIR/engine/chromeover system and Flatpak candidates, after a--versionprobe so a machine missing a shared library falls through instead of failing. The pin flag code is removed. The no-engine message now points at the installer first.tron-tor-helper(3.4.3): pin recording removed;trustreportswhy: flatpak-enginewhen the launcher started a Flatpak, so the sidebar can say "runtron upgrade" instead of promising trust that build ignores.sidepanel.js: that message. Doc updated with the finding and the decision.Verified
engine/, fake$HOME, pit resolver up. Launcher log:engine Chromium 152.0.7977.82 — /t/stage/engine/chrome. Helper log: leaf trusted into~/.pki/nssdb.--dump-dom https://chovy.hacker/→<title>chovy.hacker</title>, zerospkion the command line.ensure_enginewith the real functions against a temp app dir: skip switch honoured, real download (515 MBchromeon disk,VERSION= 152.0.7977.82-1), second run a no-op,ensure_browserskips when the engine exists.pnpm lintclean, extension tests 30/30, helper compiles,sh -non launcher and install.sh.Shipping
Both halves must land: the tag carries the launcher and helper;
install.shdeploys from main to tronbrowser.dev and is whattron upgraderuns. After the deploy,tron upgradeon bonita downloads the engine, and the next launch uses it.🤖 Generated with Claude Code