Public
Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Build Status GitHub release
Windows • macOS • Linux • Raspberry Pi

The ultimate tool for managing your VR porn library.

SuggestionsDiscord


Features

  • Automatically match title, tags, cast, cover image, and more to your videos
  • Support for all the most popular VR sites: BadoinkVR, CzechVR Network, DDFNetworkVR, MilfVR, NaughtyAmericaVR, SexBabesVR, StasyQVR, TmwVRnet, VirtualRealPorn, VirtualTaboo, VRBangers, VRHush, VRLatina, WankzVR and many studios on SexLikeReal
  • Directly supports DeoVR and HereSphere VR players via API
  • Built-in DLNA streaming server compatible with popular VR players (Pigasus, Skybox, Mobile Station VR)
  • Sleek and simple web UI
  • Browse your content by cast, site, tags, and release date
  • Available for Windows, macOS, Linux (including ARM builds for RaspberryPi)

Download

The latest version is always available on the releases page.

App is also available in form of Docker image, which makes it possible to run in more specialized environments such as QNAP NAS - downloads at GitHub Container Registry.

To run this container in docker:

docker run -t --name=xbvr --net=host --restart=always \
   --mount type=bind,source=/path/to/your/videos,target=/videos \
   --mount source=xbvr-config,target=/root/.config/ \
   ghcr.io/xbapps/xbvr:latest

Adding -d to the docker command will run the container in the background.

In docker, your videos will be mounted at /videos and you should add this path in Options -> Folders.

Please note that during the first run XBVR automatically installs ffprobe and ffmpeg codecs from ffbinaries site.

Quick Start

Once launched, web UI is available at http://127.0.0.1:9999.

Before anything else, you must allow the app to scan sites and populate its scene metadata library. Click through to Options -> Scene Data and "Run scraper". This can take several minutes to complete. Wait for it to finish, and then go to Options -> Folders and add the folders where your video files are stored.

When it's all done, you should see your media not only in web UI, but also through DLNA server in your favourite VR player.

Enjoy!

Questions & Suggestions

Ask your questions and suggest features on Discord.

Development

Make sure you have following installed:

  • Go 1.24
  • Node.js 22.x
  • Yarn 1.17.x
  • air (run go install github.com/cosmtrek/air@latest outside project directory)

Once all of the above is installed, running yarn dev from project directory launches file-watchers providing livereload for both Go and JavaScript.

Development in Gitpod

This project is configured for use in Gitpod. It will provide you with a pre-built development environment with all the tools needed to compile XBVR.

When the workspace loads, yarn dev runs and it will build and start XBVR automatically. Every time you make a change to a file, watchers will automatically compile the relevant code.

Once XBVR is compiled and starts, a preview panel will open in the IDE. As you modify go files, the preview panel will reload with the latest changes. If you make changes to Vue, you'll need to reload the browser to load the updated JavaScript.

Currently, it's only possible to test XBVR core and Browser applications using Gitpod. Because DLNA requires a local network, you won't be able to connect to the DLNA server running in Gitpod. For most people, this is fine.

sqlite3 is included in the terminal. The XBVR database is located at /home/gitpod/.config/xbvr/main.db

sqlite-web is also included. To browse the db, you can run sqlite_web /home/gitpod/.config/xbvr/main.db.

Gitpod has GitHub integration and, once authorized, can fork this repo into your account, push/pull changes, and create pull requests.

Ready to get started?

Open in Gitpod

How To

Add specific filter to DeoVR

  • On the XBVR scenes page, create a filter (cast, site, tags, etc.) and sort order, then create a "saved search" (see top left) and check "use as DeoVR list".
  • Inside DeoVR you will now see your saved search listed

Keyboard Shortcuts

  • Global ? - Quick Find
  • Details Pane
    o - previous scene
    p - next scene
    e - edit scene
    w - toggle watchlist
    f - toggle favourite
    W - toggle Watched status (Capital W)
    g - toggles gallery / video window
    esc - closes details pane
    left arrow - cycles backwards in gallery / skips backwards in video
    right arrow - cycles forward in gallery / skips forward in video
  • File Match Pane
    o - previous file
    p - next file
    left arrow - next page of search results
    right arrow - previous page of search results
    esc - closes matching pane
  • Actor List
    o or left arrow - previous page of actors
    p or right arrow - next page of actors
  • Actor Details
    o - previous actor
    p - next actor
    left arrow - cycles backwards in gallery
    right arrow - cycles forward in gallery
    esc - closes details pane

using Command Line Arguments/Environment Variables

Command line parameterEnvironment VariableTypeDescription
--enableLocalStoragebooleanUse local folder to store application data
--app_dirXBVR_APPDIRStringpath to the application directory
--cache_dirXBVR_CACHEDIRStringpath to the temporary scraper cache directory
--imgproxy_dirXBVR_IMAGEPROXYDIRStringpath to the imageproxy directory
--search_dirXBVR_SEARCHDIRStringpath to the Search Index directory
--preview_dirXBVR_VIDEOPREVIEWDIRStringpath to the Scraper Cache directory
--scriptsheatmap_dirXBVR_SCRIPTHEATMAPDIRStringpath to the scripts_heatmap directory
--myfiles_dirXBVR_MYFILESDIRStringpath to the myfiles directory for serving users own content (eg images
--databaseurlDATABASE_URLStringoverride default database path
--web_portXBVR_WEB_PORTIntoverride default Web Page port 9999
--ws_addrXBVR_WS_ADDRStringoverride default Websocket address from the default 0.0.0.0:9998
--db_connection_pool_sizeDB_CONNECTION_POOL_SIZEIntsets the connection pool size for mariadb databases
--concurrent_scrapersCONCURRENT_SCRAPERSIntset the number of scrapers that run concurrently default 9999
UI_USERNAMEStringset the username for UI authentication
UI_PASSWORDStringset the password for UI authentications

关于 About

Tool to organize and stream your VR porn library
dlna-servergear-vrgearvrorganizeorganizerpornraspberry-piraspberrypistreamvr-players

语言 Languages

Go69.2%
Vue28.4%
JavaScript1.9%
Shell0.2%
Makefile0.1%
Dockerfile0.1%
HTML0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
175
Total Commits
峰值: 45次/周
Less
More

核心贡献者 Contributors