diff --git a/pool.conf b/pool.conf index 2d179df..b89266a 100644 --- a/pool.conf +++ b/pool.conf @@ -1,4 +1,5 @@ pool-port = 4242 +pool-ssl-port = webui-port = 4243 rpc-host = 127.0.0.1 rpc-port = 28081 diff --git a/src/pool.c b/src/pool.c index b1b17eb..913754b 100644 --- a/src/pool.c +++ b/src/pool.c @@ -137,6 +137,7 @@ typedef struct config_t double pool_fee; double payment_threshold; uint32_t pool_port; + uint32_t pool_ssl_port; uint32_t log_level; uint32_t webui_port; char log_file[MAX_PATH]; @@ -2644,6 +2645,7 @@ read_config(const char *config_file) config.pool_fee = 0.01; config.payment_threshold = 0.33; config.pool_port = 4242; + config.pool_ssl_port = 0; config.log_level = 5; config.webui_port = 4243; config.block_notified = false; @@ -2700,6 +2702,10 @@ read_config(const char *config_file) { config.pool_port = atoi(val); } + else if (strcmp(key, "pool-ssl-port") == 0) + { + config.pool_ssl_port = atoi(val); + } else if (strcmp(key, "webui-port") == 0) { config.webui_port = atoi(val); @@ -2796,6 +2802,7 @@ static void print_config() { log_info("\nCONFIG:\n" " pool-port = %u\n" + " pool-ssl-port = %u\n" " webui-port=%u\n" " rpc-host = %s\n" " rpc-port = %u\n" @@ -2816,6 +2823,7 @@ static void print_config() " pid-file = %s\n" " forked = %u\n", config.pool_port, + config.pool_ssl_port, config.webui_port, config.rpc_host, config.rpc_port, @@ -3081,6 +3089,7 @@ int main(int argc, char **argv) uic.pool_stats = &pool_stats; uic.pool_fee = config.pool_fee; uic.pool_port = config.pool_port; + uic.pool_ssl_port = config.pool_ssl_port; uic.allow_self_select = !config.disable_self_select; uic.payment_threshold = config.payment_threshold; start_web_ui(&uic); diff --git a/src/webui-embed.html b/src/webui-embed.html index b23219f..fb774db 100644 --- a/src/webui-embed.html +++ b/src/webui-embed.html @@ -54,6 +54,7 @@ Payment threshold: Pool fee: Pool port: + Pool SSL port: Allow self-select: Miners connected: Your HR: @@ -122,6 +123,12 @@ el.innerHTML = (stats[e]*100) + "%"; else if (e == "allow_self_select") el.innerHTML = stats[e] == 1 ? "Yes" : "No"; + else if (e == "pool_ssl_port") + { + el.closest("tr").style = "display: " + + (stats[e] == 0 ? "none;" : "table-row;"); + el.innerHTML = stats[e]; + } else el.innerHTML = stats[e]; } diff --git a/src/webui.c b/src/webui.c index 7858082..b40feac 100644 --- a/src/webui.c +++ b/src/webui.c @@ -100,13 +100,15 @@ send_json_stats(struct evhttp_request *req, void *arg) "\"payment_threshold\":%.2f," "\"pool_fee\":%.3f," "\"pool_port\":%d," + "\"pool_ssl_port\":%d," "\"allow_self_select\":%u," "\"connected_miners\":%d," "\"miner_hashrate\":%"PRIu64"," "\"miner_balance\":%.8f" "}", ph, nh, height, ltf, lbf, pbf, context->payment_threshold, context->pool_fee, - context->pool_port, ss, context->pool_stats->connected_miners, + context->pool_port, context->pool_ssl_port, + ss, context->pool_stats->connected_miners, mh, mb); hdrs_out = evhttp_request_get_output_headers(req); evhttp_add_header(hdrs_out, "Content-Type", "application/json"); diff --git a/src/webui.h b/src/webui.h index 0d45b84..f76ff92 100644 --- a/src/webui.h +++ b/src/webui.h @@ -54,6 +54,7 @@ typedef struct wui_context_t double pool_fee; double payment_threshold; uint32_t pool_port; + uint32_t pool_ssl_port; unsigned allow_self_select; } wui_context_t;