Unofficial Application Installers

Contains guides for using scripts that install applications that are not officially supported.

Auto Remove Torrents

This unofficial app installation script is provided for your convenience. The script is provided as-is and may not be updated or maintained by Ultra.cc. Clients are welcome to use and customize unofficial app installers for their unique needs and requirements. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

Autoremove Torrents is an open-source Python project that allows the automatic removal of torrents from various torrent clients based on configurable criteria. It can help manage disk space by deleting torrents when they are finished seeding. Here's the GitHub page of the project.

Features

Supported Clients

Autoremove Torrents works with the following torrent clients:

Installation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/AutoRemove-Torrents/main.sh)

Configuration

Autoremove Torrents uses a YAML configuration file to define the torrent clients and removal rules. By default, Autoremove Torrents will look for a configuration file in the shell's current working directory. But, you can store the configuration file somewhere else and point to it while using Autoremove Torrents. See the below usage instructions for more information.

Client Configuration

The script will create a bare minimum configuration file located at ~/.config/autoremove-torrents/config.yml. You will need to edit the configuration file with your login credentials and removal task/strategies.

nano ~/.config/autoremove-torrents/config.yml
autoremove-torrents --conf=/home/username/.config/autoremove-torrents/config.yml --view

Removal Strategies

Next, define removal strategies under each client. For example:

strategies:

  delete_seeds:
    remove: ratio > 2

  clear_space:
    free_space:  
      min: 10
      path: /downloads
      action: remove-big-seeds

Usage

autoremove-torrents --conf=/path/to/config.yml
autoremove-torrents --conf=/path/to/config.yml --task transmission
autoremove-torrents --view --conf=/path/to/config.yml --task transmission

Dry run allows you to see what would be deleted without actually removing anything.

Automation

# Run at 2AM every day
0 2 * * * /home/username/.pyenv/shims/autoremove-torrents --conf=/path/to/config.yml

Uninstallation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/AutoRemove-Torrents/main.sh)

Autoscan

This unofficial app installation script is provided for your convenience. The script is provided as-is and may not be updated or maintained by Ultra.cc. Clients are welcome to use and customize unofficial app installers for their unique needs and requirements. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

Autoscan replaces the default method of updating your Plex, Jellyfin, or Emby libraries by the use of webhooks sent from the Connect feature within Sonarr and Radarr. More information can be found here: github.com/Cloudbox/autoscan

Notable benefits of Autoscan over Radarr/Sonarr Connect:

This installer, and guide, assumes that your Radarr/Sonarr and media server applications such as Plex, Jellyfin, or Emby, are all on the same service

Prerequisites

Autoscan will use a token to gain access to your media server application to perform its update functions.

Plex Token

Jellyfin API Token

jellyfin-menu.png

jellyfin-dashboard.png

jellyfin-api-keys.png

jellyfin-api-keys-add.png

jellyfin-api-key-name-save.png

jellyfin-api-keys-copy.png

Emby API Token

emby-admin-menu.png

emby-api-keys.png

emby-new-api-key.png

emby-new-api-key-name-save.png

emby-new-api-key-copy.png

Disable Media Server's Internal Scans

Autoscan is meant to handle your media center's scanning entirely, so it is recommended to disable your Plex, Jellyfin, or Emby's internal scanning settings to avoid any conflicts.

Disable Plex's Internal Scanning

Scan my library automatically: DISABLED
Run a partial scan when changes are detected: DISABLED
Scan my library periodically: DISABLED

Disable Jellyfin's Internal Scanning

Jellyfin Scan Schedule

jellyfin-library-scan-schedule.png

jellyfin-library-scan-schedule-delete.png

Jellyfin Individual Library Settings

Disable Emby's Internal Scanning

Emby Scan Schedule

emby-library-scan-schedule.png

emby-library-scan-schedule-delete.png

Emby Individual Library Settings

Installation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/Autoscan/main.sh)

Adding Webhooks to Sonarr and Radarr

After successfully installing autoscan via the script you will see the two Webhook URLs shown that are needed to add to your Sonarr and Radarr instances

Sonarr Webhook

Radarr Webhook

Optional Setup Settings

Anchors for Mounts

Autoscan has the ability check first for anchor files to prevent library updates in the case of a mount being offline. This can allow the use of the Plex library setting Empty trash automatically after every scan safely to avoid the loss of library metadata in the case of a mount going offline. Use at your own risk

