From 69f3a355c74e92ef9182491985b018abba5ed7ec Mon Sep 17 00:00:00 2001 From: ssmithx Date: Thu, 10 Sep 2026 15:28:17 +0000 Subject: [PATCH] fix(tor): recognize bitcoin-core in Tor auto-enrollment tables apps/bitcoin-core/manifest.yml uses id "bitcoin-core", but known_service_port/is_protocol_service (tor/mod.rs) and tor_service_name (docker_packages.rs) only matched "bitcoin" and "bitcoin-knots", so the app silently never got auto-enrolled for a P2P (8333) hidden service at install time, and the UI's Tor address lookup for it always returned None. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01WxfWiFfnBkdSxwKUuV2tNy --- core/archipelago/src/api/rpc/tor/mod.rs | 4 ++-- core/archipelago/src/container/docker_packages.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/archipelago/src/api/rpc/tor/mod.rs b/core/archipelago/src/api/rpc/tor/mod.rs index 0ec6a611..e0e6efef 100644 --- a/core/archipelago/src/api/rpc/tor/mod.rs +++ b/core/archipelago/src/api/rpc/tor/mod.rs @@ -594,7 +594,7 @@ fn is_valid_v3_onion(s: &str) -> bool { pub(in crate::api::rpc) fn known_service_port(name: &str) -> u16 { match name { "archipelago" => 80, - "bitcoin" | "bitcoin-knots" => 8333, + "bitcoin" | "bitcoin-core" | "bitcoin-knots" => 8333, "electrs" | "electrumx" => 50001, "lnd" => 8080, "btcpay" | "btcpay-server" | "btcpayserver" => 23000, @@ -619,7 +619,7 @@ pub(in crate::api::rpc) fn known_service_port(name: &str) -> u16 { pub(in crate::api::rpc) fn is_protocol_service(name: &str) -> bool { matches!( name, - "bitcoin" | "bitcoin-knots" | "electrs" | "electrumx" | "lnd" + "bitcoin" | "bitcoin-core" | "bitcoin-knots" | "electrs" | "electrumx" | "lnd" ) } diff --git a/core/archipelago/src/container/docker_packages.rs b/core/archipelago/src/container/docker_packages.rs index 557e0e60..76935b22 100644 --- a/core/archipelago/src/container/docker_packages.rs +++ b/core/archipelago/src/container/docker_packages.rs @@ -660,7 +660,7 @@ fn apply_dynamic_metadata(app_id: &str, meta: &mut AppMetadata) { fn tor_service_name(app_id: &str) -> Option<&'static str> { match app_id { "archipelago" => Some("archipelago"), - "bitcoin" | "bitcoin-knots" | "bitcoind" => Some("bitcoin"), + "bitcoin" | "bitcoin-core" | "bitcoin-knots" | "bitcoind" => Some("bitcoin"), "electrumx" | "electrs" | "electrum" => Some("electrumx"), "lnd" | "lnd-ui" => Some("lnd"), "btcpay" | "btcpay-server" | "btcpayserver" => Some("btcpay"),