3817 Commits

Author SHA1 Message Date
wukko 2cc325e3e2 revision: bump to 6 (#2345) 0.15.6 2026-08-20 01:18:41 +06:00
wukko 857b3f7983 merge: update to chromium 151.0.7922.169 (#2344) 2026-08-20 01:00:02 +06:00
jj b80e90ce89 helium/core/sync/vault: initialize and commit private vault state (#2314)
#90
2026-08-19 20:50:48 +02:00
wukko d2fae0fde2 patches: refresh for chromium 151.0.7922.169 2026-08-20 00:48:04 +06:00
wukko 4c778fcf49 merge: update ungoogled-chromium to 151.0.7922.169 2026-08-20 00:41:19 +06:00
Blaise 6f09e99d9c Update to Chromium 151.0.7922.169 2026-08-18 20:00:04 -05:00
jj 0ae15ad649 revision: bump to 5 (#2332) 0.15.5 2026-08-15 16:38:52 +00:00
jj 3213f5ef95 helium/core: add starlark config for rbe builds (#2329)
this is a very simple nativelink config to be used instead of the google
ones with a specified google proprietary image
2026-08-15 09:09:35 +02:00
jj 63e8e1e19e helium/ui: expose additional shortcut actions (#2324)
expose existing browser commands through the configurable keyboard
shortcuts page without assigning new default accelerators:
 - Duplicate tab
 - Exit
 - Move active tab to new window
 - Open new tab to the right
 - Close tabs to the right
 - Close other tabs
 - Pin or unpin active tab
 - Show as tab
 - Open active tab in its PWA window
 - Open web app settings
 - Show web app information
 - Create application shortcut
 - Install PWA
 - Route media
 - Mute or unmute current site
 - Create QR code
 - Take screenshot
 - Show full URLs
 - Empty cache and hard reload
 - Import settings
 - Manage extensions
 - Inspect devices
 - Open browser management page
 - Open performance settings
 - Switch to Classic layout
 - Switch to Compact layout
 - Switch to Vertical layout
 - Open Settings

Fixes #335
Fixes #1467
Fixes #1527
Fixes #1528
Fixes #1837
Fixes #1975
Fixes #2246
Fixes imputnet/helium-windows#329
Related: #1711
2026-08-15 00:22:25 +02:00
jj 5f6becbc1c deps: bump ublock to 1.73.0 (#2328) 2026-08-14 23:25:25 +02:00
jj e2b538ad1d helium/ui: add more zoom presets (#2323)
fixes #1366
2026-08-14 23:09:17 +02:00
jj 50f49b47bd helium/ui: reduce split view drag and drop delay to 500ms (#2322)
fixes #1472
2026-08-14 21:20:13 +02:00
jj b53163d96e ci: cache domsub/pruning list check (#2327)
should hopefully speed up ci by some amount
2026-08-14 19:17:38 +00:00
jj 4ce588fe6c helium/core: add flag to ignore system proxy (#2321)
fixes #687
2026-08-14 21:03:26 +02:00
jj 9e95fa429f helium/core: add open-all confirmation flag (#2319)
fixes #574
2026-08-14 20:51:37 +02:00
jj 57620ec7c7 patches: reformat and split up helium flags (#2326) 2026-08-14 20:13:55 +02:00
jj d1665c81be devutils: use portable bash shebangs (#2318)
fixes #1584
2026-08-14 16:34:56 +02:00
Pheerapat Rinnasak 299be51690 i18n: refine Thai (th) translation (#2241)
Tiny grammar refining and clarifying translation

---------

Co-authored-by: Supakit Khawmeewong <loukhin@lop.town>
2026-08-14 17:32:32 +06:00
wukko c50b51752e revision: bump to 4 (#2307) 0.15.4 2026-08-11 23:42:52 +00:00
wukko 4db31f6fc0 merge: update to chromium 151.0.7922.137 (#2306) 2026-08-12 05:29:54 +06:00
wukko 0338d01f70 patches: refresh for chromium 151.0.7922.137 2026-08-12 05:20:12 +06:00
wukko d7fd20392c merge: update ungoogled-chromium to 151.0.7922.137 2026-08-12 05:02:25 +06:00
wukko e241025306 Update to Chromium 151.0.7922.137 2026-08-12 04:57:49 +06:00
wukko 5ed12fcd18 helium/ui/layout: rephrase address bar toggles (#2305)
this makes the distinction between toggles clearer, and will make
translations to other languages easier and more accurate.

closes #2062
2026-08-11 22:37:46 +00:00
jj 3609047a12 helium/core/sync/vault: read authenticated private vault state (#2295)
- define the transport-neutral read interface used to retrieve objects
from providers
- implement the browser side of the protocol
- fetch state chunks only after accepting the head, enforce limits, then
decrypt and assemble the sync state
- provide lightweight setup verification and revision-based refreshes
2026-08-12 00:15:00 +02:00
wukko 6e9ce9140c helium/network: re-enable doh by default, update dns providers (#2304)
- drop ungoogled's doh-changes patch
- add google DNS to list of options
- add 1.1.1.2 and 1.1.1.3 to list of options
- add nextdns to global list of options
- remove cleanbrowsing from options
- remove a weird EU dns provider from options in EU
- remove opendns from options
- removes option shuffling for sake of grouped ordering (there are 3
cloudflare options)
2026-08-11 22:13:17 +00:00
wukko 2defeb118a helium/core/network: add experimental TLS ClientHello splitting (#2298)
this feature splits outgoing TLS ClientHello messages across TLS records
at a randomized boundary. it targets the visible server name, or the
encrypted_client_hello extension when ECH is used.

this can help bypass domain-based DPI filtering that expects these
fields in a single TLS record. it does not hide DNS queries or
destination IP addresses, and produces unusual, recognizable TLS
traffic.

some middleboxes and TLS endpoints mishandle ClientHello messages
fragmented across records, even though the TLS spec explicitly permits
this. this is known to affect vercel-hosted sites, which may be
unavailable while this feature is enabled.
2026-08-12 01:45:28 +06:00
jj 5fac103dbf helium/core/sync/vault: set up private vault object encryption (#2294)
derive a vault-specific 256bit object key from the vault key and UUID
using HKDF-SHA256. encrypt with AES-256-GCM-SIV, authenticate the vault
UUID and object role as associated data.

enforce the role-specific plaintext limits defined by the vault format
before encryption and decryption. reject invalid or oversized objects

related: #90
2026-08-09 19:17:52 +02:00
jj 9094f641c9 helium/core/sync/vault: define the private vault format (#2271)
helium/core/sync/vault: define the private vault format

sync state is represented as encrypted objects in some general object
    store.

    remote: descriptor
            head -> latest journal record -> state chunks
                             |
                             v
                    parent journal record -> state chunks
                             |
                             v
                            ...

    local: checkpoint -> last accepted generation + journal record

    - vault: one sync dataset + UUID + encryption key
browsers that select the same vault synchronize with eachother
             the object store sees only the vault's encrypted objects
- descriptor: immutable identity record containing the vault UUID and
                  creation time
- head: small mutable record pointing to vault's latest complete state
    - generation: monotonically increasing commit number, establishes
ordering. 0 = empty vault with no records, each published
                  state increments the generation by one
- journal: vault's (linked) ordered history of committed browser states
- journal record: some state snapshot for some generation, naming its
                      encrypted chunks needed to reconstruct that
generation's complete state, and its parent to link
                      its history
    - state chunk: immutable encrypted object containing part of a
                   generation's serialized sync state
    - checkpoint: locally protected identity of the last accepted head:
                  vault UUID + generation + journal record ID + epoch
- epoch: bounded section of journal history used to allow compaction of
             history and collection of old immutable objects

    writers upload state chunks and journal records and first, then
    atomically replace the head to publish the completed generation, so
    readers discover the latest state without observing a partially
    uploaded generation.

related: #90
2026-08-09 19:02:10 +02:00
wukko 22358cffac helium/core/network: add a flag for forcing QUIC to v2 on HTTP/3 (#2289)
may be useful for bypassing some network restrictions

`Alt-Svc: h3` is not upgraded to QUIC v2 when v2 is forced due to a bug
in chromium which needs to be handled in a separate patch and PR
2026-08-09 18:33:16 +02:00
jj 55b71c4b2f helium/core/sync: init custom sync backend foundation (#2269)
- allow the sync engine to use a custom backend instead of the
google/gaia backed one, disable google backend
- support account-independent backend selection
- limit custom backend types to known-supported data types and filter
user preferences accordingly

related: #90
2026-08-09 17:39:24 +02:00
wukko 6212115c91 revision: bump to 3 (#2290) 0.15.3 2026-08-07 22:13:31 +00:00
wukko 39d1887c8b helium/settings: remove new autofill pages (#2286)
aka "your saved info"
2026-08-07 21:08:47 +00:00
wukko b51e059b17 helium/core: add global privacy control and network settings UI (#2284)
fixes #597
2026-08-08 02:30:29 +06:00
wukko df7a042034 helium/settings: add GPC toggle, "Security" -> "Network and security"
- rename the "Security" page to "Network and security" and reorganize it
  into "Network", "Privacy signals", and "Security" sections
- improve HTTPS-only mode option labels
- move the DNT toggle from third-party cookie settings into "Privacy
  signals" and clarify its description
- add a GPC toggle to "Privacy signals"
- remove the DNT confirmation dialog and add explanatory text to the
  "Privacy signals" section header
- move "Network" and security above "Site settings"
2026-08-08 01:30:57 +06:00
wukko a4c2225098 helium/core: backport global privacy control, add helium pref and wiring 2026-08-08 01:30:56 +06:00
wukko ceaddaa5a5 helium/core/network: move the ech flag to network subdir and after noise 2026-08-08 01:30:56 +06:00
wukko 1b718a766f helium/core: disable webui omnibox (#2283)
we don't care about google ai mode for which the webui omnibox was made.
no clue why it's even in chromium instead of chrome, along with tons of
other trash.

it was enabled in latest patch via https://crrev.com/c/8176782
2026-08-07 16:44:36 +00:00
wukko 32996295d5 merge: update to chromium 151.0.7922.108 (#2277) 2026-08-07 16:26:26 +06:00
wukko 90e5b02b26 patches: refresh for chromium 151.0.7922.108 2026-08-07 15:59:46 +06:00
wukko 79928ca10e merge: update ungoogled-chromium to 151.0.7922.108 2026-08-07 15:59:39 +06:00
wukko ecbcc4c141 Update to Chromium 151.0.7922.108 2026-08-07 15:38:12 +06:00
jj 8b24606c69 revision: bump to 2 (#2273) 0.15.2 2026-08-06 01:13:46 +06:00
wukko a62a68ab0f helium/ui: fix side panel visual bugs (#2274)
- fix clipping with right-aligned tabs
- fix radius in zen mode when VTS is floating

fixes #2247
2026-08-06 01:00:37 +06:00
wukko cdce7f8ce9 helium/ui/zen: fix side panel radius when VTS is floating
now side panel uses the frame radius when VTS is floating, like it's
supposed to
2026-08-06 00:45:25 +06:00
wukko a634d0dced helium/ui: fix side panel clipping with right-aligned tabs
chromium's clipping bounds assumed vertical tabs were always on the
left, causing side panel contents to be clipped when tabs were
right-aligned.

fixes #2247
2026-08-06 00:14:42 +06:00
jj 45e1d81d55 merge: update chromium to 151.0.7922.75 (#2270) 2026-08-05 19:34:30 +02:00
jj 06c960bc8d merge: update ungoogled-chromium to 151.0.7922.75 2026-08-05 15:39:20 +00:00
Blaise 5de9dd1aaa Update to Chromium 151.0.7922.75 2026-08-04 15:42:08 -05:00
Nicholas A. Thompson bbe89c5a2f Disable GCM: fail fast PushManager.subscribe() without a token (#3888) 2026-08-04 13:02:11 -05:00