Authenticate iOS app with authorization code instead of my.channelsdvr.net

I use Cloudflare for DDNS. I'm running Channels in a container on an Unraid server. I have port forwarding set up on my router, forwarding to my Unraid server. Given my particular network setup, the Channels container IP is on a different subnet than the published IP for the server. For that reason, my.channelsdvr.net won't login. However, I can point an external browser to my domainname:8089 and it gives me the ability to authenticate with an authorization code which I can get after logging in to community.getchannels.com. Is there any way to login like that through the iOS app (phone or ATV)? That is, I'd like to input my domainname:8089 and login with an authorization code instead of use my.channelsdvr.net. Is that somehow possible?

As it stands, I can just VPN into my home network and use the LAN IP like if I was at home, but that's not terribly convenient when using ATV.

No.

You'll need to connect using your VPN if you can't connect with the way Remote DVR was designed.

tvOS 17, which should be released next week, has support for VPN.

1 Like

Thanks. tvOS VPN functionality will be useful on a number of levels. Out of curiosity, is there some reason you let a browser authenticate to the server in that manner, but not the iOS apps? A security issue or something? Seems it would be easy to implement.

Because this is how we designed the authentication flow. This works for 99.999% of customers and it works very well and is easy for everyone. If you're hosting your server in a weird niche way, these are the sort of things you can expect to run into.

What we can do is manually set your external port for your server, so that remote streaming will connect to that instead. I'm not sure your IP address has anything to do with your issue, it's your port.

Why not just map your external port 8089 to the port your Channels DVR Server is using? It should just work in that case.

Oh, I get it. No worries, mate. I'm definitely an edge case. I'll get it sorted.

Is there any chance something is screwed up for my account in particular? I have my.channelsdvr.net working internally, but it won't work externally. Maybe something like this? My.ChannelsDvr.net externally is not working

See:

Just a note here that you guys were right, of course, and that the error was a port forwarding issue on my end. In case anybody ever searches for these terms and needs the answer:

I'm running Channels DVR in a container on Unraid (channelsdvr_nvidia). I wanted to route Channels through a VPN container, so I spun up another container for openvpn-client and used my PureVPN credentials. PureVPN allows you to open a selected port, which I did for 8089. I followed the usual Unraid instructions for routing a container's traffic through another container (channelsdvr_nvidia container set Network Type: None; and Extra Parameter: --net=container:OpenVPN-Client) and then I added port 8089 to the openvpn-client container. That worked for purposes of routing the traffic through the container, but I couldn't get the relevant port to open. I confirmed that the external IP was using my VPN exit point using the address my.channelsdvr.net was resolving to (UNIQUENUMBER.u.channelsdvr.net) and checking at nslookup.io. That external IP address matched my container external IP (which you can check in the container's console using curl ifconfig.me)

After much searching the solution was to add a variable to the openvpn-client container for key VPNPORT set to 8089. I also needed to ensure that my openvpn configuration was using the TCP protocol. It's finally all working as intended.

As is probably obvious, I'm not terribly experienced with this stuff. Hours and hours of failing. Hopefully this helps somebody else.