# IPTV

Collection of 7000+ publicly available IPTV channels from all over the world.

## Usage

To watch IPTV you just need to paste this link `https://raw.githubusercontent.com/freearhey/iptv/master/index.m3u` to any player with support M3U-playlists.

![VLC Network Panel](https://github.com/freearhey/iptv/raw/master/preview.png)

Below you can find a manually selected list of such applications for different platforms.

### Windows

- [VLC for Windows](https://www.videolan.org/vlc/download-windows.html) is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols.

### Mac

- [VLC for Mac OS X](https://www.videolan.org/vlc/download-macosx.html) is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols.

### iOS

- [Stream - Watch IPTV & Movies](https://itunes.apple.com/us/app/movie-stream-ip-tv-films/id1450912244?mt=8)

### PlayStation 4

- [Plex](https://www.plex.tv/apps-devices/#modal-devices-playstation-4) media server allows you to aggregate all your personal media and access it anywhere you go. In order to watch IPTV through Plex App, you can use the [Cigaras/IPTV.bundle](https://github.com/Cigaras/IPTV.bundle) plugin.

If your application does not support nested playlists, you can instead use one of these playlists:

- `https://raw.githubusercontent.com/freearhey/iptv/master/index.full.m3u` (grouped by country and content)
- `https://raw.githubusercontent.com/freearhey/iptv/master/index.country.m3u` (grouped by country)
- `https://raw.githubusercontent.com/freearhey/iptv/master/index.content.m3u` (grouped by content) 
- `https://raw.githubusercontent.com/freearhey/iptv/master/index.sport.m3u` (contains only sports channels) 

Or select a playlist for a specific country from the list below.

## Playlists by country

| Country                | Channels | Playlist 
| ---------------------- | -------: | --------
| Afghanistan            | 8        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/af.m3u`
| Albania                | 27       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/al.m3u`
| Algeria                | 3        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/dz.m3u`
| Andorra                | 4        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ad.m3u`
| Angola                 | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ao.m3u`
| Argentina              | 84       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ar.m3u`
| Armenia                | 48       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/am.m3u`
| Aruba                  | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/aw.m3u`
| Australia              | 16       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/au.m3u`
| Austria                | 15       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/at.m3u`
| Azerbaijan             | 21       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/az.m3u`
| Bahamas                | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/bs.m3u`
| Bahrain                | 3        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/bh.m3u`
| Bangladesh             | 0        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/bd.m3u`
| Barbados               | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/bb.m3u`
| Belarus                | 7        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/by.m3u`
| Belgium                | 34       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/be.m3u`
| Bolivia                | 10       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/bo.m3u`
| Bosnia and Herzegovina | 3        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ba.m3u`
| Brazil                 | 82       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/br.m3u`
| Bulgaria               | 33       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/bg.m3u`
| Cambodia               | 17       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/kh.m3u`
| Cameroon               | 2        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/cm.m3u`
| Canada                 | 37       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ca.m3u`
| Chile                  | 55       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/cl.m3u`
| China                  | 1127     | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/cn.m3u`
| Colombia               | 18       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/co.m3u`
| Costa Rica             | 12       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/cr.m3u`
| Croatia                | 35       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/hr.m3u`
| Cuba                   | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/cu.m3u`
| Curaçao                | 3        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/cw.m3u`
| Cyprus                 | 5        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/cy.m3u`
| Czech Republic         | 36       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/cz.m3u`
| Democratic Republic of the Congo | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/cd.m3u`
| Denmark                | 14       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/dk.m3u`
| Dominican Republic     | 38       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/do.m3u`
| Ecuador                | 5        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ec.m3u`
| Egypt                  | 29       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/eg.m3u`
| El Salvador            | 2        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/sv.m3u`
| Equatorial Guinea      | 3        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/gq.m3u`
| Estonia                | 8        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ee.m3u`
| Ethiopia               | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/et.m3u`
| Finland                | 2        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/fi.m3u`
| Fiji                   | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/fj.m3u`
| France                 | 109      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/fr.m3u`
| Georgia                | 12       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ge.m3u`
| Germany                | 147      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/de.m3u`
| Ghana                  | 3        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/gh.m3u`
| Greece                 | 32       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/gr.m3u`
| Guatemala              | 0        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/gt.m3u`
| Guinea                 | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/gn.m3u`
| Guyana                 | 2        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/gy.m3u`
| Haiti                  | 11       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ht.m3u`
| Honduras               | 14       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/hn.m3u`
| Hong Kong              | 51       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/hk.m3u`
| Hungary                | 10       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/hu.m3u`
| Iceland                | 10       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/is.m3u`
| India                  | 267      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/in.m3u`
| Indonesia              | 221      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/id.m3u`
| Iran                   | 17       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ir.m3u`
| Iraq                   | 16       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/iq.m3u`
| Ireland                | 4        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ie.m3u`
| Israel                 | 22       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/il.m3u`
| Italia                 | 270      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/it.m3u`
| Ivory Coast            | 4        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ci.m3u`
| Jamaica                | 7        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/jm.m3u`
| Japan                  | 25       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/jp.m3u`
| Jordan                 | 4        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/jo.m3u`
| Kazakhstan             | 38       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/kz.m3u`
| Kenya                  | 5        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ke.m3u`
| Kosovo                 | 9        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/xk.m3u`
| Kuwait                 | 25       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/kw.m3u`
| Kyrgyzstan             | 8        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/kg.m3u`
| Laos                   | 5        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/la.m3u`
| Latvia                 | 11       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/lv.m3u`
| Lebanon                | 27       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/lb.m3u`
| Libya                  | 5        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ly.m3u`
| Lithuania              | 3        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/lt.m3u`
| Luxembourg             | 4        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/lu.m3u`
| Macau                  | 8        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/mo.m3u`
| Macedonia              | 5        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/mk.m3u`
| Malaysia               | 25       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/my.m3u`
| Maldives               | 4        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/mv.m3u`
| Malta                  | 6        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/mt.m3u`
| Mexico                 | 59       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/mx.m3u`
| Moldova                | 18       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/md.m3u`
| Mongolia               | 8        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/mn.m3u`
| Montenegro             | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/me.m3u`
| Morocco                | 12       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ma.m3u`
| Mozambique             | 4        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/mz.m3u`
| Myanmar                | 8        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/mm.m3u`
| Nepal                  | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/np.m3u`
| Netherlands            | 24       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/nl.m3u`
| New Zealand            | 11       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/nz.m3u`
| Nicaragua              | 10       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ni.m3u`
| Nigeria                | 8        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ng.m3u`
| North Korea            | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/kp.m3u`
| Norway                 | 6        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/no.m3u`
| Oman                   | 4        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/om.m3u`
| Pakistan               | 25       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/pk.m3u`
| Palestine              | 7        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ps.m3u`
| Panama                 | 3        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/pa.m3u`
| Paraguay               | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/py.m3u`
| Peru                   | 25       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/pe.m3u`
| Philippines            | 4        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ph.m3u`
| Poland                 | 18       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/pl.m3u`
| Portugal               | 68       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/pt.m3u`
| Puerto Rico            | 3        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/pr.m3u`
| Qatar                  | 11       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/qa.m3u`
| Romania                | 64       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ro.m3u`
| Russia                 | 385      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ru.m3u`
| Rwanda                 | 2        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/rw.m3u`
| Saint Kitts and Nevis  | 2        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/kn.m3u`
| San Marino             | 2        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/sm.m3u`
| Saudi Arabia           | 12       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/sa.m3u`
| Serbia                 | 5        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/rs.m3u`
| Sierra Leone           | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/sl.m3u`
| Singapore              | 9        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/sg.m3u`
| Slovakia               | 35       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/sk.m3u`
| Slovenia               | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/si.m3u`
| Somalia                | 8        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/so.m3u`
| South Africa           | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/za.m3u`
| South Korea            | 62       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/kr.m3u`
| Spain                  | 188      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/es.m3u`
| Sri Lanka              | 9        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/lk.m3u`
| Sudan                  | 9        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/sd.m3u`
| Sweden                 | 6        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/se.m3u`
| Switzerland            | 20       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ch.m3u`
| Syria                  | 16       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/sy.m3u`
| Taiwan                 | 52       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/tw.m3u`
| Tanzania               | 2        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/tz.m3u`
| Thailand               | 64       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/th.m3u`
| Trinidad and Tobago    | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/tt.m3u`
| Tunisia                | 5        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/tn.m3u`
| Turkey                 | 102      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/tr.m3u`
| Turkmenistan           | 7        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/tm.m3u`
| Uganda                 | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ug.m3u`
| Ukraine                | 196      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ua.m3u`
| United Arab Emirates   | 101      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ae.m3u`
| United Kingdom         | 115      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/uk.m3u`
| United States          | 688      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/us.m3u`
| Uruguay                | 5        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/uy.m3u`
| Uzbekistan             | 16       | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/uz.m3u`
| Venezuela              | 9        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ve.m3u`
| Vietnam                | 132      | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/vn.m3u`
| Virgin Islands of the United States | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/vi.m3u`
| Western Sahara         | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/eh.m3u`
| Yemen                  | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/ye.m3u`
| Zimbabwe               | 1        | `https://raw.githubusercontent.com/freearhey/iptv/master/channels/zw.m3u`


## Contribution

The easiest way to help the project is to sort channels by country. Specifically for this was created playlist `channels/unsorted.m3u` which contains channels that are not yet sorted by other playlists. If you recognize one of the channels in this playlist, just copy its title and link to the desired country playlist. That's it!

If you want to add new channel to the playlist you need add link to stream and some information about it. For example:

```xml
#EXTINF:-1 tvg-id="exampletv.us" tvg-name="Example TV" tvg-logo="http://example.com/channel-logo.png" group-title="News",Example TV
http://example.com/stream.m3u8
```

| Attribute   | Description
| ----------- | ---
| tvg-id      | Unique channel id that is used to load EPG. List of EPG codes for most channels: https://github.com/freearhey/iptv/blob/master/epg-codes.csv (optional)
| tvg-name    | Channel name (optional)
| tvg-logo    | Logo of the channel (optional)
| group-title | One of the following categories: Auto, Business,  CCTV,  Classic, Comedy, Documentary, Education, Entertainment,  Family, Fashion, Food,  General,  Health,  History,  Hobby,  Kids,  Legislative, Lifestyle, Local,  Movies,  Music,  News,  Quiz, Radio,  Religious, Sci-Fi,  Shop,  Sport,  Travel,  Weather,  XXX (optional)

If you just found an error or have any suggestions on how to organize a playlist please send an [issue](https://github.com/freearhey/iptv/issues) or a [pull request](https://github.com/freearhey/iptv/pulls)


## Testing

```sh
npm run test
```

Be prepared test may take a long time. Or if you want to test the playlist of a particular country, you can specify the [ISO 3166 code](https://en.wikipedia.org/wiki/ISO_3166) of the country as an argument when running the test.

```sh
npm run test --country=uk
```

After the test is over all broken links will be saved to the file `error.log`.