How To Create Your Own Chrome Extensions
coryg89.github.io
coryg89.github.io
I found that I frequently needed to monitor some value in a web page at work, so I made this extension to make a line plot out of any changing value: just right click on the value, select "graph this" and you have a little self updating graph in a popup.
It's still a little rough, but I find myself using it like once a week, so maybe it could be useful to some of you ;)
It monitors the HTML/CSS then reloads the page when something has changed. I made it when I was a full time front end developer, it still needs a lot of love but it does the job.
https://github.com/67726e/Header-Editor
https://chrome.google.com/webstore/detail/header-editor/pkok...
I construct google query URLs with the I'm Feeling Lucky field specified and restricting it to the http://developer.mozilla.org domain and it brings you right where you wanna go everytime. It uses a keyword `mdn-` in the omnibar and registers a context menu item on text selection.
https://chrome.google.com/webstore/detail/fgc-live-streams/f...
Totally unrelated to hacking :) It's for finding twitch streams for Fighting games (Street Fighter, etc).
https://github.com/Dbz/WebCache
P.S. if anyone knows how I could add more cache databases like bing cache or yahoo cache, please tell me because I couldn't figure it out.
EDIT: If anyone is willing to test the Coral CDN, I'd greatly appreciate it. For some reason Coral CDN doesn't work on my browser, so I've never tested it =`[
Needed something like this for ages, thanks a ton dbz!
Very few people in my office used Google and even fewer were aware of the cache. I wrote a quick little proxy server in Python that would serve requests from Google's cache after stripping out the 'this page is a copy of...' header. I called this proxy server Doctor Who. It was quite a hit. I kept it running until people forgot to turn off proxy settings in their browser and I started seeing plaintext passwords for Yahoo mail in my logs (at the time they were plaintext).
I had specifically asked people not to access web mail while using the proxy, though, so I did take the opportunity to yell out one guy's password in the stairwell: "Hey badboy1, how's it going?"
https://github.com/dhruvvemula/copylinkaddress
https://chrome.google.com/webstore/detail/copy-link-address/...
https://chrome.google.com/webstore/detail/subreddit-omnibox/...
It helps to navigate and explore subreddits by providing autocompletion and suggestions.
I will share it here whenever it's ready to show off.
The Safari distribution channel is a ghost town: http://extensions.apple.com/
Most Safari extension makers choose instead to just host the raw executable on their site, but that makes pushing updates a pain. See http://textbooksplease.com (visit in Safari).
Safari does, however, have a really nice extension builder which is useful if you don't know XML, I guess. And when you get down to the nuts and bolts (at least as far as I ventured), the Safari Extension API is pretty similar to Chrome's.
Firefox has been a royal pain. They have a "7-day review process" for all submitted extensions, and a tiered structure of reviews (preliminary and final) which translates to not being able to push updates for weeks at a time. Super frustrating when I can push changes to Chrome in about two minutes and know it will get pushed to everyone who already has it installed in a timely manner. I also found their API to be poorer documented than Chrome's.
I'm terrified of IE.
“GreaseMonkey” is only a Firefox add-on. But there are GreaseMonkey-compatible extensions for other browsers, such as Tampermonkey for Chrome (https://chrome.google.com/webstore/detail/tampermonkey/dhdgf...) and GreaseKit for Safari (https://www.macupdate.com/app/mac/20718/greasekit). Thus, GreaseMonkey scripts are automatically cross-browser. Chrome even supports installing GreaseMonkey scripts natively, but only through a convoluted process, for security reasons. The reason people made clones for other browsers is the huge library of existing GreaseMonkey extensions at https://userscripts.org/.
The downside of GreaseMonkey is that the user needs to have a GreaseMonkey-compatible extension installed to run your script. So your extension depends on another extension. It’s also harder to use a build system while writing a GreaseMonkey script, if you want to write it in CoffeeScript or something.
[1] http://blog.chromium.org/2010/02/40000-more-extensions.html
[1] https://chrome.google.com/webstore/detail/tampermonkey/dhdgf...
[1] https://github.com/defunkt/dotjs
[2] https://github.com/fphilipe/dotfiles/blob/master/js/wikipedi...
An example. I love checking the EXIF data of the pictures on the internet to know more about how they were shot. I use Jeffry Friedl's Exif Viewer (http://regex.info/exif.cgi). The process was: right click on the image, open in new tab, click a bookmarklet, new tab opens with the exif. Then, I decided to create a super simple Chrome extension that adds an option to the context menu of all images that opens the image in the exif viewer.
You can check the (minimal) code here https://github.com/JoseTomasTocino/send-to-exif-viewer, as well as the link to the chrome web store https://chrome.google.com/webstore/detail/send-to-jeffreys-e...
In the course of development, I found that it is non-trivial to make a popup window inside a Chrome extension which acts on a target tab, because "window.opener" is not available. So I developed a test extension at https://github.com/pdorrell/test-popup-extension which does that, and which runs its Javascript code interchangeably inside or outside the extension.
YouTube User Guard is a chrome extension which lets you stay signed in to YouTube with a single account indefinitely, even while you're signing in and out of other accounts for Gmail etc.
I made it because I want don't want my YouTube account linked to my work email.
The principle is simple, it monitors for changes in several key cookies and reverts them.