I’m trying to write a digraph that would end up generating a graph similar to this SVG: https://try.popho.be/images/haproxy-tls.svg (this was inspired from haproxy’s documentation). At the time, I modified (by hand) the SVG to put straight edges and replace the splines that graphviz put there.
I have tried many things so far: using (at random) other generators instead of dot, splines=line (which is not actually a straight line, but a succession of straight segments).
I want the edges client -> dns.google and client -> cloudflare-dns.com to pass over the haproxy node (much like the TLS edges pass through the haproxy node in the submitted example).
digraph blind_doh_proxy {
bgcolor=transparent;
/* splines=line; */
client -> "haproxy" [label="TCP to proxy" color="darkgreen" fontsize="9" fontcolor="darkgreen"]
client -> "haproxy" [label="TCP to proxy" color="indigo" fontsize="9" fontcolor="indigo"]
"haproxy" -> "dns.google" [label="TCP to dns.google" color="darkgreen" fontsize="9" fontcolor="darkgreen"]
"haproxy" -> "cloudflare-dns.com" [label="TCP to cloudflare-dns.com" color="indigo" fontsize="9" fontcolor="indigo"]
"haproxy" [weight=10]
client -> "dns.google" [label="HTTPS to dns.google"]
client -> "cloudflare-dns.com" [label="HTTPS to cloudflare-dns.com"]
}