PTS Blitz - n05urpr1532-MHA-Team/PTS-Team GitHub Wiki


Reference Shortcut - http://PTS.PTS | Discord ( !PTS )




Table of Contents

  1. Intro
  2. PTS Blitz Advantages & Disadvantages
  3. PTS Blitz - UnEncrypted
  4. PTS Blitz - Encrypted Setup
  5. How it works

1. Intro

PTS Blitz was based on Flicker-Rate's SuperTransfer concept. SuperTransfer worked, but was complicated and created many problems. Over the course of the Summer in 2017, I was thinking of the word blitz (in about storming a battle field) and was just thinking about packets of data just collecting in a spot and attacking the first thing they see (the GDSA keys). To help streamline the concept after creating the code, Physik streamlined it further to ensure that data integrity was maintained. As a result, we now have PTS Blitz, including the encrypted version. PTS Blitz has been further simplified and resulted in the creation of PTS Clone; which keeps executes deployments in a streamlined manner.

2. PTS Blitz Advantages - Disadvantages

Advantages of PTS Blitz over PTS Move:

  • Breaks past 750GB daily upload barrier
  • Works great for GCE Edition

Disadvantages of PTS Blitz over PTS Move:

  • More complicated to set up
  • No Throttle Controls (point is fast upload)
  • Uses TeamDrives over GDrive (still works, but more stuff to add)

3. PTS Blitz - Unencrypted Setup

i. PTS YouTube - PTS Blitz Unencrypted

ii. Information

The setup for this process is easy.

  • Have the Google OAuth Keys generated and saved!
  • Select PTS Blitz Unencrypted
  • Goto PTS Clone - OAuth & Mounts
  • Set the Client ID
  • Set the Secret ID
  • Set your team drive, validate, and select the correct one
  • Select GDrive under the rclone configuration and validate the link
  • Select TDrive under the rclone configuration and validate the link
  • Exit to the main menu
  • Select Deploy

4. PTS Blitz - Encrypted Setup

i. PTS YouTube - PTS Blitz Encrypted

ii. Information

The setup for this process is easy.

  • Have the Google OAuth Keys generated and saved!
  • Select PTS Blitz Encrypted
  • Goto PTS Clone - OAuth & Mounts
  • Set the Client ID
  • Set the Secret ID
  • Set your team drive, validate, and select the correct one
  • Set a Primary Password & SALT Password
  • Select GDrive under the rclone configuration and validate the link
  • Select TDrive under the rclone configuration and validate the link
  • Exit out and then go to Key Generation
  • Login to the Project
  • Create or Establish a prior project
  • Create the Keys
  • (Optional) Backup the keys so, in the future, you can just recover them
  • Exit to the main menu
  • Select Deploy

5. How it works

  1. When radarr/lidarr/sonarr imports your downloads from /mnt/downloads/_downloader_/_category_/... it reads the download mappings and instead of looking for /mnt/downloads/_downloader_/_category_/... it looks for /mnt/unionfs/_downloader_/_category_/.... So at this point, it's accessing the files inside the merger.
  2. Now Arr will do a hardlink/mv operation to rename and organize the media. Arr will think it's putting the files in /mnt/unionfs/_category_/..., but it's actually putting them into /mnt/downloads/_category_/...
  3. At this point your files are imported and renamed, they are accessible at /mnt/unionfs/_category_/...
  4. The blitz or move script runs and ignores any "known downloader" folders inside /mnt/downloads, and moves everything it doesn't ignore (like /mnt/downloads/_category_) to /mnt/move for uploading.
  5. Now your files are inside /mnt/move for uploading, run PTS to see the status.

-- Arr has to organize the files, To hardlink inside mergerfs, it requires everything being inside the merger (aka /mnt/unionfs) for rapid importing to work. The downloader mappers tell arr to look in /mnt/unionfs/nzbget so then it does a mv. But underlying, mergerfs will do a rename in the real location, which is /mnt/downloads. There isn't a way to force that rename operation to occur in /mnt/move instead or we would just do that, this is a behavior we cannot change.

Files that exist in /mnt/downloads/_category_ will be moved for uploading.

Blitz runs in a batch, it grabs everything ready at that time and uploads it. It will not move other files in the background while actively uploading!

Arr however will continue to import and organize the next set of files. So typically files sit in /mnt/downloads/_category_ for 0-45m (depending on active upload).

During this entire process, once arr does the import, the file stays at /mnt/unionfs/_category_/[...] this is so plex can scan it and have it available without first waiting for it to be uploaded.

⚠️ **GitHub.com Fallback** ⚠️