TODO - surf-adblock - Surf adblock web extension | |
git clone git://git.codemadness.org/surf-adblock | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
TODO (2813B) | |
--- | |
1 - elementhiding: reverse exception rule are not supported (per domain). | |
2 - block rule: exception rules are not supported: these are also abused s… | |
3 to whitelist certain sites. | |
4 | |
5 - simplify match, there are only a few rules with multiple *. | |
6 | |
7 - loadrules: return struct rules* ? | |
8 on error free rules. | |
9 | |
10 - optimization: for simple patterns use: strstr, strcasestr, strcmp, str… | |
11 | |
12 - combine rules in groups: display: none: display: initial, saves memory: | |
13 rule1,rule2 { display: none; } vs rule 1{...}rule2{...} | |
14 | |
15 - checkrequest -> allowrequest. | |
16 | |
17 - add test-case for global exception rules (no domains), see globalcss i… | |
18 also support inverse element hide rule: "~example.com##div.textad". | |
19 - support domain name anchor separately: "||". | |
20 - test blocking websocket connections in surf. | |
21 - skip protocol part when matching for now, (later add support for webso… | |
22 - for f->matchbegin, matchend etc: make sure to match domain properly, c… | |
23 domain (subdomain). | |
24 - optimize towupper for fnmatch? check < 128, see musl optimization. | |
25 - fix blocking of : ||ads.somesite.com^ | |
26 matchbegin and matchend rules are wrong. | |
27 - fix tweakers.net popup / rule. | |
28 this is in an exception rule... | |
29 | |
30 make sure exception rules are always below in the list? modify a… | |
31 - preprocess pattern upfront (no copying of data per match (snprintf)). | |
32 - performance: | |
33 - benchmark rule matching (timing). | |
34 - bloom filters? some kind of cache? | |
35 - optimize simple filter case. | |
36 - also for single wildcard (at most start or end)? */bla or /bla* | |
37 - support separator "^" = [/\?]? | |
38 - test it better. | |
39 - CSS: separate CSS rules so it never is iterated in request rules. | |
40 ? Cache all global rules, iterate site rules per site? | |
41 - there is a websocket option? ignore it: block it in surf itself. | |
42 test if websockets use ws:// prefix. | |
43 - show linenr on error / ignored rule. | |
44 | |
45 Docs: | |
46 - https://adblockplus.org/en/filter-cheatsheet | |
47 - https://adblockplus.org/filters | |
48 | |
49 - On out-of-memory situations don't crash the page, but how to handle it? | |
50 - CSS blocking: don't allow sites to override the appended global and | |
51 site-specific stylesheet. | |
52 - separate between site-specific and global block rules. | |
53 - optimize matching: | |
54 ? hashtable per domain for specific rules or use bloom filters f… | |
55 - separate general block rules into a separate list. | |
56 - test: just use a simple strstr/strcasestr for patterns with no… | |
57 and no matchbegin/matchend. Use strncmp/strcasecmp for pattern… | |
58 and matchbegin or matchend set. | |
59 - make less CPU intensive. | |
60 - maybe even include it statically? | |
61 - optimize CSS rule matching (only per site?). | |
62 | |
63 - optimize memory allocation. | |
64 - optimize: pregenerate one global stylesheet that applies to all sites? | |
65 - separate adblocker into daemon? not sure. |