Please give version 2.0.0 a try.
Okay, that's interesting. I don't have Tor installed, but I will try to test.
Are changes required to the @include list?
I'm not familiar with that site. When I look at the description on this page, it definitely sounds like the watch list is oriented toward shows they recognize as a series: http://www.tvmaze.com/features
Are there other pages that have the missing information about "specials" you've watched? It's sometimes possible to pull another page in the background and insert some of its contents into the page you're currently viewing. Could be a lot of work...
Why would the site only allow downloads in Chrome? Did you contact them about this problem?
Could I suggest truncating the IP addresses sent to Google Analytics? The benefit of this is that you won't need to worry about responding to requests to coax Google to delete data associated with a specific IP address. While you may lose some precision in your geographic statistics, that level of detail may not be particularly relevant/useful anyway.
You just need to add:
ga('set', 'anonymizeIp', true);
Firefox does not allow WebExtensions to have random access to the hard drive. Storage interfaces are tightly constrained for security reasons.
You probably need a different approach for that.
Firefox extensions (such as Greasemonkey, Tampermonkey, Violentmonkey) cannot write to the desktop without displaying a download dialog, so it's not possible to write a userscript to do that, either.
The exception is those extensions which manipulate an external program (so called "native application"). Maybe there is one along the lines you're interested in. If not, perhaps an external program like AutoHotKey can do it.
So there are quite a few things to learn, and unfortunately, this script is a terrible example! The code was built up a little at a time over many years so it's hard to follow. I should take a programming class some time.
Hello, thank you for your comment. I think it's possible to change the way the first list works. Instead of:
Since I search for very different things all the time, that wouldn't really work for me, but if you are always searching for the same thing and really only want to see sites you trust on that topic, maybe then it would work.
I think it would be best if someone makes a copy of the script and rewrites it to work that way. It would be very complicated to have the same script work both ways. At least it seems complicated to me (I'm not a programmer).
Conversion is a hidden feature of userstyles.org. Let's say you have this URL:
The URL to generate a userscript is:
As a bookmarklet:
You can convert a few to see the pattern the site uses. It hink you need to manually generate @include/@match for styles that use a regex with @-moz-document.
Hmm, first post isn't editable...
For step (1) I also created an extractor here: https://www.jeffersonscher.com/gm/gmextract.html
This seems to be mostly working.
There are three unusual features of Baidu:
(1) The domain is not coded into the title link. Instead, the script needs to read the green text below the excerpt. Sometimes this text is incomplete and ends with "...". Since there is no convenient way for the script to learn the full domain, the script records the ... and will use that in matching the green text. Sometimes, you end up needing to block two different domains:
(2) Baidu removes the MutationObserver object, which is how scripts normally detect changes to the page, such as new results when you click page 2+. So the script needs to use an older technology that can slow down the site called a DOM mutation listener. There might be a better way to work around this, but this seems to work for now.
(3) When loading new results, Baidu removes the style rules and forms added by the script, so those need to be reinjected. This is why you currently cannot move the Manage Hiding button to the top or bottom on pages 2+ of your results. I will try to fix that later.
Please post feedback on how it works for you.
To monitor for changes in a page after loading, you can create a MutationObserver.
If you need an example: https://greasyfork.org/en/scripts/17459-google-images-un-target-to-open-in-same-tab/code
Sorry, I just realized you were talking about a different script, so never mind on the link in my previous reply.
I haven't tested the script in any mobile browser. Is there a way to extract script error information, an error console of some kind?
You could try rolling the version back to 1.8.3 (before using asynchronous functions). This site doesn't keep old versions but you could try this link:
If you are using Google image search, I have that features in a different script:
Thanks. I don't know how I missed that. I found it easier to stop using GM_addStyle() across the board than to figure out function hoisting. New version posted.
Hi Marti, I think having it right there on the script edit page is a good idea, more convenient.
Your block list is stored in a SQLite database. Here's how you can extract it.
(1) Open an online SQLite database viewer such as: https://inloop.github.io/sqlite-viewer/
Keep this tab open because we are going to drag and drop a file onto it
(2) Open your currently active Firefox profile folder. This article has the steps: https://support.mozilla.org/kb/profiles-where-firefox-stores-user-data
Size this window so you can see the SQLite site behind it
(3) Double-click into the gm_scripts folder, then scroll down to the Google_Hit_Hider_by_Domain_(Search_Filter_Block_Sites).db file (sometimes the .db extension is not visible, but it will have a different icon from the folder of a similar name)
(4) Drag the database file onto the SQLite viewer page and it should immediately extract five data fields. The one you want is hideyhosts -- you can paste it into the Import panel of GHHbD running in Tampermonkey or Violentmonkey.
Oops, never mind. The left side has the info from the script; the Author Tools defaults to MIT regardless.
Hmm, script's page shows MIT despite:
// @license BSD-3-Clause
Hi Marti, the reason for the restriction was people stealing script metadata blocks on userscripts.org and replacing the script contents with FB account hijackers. Without a license violation, it wasn't obvious how to get those taken down. That kind of behavior hopefully is not occurring on this site.
Hi Marti, I saw the general announcement, thanks.
Hi Alain, I've got some of it built (web results, news results), but I keep discovering more little glitches as I go. Therefore, I don't think I'll finish it for a while. If you want to try the test version as it stands, I've posted it here: https://www.jeffersonscher.com/gm/beta/GHHbD_v1821_beta.user.js
It looks like someone has posted an issue on the script with similar symptoms: https://openuserjs.org/scripts/K-mikZ/%7BRocketPages%7D/issues/Rocketpages_no_Work
If there are no responses from issues posted on the script, you could try sending the author a message.