FastChannels - FAST Channels aggregator/manager

A few nitpicky things left...but will save for a bit later...
EDIT: Ok, just one nitpick...
Could you add a option to show/hide disabled Sources on the Sources Page?
Really would like to see a cleaned up page and not have to scroll so much.

Most importantly though, really could use a Backup/Restore function, or some sort Export/Inport user settings.
So that, if something happens, i can just Inport all my enabled/disabled channels and feeds and settings etc. Atm, i am not even sure how to go about backing up changes. Aside from the OS built in system image abilty.

Additionally, for my mothers DVR, she has over 100+ FAST channels enabled/set to FAV.
I have a simple .txt doc of the names of each channel...would be cool is i could just dump the list into FAST and it enable just those channels, or at least, show them in search so that i can enable them. Or read it in as a .csv...
Vs, having to type each one, or enable just those, or add to a feed etc.

Long winded way of me saying....wish there was a way of searching for, or enabling channels in bulk.
Just trying to find a better way to do this that is not so tedious.

I can tell you love this Project. Getting spoiled!

1 Like

It is much nicer to have a central place to manage all the FAST sources available, vs, having to deal with multiple dockers/solutions run by different people.

Been using the Pluto Windows 4 Channels DVR by @Bobby_Vaughn since Pluto needs login, and since nocords stopped being an option. Thats been excellent. Very simple solution. Works great and been rock solid. Perfect for those who want something simple and that just works (and whose dev is also active here and responds to user reports.)

But, this FAST manager, much more advanced option. Exposing so much more and control.
Can be a bit overwhelming, due to the massive amount of channels available, and having to narrow things down, pick what sources one wants etc....but being able to see what each source has to offer, all in one place, never seen anything like that, until now.
(if only there was something like this for TVE services :smirk:)

I still like to split up, or at least make them different channel number groups for each source i use. Just makes it a bit easier to troubleshoot or know right away if a channel fails to load or guide data issues, oh, its channel x000 series, thats Pluto source, something may be up with Pluto...etc.

But, transitioning to a new source setup, want to test first, get familiar with how to use it, and its quirks, before i roll it out to my in use servers. My elderly disabled mother, will not be happy if she misses her shows or recordings. lol.

Made the change over to FAST on my own server now. So far, all is good.

1 Like

Yes, there's a lot to like about this Project.
Source stream Audit and Channel inspection.
Add your own GN ID.
Enable/Disable channels.
DUP detection.

I like to add a source, disable all its channels and then enable the ones I want.
Run the Source Stream audit and inspect the Channels.
Add GN ID's.
This tool makes that easy.

1 Like

YES. This exaclty.

Before, CDVR lists all the channels, i had to go in and manually disable the channels, enable what i wanted and fav etc. And, over time, new ones would just show up as there were added to the source lineup. Some welcome, most not.

Uhhh can’t you now? Bulk actions should accomplish that right?

u can select multiple channels, or all channels to enable/disable sure.
But, how can i search for a specific list of channels.
The search box in Channels page, only accepts one name at a time.

I have a list of 100 channels names...
Is there any way to just enable these channels in bulk, without having to type in each name into the search and enable one by one?

you want to search for 100 channels at a time? that doesn't make sense. i wont do that.

i want to enable multiple channels at once. From a existing list...vs doing so manually.
Maybe import a .csv of channel names or something and have it read that and run a search from that.
More major a function to deliver that i thought perhaps...
Guess i just have to take the time to do it all manually then. :face_with_spiral_eyes:
Should only be a first time setup process anyways.

Just hope a backup/restore settings feature is on you list to do soon....do not want to have to set all this up all over again. lol :yum:

Every time I run an Audit on distro I see rate-limited and errors.
How can I tell which channels it got the errors on?

2026-03-22 15:45:32,059 INFO     app.worker: [audit] distro: checking 295 channels…
2026-03-22 15:46:04,828 INFO     app.worker: [audit] distro: 25/295 — checked=25 flagged=0 dead=0 errors=0
2026-03-22 15:46:28,637 INFO     app.worker: [audit] distro: 50/295 — checked=50 flagged=0 dead=0 errors=0
2026-03-22 15:47:00,890 INFO     app.worker: [audit] distro: 75/295 — checked=75 flagged=0 dead=0 errors=0
2026-03-22 15:47:36,881 INFO     app.worker: [audit] distro: 100/295 — checked=100 flagged=0 dead=0 errors=0
2026-03-22 15:48:22,753 INFO     app.worker: [audit] distro: 125/295 — checked=125 flagged=0 dead=0 errors=0
2026-03-22 15:49:10,571 INFO     app.worker: [audit] distro: 150/295 — checked=150 flagged=0 dead=0 errors=0
2026-03-22 15:49:47,563 WARNING  app.worker: [audit] distro rate-limited (403), backing off 30s…
2026-03-22 15:50:30,803 INFO     app.worker: [audit] distro: 175/295 — checked=174 flagged=0 dead=0 errors=1
2026-03-22 15:50:55,668 INFO     app.worker: [audit] distro: 200/295 — checked=199 flagged=0 dead=0 errors=1
2026-03-22 15:51:17,718 INFO     app.worker: [audit] distro: 225/295 — checked=224 flagged=0 dead=0 errors=1
2026-03-22 15:51:38,899 INFO     app.worker: [audit] distro: 250/295 — checked=249 flagged=0 dead=0 errors=1
2026-03-22 15:52:04,983 INFO     app.worker: [audit] distro: 275/295 — checked=274 flagged=0 dead=0 errors=1
2026-03-22 15:52:12,842 WARNING  app.worker: [audit] distro rate-limited (403), backing off 30s…
2026-03-22 15:52:53,354 INFO     app.worker: [audit] distro: done — total=295 checked=293 flagged=0 dead=0 errors=2

