Raymond Hill
3fd2588650
Allow scriptlets to be injected in `about:blank`
...
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2963
2023-11-16 17:07:48 -05:00
Raymond Hill
bd8a91ed3a
Add support to redirect to `noop.json`
...
There ar ea couple of AdGuard filters supporting this local
resource.
Reference:
https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#noopjson
2023-11-16 09:54:21 -05:00
Dave Vandyke
c1d8f5908d
More improvements to the google-ima shim script ( #3908 )
...
We have enabled the google-ima shim script again in the DuckDuckGo
Privacy Essentials browser extension, and found a couple more issues:
- Some websites set the enablePreloading[1] option, which should
cause[2] the AdsManager.init() method to trigger the LOADED AdEvent
to fire. If the event doesn't fire, those websites can get stuck
waiting for the event forever.
- When AdsManager.start() method is called, a bunch of events are
dispatched in order, to simulate ads loading, playing and
finishing. There was a mistake in that logic though. The
CONTENT_PAUSE_REQUESTED and CONTENT_RESUME_REQUESTED events[3]
should fire as the ads start and finish respectively. By firing the
latter early, and skipping the former, some websites got confused
and tried to display ad overlays at the same time as playing their
content, or didn't display they content at all.
1 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdsRenderingSettings#enablePreloading
2 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/preload#timing
3 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdEvent
2023-11-16 09:41:07 -05:00
Raymond Hill
dac320e396
Fix bad argument passing
2023-11-14 18:03:02 -05:00
Raymond Hill
0b871e6546
If response is 404, skip trying other CDNs
...
When there is a 404 response, in all likelihood other
CDNs will also return 404, no point pointlessly fetching
from others.
2023-11-14 17:39:48 -05:00
Raymond Hill
6a9c69aa94
Add support for minute unit
2023-11-14 13:53:17 -05:00
Raymond Hill
d2b8d990e6
All exceptions filters are exempt from requiring a trusted source
...
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2895#discussioncomment-7566154
2023-11-14 09:58:26 -05:00
Raymond Hill
7c6005278e
Import translation work from https://crowdin.com/project/ublock
2023-11-14 09:05:37 -05:00
Raymond Hill
6d38180608
Fix spurious change in i18n strings
2023-11-14 09:04:06 -05:00
Raymond Hill
92c0088f64
Keep `assetKey` and `diffName` well separated
2023-11-13 14:55:52 -05:00
Raymond Hill
a373efe9c0
Import translation work from https://crowdin.com/project/ublock
2023-11-13 10:34:09 -05:00
Raymond Hill
7b2149e595
Fix quirks re. diff-updater
2023-11-13 09:42:31 -05:00
Raymond Hill
b26d421a57
Add Punjabi (pa) translation
2023-11-12 13:51:50 -05:00
Raymond Hill
01d796346c
Import translation work from https://crowdin.com/project/ublock
2023-11-12 13:48:39 -05:00
Raymond Hill
1db569d4ee
Fix last commit
...
Related commit:
e30223c42e
This needs to be done with currently cached list, not with
failed modified list.
2023-11-11 19:54:05 -05:00
Raymond Hill
e30223c42e
Add check-then-fix code to ensure diff-path name in sync
...
There is a lot asynchronicity in the auto-update code, and
the fix here is to detect then fix instances of out of sync
state between a cached filter list and its metadata stored
separately.
2023-11-11 15:51:59 -05:00
Raymond Hill
4422926b63
Add more details to error message
2023-11-11 13:25:58 -05:00
Raymond Hill
130c437dd3
Import translation work from https://crowdin.com/project/ublock
2023-11-11 10:55:40 -05:00
Raymond Hill
193672dae5
Extract diff-name from diff-path when diff-name field is missing
2023-11-11 09:35:08 -05:00
Raymond Hill
15e3f763a3
Mind exception filters for `replace=` option
...
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2952
2023-11-10 10:45:24 -05:00
Raymond Hill
9f52b4763e
Lookup asset key from diff name
...
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2948
This fix has to make it into next stable release to ensure
imported external lists can benefit from diff-updater.
2023-11-09 20:01:39 -05:00
Raymond Hill
ec53a8f2c7
Re-work unescaping arguments in parser
...
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/5184#issuecomment-1803455520
2023-11-09 09:11:59 -05:00
Raymond Hill
9204fdf92c
Partially revert 3ff456a
...
Related feedback:
3ff456a63d (commitcomment-132105051)
2023-11-09 07:01:22 -05:00
Raymond Hill
831a707616
Typo in comment
2023-11-08 22:40:43 -05:00
Raymond Hill
1dba557c9a
Ensure CSSTree does not hold onto last parsed string
...
When done compiling, force CSSTree to parse an empty string, so
as to ensure it doesn't keep a reference to that string.
Typically, the string passed to CSSTree is a small slice of a
larger string which is a whole filter list. This means that
holding a reference to the sliced string causes the JS engine
to hold in memory to the whole filter list last parsed.
2023-11-08 22:33:01 -05:00
Raymond Hill
9ebed116da
Import translation work from https://crowdin.com/project/ublock
2023-11-08 19:44:33 -05:00
Raymond Hill
3c5491a8bd
Improve comment
2023-11-08 07:22:23 -05:00
Raymond Hill
856e8de64c
Diff-updater: report URL without the hash part
2023-11-08 07:16:23 -05:00
Raymond Hill
2170051c4a
Fix documentation in comment following recent changes
2023-11-07 17:29:25 -05:00
Raymond Hill
b8193ea5f9
Fix detection of unfilled filter list fields
...
Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/781#discussioncomment-7503866
2023-11-07 17:27:37 -05:00
Raymond Hill
3ff456a63d
Prefer CDNs when subscribing to a new list
...
Also, purging the cache of a list should not remove the
compiled version of that list so that it keep being seen
as cached, but obsolete.
2023-11-07 08:21:22 -05:00
Raymond Hill
ae24032607
Add more `replace`-able types
...
Reference:
https://en.wikipedia.org/wiki/M3U#Internet_media_types
2023-11-07 07:53:37 -05:00
Raymond Hill
2360bc02f3
Lower maximum `Expires` value to 4h
...
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2899
2023-11-06 19:45:16 -05:00
Raymond Hill
8ed1ad9c9d
Properly reset needle length in unserialized buffer
...
Possible related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2925
2023-11-06 19:22:47 -05:00
Imre Kristoffer Eilertsen
a2ab313ae2
Attempted to set flag codes for Chromium Windows users ( #3906 )
...
* Attempted to set flag codes for Chromium users
* Not sure how I missed MD.
2023-11-06 16:46:56 -05:00
Raymond Hill
11ebb736ca
Import translation work from https://crowdin.com/project/ublock
2023-11-06 12:16:48 -05:00
Raymond Hill
5d1618e1be
Reset potential `g` regex before use in `replace=` option
...
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/5184#issuecomment-1794058253
2023-11-06 07:16:41 -05:00
Raymond Hill
6417f54299
Apply response filtering according to mime type
...
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2833
2023-11-05 19:13:38 -05:00
Raymond Hill
1055203542
Avoid creating a session if there are no jobs
2023-11-05 14:54:59 -05:00
Raymond Hill
ce835bb300
Remove extraneous increment in charset sniffing code
...
Related commit:
7c3e060c01
Related feedback:
7c3e060c01 (commitcomment-131759551)
2023-11-05 14:19:06 -05:00
Raymond Hill
b69b0b5fb9
Add more mimes as valid target for response filtering
...
Related feedback:
7c3e060c01 (commitcomment-131754750)
application/vnd.apple.mpegurl
Reference:
https://www.iana.org/assignments/media-types/application/vnd.apple.mpegurl
application/vnd.api+json
Reference:
https://www.iana.org/assignments/media-types/application/vnd.api+json
2023-11-05 12:50:03 -05:00
Raymond Hill
d7c99b46e6
Have `urltransform=` use the same syntax as `replace=`
...
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2924
2023-11-05 11:19:03 -05:00
Raymond Hill
5f78d83fea
Fix various code paths in bodyFilterer
...
Related to extracting charset of response body.
2023-11-05 10:32:23 -05:00
Raymond Hill
1cf634cce0
Leave out hash part when extracting patch file name
...
Related commit:
aeff955667
2023-11-05 08:03:43 -05:00
Raymond Hill
c38267bb2b
Fix `charset` sniffing in reworked response body filtering code
...
Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/830
Related commit:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2537#discussioncomment-5277574
2023-11-04 09:50:10 -04:00
Raymond Hill
4de6bd6f07
Fix potential exceptions in new response body filtering code
...
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2929
Related commit:
7c3e060c01
2023-11-04 09:43:38 -04:00
Raymond Hill
4774a39b17
[mv3] Fix converter to DNR rules
2023-11-03 21:32:44 -04:00
Raymond Hill
4c48148eb2
Support auto-complete for `from=` same as `domain=`
2023-11-03 20:19:19 -04:00
Raymond Hill
d12d014b10
Import translation work from https://crowdin.com/project/ublock
2023-11-03 19:13:07 -04:00
Raymond Hill
7c3e060c01
Implement network filter option `replace=`
...
Reference documentation:
https://adguard.com/kb/general/ad-filtering/create-own-filters/#replace-modifier
This is a network filter option which can only be loaded from a
trusted source.
Since this filter is about modifying the response body, it currently
only works in Firefox.
As discussed with filter list maintainers.
2023-11-03 19:01:01 -04:00