Skip to content

Zaarrg/comet-uncached

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

β˜„οΈ Comet - Discord

⚠️ Fork Disclaimer

  • 🚧 Work in Progress: This is a fork of the official Comet repository. It will be abandoned once all features are implemented in the original repo.
  • ✨ Primary Goal: Add uncached support and enhance features.
  • πŸ› οΈ Stay Updated: Check the current progress and updates in the todo.md.
  • ⚠️ Caution: Stuff might break frequently as this is under active development!

🌟 Fork Features

  • πŸ” Advanced Language Search: Search in multiple languages.
  • πŸ”§ Advanced Sorting and Preferences: Sort by language, rank, seeders, size, or completion.
  • πŸš€ Advanced Binge Watching: Advanced recognition of binge groups, allows for even single usenet files to be binged.
  • πŸŽ›οΈ Customizable Results: Customize how results are shown in Stremio (Result Order).
  • πŸ”’ Config Encryption: Secure your configuration via the TOKEN environment variable.
  • πŸ—‚οΈ Debrid Catalog: View your recently uploaded files in Stremio as catalog
  • πŸ“° Usenet Support: Supports usenet caching by using usenet indexer from prowlarr and torbox.
  • ⬇️ Auto Cache Next: Automatically starts caching next episode.
  • 🌐 Improved URL Handling:
    • Shortened URLs with filenames included.
    • Use the TOKEN environment variable for even shorter playback URLs, improving player compatibility.
    • Highly recommended even if encryption is not needed! As this improved player compatibility
  • πŸ“ Updates and Progress: For detailed notes, see todo.md.

🌟 State of Uncached Support

Provider Status Notes Supports Catalog
Real Debrid βœ… Full Support πŸ”„ Seasons limit + ✨ DEBRID_TAKE_FIRST βœ… Allows catalog view
All Debrid βœ… Full Support πŸ”„ Seasons limit + ✨ DEBRID_TAKE_FIRST βœ… Allows catalog view
Premiumize βœ… Full Support πŸ”„ Seasons limit ❌
Debrid Link βœ… Full Support ✨ DEBRID_TAKE_FIRST βœ… Allows catalog view
Torbox βœ… Full Support + πŸ“° Usenet Support πŸ”„ Seasons limit + ⬇️ Auto Cache Next + ✨ DEBRID_TAKE_FIRST + βœ… Allows catalog view

Explanation of Symbols:

  • βœ… Full Support: The provider supports uncached torrent functionality.
  • ❌ Unsupported: The provider currently does not support uncached torrents.
  • πŸ”„ Seasons Limit: For TV shows, torrents containing entire seasons must fully download before playback begins; individual episodes cannot be played as they complete. This is a technical limitation of the provider.
  • ✨ DEBRID_TAKE_FIRST: Supports the environment variable to explicitly return the first e.g., 100 files from the provider, useful for private torrents uploaded via DebridMediaManager or the provider's UI.
  • 🚧 Work in Progress: Feature planned but not yet available.
  • βœ… Supports Catalog: Allows viewing and playing recently uploaded debrid files in Stremio under e.g. Discover -> Others -> Comet RealDebrid.
  • πŸ“° Usenet Support: Supports usenet caching by using usenet indexer from prowlarr.
  • ⬇️ Auto Cache Next: Supports auto caching next episode.
  • ❌ Does Not Support Catalog: The provider does not have catalog integration in Stremio.

πŸš€ Comet Uncached Run Down

πŸ”— Uncached for Torrentio:

  1. Add torrentio to the INDEXER_MANAGER_INDEXERS environment variable
  2. Navigate to the Configuration Page.
  3. Add Torrentio under the Indexers Uncached section.
  4. πŸŽ‰ Done! Torrentio will now show uncached torrents.

πŸ“š For Other Indexers:

  1. Go to the Configuration Page.
  2. Select under Indexers the indexers you want to enable.
  3. Under Indexers Uncached, choose the indexers you want to be considered for uncached torrents.

βš™οΈ Other Useful Options:

  • By default, all uncached torrents are grouped under the Uncached Resolution category.
  • If you prefer uncached torrents to be sorted and treated like normal torrents:
    1. Deselect Uncached under the Resolutions section on the Configuration Page.
    2. This allows for sorting by resolution to function normally.

πŸ“° Usenet Support:

  • Only Torbox + Prowlarr Supports watching usenet files.
  • This is in many aspects better then torrents as its not limited to seeders and peers meaning every file can be nearly always cached.
  • Example usenet setup using torbox + prowlarr
    1. Add a usenet indexer to Prowlarr like scenenzbs
    2. Add the created Indexer Name to the INDEXER_MANAGER_INDEXERS environment variable
    3. Visit the Web Ui and select the added indexers under Indexers and Indexers Uncached
    4. Optionally adjust the USENET_REFRESH_ATTEMPTS env. By default this is 10 and seems to be more then enough for the Torbox pro plan download speed.
    5. πŸŽ‰ Done! Comet will now show the usenet results of Prowlarr and use Torbox to cache and stream.

