Skip to content

More compatible .user.js URL support #822

Description

@ACTCD

To be honest, I personally don't like the idea of putting filenames into query/search/parameters or even anchor/fragment/hash, it's a source of a lot of confusion. (just like all these different names)

But whether I like it or not, a lot of confusion already exists and is being relied upon.

Sometimes we have to make some trade-offs between compatibility/convenience and recommended practices.

I think there are some bottom lines we have to stick to when it comes to serious security and clarity stuffs.

For example we would never add syntax support to @match other than Match patterns. This is a serious security setback and a source of all sorts of confusion.

However, I don't seem to see clear serious issues with URL format support (in any case, the installation of remote scripts is at the user's own choice and risk), and better compatibility could really come in handy for a few users.

Furthermore, Greasemonkey does have a crazy but clear definition of this:

The Whole Internet
Any server across the entire web may host user scripts. For Greasemonkey, the only requirement is that the (entire) URL ends with .user.js and that it is not served with a text/html content type. This even works in the fragment, so you can append #.user.js to any URL serving a script to trigger installation. Servers supporting HTTPS are best, in order to be compatible with Greasemonkey's built in update checker.

So it looks like we should fix this compatibility issue instead of being opinionated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions