1
0
mirror of https://github.com/kkapsner/CanvasBlocker synced 2024-12-22 21:00:23 +01:00

442 Commits

Author SHA1 Message Date
kkapsner
ea15fabad9 Race condition causes persistent rnd separation between containers to lea
Fixes #369
2019-06-14 10:51:26 +02:00
kkapsner
03524fd789 Added tool to clear persistent rng for a specific container
Fixes #368
2019-06-14 10:45:34 +02:00
kkapsner
895c7a36d7 Clear persistent rng data if a container is deleted
For #368
2019-06-14 10:36:49 +02:00
kkapsner
1737344480 document.write and document.writeln protection broke pages
Fixes #365
2019-06-11 23:09:13 +02:00
kkapsner
27ddc8a683 Options: made sections collapsible
For #353
2019-06-11 13:54:15 +02:00
kkapsner
c3d4a1901c Improved protection of (i)frame properties
Fixes #364
2019-06-04 08:42:31 +02:00
kkapsner
d687bc9756 Confirm messages were broken in Firefox 67
For #271
2019-05-31 01:10:13 +02:00
kkapsner
27999484c2 Server-site navigator protection did not respect whitelisting
Should fix #362
2019-05-30 12:43:47 +02:00
kkapsner
579b778062 MutationObserver failed in some instances
Fixes #354
2019-05-29 20:48:56 +02:00
kkapsner
34f8050fb7 Adjusted protection for document.write and document.writeln
Fixes #356
2019-05-29 14:22:52 +02:00
kkapsner
621106ffbf Persistent rng is no longer shared between containers
(different cookieStoreId)

