Monero
Loading...
Searching...
No Matches
net_node.cpp File Reference
#include <boost/algorithm/string/find_iterator.hpp>
#include <boost/algorithm/string/finder.hpp>
#include <boost/chrono/duration.hpp>
#include <boost/endian/conversion.hpp>
#include <boost/optional/optional.hpp>
#include <boost/thread/future.hpp>
#include <boost/utility/string_ref.hpp>
#include <chrono>
#include <utility>
#include "common/command_line.h"
#include "cryptonote_core/cryptonote_core.h"
#include "cryptonote_protocol/cryptonote_protocol_defs.h"
#include "net_node.h"
#include "net/net_utils_base.h"
#include "net/socks.h"
#include "net/parse.h"
#include "net/tor_address.h"
#include "net/i2p_address.h"
#include "p2p/p2p_protocol_defs.h"
#include "string_tools.h"
Include dependency graph for net_node.cpp:

Namespaces

namespace  nodetool

Functions

boost::optional< std::vector< proxy > > nodetool::get_proxies (boost::program_options::variables_map const &vm)
boost::optional< std::vector< anonymous_inbound > > nodetool::get_anonymous_inbounds (boost::program_options::variables_map const &vm)
bool nodetool::is_filtered_command (const epee::net_utils::network_address &address, int command)
boost::optional< boost::asio::ip::tcp::socket > nodetool::socks_connect_internal (const std::atomic< bool > &stop_signal, boost::asio::io_context &service, const boost::asio::ip::tcp::endpoint &proxy, const epee::net_utils::network_address &remote)

Variables

const command_line::arg_descriptor< std::string > nodetool::arg_p2p_bind_ip = {"p2p-bind-ip", "Interface for p2p network protocol (IPv4)", "0.0.0.0"}
const command_line::arg_descriptor< std::string > nodetool::arg_p2p_bind_ipv6_address = {"p2p-bind-ipv6-address", "Interface for p2p network protocol (IPv6)", "::"}
const command_line::arg_descriptor< std::string, false, true, 2 > nodetool::arg_p2p_bind_port
const command_line::arg_descriptor< std::string, false, true, 2 > nodetool::arg_p2p_bind_port_ipv6
const command_line::arg_descriptor< uint32_tnodetool::arg_p2p_external_port = {"p2p-external-port", "External port for p2p network protocol (if port forwarding used with NAT)", 0}
const command_line::arg_descriptor< bool > nodetool::arg_p2p_allow_local_ip = {"allow-local-ip", "Allow local ip add to peer list, mostly in debug purposes"}
const command_line::arg_descriptor< std::vector< std::string > > nodetool::arg_p2p_add_peer = {"add-peer", "Manually add peer to local peerlist"}
const command_line::arg_descriptor< std::vector< std::string > > nodetool::arg_p2p_add_priority_node = {"add-priority-node", "Specify list of peers to connect to and attempt to keep the connection open"}
const command_line::arg_descriptor< std::vector< std::string > > nodetool::arg_p2p_add_exclusive_node
const command_line::arg_descriptor< std::vector< std::string > > nodetool::arg_p2p_seed_node = {"seed-node", "Connect to a node to retrieve peer addresses, and disconnect"}
const command_line::arg_descriptor< std::vector< std::string > > nodetool::arg_tx_proxy = {"tx-proxy", "Send local txes through proxy: <network-type>,<socks-ip:port>[,max_connections][,disable_noise] i.e. \"tor,127.0.0.1:9050,100,disable_noise\""}
const command_line::arg_descriptor< std::vector< std::string > > nodetool::arg_anonymous_inbound = {"anonymous-inbound", "<hidden-service-address>,<[bind-ip:]port>[,max_connections] i.e. \"x.onion,127.0.0.1:18083,100\""}
const command_line::arg_descriptor< std::string > nodetool::arg_ban_list = {"ban-list", "Specify ban list file, one IP address per line"}
const command_line::arg_descriptor< bool > nodetool::arg_p2p_hide_my_port = {"hide-my-port", "Do not announce yourself as peerlist candidate", false, true}
const command_line::arg_descriptor< bool > nodetool::arg_no_sync = {"no-sync", "Don't synchronize the blockchain with other peers", false}
const command_line::arg_descriptor< bool > nodetool::arg_enable_dns_blocklist = {"enable-dns-blocklist", "Apply realtime blocklist from DNS", false}
const command_line::arg_descriptor< bool > nodetool::arg_no_igd = {"no-igd", "Disable UPnP port mapping"}
const command_line::arg_descriptor< std::string > nodetool::arg_igd = {"igd", "UPnP port mapping (disabled, enabled, delayed)", "delayed"}
const command_line::arg_descriptor< bool > nodetool::arg_p2p_use_ipv6 = {"p2p-use-ipv6", "Enable IPv6 for p2p", false}
const command_line::arg_descriptor< bool > nodetool::arg_p2p_ignore_ipv4 = {"p2p-ignore-ipv4", "Ignore unsuccessful IPv4 bind for p2p", false}
const command_line::arg_descriptor< int64_tnodetool::arg_out_peers = {"out-peers", "set max number of out peers", -1}
const command_line::arg_descriptor< int64_tnodetool::arg_in_peers = {"in-peers", "set max number of in peers", -1}
const command_line::arg_descriptor< int > nodetool::arg_tos_flag = {"tos-flag", "set TOS flag", -1}
const command_line::arg_descriptor< int64_tnodetool::arg_limit_rate_up = {"limit-rate-up", "set limit-rate-up [kB/s]", P2P_DEFAULT_LIMIT_RATE_UP}
const command_line::arg_descriptor< int64_tnodetool::arg_limit_rate_down = {"limit-rate-down", "set limit-rate-down [kB/s]", P2P_DEFAULT_LIMIT_RATE_DOWN}
const command_line::arg_descriptor< int64_tnodetool::arg_limit_rate = {"limit-rate", "set limit-rate [kB/s]", -1}
const command_line::arg_descriptor< bool > nodetool::arg_pad_transactions
const command_line::arg_descriptor< uint32_tnodetool::arg_max_connections_per_ip = {"max-connections-per-ip", "Maximum number of p2p connections allowed from the same IP address", 1}