Relay OR port configuration
In arti-relay, we have a chance to simplify how the OR port is configured by users. Some pain points from tor are:
- The name "OR port" isn't very descriptive and is hard to search for, even if you know the acronym.
- There's some magic that happens when the relay tries to detect its own IP address(es).
- The "ORPort" config line is a bit overloaded. You can specify this line multiple times, and each time provide a new address and various flags (
NoAdvertise,NoListen,IPv4Only, andIPv6Only). - The "auto" option for choosing a port can be difficult to use. It doesn't seem particularly useful, and it can be difficult for things to figure out what port was actually chosen (typically would need to parse the log file).
It would be nice to simplify this, targeting the most common use cases by relay operators.
-
Since we're moving away from things like the dir port for relays, relays will only have one public port, the OR port. Can we rename this to something like the "Tor port" or the "relay port"?
-
Should we remove IP address auto-detection completely and require relay operators configure their public IPv4 and IPv6 address? A downside is that relay operators might tend to only configure their IPv4 address and not their IPv6 address (if they have one).
-
My working version of the configuration is currently:
[relay] listen = 8443 # listen at "0.0.0.0:8443" and "[::]:8443" # Or listen = "0.0.0.0:8443" # listen at 0.0.0.0:8443 # Or listen = ["1.2.3.4:8443", "[10::]:8443"] # listen at "1.2.3.4:8443" and "[10::]:8443" [relay.advertise] ipv4 = "1.2.3.4:443" # optional (or required if we don't do auto-detection magic) ipv6 = "[10::]:443" # optional (or required if we don't do auto-detection magic)We should discuss more about what this should look like.
-
Should we not implement the "auto" option for choosing a port?
/cc @dgoulet