The following assumes you've used our rclone mount guides for your mount locations. If you have custom mount paths and/or multiple mounts, then you will need to modify your anchor file locations accordingly

touch ~/Stuff/Mount/.anchor
anchors:
  - /home/{USERNAME}/MergerFS/.anchor

In .yml and .yaml configurations files, improper use of indentation will prevent the configuration file from working correctly. Its important that no blank space be in front of the anchors: line and 2 blank spaces be in front of the - /home/{USERNAME}/MergerFS/.anchor line.

systemctl --user restart autoscan

Use With Multiple Media Servers

The unofficial autoscan installer is only written for installation with a single media server in mind, however autoscan supports all three Plex, Jellyfin, and Emby media servers.

systemctl --user restart autoscan

FileBot

This unofficial app installation script is provided for your convenience. The script is provided as-is and may not be updated or maintained by Ultra.cc. Clients are welcome to use and customize unofficial app installers for their unique needs and requirements. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

To use FileBot you will be required to purchase a FileBot license.
FileBot is a custom application with only a basic custom AMC provided. We can not provide support for FileBot beyond installation.

FileBot has a tendency to try and use resources outside of process limits which can cause problems. We would highly recommend an Indexer such as Sonarr/Radarr to organize your media.

Prerequisites

For the FileBot installation script to work, you may have to do the following:

Installation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/FileBot/main.sh)

Importing Your License

In order for your FileBot to work correctly now, it is now required you acquire a license. This license file can be uploaded via FTP or you can create a new file with nano and paste the license key.

