Feature request: Proper authentication and access control for Web Admin V2

Channels DVR still doesn't offer proper protection for the admin interface, and I'd love to know whether this is something the developers are considering.

My setup is Channels DVR running in Docker on Unraid, with a MikroTik router.

I've tried restricting access through firewall rules, but this isn't a straightforward solution when the viewing apps need to communicate with the same server. I don't want to compromise the excellent channel-switching speed and responsiveness that make Channels so good just to secure the admin interface.

What I'd really like to see is:

  • Optional authentication for Web Admin V2.
  • Separate administrator and ordinary user permissions.
  • Protection for administrative API endpoints, not just the web page.
  • The ability to restrict administration to authorised devices while leaving normal TV viewing and recording unaffected.

I don't expect a complicated enterprise-level permissions system. Even a simple, optional admin password that protects the interface and its administrative functions would be a significant improvement.

It's frustrating that a device on the same home network can potentially access administrative functions without authentication. Being on a trusted network shouldn't automatically mean being trusted with control over the entire DVR.

Is proper admin authentication and access control on the roadmap for Channels DVR or Web Admin V2? I'd really appreciate some clarification from the development team, even if it's not currently planned.

Why would ordinary users want/need to go to the web admin page? By definition, it is meant to be managed by one administrator (you).

I can't think of any reasons why my family members would go to the admin page. First of all, they don't even know that it exists, and if they happen to miraculously open it, I will make sure to let them know to stay away from it.

If there are things that can't be done from a client (like creating an advanced pass), I will do it on the admin page.

I don't really disagree with your requests but I'm genuinely curious about your use case for ordinary users to access the admin page.

2 Likes

A family member that is traveling with a laptop and wants to view a live sports broadcast on that screen.

Ah yes, I see the use case because of the lack of a proper desktop client until recently.

If the laptop is running either Windows or Linux, have you tried DVRDesk?

No. I didn't realize they would be capable of an encrypted remote connection. Do these apps do it natively, or is there some kind of user intervention required beyond the usual login stuff?

In my case, it's too late. With some simple AI questions (like how do I get my laptop connected to channels dvr, I would imagine) the family is now able to access all the server controls and turn the client connection bandwidth limits up, among messing with every other server side setting. I don't see a way around this condition until Channels DVR is capable of separate logins for a 'client level user' and an 'admin level'.

Most server software matures at some point, comes to this realization and deals with it.

The clients don't handle the connection themselves. Tailscale is the simplest method of connecting a client app to a server, once defined on the server and the client, it just works.

That's what I figured. Native clients work fine, non-native clients require an intermediary. In any case, as I mentioned, the cat's out of the bag already. Trying to figure out how to get a laptop connected to channels dvr was just a stepping stone to getting unfettered access to server settings.

Sorry, I must have misunderstood the question. What do you mean by "native clients work fine"? How so?

A streaming device requires a username and password, that's it. No special server side configuration (well, a button to enable remote connections). At the end of the day, the focus of this thread probably isn't on the client GUI, but rather on the issue of clients and admins having the same level of server access. Did I get that right OP?

Right, that's what I get for not reading the OP! I agree, a password for admin functions would be nice, if for no other reason than preventing a curious family member from inadvertently changing something. If you want to support remote viewing for laptops, you need a client like DVR Desk or Clicker. You really don't want anyone besides admins using the admin UI.

I mentioned in another post that the new V2 web admin interface is really nice for playing content as well. They could split that off into some sort of login protected interface and have a good web player (without needing to use 3rd party apps).

This is correct.

Anyone using the server, and a device with a browser, will have access to the Admin page.

It just doesn't seem right.

Agreed. The V2 web interface is a decent client itself. It resembles a lot of mobile and desktop apps that also have a web client when they aren't trying to make the web client look like the mobile client. All they need to do is to put everything below the Live TV section behind an admin logon, et voila!

There are just these pesky API calls.

I really like the suggestion of keeping the Live TV section accessible while putting the administrative sections behind a login.

That seems like a sensible starting point, especially with Web Admin V2 already providing a useful browser-based viewing experience.

The important part, though, is ensuring that the underlying API enforces the same permissions. Simply hiding the admin sections or putting a login screen in front of them wouldn't be enough if the administrative endpoints remain accessible.

Ideally, normal viewing and channel switching would continue exactly as they do today, with authentication required only for administrative functions.

That would give us the best of both worlds: the excellent Channels viewing experience, without giving every user unrestricted access to server settings.

I may be a little naive, but I trust everyone in my household to not mess with the server settings without my knowledge. Just like I trust them to not mess with my toothbrush so I don't need to lock it up. Right now they don't even know how to find the settings, but it would be nice if they showed an interest in how the server works. Suppose they accidently unplug the server. Maybe I will miss a recording, but it is just TV. My family could do a lot of things that would cost me a lot of money, so I am not going to worry too much about this server. I am not against extra security, but other things are more important to me.

1 Like

I can understand that, and I agree it's not necessarily about trusting your family. Mine aren't deliberately going to mess with anything either, and in fact, I've been using it for many years with no issues.

For me, it's more about having the option to separate ordinary users from administrators.

I also run a lot of services and network equipment, and everything I manage has some way to secure the administrative interface or restrict access to it. Channels DVR is the only service in my setup where I can't find a proper way to secure the admin side while leaving normal users free to use the service.

It's not just about accidental changes, either. If the admin interface and API are accessible to every device on the network without authentication, there's no real access control.

I'm not suggesting this needs to be a high priority over everything else, but I think optional admin authentication would be a worthwhile improvement.

Those who don't need it could leave it disabled and open for those who are curious. While those of us who do, could secure it properly. I don't think that's an unreasonable thing to ask for.

2 Likes

I agree with you. It's a fair request.

As long as its optional and not mandatory, I'm ok with it. I don't need this feature but I can see a use for it.