Ede_123 Author

I updated my scripts now (removed @updateURL and @installURL completely) but in the end Grease Monkey continues to update from e.g.


I really don't know what all the fuss was about... On my system the difference is basically zero given Grease Monkey's update handling.

Grasy Scripts is now fully reviewed on AMO (in case you hesitated with the install before).

I just released Greasy Scripts version 1.0.2! (download, changelog)

@jerone: Thanks for the link. I've subscribed and if the necessary API is added I'll happily add suport for OpenUserJS!

Hi TimidScript,

thanks for bringing it up here. :)

I planned to do it myself after a short testing period with a limited audience from Greasy Fork, but it doesn't really matter so here we go!

@OUJS developers: As TimidScript mentions I plan to support OUJS, too, eventually. For complete support this would require an API to query available scripts for a given domain, though. If it was compatible to Greasy Forks API this would make implementation pretty easy. If you have any questions feel free to contact me directly.

A little bit of additional information regarding the add-on for those interested:

I'm happy to announce that I just finished the initial release of my new Firefox add-on Greasy Scripts and it's awaiting review as we speak.

It integrates seamlessly with Greasemonkey or Scriptish and provides

  • A button to quickly do a by-site search here on Greasy Scripts with the domain of the currently opened page being automatically inserted.
  • The possibility to automatically request the number of scripts that are available for a given domain on Greasy Fork in background and notify you visually (via a highlighted button) if scripts are available.

See the AMO project page for details.

The source code is hosted on GitHub if you want to have a look / report and issue / provide a translation or even want to contribute code

Here's a screenshot of Greasy Scripts in action with Greasemonkey integration:

I'd be happy if you'd test it and give me feedback on whatever comes to your mind!

Best regards,


Re: @Marti:

Yes, it's clear to me now, why it's much better to leave out the @updateURL or point it to the correct /meta/ subpage.

However you had me constantly confused with mentioning the 404 on the /install/ subpages. Since with the correct request header (Accept: text/x-userscript-meta) those work nicely (equally for .meta.js and .user.js), and that's what Greasemonkey was doing for me all along. I understand however, that not all engines actually support this header.

Is there somewhere an overview which engines (also outdated ones) supported which update mechanisms with what kinds of fallback chains?
E.g. if I create a "meta.js" on GitHub (where no specific request headers are supported) in the same location as the user.js, will this work for all engines equally well? Or will I run into any problems if I completely leave out @updateURL and @installURL?
I don't need to have my script installs/updates consolidated, I just want to make sure that it works equally well everywhere with correct update checks.

After a long struggle I think I finally understand what you wanted to tell me in the first place:
// @updateURL https://openuserjs.org/install/Ede_123/OpenSubtitles_Direct_Downloads.meta.js
is unnecessary, since it's automatically used if the download URL was

Even if I want my scripts to force to update from OUJS (despite being installed from e.g. GitHub) it's sufficient to specify
// @downloadURL https://openuserjs.org/install/Ede_123/OpenSubtitles_Direct_Downloads.user.js
Since this will set the update URL accordingly.

I'd only need @updateURL if I wanted the update URL to be completely different from the install URL (e.g. if I wanted script updates to be always pulled from GitHub while having update checking handled via OUJS).

Did I get it right now? ;-)

Re: @Marti:

I still don't get why this should break anything? I just reinstalled the script from GitHub (https://github.com/Ede123/userscripts/raw/master/OpenSubtitles_Direct_Downloads.user.js) and it updates just fine!
It's pulling the meta.js from https://openuserjs.org/install/Ede_123/OpenSubtitles_Direct_Downloads.meta.js with an header "accept" value of "text/x-userscript-meta" and receives the meta data just fine.

So what is wrong with explicitly specifying the meta URL in the script? There is no 404 error at my end...

P.S.: I'm sure you already know, but Greasy Fork strips @updateURL and @downloadURL for uploaded scripts, so scripts are always pulled from Greasy Fork. Might be worth a though for OUJS, too.

Hi Marti, thanks for the notification, but what do you mean with "your implementation is incorrect"? Is there anything actually wrong?

I know that @updateURL could be omitted, but I thought I'd include it since I'm also hosting my scripts on GitHub where no meta.js is available. If a user therfore installs it from GitHub I had hoped updates would automatically be pulled from OUJS?

I wish everybody a happy new year, especially the creators of OpenUserJS!

It's a great project and I hope to see it evolve even more in 2015!