|
1 | | -# free-iptv-channels |
| 1 | +[<img src="https://vercel.com/button" alt="Deploy with Vercel" height="30"/>](https://vercel.com/new/clone?repository-url=https://github.com/dtankdempse/free-iptv-channels/tree/master/node&project-name=multiservice&repo-name=multiservice) |
| 2 | +[<img src="https://www.netlify.com/img/deploy/button.svg" alt="Deploy with Netlify" height="30"/>](https://app.netlify.com/start/deploy?repository=https://github.com/dtankdempse/free-iptv-channels) |
| 3 | +[<img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy to Heroku" height="30"/>](https://heroku.com/deploy?template=https://github.com/dtankdempse/free-iptv-channels) |
| 4 | +[<img src="https://render.com/images/deploy-to-render-button.svg" alt="Deploy to Render" height="30"/>](https://render.com/deploy?repo=https://github.com/dtankdempse/free-iptv-channels) |
| 5 | +[<img src="https://i.imgur.com/fjfgTSm.jpeg" alt="Deploy to Fly.io" height="30"/>](https://fly.io/launch?source=https://github.com/dtankdempse/free-iptv-channels) |
| 6 | +[<img src="https://oneclick.amplifyapp.com/button.svg" alt="Deploy to AWS Amplify" height="30"/>](https://console.aws.amazon.com/amplify/home#/deploy?repo=https://github.com/dtankdempse/free-iptv-channels) |
| 7 | + |
| 8 | +# Pluto, Samsung, Stirr, Tubi, Plex, PBS and Roku Playlist (M3U8) |
| 9 | + |
| 10 | +This script generates an m3u8 playlist from the channels provided by services such as Pluto, Samsung, Stirr, Plex, PBS, and Roku. It is based on the original script created by matthuisman, which can be found at [matthuisman's GitHub repository](https://github.com/matthuisman/i.mjh.nz). |
| 11 | + |
| 12 | +### Script Access URL |
| 13 | + |
| 14 | +Use the following URL to access the hosted script. Replace the `ADD_REGION` and `ADD_SERVICE` placeholders with your desired values. |
| 15 | + |
| 16 | +`https://tinyurl.com/multiservice21?region=ADD_REGION&service=ADD_SERVICE` |
| 17 | + |
| 18 | +After customizing the URL by replacing the ADD_REGION and ADD_SERVICE placeholders with your desired region and service (e.g., us for the US region and PlutoTV for the service), copy the complete URL and paste it into the "Add Playlist" or "M3U8 URL" section of your IPTV application. Once added, the app will load both the channels and the guide information |
| 19 | + |
| 20 | +**⚠️ Please note:** It is recommended to add the Google Apps Script to your own Google account or deploy the script to one of the other services, rather than relying on this publicly shared URL long-term. |
| 21 | + |
| 22 | +### Available Service Parameter Values |
| 23 | + |
| 24 | +Choose one of the following services to include in the `service` parameter: |
| 25 | + |
| 26 | +- Plex |
| 27 | +- Roku |
| 28 | +- SamsungTVPlus |
| 29 | +- PlutoTV |
| 30 | +- PBS |
| 31 | +- PBSKids |
| 32 | +- Stirr |
| 33 | +- Tubi |
| 34 | + |
| 35 | +### Available Region Parameter Values |
| 36 | + |
| 37 | +Use one of these region codes to specify the region in the `region` parameter: |
| 38 | + |
| 39 | +- `all` (for all regions) |
| 40 | +- `ar` (Argentina) |
| 41 | +- `br` (Brazil) |
| 42 | +- `ca` (Canada) |
| 43 | +- `cl` (Chile) |
| 44 | +- `de` (Germany) |
| 45 | +- `dk` (Denmark) |
| 46 | +- `es` (Spain) |
| 47 | +- `fr` (France) |
| 48 | +- `gb` (United Kingdom) |
| 49 | +- `mx` (Mexico) |
| 50 | +- `no` (Norway) |
| 51 | +- `se` (Sweden) |
| 52 | +- `us` (United States) |
| 53 | + |
| 54 | +### Available Sorting Parameter Values (optional) |
| 55 | + |
| 56 | +Use one of the following options in the `sort` parameter to specify how you want to sort the channels: |
| 57 | + |
| 58 | +- `name` (default): |
| 59 | + Sorts the channels alphabetically by their name. |
| 60 | + |
| 61 | +- `chno`: |
| 62 | + Sorts the channels by their assigned channel number. |
| 63 | + |
| 64 | +### How to Add the Script to Your Google Account (code.gs) |
| 65 | + |
| 66 | +Go <a href="https://script.google.com/home/start" target="_blank">here</a> and click the "New Project" button in the upper left corner. Then, copy the script from <a href="https://github.com/dtankdempse/free-iptv-channels/blob/main/code.gs" target="_blank">code.gs</a> and paste it into the script editor. Once done, deploy the script. |
| 67 | + |
| 68 | +Follow this video tutorial to learn how to deploy a Google Apps Script: |
| 69 | + |
| 70 | +[How to Deploy a Google Web App](https://www.youtube.com/watch?v=-AlstV1PAaA) |
| 71 | + |
| 72 | +During the deployment process, make sure to select **"Anyone"** for the "Who has access" option, so the app can access the URL and load without requiring authentication. |
| 73 | + |
| 74 | +Once deployed, you will get a URL similar to: |
| 75 | + |
| 76 | +`https://script.google.com/macros/s/...gwlprM_Kn10kT7LGk/exec` |
| 77 | + |
| 78 | +To use the script, you need to add the `region` and `service` parameters at the end of the URL. For example: |
| 79 | + |
| 80 | +`https://script.google.com/macros/s/...gwlprM_Kn10kT7LGk/exec?region=us&service=Plex` |
| 81 | + |
| 82 | +Simply replace `region=us` and `service=Plex` with the appropriate region and service values from the available parameters listed above. |
| 83 | + |
| 84 | +**Tip:** For a cleaner and more concise URL, consider using a URL shortener like [tinyurl.com](https://tinyurl.com/) and appending the necessary parameters at the end. |
| 85 | + |
| 86 | +## Using the Docker Image |
| 87 | + |
| 88 | +Pull the latest version: |
| 89 | +`docker pull dtankdemp/free-iptv-channels` |
| 90 | + |
| 91 | +Run the container: |
| 92 | +`docker run -p <port>:4242 dtankdemp/free-iptv-channels` |
| 93 | + |
| 94 | +Replace <port> with the desired port (e.g., 8080). |
| 95 | + |
| 96 | +Access the application: |
| 97 | +Visit `http://localhost:<port>` in your browser. |
| 98 | + |
| 99 | +## **Running the Script With Node** |
| 100 | + |
| 101 | +The script can also be executed locally as a standalone Node.js server without relying on any external libraries or frameworks. To run it, simply navigate to the project directory and use the following command: |
| 102 | + |
| 103 | +`node node/index.js` |
| 104 | + |
| 105 | +Once the server is running, you can access it locally by navigating to: |
| 106 | + |
| 107 | +`http://localhost:4242` |
| 108 | + |
| 109 | +### EPG for TV Guide Information |
| 110 | + |
| 111 | +The EPG URLs are embedded directly within the playlists. If you'd prefer to manually add the EPG guide, you can find the relevant URLs for each service on |
| 112 | +this [page](https://github.com/matthuisman/i.mjh.nz/). |
| 113 | + |
| 114 | +--- |
| 115 | + |
| 116 | +<details> |
| 117 | +<summary>Click to read Disclaimer.</summary> |
| 118 | + |
| 119 | +### Disclaimer: |
| 120 | + |
| 121 | +This repository has no control over the streams, links, or the legality of the content provided by Pluto, Samsung, Stirr, Tubi, Plex, PBS, and Roku. Additionally, this script simply converts the JSON files provided by i.mjh.nz into an M3U8 playlist. It is the end user's responsibility to ensure the legal use of these playlists. We strongly recommend verifying that the content complies with the laws and regulations of your country before use. |
| 122 | + |
| 123 | +</details> |
| 124 | + |
| 125 | +<details> |
| 126 | +<summary>Click to read DMCA Notice.</summary> |
| 127 | + |
| 128 | +### DMCA Notice: |
| 129 | + |
| 130 | +This repository does not host or store any video files. It simply organizes publicly accessible web links, which can be accessed through a web browser, into an M3U-formatted playlist. To the best of our knowledge, the content was intentionally made publicly available by the copyright holders or with their permission and consent granted to these websites to stream and share the content they provide. |
| 131 | + |
| 132 | +Please note that linking does not directly infringe copyright, as no copies are made on this repository or its servers. Therefore, sending a DMCA notice to GitHub or the maintainers of this repository is not a valid course of action. To remove the content from the web, you should contact the website or hosting provider actually hosting the material. |
| 133 | + |
| 134 | +If you still believe a link infringes on your rights, you can request its removal by opening an [issue](https://github.com/dtankdempse/free-iptv-channels/issues) or submitting a [pull request](https://github.com/dtankdempse/free-iptv-channels/pulls). Be aware, however, that removing a link here will not affect the content hosted on the external websites, as this repository has no control over the files or the content being provided. |
| 135 | + |
| 136 | +</details> |
0 commit comments