Commit Graph

7866 Commits

Author SHA1 Message Date
Raymond Hill cf31d83acf
Remove infinite iframe creation
Bad idea after all, this can cause bandwidth
abuse to GitHub.
2020-07-17 21:16:38 -04:00
Raymond Hill bc60e6c4a2
Shorten URL 2020-07-17 20:27:17 -04:00
Raymond Hill 3e55ffff13
Add infinite iframe-creation test
Location:
https://gorhill.github.io/uBlock/tests/infinite-iframe-creation.html

The test is useful to ensure no runaway memory consumption
in uBO's main process, and is also useful as rough performance
assessment, i.e. we want uBO's main process to be low CPU, etc.

Useful to use with Chromium's Task Manager, which reports both
memory and CPU usage.

Typically to be used with uBO with default settings/lists.
2020-07-17 16:03:49 -04:00
Raymond Hill 6516834051
Add test cases to static filtering checklist 2020-07-17 10:16:40 -04:00
Raymond Hill 3789259fc9
Consider an empty pattern with anchors to be dubious
Related issue:
- https://github.com/ryanbr/fanboy-adblock/issues/1384
2020-07-17 10:08:08 -04:00
Raymond Hill 7b55f0fbf1
Make Firefox dev build auto-update 2020-07-16 16:45:35 -04:00
Raymond Hill 321eae7417
Remove stray empty line 2020-07-16 16:39:07 -04:00
Raymond Hill 219bd1bbf9
New revision for dev build 2020-07-16 16:33:24 -04:00
Raymond Hill 3aed2497a3
Use AdGuard French as in-place replacement of Liste FR
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/379

Related recent discussion:
- 529643bdce
2020-07-16 16:29:24 -04:00
Raymond Hill 975d894419
Stringify argument using implicit rather than explicit conversion
Reported internally by team.

Explicit conversion was causing an exception to be
thrown when the type argument was not supporting
`toString()`, for example when `type` argument was
literal `null`.
2020-07-16 09:55:06 -04:00
Raymond Hill a22d4cdd54
Make Firefox dev build auto-update 2020-07-15 16:15:52 -04:00
Raymond Hill 39cca287b8
New revision for dev build 2020-07-15 16:07:28 -04:00
Raymond Hill 947651427d
Use tabs instead of whitespaces 2020-07-15 16:06:39 -04:00
Raymond Hill dacf83b5c0
Add cdn.jsdelivr.net mirror for urlhaus blocklist 2020-07-13 15:50:13 -04:00
Raymond Hill d93f32e882
Remove repo.or.cz from list of CDNs for urlhaus blocklist
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1152
2020-07-13 15:34:07 -04:00
Raymond Hill ab1ba2bc7e
Make Firefox dev build auto-update 2020-07-13 12:05:52 -04:00
Raymond Hill 21f8a06ba4
New revision for dev build 2020-07-13 11:52:02 -04:00
Raymond Hill d5dcf4e9b6
Fix improper handling of srcset in element picker
Regression from:
- 16727d68c8

The issue was causing the element picker to being
unable to select elements with no valid `srcset`
property.

Test case -- trying to select one of the embedded
frames in the following page would fail:
- http://raymondhill.net/ublock/tiles1.html
2020-07-13 11:46:38 -04:00
Raymond Hill 9183e42a40
Make Firefox dev build auto-update 2020-07-13 09:45:36 -04:00
Raymond Hill 852ea15d0d
New revision for dev build 2020-07-13 09:40:00 -04:00
Raymond Hill d49a9dce66
Fix spurious rejection of some AdGuard redirect filters
Lines in AdGuard filter lists have trailing `\r`
characters, and these caused the redirect engine
compile code to reject as invalid the redirect
token.

This is trivially fixed by trimming the raw option
strings before parsing it in the redirect engine.
2020-07-13 09:33:38 -04:00
Raymond Hill ba0d4f8a38
Fix the reporting of invalid static extended filters in the logger
This is a regression caused by the re-factoring necessary
to support the new static filtering parser code.
2020-07-12 13:00:18 -04:00
Raymond Hill 2eec28520f
Fix improper rejecting fitlers with `$all,~document` options
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134#issuecomment-657122472
2020-07-12 10:39:57 -04:00
Raymond Hill 1a9ad29503
Make Firefox dev build auto-update 2020-07-11 10:50:56 -04:00
Raymond Hill 73db4d3e71
New revision for dev build 2020-07-11 10:35:30 -04:00
Raymond Hill fc84a30cce
Mind `\b` in regex-based filters when trying to extract token
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1145#issuecomment-657036902
2020-07-11 10:32:04 -04:00
Raymond Hill 16e066e844
Update README.md 2020-07-11 07:32:14 -04:00
Raymond Hill c99238d3ca
Update README.md 2020-07-11 07:31:53 -04:00
Raymond Hill ab8a888dfd
Make Firefox dev build auto-update 2020-07-10 08:25:29 -04:00
Raymond Hill dc7757e777
New revision for dev build 2020-07-10 08:17:24 -04:00
Raymond Hill e44a568278
Add CoreMirror's code-folding ability to list editor/viewer
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134

CodeMirror's code folding reference:
- https://codemirror.net/doc/manual.html#addon_foldcode

This commit adds support for code-folding to the filter
list editor/viewer.

The following blocks of code are foldable by clicking the
corresponding marker in the gutter:

