Before starting, download and install the following tools:
- WinFSP (Install using default settings)
- Rclone (Download and extract the executable)
- NSSM (Download and extract the executable)
-
Go to the Zurg releases page and download the latest release package (e.g.,
zurg-vX.X.X-windows-amd64.zip
). -
Extract the contents of the release package to your desired folder, such as
~/Documents/zurg-testing
. -
From the Zurg repository:
- Copy or download the following files into the same folder where
zurg.exe
is located:config.yml
rclone.conf
scripts/plex_update.ps1
- Copy
rclone.exe
andnssm.exe
and theplex_update.ps1
script into the same folder aszurg.exe
.
Your folder structure should now look something like this example:
~/Documents/zurg-testing/
├── zurg.exe
├── rclone.exe
├── nssm.exe
├── config.yml
├── rclone.conf
├── plex_update.ps1
-
Edit
config.yml
Open the file in a text editor and replacetoken: ...
with your Real Debrid token:token: ABC...XYZ
-
Edit
rclone.conf
Replace theurl
reference to point tolocalhost
. For example:url = http://localhost:9999/dav
All commands assume you're in the folder where zurg.exe
is located (e.g., ~/Documents/zurg-testing
).
- Run:
nssm.exe install zurg
- In the popup:
- For Path, select
zurg.exe
in the current folder.
- For Path, select
- Click Install Service.
- Run:
nssm.exe install rclone
- In the popup:
- For Path, select
rclone.exe
in the current folder. - For Arguments, use:
Replace
mount zurg: Z: --dir-cache-time 10s --no-console --vfs-cache-mode=full --vfs-read-chunk-size 1M --vfs-read-chunk-size-limit 32M
Z:
with your preferred drive letter, if desired.
- For Path, select
- Click Install Service.
- Open the Services app in Windows.
- Under Services (Local):
- Locate and start the
zurg
service. - Locate and start the
rclone
service.
- Locate and start the
- By default, these services should start automatically after a system reboot.
- In File Explorer, you should see a new drive (
Z:
by default) under This PC. - Access the drive to verify folders like
movies
,shows
, etc. - Test further by visiting
http://localhost:9999/
in your web browser.
To further optimize Rclone performance, you can enhance the arguments in the Rclone Service setup:
- During the step where you specify arguments in the NSSM popup for the Rclone service:
- Replace the default arguments with the following:
Replace
mount zurg: Z: --attr-timeout 10y --buffer-size 128M --dir-cache-time 10s --poll-interval 60s --vfs-cache-max-age 2M --vfs-cache-max-size 50G --vfs-cache-min-free-space 2G --vfs-cache-mode full --vfs-cache-poll-interval 30s --vfs-disk-space-total-size 100G --vfs-fast-fingerprint --vfs-read-ahead 64M --vfs-read-chunk-size 1M --vfs-read-chunk-size-limit 32M --vfs-read-wait 40ms --vfs-refresh --transfers 32 --checkers 32 --multi-thread-streams 8 --fast-list --no-console
Z:
with your preferred drive letter if needed.
- Replace the default arguments with the following:
If using Plex:
-
Edit your existing libraries or create new ones to include the Zurg folders.
Refer to Plex's official guide on editing libraries. -
Use tools like Debrid Media Manager or Stremio to add content to your RD account. These will sync downstream as auto-scans pick them up.
If you want Plex to refresh the library after adding new content:
-
Uncomment the
on_library_update:
Line inconfig.yml
Open theconfig.yml
file and locate the line beginning with#on_library_update:
. Remove the#
at the beginning to uncomment it. The updated line should look like this:on_library_update: '& powershell -ExecutionPolicy Bypass -File .\plex_update.ps1 --% "$args"'
-
Comment Out the
sh plex_update.sh
Line inconfig.yml
In the sameconfig.yml
file, find the line referring tosh plex_update.sh
and add a#
at the beginning to comment it out. The updated line should look like this:#on_library_update: sh plex_update.sh "$@"
-
Edit
plex_update.ps1
Script
Open theplex_update.ps1
file in a text editor and update the following lines to match your setup:# Plex server details - EDIT BELOW $plexUrl = "http://plex-ip:32400" $plexToken = "your-plex-token"
# Replace with your mount - EDIT BELOW $mount = "Z:"
# Example path to a log - EDIT BELOW Start-Transcript -Path "C:\Path\To\zurg-testing\logs\plex_update.log"
# Example usage - REPLACE WITH YOUR DIRECTORIES $directoriesToUpdate = @("Z:\movies","Z:\anime","Z:\shows","Z:\movies4k","Z:\shows4k")
Enjoy your enhanced streaming experience! 🎥
Thanks for sharing this! I already had my Plex/Zurg/Rclone set up, but your steps mirror the same I took when I did mine. However your optional steps at the end were the secret sauce I was missing before; Auto-updating Plex, and improved Rclone config.