For years in my home I used a Linksys WRT1900ACS with Openwrt build by community (user davidc502).
Transmission-daemon run into router worked perfectly since last Davidc502 build (about r12800 ,May 2020, davidc502 stopped his developement).
From that release and newer, Transmission has problem to connect to http (and https) trackers. Log shows always "Could not connect to tracker (announcer.c:1085)".
On the contrary UDP trackers work very fine. It looks that only http/https are not working. I've tried many many trackers with the same results: http not working, udp yes.
From the router console if I try to connect the tracker http url using wget or curl (i.e. curl -v http://tracker.example.org/a/401111111111111111430e6c4d/announce ), the connection is fine even if the tracker is on tcp port 80 or something different tcp port. It's looks not a firewall problem.
If I run Transmission in a PC inside my LAN, http/https tracker are working fine.
During these days I build myself from scratch a new OpenWRT image and now I'm running r15880 with transmission 3.00. All works fine but the Transmission problem is the same. I've reconfigured all new image parameters by hand from a fresh and clean installation (I've not use my previous config).
So I'm very confused: only trasmission-daemon running into router cannot connect http.
I see this error in transmission logs: [2021-02-24 20:44:15.952] web will verify tracker certs using envvar CURL_CA_BUNDLE: none (web.c:456) [2021-02-24 20:44:15.952] web NB: this only works if you built against libcurl with openssl or gnutls, NOT nss (web.c:457) [2021-02-24 20:44:15.952] web NB: invalid certs will show up as 'Could not connect to tracker' like many other errors (web.c:458)
It's possible that incorrect CERTS can block https AND also http ??
SOLVED !!!
It was a simple (and stupid) configuration issue.
My settings.json has:
"bind-address-ipv4": "0.0.0.0"
"rpc-bind-address": "0.0.0.0" (but rpc was working correctly. Mumble mumble).
Well if I change with router LAN IP:
"bind-address-ipv4": "192.168.1.1"
"rpc-bind-address": "192.168.1.1"
HTTP/HTTPS connection to trackers works fine !
I've discovered this enabling TR_CURL_VERBOSE:
export TR_CURL_VERBOSE =1 ; transmission-daemon -f -g --log-debug /my/p2p/dir
and I see some "cannot bind 0.0.0.0" messages.
So I change 0.0.0.0 with 192.168.1.1 and BINGO ! All works.