{"id":16792849,"url":"https://github.com/maddox/pluto-for-channels","last_synced_at":"2026-02-26T06:32:40.018Z","repository":{"id":51382091,"uuid":"313704992","full_name":"maddox/pluto-for-channels","owner":"maddox","description":":tv: M3U generator optimized for Channels' custom channels.","archived":false,"fork":false,"pushed_at":"2025-01-08T17:23:30.000Z","size":270,"stargazers_count":115,"open_issues_count":8,"forks_count":33,"subscribers_count":23,"default_branch":"main","last_synced_at":"2025-03-29T07:03:10.286Z","etag":null,"topics":["channels-dvr-server","custom-channels","pluto"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maddox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-17T18:16:42.000Z","updated_at":"2025-03-22T01:31:03.000Z","dependencies_parsed_at":"2025-02-15T20:01:21.994Z","dependency_job_id":null,"html_url":"https://github.com/maddox/pluto-for-channels","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maddox%2Fpluto-for-channels","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maddox%2Fpluto-for-channels/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maddox%2Fpluto-for-channels/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maddox%2Fpluto-for-channels/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maddox","download_url":"https://codeload.github.com/maddox/pluto-for-channels/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305930,"owners_count":20917207,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["channels-dvr-server","custom-channels","pluto"],"created_at":"2024-10-13T08:47:25.405Z","updated_at":"2026-02-26T06:32:40.006Z","avatar_url":"https://github.com/maddox.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pluto for Channels\n\nThis simple Docker image will generate an M3U playlist and EPG optimized for use in [Channels](https://getchannels.com) and expose them over HTTP.\n\n[Channels](https://getchannels.com) supports [custom channels](https://getchannels.com/docs/channels-dvr-server/how-to/custom-channels/) by utilizing streaming sources via M3U playlists.\n\n[Channels](https://getchannels.com) allows for [additional extended metadata tags](https://getchannels.com/docs/channels-dvr-server/how-to/custom-channels/#channels-extensions) in M3U playlists that allow you to give it extra information and art to make the experience better. This project adds those extra tags to make things look great in Channels.\n\n## Set Up\n\nPluto TV now requires authentication for streams to work. You'll need a free Pluto TV account.\n\n### Required: Authentication\n\nYou must provide your Pluto TV credentials via environment variables:\n\n- `PLUTO_USERNAME` - Your Pluto TV account email\n- `PLUTO_PASSWORD` - Your Pluto TV account password\n\nRunning the container:\n\n    docker run -d --restart unless-stopped --name pluto-for-channels -p 8080:80 \\\n      -e PLUTO_USERNAME='your@email.com' \\\n      -e PLUTO_PASSWORD='yourpassword' \\\n      jonmaddox/pluto-for-channels\n\nYou can retrieve the playlist and EPG via the status page.\n\n    http://127.0.0.1:8080\n\n### Optionally have multiple feeds generated\n\nBy using the `VERSIONS` env var when starting the docker container, you can tell it to create multiple feeds that can be used elsewhere.\n\nSimply provide a comma separated list of words without spaces with the `VERSIONS` env var.\n\n    docker run -d --restart unless-stopped --name pluto-for-channels -p 8080:80 \\\n      -e PLUTO_USERNAME='your@email.com' \\\n      -e PLUTO_PASSWORD='yourpassword' \\\n      -e VERSIONS=Dad,Bob,Joe \\\n      jonmaddox/pluto-for-channels\n\n### Optionally provide a starting channel number\n\nBy using the `START` env var when starting the docker container, you can tell it to start channel numbers with this value. Original Pluto channel numbers will be added to this, keeping all of the channels in the same order they are on Pluto.\n\nYou should use a starting number greater than 10000, so that the channel numbers will be preserved but not conflict with any other channels you may have.\n\nFor example, channel 345 will be 10345. Channel 2102 will be 12102.\n\nSimply provide a starting number with the `START` env var.\n\n    docker run -d --restart unless-stopped --name pluto-for-channels -p 8080:80 \\\n      -e PLUTO_USERNAME='your@email.com' \\\n      -e PLUTO_PASSWORD='yourpassword' \\\n      -e START=80000 \\\n      jonmaddox/pluto-for-channels\n\n## Add Source to Channels\n\nOnce you have your Pluto M3U and EPG XML available, you can use it to [custom channels](https://getchannels.com/docs/channels-dvr-server/how-to/custom-channels/) channels in the [Channels](https://getchannels.com) app.\n\nAdd a new source in Channels DVR Server and choose `M3U Playlist`. Fill out the form using your new playlist URL.\n\n\u003cimg src=\".github/1.png\" width=\"400px\"/\u003e\n\nNext, set the provider for your new source and choose custom URL.\n\n\u003cimg src=\".github/2.png\" width=\"300px\"/\u003e\n\nFinally, enter your EPG xml url and set it to refresh every 6 hours.\n\n\u003cimg src=\".github/3.png\" width=\"500px\"/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaddox%2Fpluto-for-channels","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaddox%2Fpluto-for-channels","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaddox%2Fpluto-for-channels/lists"}