DobyTang / LazyLibrarian

This project isn't finished yet. Goal is to create a SickBeard, CouchPotato, Headphones-like application for ebooks. Headphones is used as a base, so there are still a lot of references to it.
730 stars 72 forks source link

Transmission + SSL support #1483

Closed oddsocksio closed 6 years ago

oddsocksio commented 6 years ago

LazyLibrarian version number : ed55f7e6304bd746db35d478ba9d813111bbdac1

Operating system used : Linux

Relevant debug log with api keys and any passwords redacted

[TRANSMISSION]
transmission_host = https://foo.bar/
transmission_port = 443
transmission_dir =
transmission_user = <username>
transmission_pass = <redacted>
...
25-Jun-2018 13:00:44 - INFO    :: WEBSERVER : webServe.py:toggleLog:3658 : Debug log ON, loglevel is 2
25-Jun-2018 13:00:53 - ERROR   :: WEBSERVER : transmission.py:torrentAction:294 : Expected a Session ID from Transmission, got 400
25-Jun-2018 13:01:02 - DEBUG   :: SAVELOG : common.py:saveLog:824 : Processing logfile [/config/log/lazylibrarian.log] 

I've currently got transmission exposed over HTTPS only via a nginx reverse proxy and the only way i can reproduce a 400 is by connecting like

curl http://foo.bar:443/transmission/rpc -u <username>
Enter host password for user 'username':
<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx</center>
</body>
</html>

I've tried all the config permutations i can think of but cant find a way to enable ssl

philborman commented 6 years ago

There is a guide here using Nginx reverse proxy to transmission, but I haven't tried it myself... https://discourse.osmc.tv/t/guide-transmission-web-in-ssl-https-using-nginx-as-a-reverse-proxy/22549&ved=2ahUKEwjO75mB1fbbAhUEzRQKHaRxC8AQFjAHegQICRAB&usg=AOvVaw2Ooa0NrmxHhlQH1vW0FJ0f

Also loglevel 16 when talking to transmission will give more debugging info