Skip to content

Latest commit

 

History

History
332 lines (263 loc) · 30.6 KB

README_en.md

File metadata and controls

332 lines (263 loc) · 30.6 KB
logo

IPTV-API

Customize channels, automatically obtain live source interface, and generate usable results after speed test
Default results include: 📺CCTV Channel, 💰CCTV Pay Channel, 📡Satellite TV Channel, 🏠Guangdong Channel, 🌊Hong Kong · Macao · Taiwan Channel, 🎬Movie Channel, 🎥Migu Live Streaming, 🏀Sports Channel, 🪁Animation channel, 🎮Game channel, 🎵Music channel, 🏛Classic Theater.
Specific channel
📺CCTV Channel: CCTV-1, CCTV-2, CCTV-3, CCTV-4, CCTV-5, CCTV-5+, CCTV-6, CCTV-7, CCTV-8, CCTV-9, CCTV-10, CCTV-11, CCTV-12, CCTV-13, CCTV-14, CCTV-15, CCTV-16, CCTV-17, CETV1, CETV2, CETV4, CETV5

💰CCTV Pay Channel: 文化精品, 央视台球, 风云音乐, 第一剧场, 风云剧场, 怀旧剧场, 女性时尚, 高尔夫网球, 风云足球, 电视指南, 世界地理, 兵器科技

📡Satellite TV Channel: 广东卫视, 香港卫视, 浙江卫视, 湖南卫视, 北京卫视, 湖北卫视, 黑龙江卫视, 安徽卫视, 重庆卫视, 东方卫视, 东南卫视, 甘肃卫视, 广西卫视, 贵州卫视, 海南卫视, 河北卫视, 河南卫视, 吉林卫视, 江苏卫视, 江西卫视, 辽宁卫视, 内蒙古卫视, 宁夏卫视, 青海卫视, 山东卫视, 山西卫视, 陕西卫视, 四川卫视, 深圳卫视, 三沙卫视, 天津卫视, 西藏卫视, 新疆卫视, 云南卫视

☘️Guangdong Channel: 广东珠江, 广东体育, 广东新闻, 广东民生, 广东卫视, 大湾区卫视, 广州综合, 广州影视, 广州竞赛, 江门综合, 江门侨乡生活, 佛山综合, 深圳卫视, 汕头综合, 汕头经济, 汕头文旅, 茂名综合, 茂名公共

☘️Local channels in each province

🌊Hong Kong · Macao · Taiwan Channel: 翡翠台, 明珠台, 凤凰中文, 凤凰资讯, 凤凰香港, 凤凰卫视, TVBS亚洲, 香港卫视, 纬来体育, 纬来育乐, J2, Viutv, 三立台湾, 无线新闻, 三立新闻, 东森综合, 东森超视, 东森电影, Now剧集, Now华剧, 靖天资讯, 星卫娱乐, 卫视卡式

🎬Movie Channel: CHC家庭影院, CHC动作电影, CHC高清电影, 淘剧场, 淘娱乐, 淘电影, NewTV惊悚悬疑, NewTV动作电影, 黑莓电影, 纬来电影, 靖天映画, 靖天戏剧, 星卫娱乐, 艾尔达娱乐, 经典电影, IPTV经典电影, 天映经典, 无线星河, 星空卫视, 私人影院, 东森电影, 龙祥电影, 东森洋片, 东森超视

🎥Migu Live Streaming: 咪咕直播1-45

🏀Sports Channel: CCTV-5, CCTV-5+, 广东体育, 纬来体育, 五星体育, 体育赛事, 劲爆体育, 爱体育, 超级体育, 精品体育, 广州竞赛, 深圳体育, 福建体育, 辽宁体育, 山东体育, 成都体育, 天津体育, 江苏体育, 安徽综艺体育, 吉林篮球, 睛彩篮球, 睛彩羽毛球, 睛彩广场舞, 风云足球, 足球频道, 魅力足球, 天元围棋, 快乐垂钓, JJ斗地主

🪁Animation channel: 少儿动画, 卡酷动画, 动漫秀场, 新动漫, 青春动漫, 爱动漫, 中录动漫, 宝宝动画, CN卡通, 优漫卡通, 金鹰卡通, 睛彩少儿, 黑莓动画, 炫动卡通, 24H国漫热播, 浙江少儿, 河北少儿科教, 七龙珠, 火影忍者, 海绵宝宝, 中华小当家, 斗破苍穹玄幻剧, 猫和老鼠, 经典动漫, 蜡笔小新, 漫画解说

🎮Game channel: 游戏风云, 游戏竞技, 电竞游戏, 海看电竞, 电竞天堂, 爱电竞

🎵Music channel: CCTV-15, 风云音乐, 音乐现场, 音乐之声, 潮流音乐, 天津音乐, 音乐广播, 音乐调频广播

🏛Classic Theater: 笑傲江湖, 天龙八部, 鹿鼎记, 仙剑奇侠传, 西游记, 三国演义, 水浒传, 新白娘子传奇, 天龙八部, 济公游记, 封神榜, 闯关东, 上海滩, 射雕英雄传

中文 | English

Features

  • ✅ Customize the template to generate the channel you want
  • ✅ Supports multiple source acquisition methods: multicast source, hotel source, subscription source, keyword search
  • ✅ Interface speed verification, obtain delay, speed, resolution, filter invalid interface
  • ✅ Preferences: IPv6, priority and quantity of interface source sorting, and interface whitelist
  • ✅ Scheduled execution at 6:00 AM and 18:00 PM Beijing time daily
  • ✅ Supports various execution methods: workflows, command line, GUI software, Docker(amd64/arm64/arm v7)
  • ✨ For more features, see Config parameter

Latest results

  • Interface source:
https://ghgo.xyz/raw.githubusercontent.com/Guovin/iptv-api/gd/output/result.m3u
https://ghgo.xyz/raw.githubusercontent.com/Guovin/iptv-api/gd/output/result.txt

or

https://cdn.jsdelivr.net/gh/Guovin/iptv-api@gd/output/result.m3u
https://cdn.jsdelivr.net/gh/Guovin/iptv-api@gd/output/result.txt
  • Data source:
https://ghgo.xyz/raw.githubusercontent.com/Guovin/iptv-api/gd/source.json

or

https://cdn.jsdelivr.net/gh/Guovin/iptv-api@gd/source.json

Config

Configuration Item Description Default Value
open_driver Enable browser execution, If there are no updates, this mode can be enabled, which consumes more performance False
open_empty_category Enable the No Results Channel Category, which will automatically categorize channels without results to the bottom False
open_filter_resolution Enable resolution filtering, interfaces with resolution lower than the minimum resolution (min_resolution) will be filtered True
open_filter_speed Enable speed filtering, interfaces with speed lower than the minimum speed (min_speed) will be filtered True
open_hotel Enable the hotel source function, after closing it all hotel source working modes will be disabled True
open_hotel_foodie Enable Foodie hotel source work mode True
open_hotel_fofa Enable FOFA、ZoomEye hotel source work mode True
open_keep_all Enable retain all search results, retain results with non-template channel names, recommended to be turned on when manually maintaining False
open_m3u_result Enable the conversion to generate m3u file type result links, supporting the display of channel icons True
open_multicast Enable the multicast source function, after disabling it all multicast sources will stop working True
open_multicast_foodie Enable Foodie multicast source work mode True
open_multicast_fofa Enable FOFA multicast source work mode True
open_online_search Enable keyword search source feature False
open_proxy Enable proxy, automatically obtains free available proxies, If there are no updates, this mode can be enabled False
open_request Enable query request, the data is obtained from the network (only for hotel sources and multicast sources) False
open_service Enable page service, used to control whether to start the result page service; if deployed on platforms like Qinglong with dedicated scheduled tasks, the function can be turned off after updates are completed and the task is stopped True
open_sort Enable the sorting function (response speed, date, resolution) True
open_subscribe Enable subscription source feature True
open_update Enable updates, if disabled then only the result page service is run True
open_update_time Enable show update time True
open_url_info Enable display of API description information, used to control whether to show resolution, API protocol type, etc., the content after the $ symbol, playback software uses this information to describe the API True
open_use_cache Enable the use of local cache data, applicable to the query request failure scenario (only for hotel sources and multicast sources) True
open_use_old_result Enable the use of historical update results (including the interface for template and result files) and merge them into the current update True
app_port Page service port, used to control the port number of the page service 8000
final_file Generated result file path output/result.txt
hotel_num The number of preferred hotel source interfaces in the results 10
hotel_page_num Number of pages to retrieve for hotel regions 1
hotel_region_list List of hotel source regions, 'all' indicates all regions all
ipv4_num The preferred number of IPv4 interfaces in the result 5
ipv6_num The preferred number of IPv6 interfaces in the result 5
ipv6_support It is forced to consider that the current network supports IPv6 and skip the check False
ipv_type The protocol type of interface in the generated result, optional values: ipv4, ipv6, all all
ipv_type_prefer Interface protocol type preference, prioritize interfaces of this type in the results, optional values: IPv4, IPv6, auto auto
min_resolution Minimum interface resolution, requires enabling open_filter_resolution to take effect 1920x1080
min_speed Minimum interface speed (M/s), requires enabling open_filter_speed to take effect 0.2
multicast_num The number of preferred multicast source interfaces in the results 10
multicast_page_num Number of pages to retrieve for multicast regions 1
multicast_region_list Multicast source region list, 'all' indicates all regions all
online_search_num The number of preferred keyword search interfaces in the results 0
online_search_page_num Page retrieval quantity for keyword search channels 1
origin_type_prefer Preferred interface source of the result, the result is sorted according to this order, separated by commas, for example: hotel, multicast, subscribe, online_search; hotel: hotel source, multicast: multicast source, subscribe: subscription source, online_search: keyword search; If not filled in, it means that the source is not specified, and it is sorted according to the interface rate
recent_days Retrieve interfaces updated within a recent time range (in days), reducing appropriately can avoid matching issues 30
request_timeout Query request timeout duration, in seconds (s), used to control the timeout and retry duration for querying interface text links. Adjusting this value can optimize update time. 10
sort_timeout The timeout duration for speed testing of a single interface, in seconds (s). A larger value means a longer testing period, which can increase the number of interfaces obtained but may decrease their quality. A smaller value means a shorter testing time, which can obtain low-latency interfaces with better quality. Adjusting this value can optimize the update time. 10
source_file Template file path config/demo.txt
subscribe_num The number of preferred subscribe source interfaces in the results 10
urls_limit Number of interfaces per channel 10

