xdcc-search

Crates.ioxdcc-search
lib.rsxdcc-search
version0.1.0
created_at2025-05-27 09:24:48.112634+00
updated_at2025-05-27 09:24:48.112634+00
descriptionCrate to search in the xdcc databases available online
homepage
repository
max_upload_size
id1690831
size68,089
Jรฉrรฉmie Drouet (jdrouet)

documentation

README

xdcc-search

A library for querying XDCC file distribution engines, such as sunxdcc.com.

This crate provides a lightweight, asynchronous interface to search XDCC bots and retrieve pack metadata. It parses and normalizes the response into structured Rust types.

Features

  • ๐Ÿš€ Asynchronous search using reqwest
  • ๐Ÿ“ฆ Typed Entry results with filename, size, bot info, etc.
  • ๐Ÿ›  Error handling for malformed data
  • ๐Ÿ”Œ Extensible design: future support for multiple XDCC engines

Example

use xdcc_search::sunxdcc::Engine;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let engine = Engine::default();
    let results = engine.search("ubuntu", 1).await?;

    for entry in results {
        println!(
            "Pack #{} from {} on {}: {} ({} bytes, {} downloads)",
            entry.packnum,
            entry.bot_name,
            entry.network,
            entry.filename,
            entry.filesize,
            entry.downloads
        );
    }

    Ok(())
}

Crate Organization

  • sunxdcc: Implementation of the search engine for sunxdcc.com.
  • lib.rs: Re-exports sunxdcc and acts as an integration point for future engines.

Installation

Add this to your Cargo.toml:

[dependencies]
xdcc-search = "0.1.0"

Note: Replace "0.1.0" with the actual version when publishing to crates.io.

Roadmap

  • โœ… SunXDCC support
  • ๐Ÿ”œ Add trait-based abstraction for other engines
  • ๐Ÿ” Support filtering, sorting, or ranking results
  • ๐Ÿงช Add unit tests and fuzzing for decoders

License

MIT OR Apache-2.0


This project is not affiliated with sunxdcc.com or any XDCC indexing service. Use responsibly.

Commit count: 0

cargo fmt