Sign inSign up

uwucode/ygege

By uwucode

Updated 6 months ago

High-performance indexer for YGG Torrent written in Rust

Image
7

100K+

uwucode/ygege repository overview

Ygégé - High-Performance U2P Indexer

GitHub License

Ygégé is a blazing-fast indexer for U2P (UTOPEER) written in Rust, designed for seamless integration with Prowlarr and other media automation tools.

🚀 Key Features

  • High-performance U2P metadata access – Fast queries against U2P metadata relays
  • Lightning Fast – Near-instant search results with low memory footprint
  • DNS Handling – Reliable resolution even in restrictive network environments
  • Zero Dependencies – No browser drivers or external services needed
  • Prowlarr Ready – Drop-in custom indexer support
  • TMDB/IMDB Integration – Enhanced metadata fetching
  • Multi-Architecture – Supports linux/amd64 and linux/arm64

📦 Quick Start

Using Docker Run
docker run -d \
  --name ygege \
  -p 8715:8715 \
  --restart unless-stopped \
  uwucode/ygege:latest
Using Docker Compose

Create a compose.yml file:

services:
  ygege:
    image: uwucode/ygege:latest
    container_name: ygege
    restart: unless-stopped
    environment:
      - BIND_IP=0.0.0.0
      - BIND_PORT=8715
      - LOG_LEVEL=info
    volumes:
      - ./ygege/sessions:/app/sessions
    ports:
      - 8715:8715

Then run:

docker compose up -d

🔧 Configuration

Environment Variables
VariableDescriptionDefaultRequired
BIND_IPServer bind address0.0.0.0No
BIND_PORTServer port8715No
LOG_LEVELLog level (trace, debug, info, warn, error)infoNo
Using config.json (Alternative)

Mount a configuration file instead of using environment variables:

services:
  ygege:
    image: uwucode/ygege:latest
    container_name: ygege
    restart: unless-stopped
    volumes:
      - ./ygege/sessions:/app/sessions
      - ./ygege/config.json:/app/config.json
    ports:
      - 8715:8715

config.json example:

{
  "bind_ip": "0.0.0.0",
  "bind_port": 8715,
  "log_level": "info"
}

🔌 Prowlarr Integration

  1. Find your Prowlarr AppData directory (in /system/status page)
  2. Download ygege.yml from the GitHub repo
  3. Copy it to {prowlarr_appdata}/Definitions/Custom/ (create Custom folder if needed)
  4. Restart Prowlarr
  5. Add Ygégé as an indexer with:
    • Base URL: http://localhost:8715/ (or http://ygege:8715/ for Docker Compose)

🏷️ Available Tags

TagDescription
latest, stableLatest stable release
0.5.0, 0.5, 0Specific version
masterLatest build from master
develop, betaDevelopment/beta builds

📊 API Endpoints

  • GET /search – Search U2P metadata with advanced filters
  • GET /torrent/info – Get detailed metadata information
  • GET /torrent/{id}/files – List files metadata associated with an entry
  • GET /health – Health check endpoint

Full API documentation: GitHub Docs

🛡️ Security & Performance

Ygégé focuses on efficient and reliable access to U2P / UTOPEER metadata. It does not host or distribute any content itself; it only queries and exposes metadata provided by U2P services.

📝 Important Notes

🔐 Credentials / Keys: For Docker Compose setups, consider using Docker secrets or environment files instead of hardcoding keys.

🆘 Support & Documentation

📜 License

This project is licensed under the MIT License – see the LICENSE file for details.


Built with ❤️ using Rust | Multi-arch support: linux/amd64, linux/arm64

Tag summary

Content type

Image

Digest

sha256:149685345

Size

40.2 MB

Last updated

6 months ago

docker pull uwucode/ygege