No Kiwis shown on TDoA map
When I run the TDoA extension I see nothing on the map but the world: no Kiwis, no services, nothing. At any zoom level. It's like the TDoA server isn't sending anything back when I enter the extension.
I run behind a Cloudflare reverse proxy. Might that be the problem?
Comments
The data for those come from these files. See if you can open them directly from your browser. If not, find out why not (e.g. look at browser console for error messages)
http://tdoa.kiwisdr.com/tdoa/files/kiwi.gps.json
http://tdoa.kiwisdr.com/tdoa/refs.cjson
I can see those files, but I had to approve seeing a http:// address. I disabled that security "feature" and will experiment.
Here's the browser console log. Looks as though it's not grabbing those files still.
kiwisdr.min.js:159 DYNLOAD START
kiwisdr.min.js:159 (2) ['pkgs/js/graph.js', 'kiwi/kiwi_js_load.js']
kiwisdr.min.js:162 DYNLOAD loading pkgs/js/graph.js
kiwisdr.min.js:162 DYNLOAD loading kiwi/kiwi_js_load.js
kiwisdr.min.js:162 DYNLOAD FINISH
kiwi_js_load.js:4 kiwi_js_load.js RUNNING
kiwi_js_load.js:4 kiwi_js_load.js CALLBACK S_meter_controls_setup for pkgs/js/graph.js
kiwi_js_load.js:6 kiwi_js_load.js DONE
kiwisdr.min.js:117 ext_client_init is_locked=0
kiwisdr.min.js:122 extint_focus: loading TDoA.js
kiwisdr.min.js:159 DYNLOAD START
kiwisdr.min.js:159 (3) ['extensions/TDoA/TDoA.js', 'extensions/TDoA/TDoA.css', 'kiwi/kiwi_js_load.js']0: "extensions/TDoA/TDoA.js"1: "extensions/TDoA/TDoA.css"2: "kiwi/kiwi_js_load.js"length: 3[[Prototype]]: Array(0)
kiwisdr.min.js:162 DYNLOAD already loaded: extensions/TDoA/TDoA.js
kiwisdr.min.js:162 DYNLOAD already loaded: extensions/TDoA/TDoA.css
kiwisdr.min.js:162 DYNLOAD FINISH
kiwisdr.min.js:162 DYNLOAD call pre
kiwisdr.min.js:124 extint_focus: TDoA loaded=false
kiwisdr.min.js:163 DYNLOAD call post
kiwisdr.min.js:123 extint_focus: calling TDoA_main()
kiwisdr.min.js:824 w3_call: while in func this exception occured:
kiwisdr.min.js:824 TypeError: tdoa.hosts.forEach is not a function
at tdoa_remove_hosts (TDoA.js:78:67)
at tdoa_rebuild_hosts (TDoA.js:79:57)
at tdoa_show_maps (TDoA.js:137:47)
at tdoa_ui_reset (TDoA.js:139:311)
at tdoa_controls_setup (TDoA.js:22:53)
at TDoA_main (TDoA.js:5:1)
at w3_call (kiwisdr.min.js:823:156)
at kiwisdr.min.js:123:169
at w3_call (kiwisdr.min.js:824:25)
at kiwi_load_js (kiwisdr.min.js:163:46)
kiwisdr.min.js:772 $AJAX BAD STATUS=0 url=http://tdoa.kiwisdr.com/tdoa/refs.cjson
TDoA.js:93 tdoa_rebuild_refs REFS <v,m,r,a,w,b,u,t> show_refs=true opts=...
kiwisdr.min.js:772 $AJAX BAD STATUS=0 url=http://tdoa.kiwisdr.com/tdoa/files/kiwi.gps.json
kiwisdr.min.js:824 w3_call: while in func this exception occured:
kiwisdr.min.js:824 TypeError: tdoa.hosts.forEach is not a function
at tdoa_remove_hosts (TDoA.js:78:67)
at tdoa_rebuild_hosts (TDoA.js:79:57)
at tdoa_get_hosts_cb (TDoA.js:130:1)
at w3_call (kiwisdr.min.js:823:156)
at ajax.onreadystatechange (kiwisdr.min.js:773:75)
kiwisdr.min.js:802 >>> EXT: message not claimed: EXT-STOP-FLUSH-INPUT
TDoA.js:12 tdoa_recv: UNKNOWN CMD debug
TDoA.js:12 tdoa_recv: UNKNOWN CMD debug
I go to other Kiwis and it works. Not sure what that means.
What does the status column of the browser "network" tab say? (you'll need to do a page refresh after selecting "network")
What Kiwi software version are you running?
Both those files fail with a status "Blocked: mixed content." I'm guessing it's a safety feature of my system (this happens on Chrome, Edge, and Vivaldi browsers). But it doesn't happen with other folk's Kiwis.
Okay, I looked at the error in Edge browser and it gave me a better explanation: I'm loading my web page via HTTPS, and all my browsers then expect all content to also be https:// and when it isn't, it fails to load and throws an error that all content must be loaded over HTTPS. Probably because there is no browser mechanism for allowing non-secure sub-content to be approved by the user.
I spent five minutes trying to find anyone else running their KiwiSDR as HTTPS and found none, so I see I'm an anomaly. I guess I'll redo my network a bit and get that HTTP ported in......aaaand, that fixed it.
There have been some running https in the past. But they implemented re-proxying http content from kiwisdr.com as https so this problem would not happen. I don't recall if any of them was done on cloudflare or with a private server running nginx.
The Kiwi server actually has an experimental ssl/https mode. And it works fine. The problem is that it is useless without certificate management. For IoT devices this is only really possible when a device is associated with a private domain name that can interact with Let'sEncrypt. Kiwi's even have support for ACME challenge requests on port 80 built-in. But most Kiwi's are not on a private domain.
The proxy service could be converted to using https. But this has never been a very high priority.