MCPcopy Index your code
hub / github.com/UwUDev/francisca

github.com/UwUDev/francisca @v0.9.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.9.1 ↗ · + Follow
59 symbols 98 edges 17 files 9 documented · 15%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Ygégé

Ygégé Logo

High-performance indexer for ygg.gratis via the Nostr protocol, written in Rust

LEGAL DISCLAIMER

Key Features: - Connects to the ygg.gratis Nostr relay (wss://relay.ygg.gratis) - No account or credentials required — ygg.gratis is public - Automatic relay ranking by latency at startup - Near-instant search - Low memory usage - Modular torrent search (by name, seeders, leechers, release date, etc.) - Optional Tor support to anonymize relay connections - TMDB/IMDB integration for ID-based lookups - Compatible with Prowlarr, Jackett, and all *arr applications

Compilation Requirements

  • Rust 1.85.0+

Installation

A ready-to-use Docker image is available for Ygégé. To get started with Docker deployment and configuration, see the dedicated Docker guide.

[!IMPORTANT] If you encounter a Permission denied error after updating, see the Permission Management section in the Docker guide.

Docker

To create a custom Docker image with your own optimizations, refer to the Docker build guide.

Manual Installation

To compile the application from sources, follow the manual installation guide.

IMDB and TMDB configuration

To enable IMDB and TMDB metadata fetching, please follow the instructions in the TMDB and IMDB support guide.

Tor Support

Ygégé can route its Nostr relay connections through Tor to anonymize traffic.

Environment Variable Default Description
USE_TOR false Enable Tor routing (true/false)
TOR_PROXY 127.0.0.1:9050 SOCKS5 Tor proxy address

Docker Compose example:

environment:
  USE_TOR: "true"
  TOR_PROXY: "127.0.0.1:9050"  # Optional if using default

[!NOTE] Tor must be installed and running on your machine (or accessible from the container) for this option to work.

Prowlarr integration

Ygégé can be used as a custom indexer for Prowlarr. To set it up, find your AppData directory (located in the /system/status page of Prowlarr) and copy the ygege.yml file on the repo in the {your prowlarr appdata path}/Definitions/Custom folder, you'll probably need to create the Custom folder.

Once it's done, restart Prowlarr and go to the indexer settings, you should see Ygégé in the list of available indexers.

[!NOTE] Prowlarr doesn't allow custom "Base URL". By default the URL is http://localhost:8715/. For Docker Compose setups, use http://ygege:8715/. Alternatively, use ygege-dns-redirect.local with custom DNS or hosts file redirection.

Jackett Integration

Ygégé can be used as a custom indexer for Jackett. To set it up, locate your Jackett AppData directory and copy the ygege.yml file from the repository into the {your jackett appdata path}/cardigann/definitions/ folder. You may need to create the cardigann/definitions/ subfolder if it doesn't exist.

[!NOTE] The LinuxServer Jackett image provides a well-organized folder structure. If you're using a different Docker image, adjust the paths accordingly.

Once complete, restart Jackett and navigate to the indexer settings. You should see Ygégé listed among the available indexers.

API Documentation

The API documentation is available here.

Core symbols most depended-on inside this repo

search
called by 4
src/search.rs
to_json
called by 3
src/parser.rs
fix_title
called by 3
src/dbs.rs
cleanText
called by 2
exctractor.js
acquire
called by 2
src/rate_limiter.rs
rank_relays
called by 2
src/nostr.rs
remove_first_relay
called by 2
src/nostr.rs
send_req
called by 2
src/nostr.rs

Shape

Function 35
Method 15
Class 6
Enum 3

Languages

Rust97%
TypeScript3%

Modules by API surface

src/nostr.rs13 symbols
src/config.rs8 symbols
src/rate_limiter.rs6 symbols
src/search.rs5 symbols
src/categories.rs5 symbols
src/parser.rs4 symbols
src/dbs.rs4 symbols
src/rest/search.rs3 symbols
src/rest/infos.rs2 symbols
src/rest/homepage.rs2 symbols
src/main.rs2 symbols
exctractor.js2 symbols

For agents

$ claude mcp add francisca \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact