-
Notifications
You must be signed in to change notification settings - Fork 492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move exchange rate fetching to client #13028
Move exchange rate fetching to client #13028
Conversation
baa9b18
to
9e3a483
Compare
Most of the providers are exchanges that block access to their api from Tor. That means that not all providers can be used when Tor is enabled.
953f8b4
to
9f56e4a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The question is: what to do if the client enables Tor and chose an exchange rate provider which cannot be reached with Tor? |
We want to prevent identifying that a specific IP using Wasabi.
My suggestion is to do random timing and random useragent in case of Clearnet. It is good enough and Wasabi will be compatible with any exchange rate provider - win! |
Some providers reject the requests if they don't have an User-Agent header. Additionally, using a constant pattern for the requests could help to finger the clients so, we use "random" user agents.
that are unreacheable using tor. Add mempool.space as default provider.
2287bc0
to
3abed97
Compare
This is ready. |
* Create `ExchangeRateProvider2` * Remove old exchange rate providers and controllers * Fetch exchange rates from the client * Make exchange rate provider configurable * Fix warnings * Naming error * CR feedback * Use Tor to connect to providers Most of the providers are exchanges that block access to their api from Tor. That means that not all providers can be used when Tor is enabled. * Add `User-Agent` to requests Some providers reject the requests if they don't have an User-Agent header. Additionally, using a constant pattern for the requests could help to finger the clients so, we use "random" user agents. * Remove some exchange rate providers that are unreacheable using tor. Add mempool.space as default provider. * Add random delay between queries --------- Co-authored-by: Kiminuo <[email protected]>
Simplify the exchange rate fetching mechanism and move it to the client (remove api from server).
Tor support is missing but the PR is enough to make configurable through the UI and to test.