Stasharr now has multiple editions.
- Stasharr Portal is the primary new development focus: a self-hosted app for StashDB/FansDB, Whisparr, and Stash.
- This
mainbranch remains the release channel for the Stasharr userscript.- The
extensionbranch remains the release channel for the Chrome/Firefox extension.The userscript and extension are still maintained for users who prefer browser-based integration and do not want to self-host.
The userscript edition of Stasharr enhances StashDB in your browser and integrates with Whisparr v3+ and Stash.
For the self-hosted edition that receives most new feature development, see Stasharr Portal.
Turn StashDB from a simple database into a comprehensive content management system with one-click downloads, bulk operations, and real-time monitoringβall without leaving your browser.
- One-click Downloads β Add scenes from StashDB directly to Whisparr with a single click
- Bulk Operations β Process entire pages of content with one button press
- Smart Status Detection β Visual indicators show which scenes you already have, are downloading, or are excluded
- Copy Scene IDs β Floating copy button and inline controls for easy scene identification
- Cross-Platform Navigation β Jump between StashDB, Whisparr, and Stash with direct links
- Visual Link Indicators β Smart badges show when links open in new tabs vs. current tab
- Reverse Proxy Support β Full compatibility with
.lan,.local, and custom domain setups - Flexible URL Handling β Smart validation and path preservation for complex hosting configurations
- Monitor/Unmonitor β Toggle monitoring for studios and performers directly from StashDB
- Real-time Updates β Instant visual feedback when changes are made
- Centralized Control β Manage your entire content pipeline from one interface
- Link Behavior Control β Choose whether external links open in new tabs or current tab
- Smart URL Processing β Automatic protocol detection (HTTP/HTTPS) based on your setup
- Comprehensive Settings β Quality profiles, root folders, tags, and exclusion lists
- Real-time Validation β Settings are validated as you type with helpful suggestions
- Progress Modal for Bulk β Bulk actions use a dedicated modal for progress and summaries
- Toast Notifications β Reserved for quick feedback; bulk workflows rely on the modal
- Responsive Design β Works seamlessly across all screen sizes
- Accessibility β Full keyboard navigation and screen reader support
- Modern UI β Clean, intuitive interface that integrates perfectly with StashDB
- Built with SolidJS β Fast, reactive, and lightweight (446KB total)
- TypeScript β Fully typed for reliability and maintainability
- Cross-Browser Support β Compatible with Tampermonkey and Violentmonkey
- Automatic Updates β New features and fixes delivered automatically
- Debug Mode β Comprehensive logging for troubleshooting
- Whisparr v3+ β Ensure you're running the latest version
- Browser Extension β Tampermonkey (recommended) or Violentmonkey
-
Install browser extension:
- Tampermonkey (recommended)
- Violentmonkey (alternative)
-
Install Stasharr:
Navigate to the Releases, find the latest version of the userscript published (it won't have 'extension' in the title), click the 'Assets' dropdown, and select
stasharr.user.jsYour userscript manager will prompt for installation. Click Install to proceed.
-
Automatic updates: Installing via the link above ensures you'll receive updates automatically when new versions are released.
- Navigate to StashDB
- Click "Stasharr" in the top navigation bar
- Configure your settings:
- Link Behavior β Choose whether external links open in new tabs (recommended) or current tab
- Visual indicators show which links will open in new tabs
- Domain β Your Whisparr instance URL
- Examples:
localhost:6969,whisparr.lan,whisparr.yourdomain.com:8989 - Supports HTTP/HTTPS, custom ports, and reverse proxy setups
- Examples:
- API Key β Found in Whisparr β Settings β General
- Quality Profile β Auto-populated after successful connection
- Root Folder β Auto-populated after successful connection
- Tags β Optional tags to apply to downloaded content
- Domain β Your Stash instance URL (same format as Whisparr)
- API Key β Found in Stash β Settings β Configuration β Authentication
Stasharr automatically detects reverse proxy setups and applies smart defaults:
- Domains ending in
.lan,.local,.home, etc. β Defaults to HTTPS - Custom ports β Optional for reverse proxy domains
- Path preservation β Maintains custom paths like
/stashor/whisparr
- HTTPS β Automatically selected for reverse proxy domains and public URLs
- HTTP β Used for localhost and private IP addresses
- Override β Use the protocol toggle to force HTTP if needed (e.g., for self-signed certificates)
When you first configure Whisparr/Stash domains, your browser will request permission to access those sites. Always click "Always allow domain" to ensure proper functionality.
Navigate to any scene on StashDB to see Stasharr's enhanced interface:
- π’ Green (Downloaded) β Scene exists in Whisparr with file
- π‘ Yellow (Monitored) β Scene exists in Whisparr, actively searching
- π΄ Red (Excluded) β Scene is on your exclusion list
- π£ Purple (Add) β Scene not in Whisparr, click to add
- Add Scene β One-click addition to Whisparr
- View in Whisparr β Direct link to scene in your Whisparr instance
- View in Stash β Direct link to scene in your Stash instance (if configured)
- Copy Scene ID β Copy StashDB scene ID to clipboard
On any StashDB page showing multiple scenes, the Stasharr Actions dropdown provides three bulk tools:
- Add All on Page: Adds all available scenes on the current page to Whisparr
- Search All on Page: Triggers a search for all monitored scenes on the current page in Whisparr
- Add All Missing: Finds and adds scenes missing from your Whisparr library based on context (page/studio/performer)
What youβll see during bulk operations:
- Progress Modal: Centralized progress with overall progress bar, per-item status, and final summary
- Scene Titles: Items show human-readable scene titles (not hashes)
- Skipped Info: Shows how many were skipped with reason βalready in Whisparrβ
- Clear Empty-State: If thereβs nothing to do, the modal shows an info message (no false β1/1 succeededβ)
- Confirmation: Each action shows a confirmation dialog before executing
Visit any studio or performer page to:
- Toggle monitoring with the bookmark icon
- Add new entities to Whisparr if they don't exist
- View real-time status updates
Access settings anytime by clicking "Stasharr" in the top navigation. Settings are:
- Automatically validated as you type
- Saved instantly when valid
- Backed up locally in your browser
- Synchronized across tabs
- Verify your Whisparr instance is accessible from your browser
- Check that the API key is correct (found in Whisparr β Settings β General)
- Ensure no firewall is blocking the connection
- Refresh the StashDB page
- Check browser console for errors (F12 β Console)
- Verify userscript is enabled in your extension
- Re-run the domain permission process in your userscript manager
- Ensure you clicked "Always allow domain" when prompted
- Check that the domain matches exactly (including protocol and port)
- This has been fixed in v2.9.0+
- Update to the latest version if you're experiencing this issue
- Update to latest version β Many issues are resolved in newer releases
- Check browser console β Look for error messages (F12 β Console)
- Test basic connectivity β Verify you can access Whisparr directly in your browser
- Review settings β Ensure all configuration is correct
Stasharr requires Whisparr v3+. If you're running v2, update with:
docker pull ghcr.io/hotio/whisparr:v3If you encounter issues, please create a bug report with:
- Stasharr version β Found in userscript manager
- Browser & version β Chrome 120, Firefox 119, etc.
- Whisparr version β Found in Whisparr β System β Status
- Error messages β From browser console (F12 β Console)
- Steps to reproduce β What you were doing when the issue occurred
Interested in contributing or running your own build? See our Development Guide for:
- Setting up the development environment
- Building from source
- Contributing guidelines
- Architecture overview
- Frontend β SolidJS, TypeScript, SCSS
- Build β Webpack 5, ESLint, Husky
- Testing β Jest (planned)
- Distribution β GitHub Actions, Automatic releases
This project is released under the GNU General Public License v3.0.
See LICENSE for details.
Created by enymawse
Original inspiration from randybudweiser's stash2whisparr
If Stasharr has improved your content management workflow:
β Star this repository to show your support
π Report issues to help improve the project
π‘ Suggest features for future development
π€ Contribute to make Stasharr even better
πͺ Donate by supporing publicly or privately
bitcoin: 3MttRFnUWijmUZ1q5m3ru6gR1ANDWXkSbF
Transform your StashDB experience today with Stasharr β because managing your content library should be effortless.





