Code Monkey home page Code Monkey logo

userscripts's Introduction

userscripts

INSTALLATION

Unless otherwise noted, each link below points to the userscript's homepage on GreasyFork.

Where possible, always install (or reinstall) these userscripts from GreasyFork, as this repo may contain development versions of these scripts that aren't ready for release and which may not even compile. In addition, the file/directory names here are subject to change, whereas the URLs on GreasyFork will always remain stable.

Compatibility

All of these scripts work in and are tested on Violentmonkey, which is open source, cross browser, actively maintained, and highly recommended. If for some reason you can't use it — or don't want to — the following options are available:

1 The Greasemonkey 4 API is not currently supported. Some scripts work, but most haven't been tested.

SCRIPTS

Sites

Amazon

GitHub

Google

Hacker News

IMDb

Last.fm

Reddit

Rotten Tomatoes

  • More Tomatoes - automatically show the full "Movie Info" plot synopsis on Rotten Tomatoes

Twitter

Highlighters

Highlight new stories since the last time a site was visited

Pagerizers

These scripts mark up pages with missing/sane rel="prev" and rel="next" links which can be consumed by a pager, e.g. [[ and ]] in Tridactyl, Vim Vixen etc.

The following are all direct links, i.e. clicking them installs the script.

Misc

DEVELOPMENT

Prerequisites

  • awk
  • esbuild
  • make

NPM Scripts

  • build - compile updated userscripts and save them to the dist directory
  • build:doc - generate the README's TOC (table of contents)
  • clean - remove the dist directory and other build artifacts
  • rebuild - clean the build artifacts and recompile the code

SEE ALSO

Addons

  • Google Direct - a Firefox addon which removes tracking links from Google Search results

Libraries

  • gm-compat - portable monkey-patching for userscripts
  • gm-storage - an ES6 Map wrapper for the synchronous userscript storage API
  • UnCommonJS - a minimum viable shim for module.exports

jQuery Plugins

Sites

AUTHOR

chocolateboy

COPYRIGHT AND LICENSE

Copyright © 2011-2024 by chocolateboy.

These userscripts are free software; you can redistribute and/or modify them under the terms of the GPL.

userscripts's People

Contributors

chocolateboy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

userscripts's Issues

Wiki quotes

Hi there, just wanted to let you know I wrote a script that fixes the quotes without touching <ref name="blabla" >. So it should work in most cases without further manual fixups.

Reddit Color+transparency Adjustment and whole post highlight

The bright yellow highlighter is a bit overwhelming. I was hoping we could be able to adjust color+transparency for the entire post line item, like this extension does & the 2nd one below does for New Comments:
https://chrome.google.com/webstore/detail/reddit-whats-new/acmnikdadpjghhiphlkneneeflhmiidh?hl=en-US&authuser=1

https://chrome.google.com/webstore/detail/reddit-new-comments-highl/ajdilinnnkbmpoegibgacadjlblmpjad?hl=en-US&authuser=1

DWImages link on image not working anymore

It seems that Google is rewriting the href attribute after you set it.

I changed the script to replace the href change with:

        $links.eq(0).clone(true).attr('jsname', null).attr('href', meta.ou).insertAfter($links.eq(0));
        $links.eq(0).attr('style', 'display: none');
        $links.eq(1).attr('href', meta.ru) // page

        $links.eq(0).find('img').onModify('src', function (element) {
            element.parent().next().find('img').eq(0).attr('src', element.attr('src'));
        });

And it works :)

Edit: forgot the part for the dynamic loading of images when scrolling.

Google DWIMages - qutebrowser support

Currently only the .tld extension is included, which works on Firefox Violentmonkey, but it doesn't load on qutebrowser (greasemonkey).
// @include https://encrypted.google.tld/*tbm=isch*

It works correctly when changing .tld to .* or when adding another include with .com.

Twitter Direct: `Uncaught SyntaxError: Identifier 'set' has already been declared` error with Tampermonkey

Greetings

First of all thanks a lot for your work, it's great.

This issue is regarding your 'Twitter Direct' script:
it's working fine with (with Chrome 84/Firefox 79) and Violentmonkey 2.12.7
but unfortunately it does't work with Tampermonkey (TM 4.10/TM beta 4.11.6118).

