Stash Checker

:placard: Summary Add checkmarks on porn websites to scenes/performers that are present in your own Stash instance.
:link: Repository https://github.com/timo95/stash-checker

Stash Checker

Stash Checker is an userscript for porn websites to check if a Scene/Performer is in your Stash instance.
It shows a checkmark if an item was found in your Stash.
Hovering over the checkmark gives you a tooltip with information about the item in your Stash.


Features

  • A tooltip for matched entries including basic metadata and a link to the entry
  • Supported websites: StashDB, TPDB, IAFD, JabLibrary and many more (see @match section in the userscript; go here to request more)
  • Many different types of entries: Scene, Performer, Movie, Gallery, Studio and Tag (not yet supported by Stash)
  • Match entries by: StashId, URL, Studio Code, Name and Title
  • Multiple Stash endpoints
  • Dark mode (check your browser preferences)

Installation

You need a browser plugin like Tampermonkey or Violentmonkey to run userscripts.

The newest release of Stash Checker can be found in the release section to the right.
Opening index.prod.user.js under Assets should prompt Tampermonkey to install the script.

Settings

Settings can be opened using the Tampermonkey dropdown menu.

Here you can edit the Stash URL and API key or add another Stash endpoint.

Troubleshooting

Stash endpoint shows no connection

  • Check for the correct URL. It should include the scheme (http/https) at the beginning and end with /graphql.
  • Check the API key. Leave the field empty, if none is required.
  • Tampermonkey may block the connection. Make sure, that the domain is whitelisted in the Tampermonkey settings.
  • Firefox’s “HTTPS only mode” can block a connection, if the URL uses http but does not include localhost. The whitelist doesn’t help, you have to deactivate the feature.
  • Some websites can block connections due to a strict Content-Security-Policy-Header (CSP). Change Tampermonkey settings to remove this header.

Stash endpoint shows wrong URL

  • Check for the correct URL. It should include the scheme (http/https) at the beginning and end with /graphql.
  • Some users had problems with Tampermonkey which got fixed by switching to Violentmonkey.
3 Likes

This user-script is essential, and so good. You’ve really knocked it out of the park with this @timo95.

I have only one wish for it:

  • With the pop-over, when you hover a check mark, an additional direct link to a tagger instance filtered for that scene’s stashid. Motivation: synergy between stash-box’s edit notifications and importing these changes into your local stash.

This should be quite simple, and I was going to implement it myself but the source for this is 1900 lines long and not very easy to decipher (I also have no specific user-script experience). Hopefully this is not a big ask.

Extra brownie points would instead be an additional link/check-mark/“import” button/etc only on stash-box /notifications pages that directly linked to a tagger instance instead of needing to hover the scene tick mark, wait for the pop-over, and then click into your link. Additional fudge-sauce: only have this “import button” appear on edits that have been accepted.


PS: Ideally of course stash would let you use tagger’s functionality from the edit panel of a scene’s page and this user-script alteration wouldn’t need to be changed (simply linking to the scene would be sufficient). Currently stash only has the “scrape with” option on a scene’s edit page. But “scrape with” can and will return a data from different stashid to what you’ve matched for the scene via tagger—making importing edits from a stash-box dubious when using it.

Question, if using graphql and an api key, why must I be logged in to stash for this script to work? Is it possible to make that a toggle? So that the information is always available even when logged out

What do you mean having to be logged into stash? There is no requirement like that.

Stash Checker 1.1.0 was just released :partying_face:

Most plugins should be able to update the script automatically or with one click. No need to re-install it.

It adds support for a bunch of new websites, some new settings and a WIP feature for custom checkmark colors based on GraphQL filters. It works, but there is still some polish to do.

For more info see: Release Release 1.1.0 · timo95/stash-checker · GitHub

1 Like

Hmm I dunno if I was maybe just on an old version or something but I reinstalled, deleted and readded my stash endpoint and now it works while being logged out. Weird interaction, idk


edit; actually, seems to not be fully functional when using an https endpoint vs an http endpoint.

Example screenshots

HTTP:


HTTPS:

but it WILL still show if I go into a studio or performer:


edit 2: I was able to fix it locally on my end by updating the sendQuery and queryStash functions to use POST instead of GET. I’ll try to make a PR tomorrow if I can find some time.

TLDR: in my testing, GET sometimes gets choked up when making large requests over HTTPS (doesn’t have this issue over HTTP) or sometimes is outright blocked all together so swapped to POST for better HTTPS compat.

Some people have had problems with reverse proxies truncating the URL of the GET request, resulting in graphQL parsing errors. I assume that is your problem with https requests. I opened an issue to address these problems, but haven’t yet found time to work on it. Feel free to submit a PR. Query configuration options · Issue #65 · timo95/stash-checker · GitHub

Stash Checker 1.2.0 was just released :partying_face:

Again some new websites, but not as many as last release.

Anyone having problems with truncated queries can now change the request from GET to POST or change the batchSize in the settings.

Movies have been renamed to groups and use the corresponding graphQL functions now.

And now that tags can have stashIds, matching tags is finally supported on StashBox.

1 Like