πŸ’‘ Note: This setup allows for even Uncached files to seem cached. Because the usenet files are not speed restricted by seeders or peers, it allows in combination with Torbox Pro 80 Gbps download speed to add single Episodes with a size of e.g. 2 GB, which are then instantly downloaded. The USENET_REFRESH_ATTEMPTS parameter checks every 4 secondsβ€”up to USENET_REFRESH_ATTEMPTS timesβ€”whether the file is ready for streaming; if the file is ready before the last attempt, Stremio begins playback immediately. Meaning in Stremio only a longer loading screen is experienced then usual. This, in combination with the Advanced Binge Watching which allows for Single files to be binged watched and not like usually with torrents which require the whole torrent to be one Season, guarantees a smooth watching experience. Of course this can as well fail if file names are inconsistent across episodes or the usenet file is broken and cant be repaired.

🌍 Language Support

  • Default Behavior: Comet compares torrent titles to all languages by default.
  • Language Preference:
    • To sort specific languages to the top, select them under Language Preference.
  • Prowlarr/Jackett/Zilean:
    • To search these in additional languages, enable Language Search for your desired languages.
    • ⚠️ Note: Selecting many languages may significantly increase search time.

πŸ“‹ Result Order

  • This determines the order in which results are displayed.
  • To customize:
    1. Deselect all options.
    2. Select the options in the order you prefer.

πŸ—‚οΈ Supports Catalog:

  1. Navigate to Discover -> Others -> Comet {Debrid Provider} in Stremio to view and play recently uploaded files from your Debrid account.
  2. Enjoy seamless access to your debrid uploads directly in Stremio. πŸŽ‰

πŸ’‘ Note: If the catalog does not show up, try removing and re-adding the Comet addon in Stremio.

πŸ“‹ Sorting Order

  • Sorting follows a fixed hierarchical order:
    1. Resolution: Torrents are grouped and sorted by resolution.
    2. Primary Sort: Within each resolution, torrents are sorted by rank, seeders, or size based on the selected type.
    3. Completion: Complete torrents are prioritized within their resolution group while maintaining the primary sort order.
    4. Cached Preference: Cached torrents are moved to the top within their resolution if Uncached is deselected as Resolution, preserving their order.
    5. Language Preference: Torrents matching preferred languages are prioritized and moved to the top within their resolution group in the order specified in the configuration.

πŸš€ Features

  • 🌐 Proxy Debrid Streams: The only Stremio addon that proxies Debrid streams, enabling multiple IPs to use the same account simultaneously!
  • πŸ”„ IP-Based Connection Limit: Max connection limit and dashboard for Debrid stream proxying.
  • 🧩 Indexer Support:
    • Jackett and Prowlarr: Set the INDEXER_MANAGER_TYPE environment variable to jackett or prowlarr.
    • Zilean (DMM Scraper): Unlock even more torrent results.
    • Torrentio (Scraper): Additional torrent sources.
  • ⚑ Smart Features:
    • Caching System: Supports SQLite/PostgreSQL.
    • Smart Torrent Ranking: Powered by RTN.
    • Proxy Support: Bypass Debrid restrictions effortlessly.
  • πŸ’Ύ Debrid Services Supported:
    • Real-Debrid, All-Debrid, Premiumize, TorBox, and Debrid-Link.
  • 🎯 Direct Torrent Support: Activate direct torrents by not specifying a Debrid API Key (uses cached results from other users).
  • πŸŽ₯ Kitsu Integration: Enjoy anime content with Kitsu support.
  • πŸ”ž Adult Content Filter: Control content visibility with filtering options.

πŸ› οΈ Installation

To customize your Comet experience, review the available environment variables.

For a full docker example check the docker-compose.yaml and .stack-env.

πŸ“¦ Self-Hosting

From Source

  1. Clone the repository:
    git clone https://github.com/Zaarrg/comet-uncached
    cd comet-uncached
  2. Install dependencies:
    pip install poetry
    poetry install
  3. Start Comet:
    poetry run python -m comet.main

Using Docker

  1. Run the Docker image after modifying the environment variables:

    docker run --name comet -p 8000:8000 -d \
     -e FASTAPI_HOST=0.0.0.0 \
     -e FASTAPI_PORT=8000 \
     -e FASTAPI_WORKERS=1 \
     -e CACHE_TTL=86400 \
     -e DEBRID_PROXY_URL=http://127.0.0.1:1080 \
     -e INDEXER_MANAGER_TYPE=jackett \
     -e INDEXER_MANAGER_URL=http://127.0.0.1:9117 \
     -e INDEXER_MANAGER_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \
     -e INDEXER_MANAGER_INDEXERS='["EXAMPLE1_CHANGETHIS", "EXAMPLE2_CHANGETHIS", "torrentio"]' \
     -e INDEXER_MANAGER_TIMEOUT=30 \
     -e TOKEN=XXXXXXXXXX \
     -e GET_TORRENT_TIMEOUT=5 \
     ghcr.io/zaarrg/comet-uncached:latest
  2. To update your container:

    • Find the existing container:
      docker ps
    • Stop and remove it:
      docker stop <CONTAINER_ID>
      docker rm <CONTAINER_ID>
    • Pull the latest version:
      docker pull ghcr.io/zaarrg/comet-uncached:latest
    • Re-run the Docker command.

Using Docker Compose

  1. Copy the docker-compose.yaml file to a directory.
  2. Copy env-sample to .env in the same directory.
  3. Pull the latest version:
    docker compose pull
  4. Start the container:
    docker compose up -d

🚧 Debrid IP Blacklist

To bypass Real-Debrid's (or AllDebrid's) IP blacklist, start a Cloudflare-Warp container.

🎨 Web UI Showcase

Comet Web UI