Skip to content

Latest commit

 

History

History
215 lines (153 loc) · 9.37 KB

README.md

File metadata and controls

215 lines (153 loc) · 9.37 KB

Chrome Extension for blurring text

This extension can blur specified text/keywords in web pages.

Demo

Keyword matching

text-blurrer-extension-demo-keyword-1080.mp4

Regular Expression matching

text-blurrer-extension-demo-regexp-1080.mp4

RegExp Validation

text-blurrer-extension-demo-regexp-validation.mp4

Show value on mouseover (v0.1.3 or later)

text-blurrer-extension-demo-showvalueonmouseover.mp4

Blur value in input tag (experimental, v0.1.3 or later)

text-blurrer-extension-demo-blurinputvalue.mp4

Exclusion URL list (v0.2.0 or later)

If you want NOT to blur keywords in specific sites/frames, you can specify URLs of the site in the Exclusion URL patterns tab.

image

You can add URLs on the current tab to the list by clicking + Add URLs in the current tab on the popup.

Context menu for adding keyword (v0.2.0 or later)

Simple way to add the blurry keyword.

image

Shortcut keys on popup (v0.2.0 or later)

  • Ctrl / + s: applying keywords/url patterns change (i.e. pressing Apply button)
  • Shift + Alt + f: removing empty lines in active textarea

Mask value in title (experimental, v0.1.9 or later)

Recording.mp4

Try this

This extension can be installed from Chrome Web Store.

If you can try a development version, the following steps are needed.

  1. get contents of this repository
    1. clone this repository
      or
    2. download zip file and extract it
  2. open chrome://extensions
  3. enable Developer mode and click Load Unpacked
    1. Google Chrome
      image
    2. Microsoft Edge
      image
  4. select the directory created by cloning at step 1.

Limitations

  • These are experimental features

    • Input Element blurring
    • Tab title masking
  • The following HTML elements are not supported:

    • HTML Canvas
    • TextArea
  • Web Terminal based on Xterm.js:
    see here

  • Web Editor based on CodeMirror:
    CodeMirror, which bases GitHub code editor, repairs its own contents automatically after blurring by this extension. Then blurring and repairing are repeated, it causes infinity loop. (#62)

    [!NOTE] Not limited to CodeMirror, it's possible that an infinity loop and a site freezing happen caused by repeat of blurring and DOM tree keeping when the extension tries to blur text on a site composited by frameworks or components which try to keep DOM tree. As long as I investigate, lexical is also such a component.

Dependencies

  • jsdiff: A JavaScript text differencing implementation (BSD 3-Clause License).

Change logs

  • Bug fixes
    • Improve performance if there are invisible (display: none or visibility: hidden) elements containing target keywords.
  • Chores
    • Typescriptize
  • New features
    • Support contentEditable-enabled elements
  • Bug fixes
    • Fix tab title masking (#65)
    • Fix issue with matching empty string (#67)
  • Chores
    • Add documentation about priority of the keywords/patterns
  • Bug fixes
    • Fix tab title masking (#56)
    • Fix white-space handling (#57)
    • Fix hanging up on sites contain CodeMirror (#62)
  • Chores
    • Add documentation about blurring on Xterm.js
  • Bug fixes
    • Improve performance (#52)
    • Fix adding exclusion URL patterns list
  • Bug fixes
    • Improve performance (#48)

Refactoring blurring logic to improve performance and maintainability.
From this version, this extension includes jsdiff

  • New features
  • Bug fixes
    • Improve title masking (#38, #39)
    • Improve unblurring on updating text node by javascript (#40)
    • Improve inputting keywords using RegExp assersions (#41)
  • New features
    • Add experimental option to mask title by keywords
  • Bug fixes
    • Improve misalignment of mask position for input element
  • Bug fixes
    • Fix misalignment of mask position for input element with box-sizing set to border-box (#32)
  • Bug fixes
    • Fix handling empty line in keyword/pattern list(#29)
  • Bug fixes
    • Fix misalignment of mask position(#26)
    • Improve performance with many keywords/patterns
  • New features
  • Bug fixes
    • Fix logic for getting backgroud color
    • Restore title attribute
  • New features
    • Blur keywords splitted into some elements (#2)
    • Show blurred value on mouse over blurred area
    • Blur value in input tag (experimental)
      ⚠️ this cannot detect change by value property and javascript
  • Bug fixes
    • Improve performance by change blurring logic
    • Blur keywords in shadow DOM
  • New features
    • Add warning on popup for RegExp one character matches
  • Bug fixes
    • Improve performance
  • Bug fixes
    • Make RegExp/Matching Case buttons more clear
  • New features - New Popup UI

    • Add buttons for:
      • Regular Expression (#3) w/ validation
      • Match case
  • Bug fixes

    • Enabled toggle button behavior

First release on Chrome Web Store.

  • Bug fixes

    • Improve performance
  • Chores

    • Remove unnesessary features
      • server worker
      • tabs permission
      • dependency to jQuery

First release on GitHub