diff --git a/Cargo.lock b/Cargo.lock index cbcd27ef..5ae35090 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5690,7 +5690,6 @@ version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" dependencies = [ - "cc", "pkg-config", "vcpkg", ] @@ -6946,15 +6945,6 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" -[[package]] -name = "openssl-src" -version = "300.5.5+3.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f1787d533e03597a7934fd0a765f0d28e94ecc5fb7789f8053b1e699a56f709" -dependencies = [ - "cc", -] - [[package]] name = "openssl-sys" version = "0.9.111" @@ -6963,7 +6953,6 @@ checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" dependencies = [ "cc", "libc", - "openssl-src", "pkg-config", "vcpkg", ] diff --git a/Cargo.toml b/Cargo.toml index f0eb0def..0b0a4f84 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -92,8 +92,8 @@ uuid = { version = "0.8.2", features = ["v4"] } num-bigint = "0.4.6" ## tor -arti-client = { version = "0.42.0", features = ["pt-client", "static", "onion-service-service", "onion-service-client", "experimental-api", "bridge-client"] } -tor-rtcompat = { version = "0.42.0", features = ["static"] } +arti-client = { version = "0.42.0", features = ["pt-client", "onion-service-service", "onion-service-client"] } +tor-rtcompat = "0.42.0" tor-config = "0.42.0" fs-mistrust = "0.14.1" tor-hsservice = "0.42.0" diff --git a/src/tor/tor.rs b/src/tor/tor.rs index 6a2c33f8..1657e088 100644 --- a/src/tor/tor.rs +++ b/src/tor/tor.rs @@ -250,8 +250,6 @@ impl Tor { } } }; - // Wait 5s after launch. - thread::sleep(Duration::from_millis(5000)); TOR_STATE.client_launching.store(false, Ordering::Relaxed); } @@ -537,6 +535,11 @@ impl Tor { let id = service_id.clone(); w_services.insert(id, (port, key.clone(), service, proxy)); } + // Remove service from starting. + { + let mut w_services = TOR_STATE.start.write(); + w_services.remove(&service_id); + } // Check service availability. let addr = onion_addr.unwrap().display_unredacted().to_string(); let url = format!("http://{}/", addr); @@ -577,8 +580,8 @@ impl Tor { .block_on(async { const MAX_ERRORS: i32 = 16; let mut errors_count = 0; - // Wait 5 seconds. - tokio::time::sleep(Duration::from_millis(5000)).await; + // Wait 10 seconds. + tokio::time::sleep(Duration::from_millis(10000)).await; loop { if !Self::check_running(&service_id) { break; @@ -609,9 +612,6 @@ impl Tor { // Remove service from checking. let mut w_services = TOR_STATE.check.write(); w_services.remove(service_id); - // Remove service from starting. - let mut w_services = TOR_STATE.start.write(); - w_services.remove(service_id); } // Restart services. Self::restart(); @@ -626,9 +626,6 @@ impl Tor { if !Self::check_running(&service_id) { break; } - // Remove service from starting. - let mut w_services = TOR_STATE.start.write(); - w_services.remove(&service_id); errors_count = 0; // Check again after 60s. Duration::from_millis(60000)