Skip to main content

A specialized cross-seeding tool designed for music torrents, featuring automatic file mapping, partial matching, and seamless torrent injection

Project description

nemorosa

PyPI version PyPI - Python Version CI License

nemorosa is a specialized cross-seeding tool designed specifically for music torrents, designed to work alongside cross-seed.

Compared to existing music torrent cross-seeding tools, nemorosa offers the strongest matching capabilities and the widest range of supported trackers, and the most natural and human-friendly user experience.

Unlike traditional music torrent cross-seeding tools that can only match torrents with identical hashes, nemorosa excels at partial matching and automatic file mapping, enabling cross-seeding from any source site to Gazelle-based trackers.

Features

  • Natural User Experience: Automatically reads torrents from your client, finds cross-seeding opportunities, and seamlessly injects matched torrents
  • Advanced Partial Matching: Handles cases like different block sizes, missing artwork, or modified covers that would fail with traditional tools
  • Automatic File Mapping: Automatically renames folders and files to match your existing content, including handling zero-width spaces and other encoding issues seamlessly, entirely through torrent client's built-in renaming functionality without hard/soft links, so you don't need to worry about linking problems.
  • Wide Site Support: Supports cross-seeding from any source site (including non-Gazelle trackers, public trackers, or any other torrent source) to Gazelle-based target trackers:
    • GazelleJSONAPI: RED/OPS/DIC (modern Gazelle with API support)
    • Gazelle (Legacy): LZTR/Libble (legacy Gazelle with parser support)
  • Web Server Mode: HTTP API and webhook support for integration with other tools and automation
    • Scheduled Jobs: Automated search and cleanup tasks with configurable intervals
    • Announce Matching: Automatically matches cross-seeds from IRC announces or RSS feeds by processing torrent announces from autobrr.
    • Triggering Searches: Enables immediate cross-seed searches when torrents finish downloading by adding on-completion scripts to your torrent client that call nemorosa's HTTP API.
  • Smart Retry System: Automatically retry failed downloads and track undownloaded torrents
  • Multi-Client Support: Works with Transmission, qBittorrent, Deluge, and rTorrent

Prerequisites

  • Python 3.11+

  • One of the supported torrent clients with remote access enabled:

    • Transmission
    • qBittorrent
    • Deluge
    • rTorrent

    Note: If using qBittorrent < 4.5.0, Transmission, Deluge, or rTorrent, nemorosa needs access to the client's torrents directory. When running in Docker, ensure you map the torrents directory to the nemorosa container.

  • Access to Gazelle-based target trackers for cross-seeding (source sites can be ANY type):

    • GazelleJSONAPI: RED, OPS, DIC
    • Gazelle (Legacy): LZTR, Libble
  • Valid API key or cookie for target tracker authentication

Usage

For detailed usage instructions, please refer to our Wiki.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nemorosa-0.5.0.tar.gz (82.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nemorosa-0.5.0-py3-none-any.whl (102.0 kB view details)

Uploaded Python 3

File details

Details for the file nemorosa-0.5.0.tar.gz.

File metadata

  • Download URL: nemorosa-0.5.0.tar.gz
  • Upload date:
  • Size: 82.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for nemorosa-0.5.0.tar.gz
Algorithm Hash digest
SHA256 4bfcaa7120f14bde14fda3129ad53850170f42c463d84fb74e8e86699ef4e0e6
MD5 ca6f1262b000ef013412388c09d45c04
BLAKE2b-256 c7d445b44fdde1f253daf176be3de4e3052e433240ff1fb17d636e20a4ede95d

See more details on using hashes here.

File details

Details for the file nemorosa-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: nemorosa-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 102.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for nemorosa-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 efcae7531534a05d70c8d5332af790e64aa36d0e2a318505414dff979417fc7b
MD5 02c75f5aef66c9278e2d5d1f3e2af334
BLAKE2b-256 35fd2793b346e361d7f3c30256e1316e66c86bf206b615d38588014489a044b9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page