So i think your change to force gracenote seems to have broken something


i turned off gracenote on all of the america's test kitchen channels (trying to find the best one they are all the same) - there are like 5-6 gracenote possibilities on it and all of them are versions of "this channel no longer exists"

the update pushed all these channels to gracenote with the same code

Yeah i'm seeing issues - all of the america's test kitchen are the same but if you look at something like this old house the channels that basically all have the same name have all different metadata

It seems worse than that

I can see the channels on my m3u custom setup but it’s forcing gracenote even tho I have it off and deduping even though I have them all enabled

This is the only America’s test kitchen I now have and the gracenote is again the dead channel

EDIT: I thought for ten seconds and realized it was getting deduped because they shared the same gracenote channel

On Roku, I don’t know if this helps or not, but saw this: Roku No Longer Lets You Watch Free OTA TV From ABC, CBS, FOX, & NBC, With An Antenna Unless You Also Have a Working Internet Connect on Roku TVs | Cord Cutters News

Forcing Gracenote should not be default when user turns it off.
Even with my limited testing with matching Gracenote, or trying available options for several channels i care about that do not have it confirmed from before via Plex GN.
I tried a few "High" matches and ended up with the same thing, No longer available, or guide data did not match what was airing on channel, or no data at all.
Its a gamble, imo.
Some channels match perfect, may even have multiple IDs that give the same info, with no idea the differance.
Some, i noted, the fine print, are from other region, i think. Seen ones with UK or GB etc in the name.

Not seeing any issues rn, with the channels i have enabled on my server...but have yet to setup other server with over 100+ channels, mostly Pluto, which does not have GN data for most channels.

Yeah, mine flipped out, too...

2026-03-22 17:22:32,504 INFO     app.worker: [audit] distro: 250/305 — checked=250 flagged=10 dead=0 errors=0
2026-03-22 17:23:17,150 WARNING  urllib3.connectionpool: Retrying (Retry(total=2, connect=2, read=2, redirect=None, status=2)) after connection broken by 'NameResolutionError("HTTPSConnection(host='amg01314-amg01314c6-distrotv-us-10220.playouts.now.amagi.tv', port=443): Failed to resolve 'amg01314-amg01314c6-distrotv-us-10220.playouts.now.amagi.tv' ([Errno -2] Name or service not known)")': /playlist/amg01314-cgtn-cgtnglobalbiz-distrotvus/playlist.m3u8?ads.app_domain=&ads.app_name=&ads.app_store_url=https%253A%252F%252Fdistro.tv%252F&ads.coppa=0&ads.dnt=0&ads.c_producer=CGTN&ads.device_model=&ads.did=2a425a9c-6d1e-4520-9c9f-7160d75b5800&ads.ifa_type=uuid&ads.url=https%253A%252F%252Fdistro.tv%252F&ads.content_livestream=1&ads.ic=IAB3&ads.iu=&ads.idtype=Linux&ads.lmt=0&ads.gpp=&ads.gpp_sid=&ads.prodq=0&ads.inv_partner_domain=http%3A%2F%2Fdistro.tv&ads.schain=1&ads.islive=1&ads.streamtype=live&ads.vf=qsITRDgH0Ma
2026-03-22 17:23:23,480 INFO     app.worker: [audit] distro: 275/305 — checked=275 flagged=10 dead=0 errors=0
2026-03-22 17:23:25,038 WARNING  app.worker: [audit] distro rate-limited (403), backing off 30s…
2026-03-22 17:23:55,778 WARNING  app.worker: [audit] distro rate-limited (403), backing off 30s…
2026-03-22 17:25:04,927 INFO     app.worker: [audit] distro: 300/305 — checked=298 flagged=10 dead=0 errors=2
2026-03-22 17:25:10,881 INFO     app.worker: [audit] distro: done — total=305 checked=303 flagged=10 dead=0 errors=2

This stream audit has been an absolute nightmare. It’s caused 403 errors, DB lockups, etc.

Let me rethink the whole process.

3 Likes

You are the one that complained about Gracenote coverage. So I made a good faith attempt to turn on matching. Now you don’t want it? I’ll just make an option to turn matching on/off and you guys decide if you want it.

3 Likes

I like that you have some GN ID's to pick from, but I prefer verifying the one I add to a channel before I do.

And I'm in no hurry. I haven't used it as a source yet. Still cherry picking source channels and trying to find matching GN ID's.

2 Likes

Its not your fault... I had no idea GN was hit or miss(on the channels i tried) that like, until i had the ability to try it.
You didn't make up the GN ID data, u grabbed it from other sources no?
Not like you can check and verify ever single match.
Just cause the name matches an ID, does not mean that is the correct one, so it seems.
Its not that reliable to always auto match. One has to check and verify.

And don't get me wrong, i love the fact i can search and try different IDs.
Just, perhaps it may be worth it to toggle Auto matching, or have it auto match, but have the user actually enable it once they verify the match.