mirror of
https://github.com/SChernykh/p2pool.git
synced 2024-12-22 19:39:22 +00:00
Added --p2p-external-port
command line parameter
This commit is contained in:
parent
6eacb677a4
commit
65a9574e52
7 changed files with 19 additions and 3 deletions
|
@ -25,6 +25,7 @@
|
||||||
--rpc-login Specify username[:password] required for Monero RPC server
|
--rpc-login Specify username[:password] required for Monero RPC server
|
||||||
--socks5 Specify IP:port of a SOCKS5 proxy to use for outgoing connections
|
--socks5 Specify IP:port of a SOCKS5 proxy to use for outgoing connections
|
||||||
--no-dns disable DNS queries, use only IP addresses to connect to peers (seed node DNS will be unavailable too)
|
--no-dns disable DNS queries, use only IP addresses to connect to peers (seed node DNS will be unavailable too)
|
||||||
|
--p2p-external-port port number that your router uses for mapping to your local p2p port. Use it if you are behind a NAT and still want to accept incoming connections
|
||||||
```
|
```
|
||||||
|
|
||||||
### Example command line
|
### Example command line
|
||||||
|
|
|
@ -50,6 +50,7 @@ void p2pool_usage()
|
||||||
"--rpc-login Specify username[:password] required for Monero RPC server\n"
|
"--rpc-login Specify username[:password] required for Monero RPC server\n"
|
||||||
"--socks5 Specify IP:port of a SOCKS5 proxy to use for outgoing connections\n"
|
"--socks5 Specify IP:port of a SOCKS5 proxy to use for outgoing connections\n"
|
||||||
"--no-dns disable DNS queries, use only IP addresses to connect to peers (seed node DNS will be unavailable too)\n"
|
"--no-dns disable DNS queries, use only IP addresses to connect to peers (seed node DNS will be unavailable too)\n"
|
||||||
|
"--p2p-external-port port number that your router uses for mapping to your local p2p port. Use it if you are behind a NAT and still want to accept incoming connections\n"
|
||||||
"--help Show this help message\n\n"
|
"--help Show this help message\n\n"
|
||||||
"Example command line:\n\n"
|
"Example command line:\n\n"
|
||||||
"%s --host 127.0.0.1 --rpc-port 18081 --zmq-port 18083 --wallet YOUR_WALLET_ADDRESS --stratum 0.0.0.0:%d --p2p 0.0.0.0:%d\n\n",
|
"%s --host 127.0.0.1 --rpc-port 18081 --zmq-port 18083 --wallet YOUR_WALLET_ADDRESS --stratum 0.0.0.0:%d --p2p 0.0.0.0:%d\n\n",
|
||||||
|
|
|
@ -933,6 +933,12 @@ void P2PServer::show_peers()
|
||||||
LOGINFO(0, "Total: " << n << " peers");
|
LOGINFO(0, "Total: " << n << " peers");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int P2PServer::listen_port() const
|
||||||
|
{
|
||||||
|
const Params& params = m_pool->params();
|
||||||
|
return params.m_p2pExternalPort ? params.m_p2pExternalPort : m_listenPort;
|
||||||
|
}
|
||||||
|
|
||||||
int P2PServer::deserialize_block(const uint8_t* buf, uint32_t size)
|
int P2PServer::deserialize_block(const uint8_t* buf, uint32_t size)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
|
|
|
@ -138,6 +138,8 @@ public:
|
||||||
void show_peers_async();
|
void show_peers_async();
|
||||||
size_t peer_list_size() const { MutexLock lock(m_peerListLock); return m_peerList.size(); }
|
size_t peer_list_size() const { MutexLock lock(m_peerListLock); return m_peerList.size(); }
|
||||||
|
|
||||||
|
int listen_port() const override;
|
||||||
|
|
||||||
uint32_t max_outgoing_peers() const { return m_maxOutgoingPeers; }
|
uint32_t max_outgoing_peers() const { return m_maxOutgoingPeers; }
|
||||||
uint32_t max_incoming_peers() const { return m_maxIncomingPeers; }
|
uint32_t max_incoming_peers() const { return m_maxIncomingPeers; }
|
||||||
|
|
||||||
|
|
|
@ -35,12 +35,12 @@ Params::Params(int argc, char* argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((strcmp(argv[i], "--rpc-port") == 0) && (i + 1 < argc)) {
|
if ((strcmp(argv[i], "--rpc-port") == 0) && (i + 1 < argc)) {
|
||||||
m_rpcPort = strtoul(argv[++i], nullptr, 10);
|
m_rpcPort = std::min(std::max(strtoul(argv[++i], nullptr, 10), 1UL), 65535UL);
|
||||||
ok = true;
|
ok = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((strcmp(argv[i], "--zmq-port") == 0) && (i + 1 < argc)) {
|
if ((strcmp(argv[i], "--zmq-port") == 0) && (i + 1 < argc)) {
|
||||||
m_zmqPort = strtoul(argv[++i], nullptr, 10);
|
m_zmqPort = std::min(std::max(strtoul(argv[++i], nullptr, 10), 1UL), 65535UL);
|
||||||
ok = true;
|
ok = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,6 +146,11 @@ Params::Params(int argc, char* argv[])
|
||||||
ok = true;
|
ok = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((strcmp(argv[i], "--p2p-external-port") == 0) && (i + 1 < argc)) {
|
||||||
|
m_p2pExternalPort = std::min(std::max(strtoul(argv[++i], nullptr, 10), 1UL), 65535UL);
|
||||||
|
ok = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
fprintf(stderr, "Unknown command line parameter %s\n\n", argv[i]);
|
fprintf(stderr, "Unknown command line parameter %s\n\n", argv[i]);
|
||||||
p2pool_usage();
|
p2pool_usage();
|
||||||
|
|
|
@ -52,6 +52,7 @@ struct Params
|
||||||
std::string m_rpcLogin;
|
std::string m_rpcLogin;
|
||||||
std::string m_socks5Proxy;
|
std::string m_socks5Proxy;
|
||||||
bool m_dns = true;
|
bool m_dns = true;
|
||||||
|
uint32_t m_p2pExternalPort = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace p2pool
|
} // namespace p2pool
|
||||||
|
|
|
@ -42,7 +42,7 @@ public:
|
||||||
|
|
||||||
uv_loop_t* get_loop() { return &m_loop; }
|
uv_loop_t* get_loop() { return &m_loop; }
|
||||||
|
|
||||||
int listen_port() const { return m_listenPort; }
|
virtual int listen_port() const { return m_listenPort; }
|
||||||
|
|
||||||
bool connect_to_peer(bool is_v6, const raw_ip& ip, int port);
|
bool connect_to_peer(bool is_v6, const raw_ip& ip, int port);
|
||||||
virtual void on_connect_failed(bool /*is_v6*/, const raw_ip& /*ip*/, int /*port*/) {}
|
virtual void on_connect_failed(bool /*is_v6*/, const raw_ip& /*ip*/, int /*port*/) {}
|
||||||
|
|
Loading…
Reference in a new issue