hyperium / hyperium/hyper

Bind to multiple sockets?

Open
#3,009 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-feature
Dominant language
Rust
Stars
16.3k
Forks
1.8k
Avg merge
1d 22h
Merged PRs (30d)
14

Description

First off.. apologies for the noise if this is already possible/discussed/dismissed. But, I could not find out how to do this.

My use case is that I would like the hyper server to bind to both IPv4 and IPv6. I can imagine there might be similar use cases where a host has multiple public IP addresses and one wants a hyper server to be available on more than one.

Is your feature request related to a problem? Please describe.
Users are reporting issues with happy eyeball connections to a host, if the host has IPv6, but hyper only listens on IPv4.

Describe the solution you'd like
I'd like to bind to both IPv4 and IPv6.

Describe alternatives you've considered
Our current advice to users of our software is that they should just let it listen to 127.0.0.1 (IPv4 localhost, which is the default we use) and use a proxy server in front of it if they want public access. Proxy servers also offer great support for HTTPS, access restrictions, etc etc.

But, while we actually believe that using a proxy server (and IPv4 localhost for our software) is best practice some users do not want to use a proxy.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by locating hyper's server binding API and reviewing how it handles listen addresses. Done means establishing a project-approved way to serve on both IPv4 and IPv6 sockets, with tests covering the behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.