- !#if/#endif blocks
- !#include blocks

Addtionally, the following changes:

- The `!#include` line is now preserved when importing a
  sublist
- The `!#if` directives will be syntax-colored according
  to whether they evaluate to true or false on the current
  platform
- Double-clicking on a foldable line in the gutter will
  select the content of the foldable block
- Minor visual improvement to matching brackets
2020-07-10 08:01:39 -04:00
Raymond Hill f955d502c3
Extend timeout of Firefox publish script to 60 minutes 2020-07-10 07:44:17 -04:00
Raymond Hill ebf7fb145e
Fine tune auto-completion for `!#if` directives
Auto-completion will work only for uBO's own
tokens, compatibility-related tokens[1] will not be
taken into account for auto-completion.

The reason is to not have the compatibility-related
tokens get in the way of auto-completion in order
to not inconvenience uBO's filter list maintainers.

[1] `adguard_ext_chromium`, `adguard_ext_firefox`,
    etc.
2020-07-09 08:09:51 -04:00
Raymond Hill a11571c666
Make Firefox dev build auto-update 2020-07-08 18:53:08 -04:00
Raymond Hill 4197defe6e
Remove reference to no longer used `resources.txt` 2020-07-08 10:51:26 -04:00
Raymond Hill 835785b19c
New revision for dev build 2020-07-08 09:59:06 -04:00
Raymond Hill 83c01fb352
Add syntax highlighting/auto-completion for preparsing directives
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134

Invalid values for `!#if ...` will be highlighted as errors.

Auto completion is now supported for both the directives
themselves and the valid values for `!#if ...`.

For examples, when pressing ctrl-space:

- `!#e` will auto-complete to `!#endif`
- `!#i` will offer to choose between `!#if ` or `!#include `
- `!#if fir` will auto-complete to `!#if env_firefox`

Additionally, support for some of AdGuard preparsing
directives, i.e. `!#if adguard` is now a valid and will be
honoured -- it always evaluate to `false` in uBO.
2020-07-08 09:52:27 -04:00
Raymond Hill 4c89c16401
Fix cdn.statically.io-based URL for urlhaus lists
Related feedback:
- a13ac92089 (commitcomment-40399574)
2020-07-06 11:06:59 -04:00
Raymond Hill 46e205d61a
Fix incorrect list name for newly added urlhaus list 2020-07-06 09:43:44 -04:00
Raymond Hill 0162d64c01
Make Firefox dev build auto-update 2020-07-06 09:35:33 -04:00
Raymond Hill 4fe3e9bbd5
New revision for dev build 2020-07-06 09:21:56 -04:00
Raymond Hill a13ac92089
Replace seemingly abandoned malware lists with urlhaus list
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1116
- https://github.com/uBlockOrigin/uBlock-issues/issues/984

It has been found that the two malware lists uBO uses by
default appear to be essentially no longer maintained.

urlhaus list[1] has been identified by the community as
being well maintained and as being actually useful as a
default malware-related list in uBO, since it's being updated
every day from a database of top domains and specific URLs
identified as serving malicious content. Additionally, the
maintainer of urlhaus list has taken steps to increase
compatibility with uBO[2].

The decision has been to replace the current two malware-
related lists with urlhaus list, which will be enabled by
default in uBO -- and this means that list will be part of
uBO's package from now on.

For those who have the two removed malware lists enabled,
these will be moved to the custom lists section -- they
will still be enabled. It is suggested users remove them from
their selection of lists as their usefulness at this point
is questionable.

[1] https://gitlab.com/curben/urlhaus-filter
[2] 859dfd03c6
2020-07-06 09:03:20 -04:00
Raymond Hill 18a5f41a04
Better processing of `Expires` directive in filter list
In case of invalid `Expires` value -- i.e. `NaN` -- do
not use `1` as default value, just let uBO pick the
value according to the global default (which is `5` as
of commit time).
2020-07-06 08:31:53 -04:00
Raymond Hill dc64cfbd97
Fix properly reporting invalid filter options
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134

Specifically;

- `beacon`, `ping`, and `websocket` cannot be redirected;
- it's ok to not specify a type when redirecting to `empty`
  resource;
- `csp=` option can't be mixed with other types, redirec
  directives, and more `csp=` options.
2020-07-05 14:11:15 -04:00
Raymond Hill 2476f5f830
Add static filter parser checklist
To be used to validate the static filtering parser code in
uBO. Over time I expect that all theparsing will be done
by the static filtering parser, and thus the list here will
become useful to detect breaking code changes.
2020-07-05 13:24:04 -04:00
Raymond Hill cd1a3d22cd
Or just simplify by combining both conditions... 2020-07-05 09:17:06 -04:00
Raymond Hill 37f5b3d642
Minor code review re. element picker
Avoid potentially adding element twice to the
resultset.
2020-07-05 09:12:45 -04:00
Raymond Hill d6fcfeb620
Make Firefox dev build auto-update 2020-07-05 09:00:53 -04:00
Raymond Hill 290e5195be
New revision for dev build 2020-07-05 08:50:17 -04:00
Raymond Hill 16727d68c8
Fix parsing of srcset attribute in element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1071

Additionally, match unconditionally against `srcset` attribute
when trying to find matching elements in the page. For example,
sometimes an img element may set both `src` and `srcset`
properties, they should not be deemed mutually exclusive.
2020-07-05 08:44:14 -04:00