Quick Start

Workflow

Fork this project and initiate workflow updates, detailed steps are available at Detailed Tutorial

Command Line

pip install pipenv
pipenv install --dev

Start update:

pipenv run dev

Start service:

pipenv run service

GUI Software

  1. Download IPTV-API update software, open the software, click update to complete the update

  2. Or run the following command in the project directory to open the GUI software:

pipenv run ui

IPTV-API update software

Docker

  • iptv-api (Full version): Higher performance requirements, slower update speed, high stability and success rate. Set open_driver = False to switch to the lite running mode (recommended for hotel sources, multicast sources, and online searches)
  • iptv-api:lite (Condensed version): Lightweight, low performance requirements, fast update speed, stability uncertain ( recommend using this version for the subscription source)

It's recommended to try each one and choose the version that suits you

  1. Pull the image:
  • iptv-api
docker pull guovern/iptv-api:latest
  • iptv-api:lite
docker pull guovern/iptv-api:lite
  1. Run the container:
  • iptv-api
docker run -d -p 8000:8000 guovern/iptv-api
  • iptv-api:lite
docker run -d -p 8000:8000 guovern/iptv-api:lite

Volume Mount Parameter (Optional): This allows synchronization of files between the host machine and the container. Modifying templates, configurations, and retrieving updated result files can be directly operated in the host machine's folder.

Taking the host path /etc/docker as an example:

  • iptv-api:
docker run -v /etc/docker/config:/iptv-api/config -v /etc/docker/output:/iptv-api/output -d -p 8000:8000 guovern/iptv-api
  • iptv-api:lite:
docker run -v /etc/docker/config:/iptv-api-lite/config -v /etc/docker/output:/iptv-api-lite/output -d -p 8000:8000 guovern/iptv-api:lite

Port environment variables:

-e APP_PORT=8000
  1. Update results:
  • API address: ip:8000
  • M3u api:ip:8000/m3u
  • Txt api:ip:8000/txt
  • API content: ip:8000/content
  • Speed test log: ip:8000/log

Changelog

Changelog

Appreciate

Development and maintenance are not easy, please buy me a coffee ~
Alipay Wechat
Alipay Wechat

Follow

Wechat public account search for Govin, or scan the code to receive updates and learn more tips:

Wechat public account

Disclaimer

This project is for learning and communication purposes only. All interface data comes from the internet. If there is any infringement, please contact us for removal.

License

MIT License © 2024-PRESENT Govin