\r\n"; - s << "Router Family: " << i2p::context.GetRouterInfo().GetProperty("family") << "
\r\n"; + if (!i2p::context.GetRouterInfo().GetProperty("family").empty()) + s << "Router Family: " << i2p::context.GetRouterInfo().GetProperty("family") << "
\r\n"; s << "Router Caps: " << i2p::context.GetRouterInfo().GetProperty("caps") << "
\r\n"; - s << "Our external address:" << "
\r\n" ; + s << "Our external address:" << "
\r\n
NTCP2";
if (address->host.is_v6 ()) s << "v6";
- s << " supported \r\n"; + s << " | supported | \r\nNTCP"; if (address->IsPublishedNTCP2 ()) s << "2"; if (address->host.is_v6 ()) s << "v6"; - s << " "; + s << " | \r\n"; break; } case i2p::data::RouterInfo::eTransportSSU: + { + s << "SSU"; if (address->host.is_v6 ()) - s << "SSUv6 "; - else - s << "SSU "; - break; + s << "v6"; + s << " | \r\n"; + break; + } default: - s << "Unknown "; + s << "Unknown | \r\n"; } - s << address->host.to_string() << ":" << address->port << "" << address->host.to_string() << ":" << address->port << " | \r\n\r\n"; } + s << "