bash <(wget -qO- https://scripts.ultra.cc/main-v2/FileBot/main.sh)

Activating your license can also be done manually by running the command below.

Installation of AMC script

Installation of AMC script for Rtorrent, Deluge or Transmission.

bash <(wget -qO- https://scripts.ultra.cc/main-v2/FileBot/main.sh)

AMC scripts automatically organize your latest media to your library. Once new media is detected, by default, the scripts do the following:

You can also edit the scripts to your liking to automate more of your setup. For more information on AMC options, you can visit this link.

Upgrade

bash <(wget -qO- https://scripts.ultra.cc/main-v2/FileBot/main.sh)

Uninstallation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/FileBot/main.sh)

Issues/Bugs

For any issues/bugs pertaining to FileBot, you may do so to the following channels:

Troubleshooting FAQ for FileBot

Why doesn’t FileBot work? It used to!

Unfortunately, this is because of the TVDB API update around six months ago. The endpoints were updated in the latest versions of FileBot. We provide the last FOSS version. To keep using FileBot, you will need to purchase your license, import and update your FileBot on your slot. You may also find other alternatives.

Why does FileBot keep crashing?

Filebot is designed to compliment torrent clients on our infrastructure. Java, which is one of the dependencies of filebot, has a 1GB proclimit and is not recommended for running filebot in a cron or manage a whole folder at once. This type of action could quickly saturate an entire server’s cores.

FlexGet

This unofficial app installation script is provided for your convenience. The script is provided as-is and may not be updated or maintained by Ultra.cc. Clients are welcome to use and customize unofficial app installers for their unique needs and requirements. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

FlexGet is a multipurpose automation tool for content like torrents, NZBs, podcasts, comics, series, movies, etc, and can handle different kinds of sources like RSS feeds, HTML pages, and CSV files. This allows you to integrate and create powerful automation between your downloaders, organizers, and your media servers.

This guide shows you the following:

  1. Install FlexGet to your service
  2. Create your first FlexGet configuration
  3. Upgrading and Removing FlexGet

Installation of FlexGet via python's virtual environment

bash <(wget -qO- https://scripts.ultra.cc/main/Flexget/flexget-install.sh)

Configuring FlexGet

Creating config.yml

mkdir -p "$HOME"/.config/flexget
cd "$HOME"/.config/flexget
nano config.yml

Refer to FlexGet Configuration for information about making your config as well as FlexGet Cookbook for some basic automation tasks that you can do with FlexGet.

To check if your config is correctly formatted and configured, you may have to use the following commands:

When you run it the first time, it may grab and download multiple torrents. To mitigate this, run flexget execute --learn. This will save the entries accepted so it won't download again in the future.

Upgrading FlexGet

"$HOME"/flexget/bin/python -m pip install flexget --upgrade

Removing FlexGet

rm -rfv "$HOME"/flexget
rm "$HOME"/bin/flexget

Generic Software Installation

This guide is provided for your convenience. The guide is provided as-is and may not be updated or maintained by Ultra.cc. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable troubleshooting.

This guide covers some generic ways to install custom third-party applications on your Ultra.cc service. It is important to remember that these installation procedures are generic and additional steps may be needed for a successful installation. As these procedures are made for custom applications not supported by Ultra.cc, we cannot provide any assistance regarding the installation or issues that may arise once an application has been installed.

If you want us to add an application to the User Control Panel and officially support it, you can submit a request on our Feedback site, and we will consider it. Please ensure that you do not add duplicate requests and instead add your vote if the application has already been requested.

Installation

Many applications can be installed with a click of a button on the UCP. However, if you want to install an application not included on the UCP, you can do so. As long as you adhere to the Terms of Service and do not break the Fair Usage Policy, you are free to install pretty much any software on your Ultra.cc service.

While selecting a port for your custom application, select one within the port range assigned to your service; do NOT use the default port the application suggests. It is strictly prohibited to use ports outside of your range. More info can be found here.

Important information regarding the installation of custom third-party applications:

Before proceeding with any of the below installation procedures, you need to connect to your Ultra.cc service via SSH.

Compile from Source

Below you will find generic instructions for how to compile from source. Some applications have specific instructions or required dependencies, so always check the documentation or website of the application you are installing.

wget https://example-url.com/appname-1.23.tar.gz
tar xvzf appname-1.23.tar.gz
cd appname-1.23
./configure --prefix="$HOME/bin" && make
make install
echo "PATH=$HOME/.local/bin:$HOME/bin:$PATH" >> ~/.profile && source ~/.profile

Pre-built Binaries

Some software is available as pre-compiled binaries and do not have to be built within your Ultra.cc service.

wget https://example-url.com/appname-1.23.tar.gz
tar xvzf appname-1.23.tar.gz
mv appname ~/bin/

Once the binary has been moved to a directory within your shell environment PATH, you can run the application by executing the filename of the binary. With the name example we are using in this guide, it would look like this: appname

Cloning a Repo

Application software can also be installed by cloning a repository. The most popular repository library is GitHub, but there are also others like GitLab for example.

cd 
git clone https://github.com/AUTHOR/EXAMPLE-REPO
cd EXAMPLE-REPO

Inside the cloned repo directory, you will find all the files of the repository, and you are free to execute any scripts or binaries that are included (subject to our Terms of Service).

Python Applications

In this section, we will show you how to install Python and how to install Python packages with pip. This is useful as cloned repos occasionally require you to install a Python package. However, before taking further action, ensure you have Python installed on your Ultra.cc service.

Install Python Package

Once you have followed the above guide and successfully installed Python on your Ultra.cc service, you are ready to install Python packages. A complete list of all available Python packages can be found on the Python Package Index (PyPI).

pip install <package-name>
pip install -r requirements.txt

Systemd Service

While binaries and scripts can be manually executed or setup as a cron job, you can also set up a systemd service and run your application as a background process. This allows you to have more control and easier management of your custom applications.

touch ~/.config/systemd/user/SERVICE-NAME.service
nano ~/.config/systemd/user/SERVICE-NAME.service
[Unit]
Description=A description of my custom application
After=network-online.target

[Service]
Type=exec
Restart=on-failure
ExecStart=%h/bin/MY-CUSTOM-APPLICATION
ExecStop=/bin/kill -s QUIT $MAINPID
StandardOutput=file:%h/path/to/logs/my-custom-application.log

[Install]
WantedBy=default.target

Notice the --user option. It is always required when interacting with systemctl on an Ultra.cc service, as leaving it out requires sudo/root privileges.

systemctl --user daemon-reload
systemctl --user enable --now SERVICE-NAME.service
systemctl --user is-enabled SERVICE-NAME.service
systemctl --user status SERVICE-NAME.service
ultradocs@spica:~$ systemctl --user status service-name.service
● service-name.service - A description of my custom application
   Loaded: loaded (/home/ultradocs/.config/systemd/user/service-name.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2024-01-08 10:07:17 CEST; 2 days ago
 Main PID: 71643 (service)
   CGroup: /user.slice/user-1104.slice/user@1104.service/service-name.service
           ├─71643 service: master process /home/ultradocs/bin/service -c
           └─71647 service: worker process

Enabling HTTPS Encryption

If you have installed a custom application on your Ultra.cc service, and assigned one of your unused ports (see this guide), your application will be accessible via the HTTP protocol. This means that all traffic will be unencrypted. To secure the traffic of your application, you can enable HTTPS encryption via Nginx.

touch ~/.apps/nginx/proxy.d/APP-NAME.conf
nano ~/.apps/nginx/proxy.d/APP-NAME.conf
location /baseurl/ {
    proxy_pass              http://127.0.0.1:PORT;
    proxy_http_version      1.1;
    proxy_set_header        X-Forwarded-Host        $http_host;
}

Kometa

This unofficial app installation script is provided for your convenience. The script is provided as-is and may not be updated or maintained by Ultra.cc. Clients are welcome to use and customize unofficial app installers for their unique needs and requirements. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

Kometa (previously known as Plex Meta Manager) is an open source Python 3 project that has been designed to ease the creation and maintenance of metadata, collections, and playlists within a Plex Media Server. The script is able to update information based on sources outside your Plex environment.

Make sure to configure the application properly to avoid breaking our Fair Usage Policy. For detailed instructions on how to configure the application, follow this link.

Prerequisites

Installation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/Kometa/main.sh)

Usage

Configuration

As Kometa is not a GUI application, all configuration must be done by editing the config file. Luckily, Kometa offers great documentation on their wiki. By default, the unofficial installer script will configure the config file with the bare necessities needed for Kometa to work. This includes your Plex server URL, token and TMDb API key. The latter is manually entered by the user during installation.

Log file

Stop/Restart Kometa

systemctl --user stop kometa.service
systemctl --user restart kometa.service

Uninstallation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/Kometa/main.sh)

Notifiarr

This unofficial app installation script is provided for your convenience. The script is provided as-is and may not be updated or maintained by Ultra.cc. Clients are welcome to use and customize unofficial app installers for their unique needs and requirements. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

Notifiarr is a notification handler for Discord. It can manage media requests and allows for custom integrations with a wide variety of applications.

Prerequisites

Installation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/Notifiarr/main.sh)

Uninstallation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/Notifiarr/main.sh)

