×
Logo
  • News
  • Pricing
  • Contact
  • Client Area
Control Panel

Search

Applications

Client Area

Community

Connection Details

Control Panel

Getting Started

Misc Guides

Rclone

Torrent Clients

Unofficial Application Installers

Unofficial Language Installers

Unofficial SSH Utilities

Share your knowledge, submit a guide!

Ultra.cc Documentation
Ultra.cc Documentation
📘

cross-seed

cross-seed

The scripts and documents shared here are provided as-is by fellow customers. Ultra.cc does not review, test, or endorse these contributions. Their inclusion does not imply fitness for any particular purpose, nor guarantee compliance with our Terms of Service. No official support is provided for their use. You assume all risk in using them.

This guide walks you through installing cross-seed using the source build method on your Ultra.cc slot. This script is provided by the developer.

Prerequisites

  • Python: Version 3.10 or newer
  • Node.js: Version 22 LTS (latest LTS release)

Features

  • Automatic Cross-Seeding: Scans your existing torrents and searches indexers for matches, enabling you to cross-seed with minimal effort.
  • Flexible Matching: Offers multiple matching modes (strict, flexible, partial) to suit your accuracy and performance preferences.
  • Client Integration: Injects matched torrents directly into your supported torrent client, streamlining the seeding process.

Installation

  • Connect to your Ultra service via SSH.
  • Install the latest version of Node.js LTS (v22.x)
bash <(wget -qO- https://scripts.ultra.cc/util-v2/LanguageInstaller/Node-Installer/main.sh)
  • Install Python v3.10+ (recommended to run 3.10 unless another version is specifically needed):
bash <(wget -qO- https://scripts.ultra.cc/util-v2/LanguageInstaller/Python-Installer/main.sh)
  • Log out of your SSH session and log back in, or restart your terminal. This ensures Python and Node are available in your environment.
  • Install cross-seed using the script provided by the developer specifically for the Ultra environment:
bash <(wget -qO- https://raw.githubusercontent.com/zakkarry/cross-seed-source-build/refs/heads/master/install_shared_env_xs.sh)
  • Follow the prompts in the script. Each install option includes a brief description to help you choose the best version.

Configuration

  • Once successfully installed, you need to generate a configuration file.
  • Run the following command to generate a config.js
cross-seed gen-config
  • Generate an API key and copy it into your config.js:
cross-seed api-key
  • Edit config.js with nano:
nano ~/.cross-seed/config.js
  • Add all your application URLs (Prowlarr Torznab URLs, Jackett RSS Feeds, *Arr apps, and download clients) to your config.js.
  • Ensure you configure your dataDirs with the download directory of your torrent client.
  • (Optional) If you want, you can change matching flexibility, but flexible is recommended.
  • For further configuration and customization, refer to the official documentation or the links displayed at each option in config.js.

Usage

  • Once you have configured config.js with your applications (you need at least a download client and one indexing application, e.g. qBittorrent and Prowlarr), cross-seed begins scanning and matching torrents automatically.
  • For other options for managing your application, refer to the official documentation.

Notes

  • You must restart your terminal session after installing Node and Python for the environment to be recognized any time you change them.
  • You can rerun the install_shared_env_xs.sh script to upgrade or reconfigure your cross-seed install.
  • The daemon method is not recommended on Ultra due it being unauthenticated which could lead to security concerns.
  • Known compatibility issue with The Lounge: If you have The Lounge installed, cross-seed may fail or behave unexpectedly due to conflicting Node.js versions in ~/.bashrc. The Lounge's app-manager installs its own nvm at ~/.nvm-thelounge (Node v20), while cross-seed uses the default ~/.nvm (Node v22 LTS). Depending on the order of the lines in .bashrc, one overrides the other, causing dependency version conflicts. This also works in reverse: cross-seed can set NODE_OPTIONS="--disable-wasm-trap-handler" which breaks The Lounge.
  • To resolve this, create a wrapper script that explicitly sources the correct nvm before running cross-seed. Run the following after completing the installation steps above:

    cat << 'EOF' > ~/bin/cross-seed-wrapper
    #!/bin/bash
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh"
    nvm use 22 > /dev/null 2>&1
    command cross-seed "$@"
    EOF
    chmod +x ~/bin/cross-seed-wrapper

    Use cross-seed-wrapper in place of cross-seed for all commands going forward. This ensures cross-seed always runs with the correct Node.js version regardless of what .bashrc has set.

  • cross-seed
  • Prerequisites
  • Features
  • Installation
  • Configuration
  • Usage
  • Notes
Logo

© 2025 SlashN Services Pte. Ltd. All rights reserved.

Discord