From 6ff473ab5d951c099a7c9621ee61034cd5b3d5f4 Mon Sep 17 00:00:00 2001 From: Ayanami Date: Tue, 24 May 2022 15:46:15 +0900 Subject: [PATCH] Add an ability to change circuits --- backend/src/api/bisq/bisq.ts | 3 +++ backend/src/api/fiat-conversion.ts | 3 +++ backend/src/tasks/pools-updater.ts | 3 +++ 3 files changed, 9 insertions(+) diff --git a/backend/src/api/bisq/bisq.ts b/backend/src/api/bisq/bisq.ts index 4e2eb5fdd..ed9c4fc3e 100644 --- a/backend/src/api/bisq/bisq.ts +++ b/backend/src/api/bisq/bisq.ts @@ -181,6 +181,9 @@ class Bisq { if (config.SOCKS5PROXY.USERNAME && config.SOCKS5PROXY.PASSWORD) { socksOptions.username = config.SOCKS5PROXY.USERNAME; socksOptions.password = config.SOCKS5PROXY.PASSWORD; + } else { + // Retry with different tor circuits https://stackoverflow.com/a/64960234 + socksOptions.username = `circuit${retry}`; } // Handle proxy agent for onion addresses diff --git a/backend/src/api/fiat-conversion.ts b/backend/src/api/fiat-conversion.ts index e8a504eb7..bed86e92f 100644 --- a/backend/src/api/fiat-conversion.ts +++ b/backend/src/api/fiat-conversion.ts @@ -76,6 +76,9 @@ class FiatConversion { if (config.SOCKS5PROXY.USERNAME && config.SOCKS5PROXY.PASSWORD) { socksOptions.username = config.SOCKS5PROXY.USERNAME; socksOptions.password = config.SOCKS5PROXY.PASSWORD; + } else { + // Retry with different tor circuits https://stackoverflow.com/a/64960234 + socksOptions.username = `circuit${retry}`; } // Handle proxy agent for onion addresses diff --git a/backend/src/tasks/pools-updater.ts b/backend/src/tasks/pools-updater.ts index 0211948d6..471c066ad 100644 --- a/backend/src/tasks/pools-updater.ts +++ b/backend/src/tasks/pools-updater.ts @@ -143,6 +143,9 @@ class PoolsUpdater { if (config.SOCKS5PROXY.USERNAME && config.SOCKS5PROXY.PASSWORD) { socksOptions.username = config.SOCKS5PROXY.USERNAME; socksOptions.password = config.SOCKS5PROXY.PASSWORD; + } else { + // Retry with different tor circuits https://stackoverflow.com/a/64960234 + socksOptions.username = `circuit${retry}`; } axiosOptions.httpsAgent = new SocksProxyAgent(socksOptions);