English | 中文
将本仓库的源代码复制至个人账号仓库中
- 个人仓库命名,可按您喜欢的名字随意命名(最终直播源结果链接取决于该名称),这里以默认 TV 为例
- 确认信息无误后,点击确认创建
由于本项目将持续迭代优化,如果您想获取最新的更新内容,可进行如下操作
打开 https://github.com/Guovin/iptv-api ,点击 Star 收藏该项目(您的 Star 是我持续更新的动力)
关注该项目,后续更新日志将以 releases 发布,届时您将收到邮件通知
回到您 Fork 后的仓库首页,如果项目有更新内容,点击 Sync fork,Update branch 确认即可更新最新代码
这是因为某些文件与主仓库的默认文件冲突了,点击 Discard commits 即可更新最新代码
当您在步骤一中点击确认创建,成功后会自动跳转到您的个人仓库。这个时候您的个人仓库就创建完成了,可以定制个人的直播源频道菜单了!
- 创建文件
- 模板文件命名为 user_demo.txt
模板文件需要按照(频道分类,#genre#),(频道名称,频道接口)进行编写,注意是英文逗号。如果需要将该接口设为白名单(不测速、保留在结果最前),可在地址后添加$!即可,例如http://xxx$! 。后面也可以添加额外说明信息,如:http://xxx$!白名单接口
- 点击 Commit changes...进行保存
跟编辑模板一样,修改运行配置
- 创建文件
- 配置文件命名为 user_config.ini
- 粘贴默认配置
- 修改模板和结果文件配置:
- source_file = config/user_demo.txt
- final_file = output/user_result.txt
- 点击 Commit changes...进行保存
按照您的需要适当调整配置,以下是默认配置说明: 配置参数
如果您的模板和配置修改没有问题的话,这时就可以配置 Actions 来实现自动更新啦
由于 Fork 的仓库 Actions 工作流是默认关闭的,需要您手动确认开启,点击红框中的按钮确认开启
开启成功后,可以看到目前是没有任何工作流在运行的,别急,下面开始运行您第一个更新工作流
- 点击 Workflows 分类下的 update schedule
- 由于 Fork 的仓库工作流是默认关闭的,点击 Enable workflow 按钮确认开启
这个时候就可以运行更新工作流了
- 点击 Run workflow
- 这里可以切换您要运行的仓库分支,由于 Fork 默认拉取的是 master 分支,如果您修改的模板和配置也在 master 分支,这里选择 master 就好了,点击 Run workflow 确认运行
稍等片刻,就可以看到您的第一条更新工作流已经在运行了! (注意:由于运行时间取决于您的模板频道数量以及页数等配置,也很大程度取决于当前网络状况,请耐心等待,默认模板与配置一般需要 25 分钟左右。)
如果您觉得这次的更新不太合适,需要修改模板或配置再运行,可以点击 Cancel run 取消本次运行
如果一切正常,稍等片刻后就可以看到该条工作流已经执行成功(绿色勾图标) 此时您可以访问代理文件链接,查看最新结果有没有同步即可: https://cdn.jsdelivr.net/gh/您的github用户名/仓库名称(对应上述Fork创建时的TV)@master/output/user_result.txt
如果访问该链接能正常返回更新后的接口内容,说明您的直播源接口链接已经大功告成了!将该链接复制粘贴到 TVBox 等软件配置栏中即可使用~
- 注意:除了首次执行工作流需要您手动触发,后续执行(默认北京时间每日 6:00 与 18:00)将自动触发。如果您修改了模板或配置文件想立刻执行更新,可手动触发(2)中的 Run workflow 即可。
如果您想修改更新频率(默认北京时间每日 6:00 与 18:00),可修改 on:schedule:- cron 字段: 如果您想 每 2 天执行更新可以这样修改:
- cron: '0 22 */2 * *'
- cron: '0 10 */2 * *'
-
安装 Python 请至官方下载并安装 Python,安装时请选择将 Python 添加到系统环境变量 Path 中
-
运行更新 项目目录下打开终端 CMD 依次运行以下命令:
pip install pipenv
pipenv install --dev
启动更新:
pipenv run dev
启动服务:
pipenv run service
-
下载IPTV-API 更新软件,打开软件,点击更新,即可完成更新
-
或者在项目目录下运行以下命令,即可打开 GUI 软件:
pipenv run ui
- iptv-api(完整版本):性能要求较高,更新速度较慢,稳定性、成功率高;修改配置 open_driver = False 可切换到 Lite 版本运行模式(推荐酒店源、组播源、关键字搜索使用此版本)
- iptv-api:lite(精简版本):轻量级,性能要求低,更新速度快,稳定性不确定(推荐订阅源使用此版本)
- 拉取镜像:
- iptv-api:
docker pull guovern/iptv-api:latest
- iptv-api:lite:
docker pull guovern/iptv-api:lite
- 运行容器:
- iptv-api:
docker run -d -p 8000:8000 guovern/iptv-api
- iptv-api:lite:
docker run -d -p 8000:8000 guovern/iptv-api:lite
卷挂载参数(可选): 实现宿主机文件与容器文件同步,修改模板、配置、获取更新结果文件可直接在宿主机文件夹下操作
以宿主机路径/etc/docker 为例:
- 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
端口环境变量:
-e APP_PORT=8000
- 更新结果:
- 接口地址:ip:8000
- M3u 接口:ip:8000/m3u
- Txt 接口:ip:8000/txt
- 接口内容:ip:8000/content
- 测速日志:ip:8000/log
如果您没有自己的域名地址,接口更新完成后,将 user_result.txt 上传至个人仓库,即可使用 https://cdn.jsdelivr.net/gh/您的github用户名/仓库名称(对应上述Fork创建时的TV)@master/output/user_result.txt