diff options
author | Unknown <fireice-uk@users.noreply.github.com> | 2017-12-07 12:17:12 +0000 |
---|---|---|
committer | fireice-uk <fireice-uk@users.noreply.github.com> | 2017-12-08 11:32:17 +0000 |
commit | 42383a28903c270e2ab718c7bdb1111c82d72310 (patch) | |
tree | ff373e86b567235a232c54e1e688c93c49717692 /xmrstak/cli/cli-miner.cpp | |
parent | a142161a6982210287fe8a8408b9bee20f126b89 (diff) | |
download | xmr-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.cpp | 55 |
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) { |