# soulseek-rs-lib A Rust library for implementing the Soulseek peer-to-peer protocol. ## About This library provides the core functionality for interacting with the Soulseek network. It can be used to build custom Soulseek clients or bots. ## Usage Add this to your `Cargo.toml`: ```toml [dependencies] soulseek-rs-lib = "0.1.0" ``` ## Example ```rust use soulseek_rs::{Client, PeerAddress}; use std::time::Duration; fn main() -> Result<(), Box> { // Create and connect to Soulseek server let mut client = Client::new( PeerAddress::new("server.slsknet.org".to_string(), 2242), "username".to_string(), "password".to_string(), false, None, ); client.connect(); client.login()?; // Search for files let results = client.search("Alex Kassian lifestream", Duration::from_secs(10))?; // Download first available file if let Some(result) = results.iter().find(|r| !r.files.is_empty()) { let file = &result.files[0]; client.download( file.name.clone(), file.username.clone(), file.size, "~/Downloads".to_string(), )?; println!("Downloaded: {}", file.name); } Ok(()) } ```