From efdd4156d89b14a7418ae40c104631b0e7de8d09 Mon Sep 17 00:00:00 2001 From: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> Date: Mon, 16 Oct 2023 15:04:19 -0700 Subject: [PATCH] Update IP helper function --- plexpy/helpers.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plexpy/helpers.py b/plexpy/helpers.py index 25850a16..486be759 100644 --- a/plexpy/helpers.py +++ b/plexpy/helpers.py @@ -1194,18 +1194,20 @@ def get_plexpy_url(hostname=None): scheme = 'http' if hostname is None and plexpy.CONFIG.HTTP_HOST in ('0.0.0.0', '::'): - import socket + # Only returns IPv4 address + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) + s.settimeout(0) try: - # Only returns IPv4 address - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) - s.connect(('', 0)) + s.connect(('', 1)) hostname = s.getsockname()[0] except socket.error: try: hostname = socket.gethostbyname(socket.gethostname()) except socket.gaierror: pass + finally: + s.close() if not hostname: hostname = 'localhost'