summaryrefslogtreecommitdiffstats
path: root/xmrstak/cli/cli-miner.cpp
diff options
context:
space:
mode:
authorUnknown <fireice-uk@users.noreply.github.com>2017-12-07 12:17:12 +0000
committerfireice-uk <fireice-uk@users.noreply.github.com>2017-12-08 11:32:17 +0000
commit42383a28903c270e2ab718c7bdb1111c82d72310 (patch)
treeff373e86b567235a232c54e1e688c93c49717692 /xmrstak/cli/cli-miner.cpp
parenta142161a6982210287fe8a8408b9bee20f126b89 (diff)
downloadxmr-stak-42383a28903c270e2ab718c7bdb1111c82d72310.zip
xmr-stak-42383a28903c270e2ab718c7bdb1111c82d72310.tar.gz
Allow pool settings to be fully set from CLI options
Diffstat (limited to 'xmrstak/cli/cli-miner.cpp')
-rw-r--r--xmrstak/cli/cli-miner.cpp55
1 files changed, 51 insertions, 4 deletions
diff --git a/xmrstak/cli/cli-miner.cpp b/xmrstak/cli/cli-miner.cpp
index 546d226..3c3303e 100644
--- a/xmrstak/cli/cli-miner.cpp
+++ b/xmrstak/cli/cli-miner.cpp
@@ -87,6 +87,7 @@ void help()
cout<<" "<<endl;
cout<<"The Following options temporary overwrites the config entries of \nthe pool with the highest weight:"<<endl;
cout<<" -o, --url URL pool url and port, e.g. pool.usxmrpool.com:3333"<<endl;
+ cout<<" -O, --tls-url URL TLS pool url and port, e.g. pool.usxmrpool.com:10443"<<endl;
cout<<" -u, --user USERNAME pool user name or wallet address"<<endl;
cout<<" -p, --pass PASSWD pool password, in the most cases x or empty \"\""<<endl;
cout<<" \n"<<endl;
@@ -162,6 +163,15 @@ std::string get_multipool_entry(bool& final)
", \"tls_fingerprint\" : \"\", \"pool_weight\" : " + std::to_string(pool_weight) + " },\n";
}
+inline void prompt_once(bool& prompted)
+{
+ if(!prompted)
+ {
+ std::cout<<"Please enter:"<<std::endl;
+ prompted = true;
+ }
+}
+
void do_guided_config(bool userSetPasswd)
{
using namespace xmrstak;
@@ -173,10 +183,13 @@ void do_guided_config(bool userSetPasswd)
configEditor configTpl{};
configTpl.set(std::string(tpl));
- std::cout<<"Please enter:"<<std::endl;
+ bool prompted = false;
+
auto& currency = params::inst().currency;
if(currency.empty())
{
+ prompt_once(prompted);
+
std::string tmp;
#if defined(CONF_NO_AEON)
tmp = "monero";
@@ -196,6 +209,8 @@ void do_guided_config(bool userSetPasswd)
bool userSetPool = true;
if(pool.empty())
{
+ prompt_once(prompted);
+
userSetPool = false;
if(currency == "monero")
std::cout<<"- Pool address: e.g. pool.usxmrpool.com:3333"<<std::endl;
@@ -207,6 +222,8 @@ void do_guided_config(bool userSetPasswd)
auto& userName = params::inst().poolUsername;
if(userName.empty())
{
+ prompt_once(prompted);
+
std::cout<<"- Username (wallet address or pool login):"<<std::endl;
std::cin >> userName;
}
@@ -214,18 +231,35 @@ void do_guided_config(bool userSetPasswd)
auto& passwd = params::inst().poolPasswd;
if(passwd.empty() && (!userSetPasswd))
{
+ prompt_once(prompted);
+
// clear everything from stdin to allow an empty password
std::cin.clear(); std::cin.ignore(INT_MAX,'\n');
std::cout<<"- Password (mostly empty or x):"<<std::endl;
getline(std::cin, passwd);
}
+ bool tls;
#ifdef CONF_NO_TLS
- bool tls = false;
+ tls = false;
#else
- bool tls = read_yes_no("- Does this pool port support TLS/SSL? Use no if unknown. (y/N)");
+ if(!userSetPool)
+ {
+ prompt_once(prompted);
+ tls = read_yes_no("- Does this pool port support TLS/SSL? Use no if unknown. (y/N)");
+ }
+ else
+ tls = params::inst().poolUseTls;
#endif
- bool nicehash = read_yes_no("- Do you want to use nicehash on this pool? (y/n)");
+
+ bool nicehash;
+ if(!userSetPool)
+ {
+ prompt_once(prompted);
+ nicehash = read_yes_no("- Do you want to use nicehash on this pool? (y/n)");
+ }
+ else
+ nicehash = false;
bool multipool;
if(!userSetPool)
@@ -428,6 +462,19 @@ int main(int argc, char *argv[])
return 1;
}
params::inst().poolURL = argv[i];
+ params::inst().poolUseTls = false;
+ }
+ else if(opName.compare("-O") == 0 || opName.compare("--tls-url") == 0)
+ {
+ ++i;
+ if( i >=argc )
+ {
+ printer::inst()->print_msg(L0, "No argument for parameter '-O/--tls-url' given");
+ win_exit();
+ return 1;
+ }
+ params::inst().poolURL = argv[i];
+ params::inst().poolUseTls = true;
}
else if(opName.compare("-u") == 0 || opName.compare("--user") == 0)
{
OpenPOWER on IntegriCloud