|
|
@ -417,6 +417,15 @@ namespace http {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void ShowHop(std::stringstream& s, const i2p::data::IdentityEx& ident)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
auto identHash = ident.GetIdentHash();
|
|
|
|
|
|
|
|
auto router = i2p::data::netdb.FindRouter(identHash);
|
|
|
|
|
|
|
|
s << i2p::data::GetIdentHashAbbreviation(identHash);
|
|
|
|
|
|
|
|
if (router)
|
|
|
|
|
|
|
|
s << "<small style=\"color:gray\"> " << router->GetBandwidthCap() << "</small>";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static void ShowLeaseSetDestination (std::stringstream& s, std::shared_ptr<const i2p::client::LeaseSetDestination> dest, uint32_t token)
|
|
|
|
static void ShowLeaseSetDestination (std::stringstream& s, std::shared_ptr<const i2p::client::LeaseSetDestination> dest, uint32_t token)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
s << "<b>Base32:</b><br>\r\n<textarea readonly cols=\"80\" rows=\"1\">";
|
|
|
|
s << "<b>Base32:</b><br>\r\n<textarea readonly cols=\"80\" rows=\"1\">";
|
|
|
@ -482,7 +491,9 @@ namespace http {
|
|
|
|
it->VisitTunnelHops(
|
|
|
|
it->VisitTunnelHops(
|
|
|
|
[&s](std::shared_ptr<const i2p::data::IdentityEx> hopIdent)
|
|
|
|
[&s](std::shared_ptr<const i2p::data::IdentityEx> hopIdent)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
s << "⇒ " << i2p::data::GetIdentHashAbbreviation (hopIdent->GetIdentHash ()) << " ";
|
|
|
|
s << "⇒ ";
|
|
|
|
|
|
|
|
ShowHop(s, *hopIdent);
|
|
|
|
|
|
|
|
s << " ";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -503,7 +514,9 @@ namespace http {
|
|
|
|
it->VisitTunnelHops(
|
|
|
|
it->VisitTunnelHops(
|
|
|
|
[&s](std::shared_ptr<const i2p::data::IdentityEx> hopIdent)
|
|
|
|
[&s](std::shared_ptr<const i2p::data::IdentityEx> hopIdent)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
s << " " << i2p::data::GetIdentHashAbbreviation (hopIdent->GetIdentHash ()) << " ⇒";
|
|
|
|
s << " ";
|
|
|
|
|
|
|
|
ShowHop(s, *hopIdent);
|
|
|
|
|
|
|
|
s << " ⇒";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -699,7 +712,9 @@ namespace http {
|
|
|
|
it->VisitTunnelHops(
|
|
|
|
it->VisitTunnelHops(
|
|
|
|
[&s](std::shared_ptr<const i2p::data::IdentityEx> hopIdent)
|
|
|
|
[&s](std::shared_ptr<const i2p::data::IdentityEx> hopIdent)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
s << "⇒ " << i2p::data::GetIdentHashAbbreviation (hopIdent->GetIdentHash ()) << " ";
|
|
|
|
s << "⇒ ";
|
|
|
|
|
|
|
|
ShowHop(s, *hopIdent);
|
|
|
|
|
|
|
|
s << " ";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -720,7 +735,9 @@ namespace http {
|
|
|
|
it->VisitTunnelHops(
|
|
|
|
it->VisitTunnelHops(
|
|
|
|
[&s](std::shared_ptr<const i2p::data::IdentityEx> hopIdent)
|
|
|
|
[&s](std::shared_ptr<const i2p::data::IdentityEx> hopIdent)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
s << " " << i2p::data::GetIdentHashAbbreviation (hopIdent->GetIdentHash ()) << " ⇒";
|
|
|
|
s << " ";
|
|
|
|
|
|
|
|
ShowHop(s, *hopIdent);
|
|
|
|
|
|
|
|
s << " ⇒";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|