From edc263f703e303fb0fa439c158cb756cd1eb036f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Ma=C5=82ek?= Date: Mon, 18 May 2020 17:02:29 +0200 Subject: [PATCH] Set custom user agent --- src/includes/functions.inc.php | 4 ++-- src/lang/en_US.lang.php | 2 ++ src/lang/pl_PL.lang.php | 2 ++ src/psm/Module/Config/Controller/ConfigController.php | 11 +++++++++-- src/templates/default/module/config/config.tpl.html | 2 ++ 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/includes/functions.inc.php b/src/includes/functions.inc.php index c1754cdd..64c0e96c 100644 --- a/src/includes/functions.inc.php +++ b/src/includes/functions.inc.php @@ -452,8 +452,8 @@ namespace { } if ($add_agent) { - curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; phpservermon/' . - PSM_VERSION . '; +https://github.com/phpservermon/phpservermon)'); + curl_setopt($ch, CURLOPT_USERAGENT, psm_get_conf('user_agent', 'Mozilla/5.0 (compatible; phpservermon/' . + PSM_VERSION . '; +https://github.com/phpservermon/phpservermon)')); } $result['exec'] = curl_exec($ch); diff --git a/src/lang/en_US.lang.php b/src/lang/en_US.lang.php index 3c461c14..4f3648d7 100644 --- a/src/lang/en_US.lang.php +++ b/src/lang/en_US.lang.php @@ -414,6 +414,8 @@ $sm_lang = array( 'log_retention_period_description' => 'Number of days to keep logs of notifications and archives of server uptime. Enter 0 to disable log cleanup.', 'log_retention_days' => 'days', + 'user_agent' => 'User Agent', + 'user_agent_key_note' => 'Custom user agent used by monitor within communication with external services.', ), 'notifications' => array( 'off_sms' => 'Server \'%LABEL%\' is DOWN: ip=%IP%, port=%PORT%. Error=%ERROR%', diff --git a/src/lang/pl_PL.lang.php b/src/lang/pl_PL.lang.php index d5061f0d..b8ef6531 100644 --- a/src/lang/pl_PL.lang.php +++ b/src/lang/pl_PL.lang.php @@ -272,6 +272,8 @@ $sm_lang = array( archiwizować uptime serwera. Wpisz 0 aby wyłączyć czyszczenie logów.', 'log_retention_days' => 'dni', + 'user_agent' => 'User Agent', + 'user_agent_key_note' => 'Nazwa używana przez monitoring do identyfikacji ze sprawdzaną usługą.', ), 'notifications' => array( 'off_sms' => 'Serwer \'%LABEL%\' przestał odpowiadać: ip=%IP%, port=%PORT%. Błąd=%ERROR%', diff --git a/src/psm/Module/Config/Controller/ConfigController.php b/src/psm/Module/Config/Controller/ConfigController.php index 01216e2a..e98fee6d 100644 --- a/src/psm/Module/Config/Controller/ConfigController.php +++ b/src/psm/Module/Config/Controller/ConfigController.php @@ -77,7 +77,8 @@ class ConfigController extends AbstractController 'jabber_host', 'jabber_port', 'jabber_username', - 'jabber_domain' + 'jabber_domain', + 'user_agent', ); /** @@ -191,6 +192,11 @@ class ConfigController extends AbstractController foreach ($this->fields as $input_key) { $tpl_data[$input_key] = (isset($config[$input_key])) ? $config[$input_key] : ''; } + + $tpl_data['user_agent'] = empty($tpl_data['user_agent']) ? + 'Mozilla/5.0 (compatible; phpservermon/' . + PSM_VERSION . '; +https://github.com/phpservermon/phpservermon)' : $tpl_data['user_agent']; + // encrypted fields foreach ($this->encryptedFields as $encryptedField) { $tpl_data[$encryptedField] = ''; @@ -516,7 +522,8 @@ class ConfigController extends AbstractController 'label_log_retention_days' => psm_get_lang('config', 'log_retention_days'), 'label_days' => psm_get_lang('config', 'log_retention_days'), 'label_leave_blank' => psm_get_lang('users', 'password_leave_blank'), - + 'label_user_agent' => psm_get_lang('config', 'user_agent'), + 'label_user_agent_key_note' => psm_get_lang('config', 'user_agent_key_note'), ); } } diff --git a/src/templates/default/module/config/config.tpl.html b/src/templates/default/module/config/config.tpl.html index 3f7064e5..804c171c 100644 --- a/src/templates/default/module/config/config.tpl.html +++ b/src/templates/default/module/config/config.tpl.html @@ -48,6 +48,8 @@ {{ macro.input_field("text", "password_encrypt_key", null, "password_encrypt_key", label_password_encrypt_key, password_encrypt_key, "cab03a766...", "40", "password_encrypt_key_help", label_password_encrypt_key_note) }} + + {{ macro.input_field("text", "user_agent", null, "user_agent", label_user_agent, user_agent, "Mozilla/5.0...", "255", "user_agent_key_help", label_user_agent_key_note) }}