/stash4deovr

An organizer for your porn, written in Go. This special branch is design for DeoVR and other media browsers.

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0

This a special build of StashApp for DeoVR, browsers and other video players.

Why do I need this?

Stash is a wonderful video collection management server. It offers so many great features for you to organize the videos/images whatever the way you want. However, it still misses a crucial feature: serving the files.

Therefore, when you see a beautiful VR video list from Stash:

Scenes Stash You cannot click one and make it play in DeoVR. Because Stash doesn't provide you a way to serve the video file directly.

It's beyond my understanding that the official Stash serves everything from tags, studios, performers to multiple-file entries, but it won't serve the video files directly. The best you can do is using a scene's "stream" link, which doesn't do well in many video players.

For example, in DeoVR, the stream link won't work. In other video players, the stream link will make them regard everything from Stash as the same file. Thus whenever you play a new steam link, the video player will most likely jump to the end, thinking you are playing the last video file.

I tried to create a pull request to Stash 2 years ago. At that time I was really new to the Github and Stash, though the nice mod there did tried to help me with that request, the code itself was not good. So my pull request was just laid there for a few months. In the end I decided that it's better to create this fork that I can apply my changes and methods. I just need to update the underlying code from time to time.

The benefit is that while I can finally implement the changes, I was also able to make my code shorter and better. Today my added code is actually tiny, but works well with most video players.

Which video player is compatible with this Stash build?

The list is current not complete, please send me a message here, I will add them to it.

Player Name Platform Browsing Video Playing Notes
DeoVR Player Windows/Quest Browser is small.
Need to switch to "wall" view in Stash.
Web Browsers Windows
Oculus Browser Quest 2/3 Browser can be large if you switch to "expand" mode.
Supports 3D/VR videos.
PotPlayer Windows Supports direct "Open Ext." links.

Usage

Just replace the stash-win.exe/stash-macos/stash-linux with the one in the release, and you are done.

You can open DeoVR and use the browser to open the Stash webpage, then click on "Open Ext." button to play the VR videos in DeoVR. Open Ext button

It works both in https or http. It's the most reliable way for DeoVR and Stash to work together.

Original Readme from Stash

Build Docker pulls GitHub Sponsors Open Collective backers Go Report Card Matrix Discord GitHub release (latest by date) GitHub issues by-label

Stash is a self-hosted webapp written in Go which organizes and serves your porn.

demo image

  • Stash gathers information about videos in your collection from the internet, and is extensible through the use of community-built plugins for a large number of content producers and sites.
  • Stash supports a wide variety of both video and image formats.
  • You can tag videos and find them later.
  • Stash provides statistics about performers, tags, studios and more.

Nothing.

You can watch a SFW demo video to see it in action.

For further information you can consult the documentation or read the in-app manual.

Installing Stash

Windows macOS Linux Docker
Latest Release
Development Preview
Latest Release
Development Preview
Latest Release (amd64)
Development Preview (amd64)
More Architectures...
Instructions
Sample docker-compose.yml

Download links for other platforms and architectures are available on the Releases page.

First Run

Windows/macOS Users: Security Prompt

On Windows or macOS, running the app might present a security prompt since the binary isn't yet signed.

On Windows, bypass this by clicking "more info" and then the "run anyway" button. On macOS, Control+Click the app, click "Open", and then "Open" again.

FFmpeg

Stash requires FFmpeg. If you don't have it installed, Stash will download a copy for you. It is recommended that Linux users install ffmpeg from their distro's package manager.

Usage

Quickstart Guide

Stash is a web-based application. Once the application is running, the interface is available (by default) from http://localhost:9999.

On first run, Stash will prompt you for some configuration options and media directories to index, called "Scanning" in Stash. After scanning, your media will be available for browsing, curating, editing, and tagging.

Stash can pull metadata (performers, tags, descriptions, studios, and more) directly from many sites through the use of scrapers, which integrate directly into Stash. Identifying an entire collection will typically require a mix of multiple sources:

  • The project maintains StashDB, a crowd-sourced repository of scene, studio, and performer information. Connecting it to Stash will allow you to automatically identify much of a typical media collection. It runs on our stash-box software and is primarily focused on mainstream digital scenes and studios. Instructions, invite codes, and more can be found in this guide to Accessing StashDB.
  • Several community-managed stash-box databases can also be connected to Stash in a similar manner. Each one serves a slightly different niche and follows their own methodology. A rundown of each stash-box, their differences, and the information you need to sign up can be found in this guide to Accessing Stash-Boxes.
  • Many community-maintained scrapers can also be downloaded, installed, and updated from within Stash, allowing you to pull data from a wide range of other websites and databases. They can be found by navigating to Settings -> Metadata Providers -> Available Scrapers -> Community (stable). These can be trickier to use than a stash-box because every scraper works a little differently. For more information, please visit the CommunityScrapers repository.
  • All of the above methods of scraping data into Stash are also covered in more detail in our Guide to Scraping.

StashDB is the canonical instance of our open source metadata API, stash-box.

Translation

Translate 🇧🇷 🇨🇳 🇩🇰 🇳🇱 🇬🇧 🇪🇪 🇫🇮 🇫🇷 🇩🇪 🇮🇹 🇯🇵 🇰🇷 🇵🇱 🇷🇺 🇪🇸 🇸🇪 🇹🇼 🇹🇷

Stash is available in 25 languages (so far!) and it could be in your language too. We use Weblate to coordinate community translations. If you want to help us translate Stash into your language, you can make an account at Stash's Weblate to get started contributing new languages or improving existing ones. Thanks!

Support (FAQ)

Check out our documentation on Stash-Docs for information about the software, questions, guides, add-ons and more.

For more help you can:

Customization

Themes and CSS Customization

There is a directory of community-created themes on Stash-Docs, along with instructions on how to install them.

You can also change the Stash interface to fit your desired style with various snippets from Custom CSS snippets.

For Developers

Pull requests are welcome!

See Development and Contributing for information on working with the codebase, getting a local development setup, and contributing changes.