I’ve run into this before, but have always been able to get it to work since I have always run the daemon and the web server on the same server, so the default localhost:58846 worked fine. However, I just setup my web server on a separate host from the daemon and could not get auto connect to work no matter what I tried. After some digging and looking at the actual Python code, I finally discovered how this works.
In the web.conf configuration file for the Deluge Web server, there is a line for “default_daemon” which can specify the default daemon. However, everyone on the web says to put the hostname:port here of the daemon you want to connect to. This is not correct. The value here is expected to be the host ID of the configured daemon. However, this info is not provided anywhere in the UI. After a little more digging I finally found the info needed.
Where the web.conf file resides, there is also a file called hostlist.conf.1.2. This file contains all of the configured daemons for the web server. Each host configured in this file should have a long string of characters as the first line in each definition. Here’s an example from my setup:
"a460f75d27562b0317a22b3e2600bd23e1fedb16", <- This is what you need
Now, make sure that your deluge web server daemon is shut down then edit the web.conf file and paste that host ID into the double quotes after “default_daemon”. Now start your deluge web service and it should automatically connect to the specified daemon.