refactor(monero-rpc-pool): ureq -> raw hyper (#487)

* refactor(monero-rpc-pool): ureq -> raw hyper

* whitelist "getblocks.bin", refactor config constructors, use arti-client, record lowerst seen block height, small style changes

* display effective bandwidth

* compact wallet overview page a bit

* record latencies correctly

* add setting for monero tor routing, add ssl support for hyper, lengthen window duration for bandwidth tracker

* remove unwrap

* refactor ui

* dont fail silently tor bootstrap

* some workarounds for buggy wallet2 stuff
This commit is contained in:
Mohan 2025-08-01 12:02:07 +02:00 committed by GitHub
parent cd12d17580
commit d21baa8350
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 957 additions and 741 deletions

View file

@ -38,6 +38,7 @@ import {
setFiatCurrency,
setTheme,
setTorEnabled,
setEnableMoneroTor,
setUseMoneroRpcPool,
setDonateToDevelopment,
} from "store/features/settingsSlice";
@ -91,6 +92,7 @@ export default function SettingsBox() {
<Table>
<TableBody>
<TorSettings />
<MoneroTorSettings />
<DonationTipSetting />
<ElectrumRpcUrlSetting />
<MoneroRpcPoolSetting />
@ -715,6 +717,42 @@ export function TorSettings() {
);
}
/**
* A setting that allows you to enable or disable routing Monero wallet traffic through Tor.
* This setting is only visible when Tor is enabled.
*/
function MoneroTorSettings() {
const dispatch = useAppDispatch();
const torEnabled = useSettings((settings) => settings.enableTor);
const enableMoneroTor = useSettings((settings) => settings.enableMoneroTor);
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) =>
dispatch(setEnableMoneroTor(event.target.checked));
// Hide this setting if Tor is disabled entirely
if (!torEnabled) {
return null;
}
return (
<TableRow>
<TableCell>
<SettingLabel
label="Route Monero traffic through Tor"
tooltip="When enabled, Monero wallet traffic will be routed through Tor for additional privacy. Requires main Tor setting to be enabled."
/>
</TableCell>
<TableCell>
<Switch
checked={enableMoneroTor}
onChange={handleChange}
color="primary"
/>
</TableCell>
</TableRow>
);
}
/**
* A setting that allows you to manage rendezvous points for maker discovery
*/