implement bind option

This commit is contained in:
yggverse 2025-07-10 15:55:33 +03:00
parent 3f549e2077
commit 4646500b66
3 changed files with 14 additions and 0 deletions

View file

@ -53,7 +53,14 @@ pub struct Config {
#[arg(long, default_value_t = false)]
pub enable_tcp: bool,
/// Bind resolver session on specified device name (`tun0`, `mycelium`, etc.)
#[arg(long)]
pub bind: Option<String>,
/// Bind listener on specified `host:port` (`[host]:port` for IPv6)
///
/// * this option is useful only for binding the data exchange service,
/// to restrict the outgoing connections for torrent resolver, use `bind` option instead
#[arg(long)]
pub listen: Option<String>,

View file

@ -51,6 +51,7 @@ async fn main() -> Result<()> {
None => PathBuf::new(),
},
SessionOptions {
bind_device_name: config.bind,
listen: match config.listen {
Some(l) => Some(ListenerOptions {
listen_addr: std::net::SocketAddr::from_str(&l)?,