From 83fea2224475749bc88ef7aae46fc837aa81210a Mon Sep 17 00:00:00 2001 From: Vijit Singh Date: Sun, 23 Aug 2026 23:06:48 -0500 Subject: [PATCH] feat(pools): dial a pool through a SOCKS5 proxy (#400) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit XMRig supports a per-pool `socks5`; RigForge dropped it. `parse_config` rebuilds every pool from a fixed key set, so the key was gone before the XMRig config was generated, and `_warn_unknown_config_keys` told the operator it was ignored. That left a rig no way to reach a stratum published as an onion service. - The mapper re-attaches `socks5` in a single-line pass modelled on the #115 `tls-fingerprint` pass above it, for the same two reasons: emitted ONLY when set, so no existing rig's generated config changes shape on its next apply, and a one-line pass because kcov cannot attribute in-string program lines. POOLS_JSON reaches generate_xmrig_config wholesale, so nothing else changed. - `socks5` joins the pool-key allowlist, so the "ignored" warning stops. - config.reference.json gains `"socks5": null` and a `_docs` sentence; docs/configuration.md gains a pool-field row. The issue asks for the proxy to be validated with "the same rules the pool URL gets". A second copy of those checks would satisfy that on the day it was written and drift the first time either side was touched, so the rules now live in one `_validate_host_port