From 866db1e98ee1c00e59d192e26f8de5bf2bdb33d2 Mon Sep 17 00:00:00 2001 From: Chris Xiao <30990835+chrisx8@users.noreply.github.com> Date: Mon, 21 Nov 2022 20:37:55 +0000 Subject: [PATCH] qbittorrent: support disabling ssl verification Add `verify_ssl` config option. When set to False, SSL certificate verification will be disabled. Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com> --- homeassistant/components/qbittorrent/sensor.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/qbittorrent/sensor.py b/homeassistant/components/qbittorrent/sensor.py index 151055a168878e..1a07c0445608f5 100644 --- a/homeassistant/components/qbittorrent/sensor.py +++ b/homeassistant/components/qbittorrent/sensor.py @@ -5,6 +5,7 @@ from qbittorrent.client import Client, LoginRequired from requests.exceptions import RequestException +import urllib3 import voluptuous as vol from homeassistant.components.sensor import ( @@ -17,6 +18,7 @@ CONF_PASSWORD, CONF_URL, CONF_USERNAME, + CONF_VERIFY_SSL, DATA_RATE_KIBIBYTES_PER_SECOND, STATE_IDLE, ) @@ -57,6 +59,7 @@ vol.Required(CONF_USERNAME): cv.string, vol.Required(CONF_PASSWORD): cv.string, vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, + vol.Optional(CONF_VERIFY_SSL, default=True): cv.boolean, } ) @@ -69,8 +72,12 @@ def setup_platform( ) -> None: """Set up the qBittorrent sensors.""" + # Suppress InsecureRequestWarning if verify_ssl is False. + if not config[CONF_VERIFY_SSL]: + urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) + try: - client = Client(config[CONF_URL]) + client = Client(config[CONF_URL], verify=config[CONF_VERIFY_SSL]) client.login(config[CONF_USERNAME], config[CONF_PASSWORD]) except LoginRequired: _LOGGER.error("Invalid authentication")