Skip to content

Add a max-proxies parameter to EpixStartSnowflake - #1

Merged
MudDev merged 1 commit into
mainfrom
feat/max-proxies
Jul 20, 2026
Merged

Add a max-proxies parameter to EpixStartSnowflake#1
MudDev merged 1 commit into
mainfrom
feat/max-proxies

Conversation

@MudDev

@MudDev MudDev commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

What

EpixStartSnowflake hard-coded Max: 1, so the client only ever rendezvoused with a single Snowflake proxy. A single volunteer proxy is often slow and drops out, which made the Tor bootstrap through it unreliable.

This adds a max argument (the number of simultaneous proxies to collect and load-balance across). Values below 1 default to 3 (Tor's own client example uses -max 3); the count caps at 8.

ABI note

This adds one trailing int argument to EpixStartSnowflake, so the C ABI changes. EpixNet's iptproxy-sys is updated to match and the iptproxy.rev pin will move to the release built from this branch.

Testing

Built the macOS c-archive locally with this change and ran an EpixNet node against it with IPTPROXY_LIB_DIR. The node collects multiple proxies instead of one.

A single Snowflake proxy is often slow and drops out, which made the Tor
bootstrap through it unreliable. The client library supports collecting several
proxies and load-balancing across them (Tor's own client example uses -max 3),
but the wrapper hard-coded Max: 1.

Add a `max` argument to EpixStartSnowflake so the caller sets the count. Values
below 1 default to 3 and the count caps at 8, so a bad config value cannot ask
the broker for an unreasonable number of proxies.

This changes the C ABI (one extra int argument), so callers must be rebuilt
against the new header.
@sonarqubecloud

Copy link
Copy Markdown

@MudDev
MudDev merged commit d840d48 into main Jul 20, 2026
7 checks passed
@MudDev
MudDev deleted the feat/max-proxies branch July 20, 2026 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant