Files
iptv/CONTRIBUTING.md
T

80 lines
6.2 KiB
Markdown
Raw Normal View History

2025-10-09 03:20:46 +03:00
# Contributing Guide
2026-06-22 18:12:07 +03:00
- [Introduction](#introduction)
2025-10-09 03:20:46 +03:00
- [How to?](#how-to)
- [Project Structure](#project-structure)
2026-06-22 18:12:07 +03:00
## Introduction
**iptv-org** is more than just a repository for sharing links to live streams. After years of commitment and moderation practices, it has evolved into a knowledge base for [channels](https://github.com/iptv-org/database), [streams](https://github.com/iptv-org/iptv), and [program guides](https://github.com/iptv-org/epg). To keep all this data organized, we must follow strict structural requirements and set certain standards for participants.
2025-10-09 03:20:46 +03:00
## How to?
### How to add a new stream link to a playlist?
2025-10-09 03:20:46 +03:00
You have several options:
2026-06-22 18:12:07 +03:00
1. Create a new request using this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=streams:add&projects=&template=1_streams_add.yml&title=Add%3A+) and, if approved, the link will automatically be added to the playlist on the next update.
2026-06-22 18:16:31 +03:00
2. Add the link to the playlist directly using a [pull request](https://github.com/iptv-org/iptv/pulls). See [Playlist Structure](./.github/docs/playlist-structure.md).
2025-10-09 03:20:46 +03:00
2026-06-22 18:12:07 +03:00
Regardless of which option you choose, please perform the following checks before posting your request:
2025-10-09 03:20:46 +03:00
2026-06-22 18:12:07 +03:00
- Make sure the link is not already in the playlist by [searching](https://github.com/search?q=repo%3Aiptv-org%2Fiptv+http%3A%2F%2Fexample.com&type=code) the repository.
2026-06-22 18:16:31 +03:00
- Make sure the link you want to add is stable and works properly. See [Stream Testing](./.github/docs/stream-testing.md).
2026-06-22 18:12:07 +03:00
- Make sure the link does not lead to a [Xtream Codes](./.github/docs/xtream-codes.md) server. [Why don't you accept links to Xtream Codes servers?](./FAQ.md#why-dont-you-accept-links-to-xtream-codes-servers).
- Make sure the link is not [tokenized](./.github/docs/tokenized-links.md).
- Make sure the link leads directly to the broadcast without unnecessary redirects.
- Make sure the channel is in our database. This can be verified through [iptv-org.github.io](https://iptv-org.github.io/). If your desired channel is not on the list, you first must add it via a [request](https://github.com/iptv-org/database/issues/new?template=01_channels_add.yml).
- Make sure the channel isn't on our blocklist. This can also be verified through [iptv-org.github.io](https://iptv-org.github.io/).
2025-10-09 03:20:46 +03:00
2026-06-22 18:12:07 +03:00
If the broadcast only works in certain countries or is periodically interrupted, please indicate this in your request.
2025-10-09 03:20:46 +03:00
2026-06-22 18:12:07 +03:00
**IMPORTANT:** A request without a valid stream ID or a working stream link will be closed immediately.
2025-10-09 03:20:46 +03:00
### How to fix the stream description?
Most of the stream description (channel name, feed name, categories, languages, broadcast area, logo) is loaded from [iptv-org/database](https://github.com/iptv-org/database) using the stream ID.
2025-10-09 03:20:46 +03:00
2026-06-22 18:12:07 +03:00
So there are usually only two reasons for an incorrect description:
2025-10-09 03:20:46 +03:00
2026-06-22 18:12:07 +03:00
- **The stream has an incorrect ID:** In that case, all you need is to update the stream ID in the playlist using this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=streams%3Aedit&projects=&template=2_streams_edit.yml&title=Edit%3A+). A full list of all supported channels and their corresponding IDs can be found on [iptv-org.github.io](https://iptv-org.github.io/).
- **Our database contains incorrect channel information:** You can verify this on [iptv-org.github.io](https://iptv-org.github.io/). If this is the case, please refer to: [How to edit a database entry?](https://github.com/iptv-org/database/blob/master/CONTRIBUTING.md#how-to-edit-a-database-entry).
2025-10-09 03:20:46 +03:00
2026-06-22 18:12:07 +03:00
Once the changes are approved, the stream description will automatically update across all repositories.
2025-10-09 03:20:46 +03:00
### How to report a broken stream?
Fill out this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=streams:remove&projects=&template=3_streams_report.yml&title=Broken%3A+) and as soon as a working replacement appears, we will add it to the playlist or at least remove the non-working one.
The only thing before publishing your report is to make sure that:
- The link is still in our playlists. You can verify this by [searching](https://github.com/search?q=repo%3Aiptv-org%2Fiptv+http%3A%2F%2Fexample.com&type=code) the repository.
2026-06-22 18:16:31 +03:00
- The link is completely broken and is not just [geo-blocked](https://en.wikipedia.org/wiki/Geo-blocking). See [Stream Testing](./.github/docs/stream-testing.md).
2025-10-09 03:20:46 +03:00
2026-06-22 18:12:07 +03:00
**IMPORTANT:** An issue without a valid stream link will be closed immediately.
2025-10-09 03:20:46 +03:00
2026-06-22 18:12:07 +03:00
### How to remove my channel from the playlist?
2025-10-09 03:20:46 +03:00
2026-06-22 18:12:07 +03:00
To request the removal of a channel link from the repository, please fill out this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=removal+request&projects=&template=6_copyright-claim.yml&title=Remove%3A+) and wait for the request to be reviewed (this usually takes less than 1 business day). If approved, links to the channel will be immediately removed from the repository.
2025-10-09 03:20:46 +03:00
2026-06-22 18:12:07 +03:00
The channel will also be added to our [blocklist](https://github.com/iptv-org/database/blob/master/data/blocklist.csv) to prevent it from reappearing in our playlists in the future.
2025-10-09 03:20:46 +03:00
2026-06-22 18:12:07 +03:00
**IMPORTANT:** We only accept removal requests from channel owners and their official representatives. All other requests will be closed immediately.
2025-10-09 03:20:46 +03:00
## Project Structure
- `.github/`
2026-06-22 18:12:07 +03:00
- `DISCUSSION_TEMPLATE/`: Contains discussion templates for the repository.
- `ISSUE_TEMPLATE/`: Contains issue templates for the repository.
- `workflows/`: Contains [GitHub Actions](https://docs.github.com/en/actions/quickstart) workflows. See [Workflows](./.github/docs/workflows.md).
- `CODE_OF_CONDUCT.md`: Rules you shouldn't break if you don't want to get banned.
2025-10-09 03:20:46 +03:00
- `.readme/`
2026-06-22 18:12:07 +03:00
- `preview.png`: Image displayed in the `README.md`.
- `template.md`: Template configuration for `PLAYLISTS.md`.
- `scripts/`: Contains internal utility scripts used in the repository. See [Scripts](./.github/docs/scripts.md).
2026-06-22 18:16:31 +03:00
- `streams/`: Contains internal playlists with all streams. See [Playlist Structure](./.github/docs/playlist-structure.md).
2026-06-22 18:12:07 +03:00
- `tests/`: Contains test suites to validate project scripts.
- `CONTRIBUTING.md`: The file you are currently reading.
- `PLAYLISTS.md`: Automatically updated list of available playlists.
- `README.md`: Project description and documentation overview.