Closed mdhiggins closed 6 months ago
Same problem here on fedora and python 3.10.3
Not sure how active development is on this project but I was able to get things working temporarily by subclassing and fixing this one method, sample below
# Fix for python 3.10 SSL issues
class SMADelugeRPCClient(DelugeRPCClient):
def _create_socket(self, ssl_version=None):
if ssl_version is not None:
self._socket = ssl.wrap_socket(socket.socket(socket.AF_INET, socket.SOCK_STREAM), ssl_version=ssl_version, ciphers="AES256-SHA")
else:
self._socket = ssl.wrap_socket(socket.socket(socket.AF_INET, socket.SOCK_STREAM), ciphers="AES256-SHA")
self._socket.settimeout(self.timeout)
...
client = SMADelugeRPCClient(host=settings.deluge['host'], port=int(settings.deluge['port']), username=settings.deluge['user'], password=settings.deluge['pass'])
Reference: https://github.com/mdhiggins/sickbeard_mp4_automator/blob/master/delugePostProcess.py
@mdhiggins this worked for me, thank you!
I've tried to do a fallback fix but SSL is hard.
Looks like due to SSL deprecations and/or changes to default ciphers this no longer works on Python 3.10
Attempts to connect are met with
If I set a cipher in client.py in the _create_socket method this seems to fix things