Skip to main content

A Python implementation of the dotjs HTTP server

Project description

dotjs is a Google Chrome extension that executes JavaScript files in ~/.js based on their filename.

If you navigate to http://www.google.com/, dotjs will execute ~/.js/google.com.js.

This makes it super easy to spruce up your favorite pages using JavaScript.

On subdomains such as http://gist.github.com dotjs will try to load ~/.js/gist.github.com.js as well as ~/.js/github.com.js and ~/.js/com.js.

Bonus: files in ~/.js have jQuery 1.9 loaded, regardless of whether the site you’re hacking uses jQuery.

Double bonus: ~/.js/default.js is loaded on every request, meaning you can stick plugins or helper functions in it.

GreaseMonkey user scripts are great, but you need to publish them somewhere and re-publish after making modifications. With dotjs, just add or edit files in ~/.js.

Example

$ cat ~/.js/github.com.js
// swap github logo with trollface
$('a[class^=header-logo-]').html(
$('<img>')
    .attr('src', '//bit.ly/ghD24e')
    .css({'width': 'auto', 'height': '22px'})
);

How It Works

Chrome extensions can’t access the local filesystem, so dotjs runs a tiny web server on port 3131 that serves files out of ~/.js.

The dotjs Chrome extension then makes ajax requests to http://localhost:3131/convore.com.js any time you hit a page on convore.com, for example, and executes the returned JavaScript.

Requires

  • Python >= 2.6

  • Google Chrome

Install it

git clone http://github.com/hackedd/python-dotjs
cd python-dotjs
python setup.py install

OS X:

  • Open https://localhost:3131 in Google Chrome

  • Click the “X” Padlock icon in the address bar

  • Click “Certificate Information”

  • Drag the large cert icon to your desktop

  • Open it with Keychain

  • Configure its Trust section as shown: http://cl.ly/Pdny

Windows:

  • Export the certificate as a “.cer” file:

    dotjs --print-cert > %TEMP%\dotjs.cer
  • Right-click the exported “.cer” file, click “Install Certificate”

  • Complete the Wizard to import the certificate to the Windows Certificate store. Make sure to select Trusted Root Certification Authorities as the destination store when asked.

Ubuntu:

  • Use certutil to import the certificate to your NSS database:

    dotjs --print-cert | certutil -d sql:$HOME/.pki/nssdb -A \
        -t "P,," -n localhost-dotjs

You might need to restart Chrome before it sees the certificate as trusted. You can verify if the certificate is correctly installed by opening https://localhost:3131 in Chrome.

Finally install the Google Chrome extension: http://bit.ly/dotjs

Credits

Other Browsers

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dotjs-1.0.6.tar.gz (10.4 kB view details)

Uploaded Source

File details

Details for the file dotjs-1.0.6.tar.gz.

File metadata

  • Download URL: dotjs-1.0.6.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.8

File hashes

Hashes for dotjs-1.0.6.tar.gz
Algorithm Hash digest
SHA256 819af15d02b1cec55ff9ea90c708211342004e1630ff00ccc72370079d28164c
MD5 16b6fb2ed870743a04c0f0cc28b41eaa
BLAKE2b-256 ed4c4107645ce711e4b0c04b0800594b2a5d8cc04277480fc82b133a6bb196b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page