[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-2769":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":16,"starSnapshotCount":16,"syncStatus":31,"lastSyncTime":32,"discoverSource":33},2769,"IPTV","Free-TV\u002FIPTV","Free-TV","M3U Playlist for free TV channels","",null,"Python",16660,2506,624,171,0,19,94,505,81,45,false,"master",true,[26,27],"help-wanted","looking-for-contributors","2026-06-12 02:00:43","Free TV\n=======\n\nThis is an M3U playlist for free TV channels around the World.\n\nEither free locally (over the air):\n\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fus.svg\" width=\"24\">](lists\u002Fusa.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fca.svg\" width=\"24\">](lists\u002Fcanada.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fgb.svg\" width=\"24\">](lists\u002Fuk.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fie.svg\" width=\"24\">](lists\u002Fireland.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fau.svg\" width=\"24\">](lists\u002Faustralia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fin.svg\" width=\"24\">](lists\u002Findia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fjp.svg\" width=\"24\">](lists\u002Fjapan.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fcn.svg\" width=\"24\">](lists\u002Fchina.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fhk.svg\" width=\"24\">](lists\u002Fhong_kong.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fmo.svg\" width=\"24\">](lists\u002Fmacau.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Ftw.svg\" width=\"24\">](lists\u002Ftaiwan.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fkp.svg\" width=\"24\">](lists\u002Fnorth_korea.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fkr.svg\" width=\"24\">](lists\u002Fkorea.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fdk.svg\" width=\"24\">](lists\u002Fdenmark.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Ffo.svg\" width=\"24\">](lists\u002Ffaroe_islands.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fgl.svg\" width=\"24\">](lists\u002Fgreenland.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Ffi.svg\" width=\"24\">](lists\u002Ffinland.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fis.svg\" width=\"24\">](lists\u002Ficeland.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fno.svg\" width=\"24\">](lists\u002Fnorway.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fse.svg\" width=\"24\">](lists\u002Fsweden.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fee.svg\" width=\"24\">](lists\u002Festonia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Flv.svg\" width=\"24\">](lists\u002Flatvia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Flt.svg\" width=\"24\">](lists\u002Flithuania.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fbe.svg\" width=\"24\">](lists\u002Fbelgium.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fnl.svg\" width=\"24\">](lists\u002Fnetherlands.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Flu.svg\" width=\"24\">](lists\u002Fluxembourg.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fde.svg\" width=\"24\">](lists\u002Fgermany.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fat.svg\" width=\"24\">](lists\u002Faustria.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fch.svg\" width=\"24\">](lists\u002Fswitzerland.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fpl.svg\" width=\"24\">](lists\u002Fpoland.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fcz.svg\" width=\"24\">](lists\u002Fczech_republic.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fsk.svg\" width=\"24\">](lists\u002Fslovakia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fhu.svg\" width=\"24\">](lists\u002Fhungary.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fro.svg\" width=\"24\">](lists\u002Fromania.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fmd.svg\" width=\"24\">](lists\u002Fmoldova.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fbg.svg\" width=\"24\">](lists\u002Fbulgaria.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Ffr.svg\" width=\"24\">](lists\u002Ffrance.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fit.svg\" width=\"24\">](lists\u002Fitaly.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fpt.svg\" width=\"24\">](lists\u002Fportugal.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fes.svg\" width=\"24\">](lists\u002Fspain.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fru.svg\" width=\"24\">](lists\u002Frussia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fby.svg\" width=\"24\">](lists\u002Fbelarus.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fua.svg\" width=\"24\">](lists\u002Fukraine.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fam.svg\" width=\"24\">](lists\u002Farmenia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Faz.svg\" width=\"24\">](lists\u002Fazerbaijan.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fge.svg\" width=\"24\">](lists\u002Fgeorgia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fba.svg\" width=\"24\">](lists\u002Fbosnia_and_herzegovina.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fhr.svg\" width=\"24\">](lists\u002Fcroatia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fme.svg\" width=\"24\">](lists\u002Fmontenegro.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fmk.svg\" width=\"24\">](lists\u002Fnorth_macedonia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Frs.svg\" width=\"24\">](lists\u002Fserbia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fsi.svg\" width=\"24\">](lists\u002Fslovenia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fal.svg\" width=\"24\">](lists\u002Falbania.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fxk.svg\" width=\"24\">](lists\u002Fkosovo.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fgr.svg\" width=\"24\">](lists\u002Fgreece.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fcy.svg\" width=\"24\">](lists\u002Fcyprus.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fad.svg\" width=\"24\">](lists\u002Fandorra.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fmt.svg\" width=\"24\">](lists\u002Fmalta.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fmc.svg\" width=\"24\">](lists\u002Fmonaco.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fsm.svg\" width=\"24\">](lists\u002Fsan_marino.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fir.svg\" width=\"24\">](lists\u002Firan.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fiq.svg\" width=\"24\">](lists\u002Firaq.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fil.svg\" width=\"24\">](lists\u002Fisrael.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fqa.svg\" width=\"24\">](lists\u002Fqatar.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Ftr.svg\" width=\"24\">](lists\u002Fturkey.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fae.svg\" width=\"24\">](lists\u002Funited_arab_emirates.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Far.svg\" width=\"24\">](lists\u002Fargentina.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fcr.svg\" width=\"24\">](lists\u002Fcosta_rica.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fdo.svg\" width=\"24\">](lists\u002Fdominican_republic.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fmx.svg\" width=\"24\">](lists\u002Fmexico.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fpy.svg\" width=\"24\">](lists\u002Fparaguay.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fpe.svg\" width=\"24\">](lists\u002Fperu.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fve.svg\" width=\"24\">](lists\u002Fvenezuela.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fbr.svg\" width=\"24\">](lists\u002Fbrazil.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Ftt.svg\" width=\"24\">](lists\u002Ftrinidad.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Ftd.svg\" width=\"24\">](lists\u002Fchad.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fso.svg\" width=\"24\">](lists\u002Fsomalia.md)\n[\u003Cimg src=\"https:\u002F\u002Fhatscripts.github.io\u002Fcircle-flags\u002Fflags\u002Fid.svg\" width=\"24\">](lists\u002Findonesia.md)\n\nOr free on the Internet:\n\n- Plex TV\n- Pluto TV (English, Spanish, French, Italian)\n- Redbox Live TV\n- Roku TV\n- Samsung TV Plus\n- Youtube live channels\n\nTo use it point your IPTV player to https:\u002F\u002Fraw.githubusercontent.com\u002FFree-TV\u002FIPTV\u002Fmaster\u002Fplaylist.m3u8.\n\nPhilosophy\n==========\n\nThe main goals for this playlist are listed below.\n\n**Quality over quantity**\n\nThe less channels we support the better.\n\n- All channels should work well.\n- As much as possible channels should be in HD, not SD.\n- Only one URL per channel (no +1, no alternate feeds, no regional declinations)\n\n**Only free channels**\n\nIf a channel is normally only available via commercial subscriptions it has nothing to do in this playlist. If on the other hand it is provided for free to everybody in a particular country, then it should be in this playlist.\n\n- No paid channels\n- Only channels which are officially provided for free (via DVB-S, DVB-T, analog, etc..)\n\n**Only mainstream channels**\n\nThis is a playlist for everybody.\n\n- No adult channels\n- No channels dedicated to any particular religion\n- No channels dedicated to any particular political party\n- No channels made for a country and funded by a different country\n\nFeed sources\n============\n\nIt can be quite hard to find up to date URLs, here's a list of sources:\n\n- https:\u002F\u002Fgithub.com\u002Fiptv-org\u002Fiptv\u002Ftree\u002Fmaster\u002Fstreams\n- Youtube: As long as the channel is live and its URL doesn't change (check the age of the stream, the number of viewers..)\n- Dailymotion: Same criteria as for youtube\n\nFormat\n======\n\nThe m3u8 playlist is generated by `make_playlist.py`, using the `.md` files located in `lists`.\n\nEach .md file represesnts a group. The `\u003Ch1>` line is used as the group title.\n\nOnly channels which URL column starts with `[>]` are included in the playlist.\n\nChannels which are not in HD are marked with an `Ⓢ`.\n\nChannels which use GeoIP blocking are marked with a `Ⓖ`.\n\nChannels which are live Youtube channels are marked with a `Ⓨ`.\n\nIssues\n======\n\nOnly create issues for bugs and feature requests.\n\nDo not create issues to add\u002Fedit or to remove channels. If you want to add\u002Fedit\u002Fremove channels, create a pull request directly.\n\nPull Requests\n=============\n\n**Only modify .md files**\n\nIf your Pull Request modifies channels, only modify .md files. Do not modify m3u8 files in your pull request.\n\n**Adding a new Channel**\n\nTo add a new channel, make a Pull Request.\n\n- In your Pull Request you need to provide information to show that the channel is free.\n- Use imgur.com to host the channel logo and point to it.\n- If you have a valid stream, add it and put `[>]` in front of it.\n- If you don't have an stream for the channel, add `[x]()` in the url column and place your channel in the Invalid category.\n- If you have a stream but it doesn't work well, put the channel in the Invalid category and put `[x]` in front of the url.\n- If you're adding geoblocked URLs specify it in your PR and specify which country they're working in. The PR will only be merged if these URLs can be tested.\n\n**Removing a Channel**\n\nTo remove a channel, make a Pull Request.\n\nIn your Pull Request you need to provide information to show that the channel is only available via a private paid subscription.\n\nNote: Public taxes (whether national or regional, whether called TV License or not) do not constitute a private paid subscription.\n\nIf a stream is broken, simply move the channel to the invalid category and replace `[>]` with `[x]` in the url column.\n","Free-TV\u002FIPTV 是一个提供全球免费电视频道的M3U播放列表项目。它通过收集和整理来自世界各地的免费电视资源，让用户能够轻松访问多种语言和地区的电视频道。项目使用Python编写，并且支持多个国家和地区，包括但不限于美国、加拿大、英国、中国等。适合希望观看国际电视频道但又不想支付额外费用的人群使用，同时也为开发者提供了贡献和改进的空间。",2,"2026-06-11 02:51:10","top_language"]