The Console error with Tampermonkey is: Uncaught SyntaxError: Identifier 'set' has already been declared
for line 19 : const { set } = module.exports
(there's no such error with Violentmonkey)

Test URL: https://twitter.com/npmstatus/status/1291290208344760327

Thank you

twitter-time-tooltip.user.js

Hello

Script twitter-time-tooltip.user.js don't work
Screenshot

Script twitter-reply-count.user.js
with the new interface, useless; because Twitter write how much reply now !

Firefox 77.0.1
Windows 7
GS 4.9
new interface twitter june 2020

Twitter Reply Count - no longer works

Greetings

I've noticed that the 'Twitter Reply Count' script no longer works, i.e. there's no reply count
e.g. for the test URL of the description screenshot: https://twitter.com/TwitterSupport/status/1150813610370748416
(open the URL in new tab and click the timestamp link if you have login)

Tweet screenshot

2021-01-10_003226

There's no error in Console.
Tested in fresh profiles of Chrome 87/Firefox 84 with latest TM beta/VM beta, having login to Twitter or not.

Thank you


PS. I can't help but mention that there's a "report" of this issue in the Greasyfork page :
lazy, one-sentence (plus Hi and Please!!), and with a Bad rating on top, instead of No rating - just a question/comment.
The same friggin annoying thing with most of "issue reports" in GF... Combined with hit-and-run clueless "Bad" reviews all over...
(I've posted my suggestions about that in Greasyfork Github repo..)

'Linkify Twitter Trends': the linkified trend text is blue (instead of black/white)

Thanks for another very useful script, 'Linkify Twitter Trends'!

I've noticed with the script, that the linkified trend text is blue (instead of black/white).
Could you please make it remain the same, i.e. black in Light(Default) and black in Dim/Lights out?
The underline will still serve as a hint that it's a link.

Screenshot comparison:

without the script

Light Dim

with the script

Light Dim


PS. I'd like to ask you please to rename it to "Twitter Linkify Trends", i.e. have the "Twitter" word first, like your other two scripts twitter, so that it's properly listed (alphabetically) in TM/VM popup.

GitHub First Commit doesn't work in Violentmonkey on Firefox

GitHub First Commit (currently 2.4.0) doesn't work in Violentmonkey (currently 2.9.5) on Firefox/Waterfox due to a CSP issue that will need to be fixed in Firefox:

Content Security Policy: The page’s settings blocked the loading of a resource at self (“script-src https://assets-cdn.github.com”).

Violentmonkey Issues

Firefox issues

GoogleDWIMages breaks

Heyo! So, sorry to bother, but I was doing some image searching yesterday with this script installed. Something appears to have changed on google's end as I'm getting this wonderful error in console:

Can't find image URL for result (20): TypeError: METADATA[index][1] is null
    nthImageUrl moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:119
    onResult moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:192
    J moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:9
    each moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:9
    init moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:172
    tms_ff3a70de_bd41_4e61_9185_9042d0b6be57 moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:209
    s eval:4
    <anonymous> moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:1
    <anonymous> moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:1
    <anonymous> moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:214
    <anonymous> moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:216
    s eval:4
    t eval:3
    E_u eval:4
    create eval line 2 > Function:74
    create eval line 2 > Function:76
    c eval line 2 > Function:15
    s eval:4
    i eval line 2 > Function:13
    s eval line 2 > Function:13
    v eval:13
    v eval:13
    s eval:4
    t eval:12
    s eval:4
    h eval:12
    h eval:12
    send eval:13
    s eval line 2 > Function:13
    setTimeout eval line 2 > Function:14
    run eval line 2 > Function:16
    runListeners eval line 2 > Function:15
    anonymous eval line 2 > Function:77
    v eval:13
Google DWIMages.user.js:194:17
    onResult moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:194
    J moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:9
    each moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:9
    init moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:172
    tms_ff3a70de_bd41_4e61_9185_9042d0b6be57 moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:209
    s eval:4
    <anonymous> moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:1
    <anonymous> moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:1
    <anonymous> moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:214
    <anonymous> moz-extension://c65a532d-920f-4167-a118-2a2391811c90/userscripts/Google DWIMages.user.js?id=ff3a70de-bd41-4e61-9185-9042d0b6be57:216
    s eval:4
    t eval:3
    E_u eval:4
    create eval line 2 > Function:74
    create eval line 2 > Function:76
    c eval line 2 > Function:15
    s eval:4
    i eval line 2 > Function:13
    s eval line 2 > Function:13
    v eval:13
    v eval:13
    (Async: Async)
    s eval:4
    t eval:12
    s eval:4
    h eval:12
    h eval:12
    send eval:13
    s eval line 2 > Function:13
    setTimeout eval line 2 > Function:14
    run eval line 2 > Function:16
    runListeners eval line 2 > Function:15
    anonymous eval line 2 > Function:77
    v eval:13

Hopefully this isn't a matter of google slowly pushing out the update and it's applied to everyone, but essentially due to this error, what happens is that the images it couldn't process are not added to the list. So, the corresponding direct links to images steps back. Meaning after the first failure, the link to the image is for the previous image behind it. This worsens with every error it encounters. You can see it yourself by searching "Lawn Mower" and clicking the one with the granny pushing the mower. That one will be an image that failed to link and everything after links to the wrong image.

IMDb Tomatoes Issue on Firefox w/ Violentmonkey

On Firefox running the newest version of Violentmonkey, enabling this script causes other scripts to fail to load. Previously, this script didn't cause any issues and was working fine.

Issue Demo: https://m1.afileditch.ch/AuIxhfLPRkFHeuMJRD.gif

Something recent, either an update to Firefox, Violentmonkey or the script itself appears to have broken the ability for this script to operate alongside other scripts.

I'm not facing this issue on Edge browser for some reason.

Steps to Reproduce:

  1. Install Firefox Stable or Developer Edition: https://www.mozilla.org/en-US/firefox/all/#product-desktop-developer
  2. Install Violentmonkey extension from Addons Store: https://addons.mozilla.org/en-US/firefox/addon/violentmonkey/
  3. Install Link 'Em All: https://greasyfork.org/en/scripts/17154-imdb-link-em-all
  4. Go to IMDb page for any movie and configure Link Em All script
  5. Install IMDb Tomatoes script
  6. Restart Firefox
  7. Refresh IMDb page

Twitter Direct and Tweetdeck support

I've been using Twitter Direct and Tweetdeck Direct(from an old issue) but Tweetdeck one stopped working and redirects to t.co link even when the userscript is active. I understand Tweetdeck Direct is not actively maintained but I wonder you have plan to fix the issue.

Google DWIMages is broken

Clicking the image in a search no longer directly links to the image. It opens in the side viewer.

Firefox: bypassing CSP

Hey there, I have this longstanding goal to make a script (or webextension if necessary) to implement a "plaintext dark mode." I use dark reader and some various site-specific scripts to deal with really bright web layouts but with Firefox I run into this issue on plaintext pages for domains like raw.githubusercontent.com. userContent is blocked, dark reader is blocked, violentmonkey is blocked. It shouldn't be so hard to do this, because we can check for plaintext.css in document.styleSheets. So initially I figured listening to onHeadersReceived would let me intercept and change the directive on time for the content script to load, execute, check for plaintext.css, and register a new stylesheet. But in practice it's slow, so there's a flash of white while the page is loading, before the new stylesheet is set up.

Since I have recently been working with some internal firefox modules I figured it might be easier to just find a way to get at it from the privileged context. Like, instead of using webextensions APIs and content scripts, just run a script in the main UI context and see if I can traverse into the browsers and read their stylesheets. I already know I can read their URLs and use simple event listeners for page loads. But URL alone isn't really good enough so I'm still trying to figure out how to read page stylesheets "from above." Haven't found any documentation that proved to be useful, I guess because it's basically hacking the browser and potentially damaging security.

But anyway before I waste a lot of time on this wild goose chase I wonder if you already figured out a solution. I saw the issues you posted on the violentmonkey repo so I figured you'd already have a sense of whether this can be achieved with a webextension. I'd prefer to do this without a privileged script, but @inject-into doesn't seem to help whatsoever since it won't even match the userscript to a plaintext file in the first place.

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.