Skip to content

Conversation

@daviduhden
Copy link
Contributor

A broad refresh of the I2Pd Browser bundle for Linux, macOS, and Windows was implemented. The latest versions of Firefox ESR, I2Pd, and NoScript are now dynamically fetched at build time. Vendored binaries are removed, and the browser policies and preferences are updated and hardened.

Key Changes by Area

Build & Packaging

  • Linux / macOS

    • linux/build/build and macos/build/build:

      • Detect the system locale and limit bundled locales to ru and en-US.
      • Use https://download.mozilla.org/?product=firefox-esr-latest to resolve and download the current ESR, instead of a pinned version.
      • Download language packs, dictionaries, and NoScript directly from AMO.
      • Fetch i2pd via the GitHub Releases API, replacing hard-coded versions.
  • Windows

    • Heavily revised windows/build/build.cmd:

      • Respects the system proxy, auto-detects architecture (win32/win64), and uses a UTF-8 console.
      • Downloads the latest Firefox ESR, language packs, dictionaries, and NoScript.
      • Uses the GitHub API to locate the latest I2Pd (MinGW ZIP) and extracts it with 7-Zip.
    • New windows/build/Get-I2pdAssetUrl.ps1: resolves the correct i2pd asset URL for the OS.

    • Removed vendored binaries: curl.exe, sed.exe, 7z.exe/.dll, and ca-bundle.crt. The script downloads the necessary tools and installs them.

Firefox Policies & Preferences

  • build/preferences/distribution/policies.json:

    • Disable Top Sites (including sponsored) and block new permission prompts for camera/microphone/location.
    • Add browser.ml.chat.*: false flags to disable "ML chat" features.
  • build/preferences/i2pdbrowser.cfg:

    • Strict content blocking; reduced first-run noise.
    • Network hardening: no speculative connections, no prefetch, network.http.referer.XOriginTrimmingPolicy = 2, etc.
    • Remove obsolete prefs; add/retain privacy-oriented preferences (clear on shutdown, containers, etc.).

Misc

  • Windows launchers:

    • windows/StartI2PdBrowser.bat and windows_prebuilt/src/StartI2PdBrowser.bat modernized: improved process wait/exit handling, UTF-8, and Russian/English messages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant