mirror of
https://github.com/jwinterm/xmr-stak.git
synced 2026-10-25 05:58:46 +01:00
Allow pool settings to be fully set from CLI options
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -24,6 +24,7 @@ struct params
|
||||
bool useNVIDIA;
|
||||
bool useCPU;
|
||||
|
||||
bool poolUseTls;
|
||||
std::string poolURL;
|
||||
std::string poolPasswd;
|
||||
std::string poolUsername;
|
||||
|
||||
Reference in New Issue
Block a user