Skip to content

miohtama/obfuscate.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

local

Introduction

Obfuscate.js is a Javascript console tool which obfuscates the text on the web page hiding sensitive information. The purpose of this tool is to be able to easily make shareable screenshots for collaborative debugging, examples, demos and so on. You no longer need to manually blur parts of the screen shot in Photoshop, GIMP, etc. image manipulation program, saving your precious time and making sharing screenshots easier.

  • You invoke Obfuscate.js script from the Javascript console of your web browser
  • Obfuscate.js obfuscates the whole web page or parts of it, replacing all text on the page with gibberish or now optionally altering it via one or more CSS styles e.g. blur, setting background colour the same as font colour etc. (note that obfuscate.js will apply browser vendor prefixes where necessary)
  • Take a screenshot
  • Post the screenshot to a public forum, blog or other media where you could not share the information and show the symptoms otherwise

Usage

Obfuscate.js can walk through the whole page (<body>) or arbitrary bit chosen by CSS selectors.

Open the page with sensitive information in your web browser.

Open Javascript console. Copy-paste line of text from obfuscate.min.js to your Javascript console.

In this point you have the original page still with sensitive information

After this you can obfuscate a part of a page by writing the command in the console:

obfuscate("#waffle-grid-container"); // Obfuscate contents of Google Spreadsheet

To obfuscate the content of Google Apps document:

obfuscate(".kix-paginateddocumentplugin")

Or simply obfuscate all text the whole web page:

obfuscate(); // Obfuscate all the text on the page
Amend via styling (blur and setting font colour red)::

obfuscate("a", [["filter","blur(1em)"],["color","red"]]);

Other

  • There is some heuristics to keep the text similar looking to the original text i.e. retaining all whitespaces and punctuation in place
  • It's vanilla Javascript
  • Tested with Firefox, Chrome

Future enhancements

  • Make a logic which keeps text length intact (replaces words with the words of same width)
  • Create a bookmarklet out of it. Currently one cannot execute bookmarklet code (bookmark.js) because some sort of access error with Javascript window object

Authors

Mikko Ohtamaa (Twitter, Facebook)

Neil Craig (Twitter) (amendments to allow CSS styles)

Tal Ater (hiding number lengths)

Credits

Lea Verou: getVendorPrefix() (a few very minor modifications made)

PHPJS: ucfirst() (used with no modifications)

About

Obfuscate sensitive text on web pages for demostration screenshots

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •