g3 icon indicating copy to clipboard operation
g3 copied to clipboard

why both no_ipv6/no_ipv4 and also resolve_strategy in escaper configs

Open GlenDC opened this issue 1 year ago • 1 comments

Asking as it seems to result in essentially the same thing:

no_ipv6: true
resolve_strategy: IPv4Only

Seems like if you have one you don't need the other? As in, resolve_strategy alone seems to be fine on itself. In fact if I check the code it seems to set the no_* properties based on this anyhow, if none are set. So why are both of these approaches possible / supported? Is there a (subtle) difference I am missing?

GlenDC avatar Oct 02 '24 19:10 GlenDC

resolve_strategy will only take effect when resolving domain names. You can set it to ipv4_first if you have both v4 and v6 address. And you can set it alone to ipv4_only but still allow v6 access if the client request an ipv6 target address directly.

zh-jq avatar Oct 02 '24 22:10 zh-jq

Understand, and no_ipv6 is just about the escaper on whether or not it can establish an no_ipv6. Can also see that in escaper src code like g3proxy/src/escape/direct_float/tcp_connect/mod.rs and others.

Thanks for clarifying. Clear to me now. Going to close this issue as resolved. If you think this can result in maybe a desire to improve the docs, do let me know, I'll gladly contribute that to thank you for your patience and time. Take care.

GlenDC avatar Oct 04 '24 16:10 GlenDC

Yes it's welcome to help us to improve the docs. I'm not good at that indeed.

zh-jq avatar Oct 04 '24 21:10 zh-jq