|
|
@ -262,7 +262,9 @@ namespace http { |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (address->IsNTCP2 () && !address->IsPublishedNTCP2 ()) |
|
|
|
if (address->IsNTCP2 () && !address->IsPublishedNTCP2 ()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
s << "NTCP2 supported <br>\r\n"; |
|
|
|
s << "NTCP2"; |
|
|
|
|
|
|
|
if (address->host.is_v6 ()) s << "v6"; |
|
|
|
|
|
|
|
s << " supported <br>\r\n"; |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
switch (address->transportStyle) |
|
|
|
switch (address->transportStyle) |
|
|
@ -271,13 +273,13 @@ namespace http { |
|
|
|
{ |
|
|
|
{ |
|
|
|
s << "NTCP"; |
|
|
|
s << "NTCP"; |
|
|
|
if (address->IsPublishedNTCP2 ()) s << "2"; |
|
|
|
if (address->IsPublishedNTCP2 ()) s << "2"; |
|
|
|
if (address->host.is_v6 ()) s << "6"; |
|
|
|
if (address->host.is_v6 ()) s << "v6"; |
|
|
|
s << " "; |
|
|
|
s << " "; |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
case i2p::data::RouterInfo::eTransportSSU: |
|
|
|
case i2p::data::RouterInfo::eTransportSSU: |
|
|
|
if (address->host.is_v6 ()) |
|
|
|
if (address->host.is_v6 ()) |
|
|
|
s << "SSU6 "; |
|
|
|
s << "SSUv6 "; |
|
|
|
else |
|
|
|
else |
|
|
|
s << "SSU "; |
|
|
|
s << "SSU "; |
|
|
|
break; |
|
|
|
break; |
|
|
@ -583,7 +585,7 @@ namespace http { |
|
|
|
} |
|
|
|
} |
|
|
|
if (!tmp_s6.str ().empty ()) |
|
|
|
if (!tmp_s6.str ().empty ()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
s << "<div class='slide'><label for='slide_ntcp6'><b>" << name << "6</b> ( " << cnt6 << " )</label>\r\n<input type='checkbox' id='slide_ntcp6'/>\r\n<p class='content'>"; |
|
|
|
s << "<div class='slide'><label for='slide_" << boost::algorithm::to_lower_copy(name) << "v6'><b>" << name << "6</b> ( " << cnt6 << " )</label>\r\n<input type='checkbox' id='slide_" << boost::algorithm::to_lower_copy(name) << "v6'/>\r\n<p class='content'>"; |
|
|
|
s << tmp_s6.str () << "</p>\r\n</div>\r\n"; |
|
|
|
s << tmp_s6.str () << "</p>\r\n</div>\r\n"; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -628,7 +630,7 @@ namespace http { |
|
|
|
auto sessions6 = ssuServer->GetSessionsV6 (); |
|
|
|
auto sessions6 = ssuServer->GetSessionsV6 (); |
|
|
|
if (!sessions6.empty ()) |
|
|
|
if (!sessions6.empty ()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
s << "<div class='slide'><label for='slide_ssu6'><b>SSU6</b> ( " << (int) sessions6.size() << " )</label>\r\n<input type='checkbox' id='slide_ssu6'/>\r\n<p class='content'>"; |
|
|
|
s << "<div class='slide'><label for='slide_ssuv6'><b>SSUv6</b> ( " << (int) sessions6.size() << " )</label>\r\n<input type='checkbox' id='slide_ssuv6'/>\r\n<p class='content'>"; |
|
|
|
for (const auto& it: sessions6) |
|
|
|
for (const auto& it: sessions6) |
|
|
|
{ |
|
|
|
{ |
|
|
|
auto endpoint = it.second->GetRemoteEndpoint (); |
|
|
|
auto endpoint = it.second->GetRemoteEndpoint (); |
|
|
|