Fixes #350
2019-05-29 00:37:33 +02:00
kkapsner
97e08d874a Not connected iframe threw error with persistent rng 2019-05-29 00:26:35 +02:00
kkapsner
308592e785 Protection for document.write and document.wirteln broke in Firefox 69
Fixes #357
2019-05-29 00:20:27 +02:00
kkapsner
036c7cdbd0 innerHTML setter broke pages -> 0.5.9.1 2019-05-28 23:34:27 +02:00
kkapsner
b4dbd71d11 SOP detection did not work all the time
Fixes #351
2019-05-24 21:46:34 +02:00
kkapsner
c8c311a82f Protect reopened documents. 2019-05-24 18:30:57 +02:00
kkapsner
b6e5384945 Linting 2019-05-24 18:29:45 +02:00
kkapsner
2da680bfcb Improved iFrame protection 2019-05-22 23:37:23 +02:00
kkapsner
92ff2ff5d4 Audio cache could break readout 2019-05-22 10:06:11 +02:00
kkapsner
e0dda5ec0f Detection over navigator and DOMRect getters was possible 2019-05-20 08:45:31 +02:00
kkapsner
79a9034051 Preventing double interception 2019-05-17 00:36:34 +02:00
kkapsner
587bd5bca8 DOMRect: further performance improvements
Total improvement compared to 0.5.8: 7.2 (For #253)
2019-05-11 13:16:45 +02:00
kkapsner
82ba61095a fake- and getterGenerator: added original and window in call
Might enable a performance increase.
2019-05-10 08:28:28 +02:00
kkapsner
103397e35d Minor performance improvements 2019-05-10 01:11:31 +02:00
kkapsner
a89bf0aba8 Remove all "var" from intercept.js 2019-05-10 00:45:50 +02:00
kkapsner
2222ba65c8 Only set random supply when it changes 2019-05-10 00:38:38 +02:00
kkapsner
983423dafa Improved general performance when stack list is disabled 2019-05-10 00:29:53 +02:00
kkapsner
88537c7516 Fixed broken setter on DOMRect 2019-05-09 23:11:15 +02:00
kkapsner
2c291322cf Further improved DOMRect performance
Additional factor 2.6 = total factor 4.7 (For #253).
2019-05-04 13:44:02 +02:00
kkapsner
89124235c0 Improved DOMRect performance
Factor 1.8 (For #253).
2019-05-04 12:39:31 +02:00
kkapsner
4e276edb22 Merge branch 'WhitelistAPISpecific' 2019-05-04 01:14:04 +02:00
kkapsner
b27cf7087b Added whitelist inspection
Fixes #331
2019-05-04 01:12:45 +02:00
kkapsner
6ffd537a58 Unified action pages and fixed display issues
For #341
2019-05-03 23:17:35 +02:00
kkapsner
ed5a1b03cd Merge branch 'master' into WhitelistAPISpecific 2019-05-03 00:46:08 +02:00
kkapsner
54e3f8d3f4 Improved theme system and appearance
Fixes #181 and #341
2019-05-02 23:46:20 +02:00
kkapsner
6301b744d2 Added centralized theme system and themed all pages 2019-05-02 00:30:30 +02:00
kkapsner
51445b36e0 Added whitelist scope question 2019-04-30 23:42:21 +02:00
kkapsner
403885f426 Don't break if browser API is not available 2019-04-30 23:39:40 +02:00
kkapsner
31bc324019 Added option to protect no part of the canvas API 2019-04-27 22:37:25 +02:00
kkapsner
8e628f9d13 Made history length threshold url specific 2019-04-27 22:26:23 +02:00
kkapsner
505fb6409e Run setting migration only in background script 2019-04-19 14:09:56 +02:00
kkapsner
b7a8a51a56 Made data URL protection url specific
Fixes #333
2019-04-19 13:58:04 +02:00
kkapsner
bab7d1496f Moved i18n to extension module 2019-04-09 08:29:52 +02:00
kkapsner
d89bfe4cb0 Minibug in require 2019-04-08 23:56:25 +02:00
kkapsner
7f048b80d7 Removed ".js" from require paths 2019-04-08 00:06:25 +02:00
kkapsner
12137402de Fixed relative require paths 2019-04-08 00:02:29 +02:00
kkapsner
9f3da67cf2 Removed proprietary require event system 2019-04-07 23:22:56 +02:00
kkapsner
f8f35890a1 Removed remaining sdk shortcut module 2019-04-07 23:09:02 +02:00
kkapsner
ef4e238b94 Faking audio did not work with white random generator 2019-04-05 16:26:22 +02:00
kkapsner
137c1688ba Reduced direct dependency on browser.xxx APIs 2019-03-14 16:51:20 +01:00
kkapsner
91c3c34412 Moved canvas api to separate file 2019-03-13 08:08:36 +01:00
kkapsner
574efa23e7 Cleanup require system 2019-03-12 22:24:23 +01:00
kkapsner
f565b8c32e Enabled import of older storage versions. 2019-03-11 22:10:34 +01:00
kkapsner
e56df7160f Added navigator protection 2019-02-27 23:49:00 +01:00
kkapsner
7bf1b2e595 Fix require.register 2019-02-26 15:59:44 +01:00
kkapsner
91b814ce7e Improved audio API protection
reduced detection
more consistent faking
2019-02-10 02:55:45 +01:00
kkapsner
ea30fb3370 Fixed md5 and sha256 hashing
Fixes #315.
2019-02-10 02:49:58 +01:00
kkapsner
e47f726abb Added cache for getChannelData
Fixes #310
2019-02-07 20:12:12 +01:00
kkapsner
53cdf8347e after reset the hidden settings and expanded views were not reset
Fixes #314
2019-02-07 00:44:16 +01:00
kkapsner
1bb5013a39 Protection for history.length did not work
Fixes #309
2019-02-04 13:40:44 +01:00
kkapsner
f38e55b538 Linting 2019-01-24 15:43:20 +01:00
kkapsner
b4b6fcdd13 Fix optional parameter
Fixes #302
2018-12-30 22:22:10 +01:00
kkapsner
43e2f59cba Updated storageVersion to 0.5 2018-11-09 23:38:19 +01:00
kkapsner
947d9e0c59 added "share persistent randomness between domains"
Fixes #290
2018-10-25 13:42:18 +02:00
kkapsner
045379c349 constant rng did not work properly when protecting input 2018-10-23 23:39:47 +02:00
kkapsner
8b9197a68a Decoupled block mode from protected part
Fixes #287
2018-10-23 08:26:23 +02:00
kkapsner
eff86ce4ed Added search field to browser page popup
Fixes #268
2018-10-09 12:59:53 +02:00
kkapsner
3a7c15157c Protected notification api calls
Firefox on Android does not support all of them.

Fixes #276
2018-10-02 19:23:59 +02:00
kkapsner
d4d0d80721 Linting 2018-10-02 13:27:01 +02:00
kkapsner
f3a6031f5a Handle wrong content script order
For #273
2018-10-02 13:20:40 +02:00
kkapsner
0f07cde869 Added value cache for DOMRect
Fixes #272
2018-09-29 09:41:43 +02:00
kkapsner
18bbab50a5 Removed unused setting notificationDisplayTime 2018-09-23 12:40:05 +02:00
kkapsner
5ca27505eb Messages were not passed to tabs. 2018-09-23 12:33:23 +02:00
kkapsner
2f4fca10ab Ask mode did not show canvas canvas any more. 2018-09-21 16:42:58 +02:00
kkapsner
95605ef746 Search did not include button labels
For #242
2018-09-21 16:40:24 +02:00
kkapsner
ccc36a2154 Initilaize storage with correct version. 2018-09-21 16:32:47 +02:00
kkapsner
ecc55ad13f Unknown classes might break CB
Fixes #267
2018-09-20 22:46:45 +02:00
kkapsner
5513bcbb61 Search refinement and bugfixing
Fixes #242
2018-09-19 09:15:19 +02:00
kkapsner
2271477376 fakeUint8Array called forEachIndex with wrong parameters.
Fixes #266
2018-09-18 21:52:15 +02:00
kkapsner
e3861e67b4 Create search in options page
Fixes #242
2018-09-18 13:14:39 +02:00
kkapsner
a1202f9a6e Made audio cache url specific
Fixes #261
2018-09-18 00:03:42 +02:00
kkapsner
f8de9b9539 Merge branch 'whitelistedIndicator'
Fixes #241
2018-09-16 14:08:00 +02:00
kkapsner
55af2c3dc4 Moved url container initialization
Fixes #166
2018-09-16 12:27:50 +02:00
kkapsner
e4c2196131 Send only necessary notifications to main process
For #238
2018-09-16 12:15:04 +02:00
kkapsner
db79c0129b Audio API notifies on every call 2018-09-16 12:09:48 +02:00
kkapsner
ee7f9b4dae Separated setting containers
For #166
2018-09-16 01:22:40 +02:00
kkapsner
57ef8a4166 Simplified relation logging <-> settings
For #166
2018-09-15 21:13:25 +02:00
kkapsner
9d5e8b71ed Separated settings migration
For #166
2018-09-14 16:29:30 +02:00
kkapsner
456c21cb04 Ignore port connection without tab
Fixes #255
2018-09-13 22:50:10 +02:00
kkapsner
b0e1e69ec9 Do not pass messages to internal tabs
E.g. about:addons
Otherwise this causes an error.
2018-09-13 18:40:18 +02:00
kkapsner
f73a4ee619 Save state of the arrow menu in options page
Fixes #251
2018-09-12 23:43:48 +02:00
kkapsner
fe1f1ec79a Fixed caching issue
md5 was too slow.

Fixes #236
2018-09-12 22:23:29 +02:00
kkapsner
f05717836d canvas content was not stored to be displayed when wanted 2018-09-11 23:56:44 +02:00
kkapsner
5e5011f208 Added setting to controll to save notification details
Fixes #236
2018-09-11 23:54:59 +02:00
kkapsner
0133af70f5 Add proper DOMRect ask texts.
For #236
2018-09-09 00:16:44 +02:00
kkapsner
1eacfe7dc5 Ignoring DOMRect did not work.
For #236.
2018-09-09 00:15:47 +02:00
kkapsner
4c2fea8a90 Don't store ignored notifications.
For #236
2018-09-09 00:15:21 +02:00
kkapsner
e147c119ef Only use whitelisted status of tab url
For #241
2018-09-08 00:44:37 +02:00
kkapsner
255c8e6bbf DOMRect did not work because of protectedAPIFeatures 2018-09-08 00:05:56 +02:00
kkapsner
fa92c15dab Converted apiWhiteList to protectedAPIFeatures
For #247
2018-09-07 23:52:29 +02:00
kkapsner
6477572f79 Added indicator for whitelisted tab
First draft for #241
2018-09-06 20:13:16 +02:00
kkapsner
d3d137beed Fixed accidental blocking
See #243
2018-09-06 17:30:44 +02:00
kkapsner
bda97dbc38 Merge branch 'master' into DOMRect 2018-09-06 17:27:52 +02:00
kkapsner
aa8b202545 Fixed bug with "block" mode
window and audio API were always blocked when using any of the "block
..." modes

Fixes #243
2018-09-06 17:24:05 +02:00
kkapsner
e0729480fb Fix dataUrls.js 2018-09-06 08:38:22 +02:00
kkapsner
360c4628ce Corrected domain recognition
Domains with hyphens were treates like RegExps.

Fixes #244.
2018-09-06 08:34:08 +02:00
kkapsner
fb31545604 Removed debugging statement 2018-09-05 17:02:36 +02:00
kkapsner
a01ccf458f Corrected type and api on DOMRect changed functions 2018-09-05 16:47:32 +02:00
kkapsner
df1d59cf52 Added support for pixel fractions
Pixel fractions can be controlled by CSS. These fractions must not be
faked.

For #236.
2018-09-05 15:53:01 +02:00
kkapsner
1d5953e8c7 Added protection from undefined properties.
DOMRect has some new properties that are only in nightly at the moment.
2018-09-05 15:50:59 +02:00
kkapsner
f00c3b674e First DOMRect draft
For #236
2018-09-04 23:29:58 +02:00
kkapsner
bde8ac3e8e Only use onHeadersReceived listener when necessary
As mentioned in #214
2018-08-28 21:09:03 +02:00
kkapsner
83efac5e49 Added protection for window.name and window.opener
As requested by #231.

But this protection is disabled by default.
2018-08-27 00:33:39 +02:00
kkapsner
fd7c4fabbd Added protection for history.length
As requested by #231.
2018-08-27 00:30:48 +02:00
kkapsner
4c7b83aca6 Added support to fake getters. 2018-08-27 00:23:19 +02:00
kkapsner
da14aaff51 Added option to ignore APIs
As mentioned in #233
2018-08-24 19:39:34 +02:00
kkapsner
391deae6f1 Improved browser action title
As mentioned in #233.
2018-08-22 22:37:06 +02:00
kkapsner
4a043b2c78 Typos and linting 2018-08-22 22:16:49 +02:00
kkapsner
f873bd84e5 protectAudio should be url specific 2018-08-22 14:41:48 +02:00
kkapsner
bfb959c290 Added badge
First draft for #233.
2018-08-21 22:43:41 +02:00
kkapsner
c0563cd7d5 Theme settings
For #232
2018-08-21 22:03:16 +02:00
kkapsner
9d231c7b02 CSP cleanup
Should help with #223.
2018-08-21 22:01:10 +02:00
kkapsner
c25e95f845 Added highlighting options for notification icons
Fixes #225.
2018-08-20 21:48:05 +02:00
kkapsner
cedd2137e2 Added option "Don't show again on update." for options page.
Fixes #227.
2018-08-19 00:13:43 +02:00
kkapsner
bf868eb6ae Missing semicolon in CSP
Fixed #224.
2018-08-02 20:56:01 +02:00
kkapsner
05a3429dbe Change browser action icon depending on fake status.
As mentioned in #217
2018-07-31 13:36:34 +02:00
kkapsner
9b18631768 separate persistent random numbers for incognito windows 2018-07-28 14:13:14 +02:00
kkapsner
7f1fe0ed1c Intercepting broken on getter.
Issue mentioned in #215
2018-07-28 13:44:21 +02:00
kkapsner
9a26baf5c1 Block blob in Firefox ESR (52) 2018-07-24 23:30:00 +02:00
kkapsner
942d74ce54 Optimized CSP 2018-07-24 21:30:57 +02:00
kkapsner
7bfd300f6a Inject CSP only in the relevant requests.
Prevents detection of CB.
2018-07-21 19:34:24 +02:00
kkapsner
8389165b70 Allow blob and filesystem schemes
They are protected and do not need to be blocked (like data-URLs).

Fixes #212 and fixes #213.
2018-07-21 13:25:15 +02:00
kkapsner
9ba9c48422 Block data URLs instead of their requests
Fixes #211
2018-07-21 00:32:15 +02:00
kkapsner
5077c86859 Added session white list
Fixes #197
2018-07-17 13:07:50 +02:00
kkapsner
9753681651 Return storage promise from settings.set(). 2018-07-17 12:54:10 +02:00
kkapsner
1f5f5bccc4 Remove all traces of the addon in the displayed calling stack. 2018-07-17 12:50:40 +02:00
kkapsner
47a9519ceb "Protect" data URL pages by blocking outgoing requests
Fixes #208
2018-07-16 00:14:44 +02:00
kkapsner
8db0774d7c Added note where the dynamic content script fails. 2018-07-15 22:39:03 +02:00
kkapsner
a65855a587 Show page action when blocking
Fixes #207
2018-07-13 16:59:49 +02:00
kkapsner
26529a3653 Hide function replacement
Fixes #206
2018-07-13 16:58:13 +02:00
kkapsner
6dc08534a6 Improved logging on settings storage. 2018-07-12 01:18:49 +02:00
kkapsner
07c5585f5a Added 10% and 100% fake rates for audio 2018-07-04 23:59:27 +02:00
kkapsner
720a9bc9a5 Added feature to hide settings. 2018-07-02 00:29:41 +02:00
kkapsner
22fda1eac7 Changed the way the random indices are chosen
Only the offset is random. The indices are then spaced evenly.
2018-06-30 23:34:59 +02:00
kkapsner
d580c35898 Added hashCode 2018-06-30 23:06:20 +02:00
kkapsner
8472e877a4 Corrected md5 hashing 2018-06-30 23:02:31 +02:00
kkapsner
4d71d6bc02 Added audio cache. 2018-06-30 00:34:20 +02:00
kkapsner
f7a0990a29 Also fake array entries that contain zero. 2018-06-29 23:27:20 +02:00
kkapsner
df5109bbf6 Refined audio faking procedure. 2018-06-21 00:20:41 +02:00
kkapsner
c13a6f88b3 Added fixed indices setting. 2018-06-21 00:19:49 +02:00