EgressPool 26.8.31.3885
dotnet add package EgressPool --version 26.8.31.3885
NuGet\Install-Package EgressPool -Version 26.8.31.3885
<PackageReference Include="EgressPool" Version="26.8.31.3885" />
<PackageVersion Include="EgressPool" Version="26.8.31.3885" />
<PackageReference Include="EgressPool" />
paket add EgressPool --version 26.8.31.3885
#r "nuget: EgressPool, 26.8.31.3885"
#:package EgressPool@26.8.31.3885
#addin nuget:?package=EgressPool&version=26.8.31.3885
#tool nuget:?package=EgressPool&version=26.8.31.3885
EgressPool
A .NET library for sending outbound TCP, UDP, and HTTP traffic from a pool of source IP addresses. Outbound connections appear from different local addresses while the calling code stays simple.
Features
- Configure IPv4 or IPv6 prefixes, or auto-detect them from local interfaces.
- Create TCP, UDP, or HTTP clients bound to addresses from those prefixes.
- Select prefixes by destination scope.
- Release addresses by disposing clients, sockets, leases, or the pool itself.
Quick Start
using Egress;
await using EgressPool pool = await EgressPool.CreateAsync();
using HttpClient client = pool.CreateHttpClient();
string response = await client.GetStringAsync("http://127.0.0.1:5000/");
Dependency Injection
Install EgressPool.DependencyInjection and register with your service collection:
builder.Services.AddEgressPool();
builder.Services.AddHttpClient("egress").UseEgressPool();
Running in Containers
Containers need host networking, root access, and the NET_ADMIN capability so the pool can bind to and configure host interfaces.
docker run --network host --user root --cap-add NET_ADMIN your-image
Docker Compose equivalent:
services:
app:
image: your-image
network_mode: host
user: root
cap_add:
- NET_ADMIN
Expected Behavior
Each outbound connection uses a source address from the pool. Disposing the connection, client, or pool releases the address.
Some configurations require elevated permissions. If unavailable, pool or connection creation throws an exception.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.11)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on EgressPool:
| Package | Downloads |
|---|---|
|
EgressPool.DependencyInjection
Dependency injection and IHttpClientFactory integration for EgressPool. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 26.8.31.3885 | 48 | 8/31/2026 |
| 26.8.24.3334 | 126 | 8/24/2026 |
| 26.8.24.2267 | 125 | 8/24/2026 |
| 26.8.14.5235 | 138 | 8/14/2026 |
| 26.8.11.8431 | 151 | 8/11/2026 |
| 26.8.10.2045 | 115 | 8/10/2026 |
| 26.8.9.7258 | 132 | 8/9/2026 |
| 26.8.3.2154 | 131 | 8/3/2026 |
| 26.7.29.6551 | 146 | 7/29/2026 |
| 26.7.27.2992 | 143 | 7/27/2026 |
| 26.7.20.7203 | 145 | 7/20/2026 |
| 26.7.20.3730 | 146 | 7/20/2026 |
| 26.7.20.2970 | 113 | 7/20/2026 |
| 26.7.14.8666 | 164 | 7/14/2026 |
| 26.7.14.8325 | 112 | 7/14/2026 |
| 26.7.14.4600 | 175 | 7/14/2026 |
| 26.7.13.2155 | 144 | 7/13/2026 |
| 26.7.6.2162 | 168 | 7/6/2026 |
| 26.6.29.2175 | 165 | 6/29/2026 |
| 26.6.26.3740 | 164 | 6/26/2026 |