Organizr

This unofficial app installation script is provided for your convenience. The script is provided as-is and may not be updated or maintained by Ultra.cc. Clients are welcome to use and customize unofficial app installers for their unique needs and requirements. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

Installation

Before proceeding with the installation, make sure to set an HTTP password under the Connect tab on the UCP.

bash <(wget -qO- https://scripts.ultra.cc/main-v2/Organizr/main.sh)

Uninstallation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/Organizr/main.sh)

Plex Auto Languages

This unofficial app installation script is provided for your convenience. The script is provided as-is and may not be updated or maintained by Ultra.cc. Clients are welcome to use and customize unofficial app installers for their unique needs and requirements. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

Plex Auto Languages will automatically update the language of your Plex TV Show episodes based on the current language you are using without messing with your existing language preferences. Make sure to configure it properly to avoid breaking our Fair Usage Policy. For detailed instructions on how to configure the application, follow this link.

Prerequisites

Installation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/PlexAutoLanguage/main.sh)

Uninstallation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/PlexAutoLanguage/main.sh)

Stop/Restart Service

systemctl --user stop  plexautolanguage.service
systemctl --user restart  plexautolanguage.service

Python-PlexAPI

This unofficial app installation guide is provided for your convenience. The guide is provided as-is and may not be updated or maintained by Ultra.cc. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

Python-PlexAPI is a utility tool with intent of performing actions on your Plex instance by interacting with the Plex API. Included features are library actions such as scan, analyze, empty trash among many other things.

Prerequisites

Installation

Do note, Python-PlexAPI requires some familiarity with the Linux terminal and scripting in general. If you are new to this, you should start by reading Your Ultra.cc Shell - A Beginner's Guide.

pip install plexapi
wget https://scripts.ultra.cc/util/Python-PlexAPI/main.py
nano main.py
python main.py
ultradocs@spica:~$ python plexapi.py
Media titles with release year have been written to plex_media_titles_with_year.txt

qBit Manage

This unofficial app installation guide is provided for your convenience. The guide is provided as-is and may not be updated or maintained by Ultra.cc. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

qBit Manage is a tool to manage your qBittorrent instance from the CLI. Included features are change tag, categories, remove unregistered torrents, and a lot more.

Prerequisites

Installation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/qBit-Manage/main.sh)
python ~/.apps/qbit_manage/qbit_manage.py -h

Configuration

Once qBit Manage has been installed, you need to edit the configuration file with your qBittorrent connection details. Look at the output of the install script to see the qBit Manage configuration file path.

nano ~/.apps/qbit_manage/config/config.yml
python ~/.apps/qbit_manage/qbit_manage.py -h

Uninstallation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/qBit-Manage/main.sh)

qbittools

This unofficial app installation guide is provided for your convenience. The guide is provided as-is and may not be updated or maintained by Ultra.cc. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

qbittools is a feature rich CLI for the management of torrents in qBittorrent. It provides features such as; Add torrents, export, reannounce and more.

Installation

curl -Ls https://gitlab.com/AlexKM/qbittools/-/raw/master/install.sh | bash -s -- -o ~/bin/qbittools
qbittools

Usage

qbittools is great for automating certain tasks. For example, you can tag all torrents and group them by tracker domains, not working trackers, unregistered torrents and duplicates. See the below command:

qbittools tagging -P <your-qbittorrent-password> --duplicates --unregistered --not-working --added-on --trackers

Uninstallation

rm -v ~/bin/qbittools

qbittorrent-cli

This unofficial app installation guide is provided for your convenience. The guide is provided as-is and may not be updated or maintained by Ultra.cc. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

qbittorrent-cli is a feature rich CLI to manage qBittorrent. It provides features such as; Add torrents, categories, tags, reannounce and import torrent sessions from other clients.

Installation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/qBittorrent-cli/main.sh)
qbt help

Usage

qbittorrent-cli can do a lot of things. For example, to import your Deluge torrent session into qBittorrent, see the below command. You can do a test run of the command by appending --dry-run to the command.

Before you start migrating your torrent session. Make sure you have set the same Default save path for your destination torrent client, as you have set for your source torrent client. Failing to do so would result in your new torrent client re-downloading all of your torrents again.

qbt torrent import deluge --source-dir ~/.config/deluge/state/ --qbit-dir ~/.local/share/qBittorrent/BT_backup/
qbt torrent export --source ~/.local/share/qBittorrent/BT_backup/ --export-dir ~/watch/deluge

For more information about torrent session migration, see this guide.

Uninstallation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/qBittorrent-cli/main.sh)

Recyclarr

This unofficial app installation script is provided for your convenience. The script is provided as-is and may not be updated or maintained by Ultra.cc. Clients are welcome to use and customize unofficial app installers for their unique needs and requirements. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

Recyclarr is a command-line application that will automatically synchronize recommended settings from TRaSH guides to your Sonarr/Radarr instances.

Installation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/Recyclarr/main.sh)

Configuration

Before you can start using Recyclarr, you need to create at least one YAML configuration file. By following the below instructions, a minimal configuration file will be created at ~/.apps/recyclarr/recyclarr.yml. In this guide, we will only show the bare minimum needed to set up Recyclarr. For more information regarding configuration, see the wiki.

recyclarr config create
nano ~/.apps/recyclarr/recyclarr.yml
    base_url: https://username.hostname.usbx.me/radarr
    api_key: <YOUR_API_KEY_HERE>

At this point, the bare minimum needed for Recyclarr to work has been done, but before you run recyclarr sync we recommend that you do your own research and thouroghly read the Recyclarr wiki.

Uninstallation

bash <(wget -qO-  https://scripts.ultra.cc/main-v2/Recyclarr/main.sh)

Second instance of Mediarr

This unofficial app installation script is provided for your convenience. The script is provided as-is and may not be updated or maintained by Ultra.cc. Clients are welcome to use and customize unofficial app installers for their unique needs and requirements. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

We have unfortunately been forced to remove Bazarr as an option for installation. The reason is due to Bazarr being badly optimized in thread management, as a single Bazarr instance can on its own saturate the 2000 userland process limit.

.NET Mediarr

This unofficial installation script lets you install a second instance of the following applications:

Installation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/Mediarr/main.sh)

Management

Update & Repair

The script will only repair settings such as incorrect port, host, etc. It will not repair corrupted databases or any other factor which breaks your instance.

For each *arr application, the following branch is currently used:
Lidarr: master
Prowlarr: develop
Readarr: develop

If you have changed the branch of the *arr application and used the in-built updater to update to a later development/nightly branch version, there is a chance that your installation will be broken after an update.
For this reason, we recommend not changing branch.

bash <(wget -qO- https://scripts.ultra.cc/main-v2/Mediarr/main.sh)

Change Password

bash <(wget -qO- https://scripts.ultra.cc/main-v2/Mediarr/main.sh)

Uninstallation

bash <(wget -qO- https://scripts.ultra.cc/main-v2/Mediarr/main.sh)