diff --git a/radicle-node/src/main.rs b/radicle-node/src/main.rs
index ea92fd6e..a848e913 100644
--- a/radicle-node/src/main.rs
+++ b/radicle-node/src/main.rs
@@ -14,6 +14,7 @@ use radicle_node::{logger, service};
struct Options {
connect: Vec<(NodeId, Address)>,
external_addresses: Vec
,
+ daemon: Option,
limits: service::config::Limits,
listen: Vec,
}
@@ -27,6 +28,7 @@ impl Options {
let mut external_addresses = Vec::new();
let mut limits = service::config::Limits::default();
let mut listen = Vec::new();
+ let mut daemon = None;
while let Some(arg) = parser.next()? {
match arg {
@@ -38,6 +40,10 @@ impl Options {
let addr = parser.value()?.parse()?;
external_addresses.push(addr);
}
+ Long("git-daemon") => {
+ let addr = parser.value()?.parse()?;
+ daemon = Some(addr);
+ }
Long("limit-routing-max-age") => {
let secs: u64 = parser.value()?.parse()?;
limits.routing_max_age = LocalDuration::from_secs(secs);
@@ -66,6 +72,7 @@ impl Options {
Ok(Self {
connect,
+ daemon,
external_addresses,
limits,
listen,
@@ -90,7 +97,12 @@ fn execute() -> anyhow::Result<()> {
..service::Config::default()
};
let proxy = net::SocketAddr::new(net::Ipv4Addr::LOCALHOST.into(), 9050);
- let daemon = ([0, 0, 0, 0], 9418).into();
+ let daemon = options.daemon.unwrap_or_else(|| {
+ net::SocketAddr::new(
+ net::Ipv4Addr::UNSPECIFIED.into(),
+ radicle::git::PROTOCOL_PORT,
+ )
+ });
Runtime::init(home, config, options.listen, proxy, daemon, signer)?.run()?;