Workflow status is tracked in GitHub: https://github.com/emulebb/emulebb/issues/105. This local document is retained as an engineering spec/evidence record.
REF-051 - Remove legacy SOCKS and proxy support¶
Summary¶
Remove the legacy SOCKS/proxy stack from the app instead of continuing to carry, test, and harden a rarely used routing feature. Current network policy work is centered on explicit bind/interface selection, VPN hardening, firewall diagnostics, and REST/controller automation. SOCKS proxy behavior is a separate legacy surface that increases connection-path complexity and audit burden.
Intended Shape¶
- Remove SOCKS/proxy preference UI, persistence, and validation.
- Remove proxy connection setup paths from client/server/direct-download networking where they only exist to route through the legacy proxy feature.
- Remove proxy error enums, logs, resource strings, and dead fallback branches.
- Keep ordinary direct networking, explicit bind policy, VPN/interface diagnostics, and WebServer/REST behavior intact.
- Update docs to avoid advertising SOCKS/proxy as a supported route.
Scope Constraints¶
- Do not remove VPN/interface binding or
BindInterfacesupport. - Do not remove WebServer/REST reverse-proxy deployment guidance if it exists; this item is about the app's outbound SOCKS/proxy client path.
- Do not change stock eD2K/Kad wire semantics.
- Do not keep compatibility aliases for deleted proxy preferences unless a migration audit finds a crash or load failure without them.
Acceptance Criteria¶
- [ ] SOCKS/proxy preferences are absent from UI, persistence, and docs.
- [ ] Proxy-specific socket setup and direct-download branches are removed.
- [ ] Proxy error resources and dead diagnostic paths are removed.
- [ ] Startup with old proxy preferences ignores or drops them without failing.
- [ ] Network bind, VPN, REST, and direct-download tests still pass without proxy support.
Validation¶
python -m emule_workspace validate- focused native network/direct-download tests after proxy removal
- preference-load regression with old proxy keys present
- x64 Debug and Release app builds before implementation commit