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, dotjs will execute ~/.js/

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

On subdomains such as dotjs will try to load ~/.js/ as well as ~/.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.


$ cat ~/.js/
// swap github logo with trollface
    .attr('src', '//')
    .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/ any time you hit a page on, for example, and executes the returned JavaScript.


  • Python >= 2.6
  • Google Chrome

Install it

git clone
cd python-dotjs
python install


  • 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:


  • 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.


  • 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:


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 hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page