mirror of
https://github.com/monero-project/monero.git
synced 2025-05-23 16:01:10 -04:00
Adding initial support for broadcasting transactions over Tor
- Support for ".onion" in --add-exclusive-node and --add-peer - Add --anonymizing-proxy for outbound Tor connections - Add --anonymous-inbounds for inbound Tor connections - Support for sharing ".onion" addresses over Tor connections - Support for broadcasting transactions received over RPC exclusively over Tor (else broadcast over public IP when Tor not enabled).
This commit is contained in:
parent
1e5cd3b35a
commit
973403bc9f
39 changed files with 4298 additions and 831 deletions
|
@ -8,8 +8,6 @@
|
|||
|
||||
namespace epee { namespace net_utils
|
||||
{
|
||||
const uint8_t ipv4_network_address::ID;
|
||||
|
||||
bool ipv4_network_address::equal(const ipv4_network_address& other) const noexcept
|
||||
{ return is_same_host(other) && port() == other.port(); }
|
||||
|
||||
|
@ -58,20 +56,6 @@ namespace epee { namespace net_utils
|
|||
return self_->is_same_host(*other_self);
|
||||
}
|
||||
|
||||
bool create_network_address(network_address &address, const std::string &string, uint16_t default_port)
|
||||
{
|
||||
uint32_t ip;
|
||||
uint16_t port;
|
||||
if (epee::string_tools::parse_peer_from_string(ip, port, string))
|
||||
{
|
||||
if (default_port && !port)
|
||||
port = default_port;
|
||||
address = ipv4_network_address{ip, port};
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string print_connection_context(const connection_context_base& ctx)
|
||||
{
|
||||
std::stringstream ss;
|
||||
|
@ -86,5 +70,31 @@ namespace epee { namespace net_utils
|
|||
return ss.str();
|
||||
}
|
||||
|
||||
const char* zone_to_string(zone value) noexcept
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case zone::public_:
|
||||
return "public";
|
||||
case zone::i2p:
|
||||
return "i2p";
|
||||
case zone::tor:
|
||||
return "tor";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return "invalid";
|
||||
}
|
||||
|
||||
zone zone_from_string(const boost::string_ref value) noexcept
|
||||
{
|
||||
if (value == "public")
|
||||
return zone::public_;
|
||||
if (value == "i2p")
|
||||
return zone::i2p;
|
||||
if (value == "tor")
|
||||
return zone::tor;
|
||||
return zone::invalid;
|
||||
}
|
||||
}}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue