GithubHelp home page GithubHelp logo

tommytwoeyes / python-dotjs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hackedd/python-dotjs

0.0 2.0 0.0 136 KB

A Python implementation of the HTTP server for the dotjs browser plugin.

License: MIT License

Python 100.00%

python-dotjs's Introduction

dotjs

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

python-dotjs's People

Contributors

hackedd avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.