|
|
|
@ -652,16 +652,19 @@ namespace http {
@@ -652,16 +652,19 @@ namespace http {
|
|
|
|
|
s << "SOCKS Proxy" << "</a> ⇐ "; |
|
|
|
|
s << i2p::client::context.GetAddressBook ().ToAddress(ident); |
|
|
|
|
s << "<br>\r\n"<< std::endl; |
|
|
|
|
} |
|
|
|
|
s << "<br>\r\n<b>Server Tunnels:</b><br>\r\n<br>\r\n"; |
|
|
|
|
for (auto& it: i2p::client::context.GetServerTunnels ()) |
|
|
|
|
{ |
|
|
|
|
auto& ident = it.second->GetLocalDestination ()->GetIdentHash(); |
|
|
|
|
s << "<a href=\"/?page=" << HTTP_PAGE_LOCAL_DESTINATION << "&b32=" << ident.ToBase32 () << "\">"; |
|
|
|
|
s << it.second->GetName () << "</a> ⇒ "; |
|
|
|
|
s << i2p::client::context.GetAddressBook ().ToAddress(ident); |
|
|
|
|
s << ":" << it.second->GetLocalPort (); |
|
|
|
|
s << "</a><br>\r\n"<< std::endl; |
|
|
|
|
} |
|
|
|
|
auto& serverTunnels = i2p::client::context.GetServerTunnels (); |
|
|
|
|
if (!serverTunnels.empty ()) { |
|
|
|
|
s << "<br>\r\n<b>Server Tunnels:</b><br>\r\n<br>\r\n"; |
|
|
|
|
for (auto& it: serverTunnels) |
|
|
|
|
{ |
|
|
|
|
auto& ident = it.second->GetLocalDestination ()->GetIdentHash(); |
|
|
|
|
s << "<a href=\"/?page=" << HTTP_PAGE_LOCAL_DESTINATION << "&b32=" << ident.ToBase32 () << "\">"; |
|
|
|
|
s << it.second->GetName () << "</a> ⇒ "; |
|
|
|
|
s << i2p::client::context.GetAddressBook ().ToAddress(ident); |
|
|
|
|
s << ":" << it.second->GetLocalPort (); |
|
|
|
|
s << "</a><br>\r\n"<< std::endl; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
auto& clientForwards = i2p::client::context.GetClientForwards (); |
|
|
|
|
if (!clientForwards.empty ()) |
|
|
|
|