diff --git a/Cargo.toml b/Cargo.toml index c019c17..b634ba2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ repository = "https://github.com/YGGverse/aquatic-crawler" anyhow = "1.0.98" clap = { version = "4.5", features = ["derive"] } hyper-util = "0.1.14" -librqbit = "8.1.0" +librqbit = {version = "8.1.0", features = ["disable-upload"]} serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" tokio = { version = "1.45", features = ["full"] } diff --git a/README.md b/README.md index 742a9e0..c15795c 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,16 @@ Options: --disable-dht Disable DHT resolver (useful with `torrent_tracker`) - -s, --sleep + --enable-upnp-port-forwarding + Enable UPnP + + --enable-upload + Enable upload + + --socks-proxy-url + Use `socks5://[username:password@]host:port` + + -s Crawl loop delay in seconds [default: 300] diff --git a/src/argument.rs b/src/argument.rs index 723fab3..37cfd0e 100644 --- a/src/argument.rs +++ b/src/argument.rs @@ -32,7 +32,19 @@ pub struct Argument { #[arg(long, default_value_t = false)] pub disable_dht: bool, + /// Enable UPnP + #[arg(long, default_value_t = false)] + pub enable_upnp_port_forwarding: bool, + + /// Enable upload + #[arg(long, default_value_t = false)] + pub enable_upload: bool, + + /// Use `socks5://[username:password@]host:port` + #[arg(long)] + pub socks_proxy_url: Option, + /// Crawl loop delay in seconds - #[arg(short, long, default_value_t = 300)] + #[arg(short, default_value_t = 300)] pub sleep: u64, } diff --git a/src/main.rs b/src/main.rs index 7cede70..691ed45 100644 --- a/src/main.rs +++ b/src/main.rs @@ -45,6 +45,9 @@ async fn main() -> anyhow::Result<()> { std::path::PathBuf::new(), SessionOptions { disable_dht: argument.disable_dht, + disable_upload: !argument.enable_upload, + enable_upnp_port_forwarding: argument.enable_upnp_port_forwarding, + socks_proxy_url: argument.socks_proxy_url.clone(), trackers: trackers.clone(), ..SessionOptions::default() },