Skip to content

Commit

Permalink
Merge pull request #661 from Guovin/dev
Browse files Browse the repository at this point in the history
Feat
  • Loading branch information
Guovin authored Dec 12, 2024
2 parents cbebe51 + 1ab7ca7 commit 34968a7
Show file tree
Hide file tree
Showing 14 changed files with 236 additions and 135 deletions.
27 changes: 11 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,7 @@
<img src="https://img.shields.io/github/downloads/guovin/iptv-api/total" />
</a>
<a href="https://hub.docker.com/repository/docker/guovern/iptv-api">
<img src="https://img.shields.io/docker/pulls/guovern/iptv-api?label=docker:iptv-api" />
</a>
<a href="https://hub.docker.com/repository/docker/guovern/tv-requests">
<img src="https://img.shields.io/docker/pulls/guovern/tv-requests?label=docker:requests" />
</a>
<a href="https://hub.docker.com/repository/docker/guovern/tv-driver">
<img src="https://img.shields.io/docker/pulls/guovern/tv-driver?label=docker:driver" />
<img src="https://img.shields.io/docker/pulls/guovern/iptv-api" />
</a>
<a href="https://github.com/Guovin/iptv-api/fork">
<img src="https://img.shields.io/github/forks/guovin/iptv-api" />
Expand All @@ -102,7 +96,7 @@

- ✅ 自定义模板,生成您想要的频道
- ✅ 支持多种获取源方式:组播源、酒店源、订阅源、关键字搜索
- ✅ 接口测速验效,响应时间、分辨率优先级,过滤无效接口
- ✅ 接口测速验效,获取延迟、速率、分辨率,过滤无效接口
- ✅ 偏好设置:IPv6、接口来源排序优先级与数量配置、接口白名单
- ✅ 定时执行,北京时间每日 6:00 与 18:00 执行更新
- ✅ 支持多种运行方式:工作流、命令行、GUI 软件、Docker(amd64/arm64/arm v7)
Expand Down Expand Up @@ -138,23 +132,23 @@ Fork 本项目并开启工作流更新,具体步骤请见[详细教程](./docs

### 方式二:命令行

```python
```shell
pip install pipenv
```

```python
```shell
pipenv install --dev
```

启动更新:

```python
```shell
pipenv run dev
```

启动服务:

```python
```shell
pipenv run service
```

Expand All @@ -164,15 +158,16 @@ pipenv run service

2. 或者在项目目录下运行以下命令,即可打开 GUI 软件:

```python
```shell
pipenv run ui
```

<img src="./docs/images/ui.png" alt="IPTV-API更新软件" title="IPTV-API更新软件" style="height:600px" />

### 方式四:Docker

- iptv-api(完整版本):性能要求较高,更新速度较慢,稳定性、成功率高;修改配置 open_driver = False 可切换到 Lite 版本运行模式(推荐酒店源、组播源、关键字搜索使用此版本)
- iptv-api(完整版本):性能要求较高,更新速度较慢,稳定性、成功率高;修改配置 open_driver = False 可切换到 Lite
版本运行模式(推荐酒店源、组播源、关键字搜索使用此版本)
- iptv-api:lite(精简版本):轻量级,性能要求低,更新速度快,稳定性不确定(推荐订阅源使用此版本)

1. 拉取镜像:
Expand Down Expand Up @@ -236,8 +231,8 @@ docker run -v /etc/docker/config:/iptv-api-lite/config -v /etc/docker/output:/ip

<div>开发维护不易,请我喝杯咖啡☕️吧~</div>

| 支付宝 | 微信 |
| ----------------------------------------- | ------------------------------------------- |
| 支付宝 | 微信 |
|--------------------------------------|-----------------------------------------|
| ![支付宝扫码](./static/images/alipay.jpg) | ![微信扫码](./static/images/appreciate.jpg) |

## 关注
Expand Down
41 changes: 21 additions & 20 deletions README_en.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,7 @@
<img src="https://img.shields.io/github/downloads/guovin/iptv-api/total" />
</a>
<a href="https://hub.docker.com/repository/docker/guovern/iptv-api">
<img src="https://img.shields.io/docker/pulls/guovern/iptv-api?label=docker:iptv-api" />
</a>
<a href="https://hub.docker.com/repository/docker/guovern/tv-requests">
<img src="https://img.shields.io/docker/pulls/guovern/tv-requests?label=docker:requests" />
</a>
<a href="https://hub.docker.com/repository/docker/guovern/tv-driver">
<img src="https://img.shields.io/docker/pulls/guovern/tv-driver?label=docker:driver" />
<img src="https://img.shields.io/docker/pulls/guovern/iptv-api" />
</a>
<a href="https://github.com/Guovin/iptv-api/fork">
<img src="https://img.shields.io/github/forks/guovin/iptv-api" />
Expand All @@ -102,7 +96,7 @@

- ✅ Customize the template to generate the channel you want
- ✅ Supports multiple source acquisition methods: multicast source, hotel source, subscription source, keyword search
- ✅ Interface speed testing and verification, with priority on response time and resolution, filtering out ineffective interfaces
- ✅ 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)
Expand Down Expand Up @@ -134,46 +128,51 @@ https://ghp.ci/raw.githubusercontent.com/Guovin/iptv-api/gd/source.json

### Method 1: Workflow

Fork this project and initiate workflow updates, detailed steps are available at [Detailed Tutorial](./docs/tutorial_en.md)
Fork this project and initiate workflow updates, detailed steps are available
at [Detailed Tutorial](./docs/tutorial_en.md)

### Method 2: Command Line

```python
```shell
pip install pipenv
```

```python
```shell
pipenv install --dev
```

Start update:

```python
```shell
pipenv run dev
```

Start service:

```python
```shell
pipenv run service
```

### Method 3: GUI Software

1. Download [IPTV-API update software](https://github.com/Guovin/iptv-api/releases), open the software, click update to complete the update
1. Download [IPTV-API update software](https://github.com/Guovin/iptv-api/releases), open the software, click update to
complete the update

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

```python
```shell
pipenv run ui
```

<img src="./docs/images/ui.png" alt="IPTV-API update software" title="IPTV-API update software" style="height:600px" />

### Method 4: 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)
- 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

Expand Down Expand Up @@ -206,7 +205,8 @@ 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.
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:

Expand Down Expand Up @@ -239,7 +239,7 @@ docker run -v /etc/docker/config:/iptv-api-lite/config -v /etc/docker/output:/ip
<div>Development and maintenance are not easy, please buy me a coffee ~</div>

| Alipay | Wechat |
| ------------------------------------- | ----------------------------------------- |
|---------------------------------------|-------------------------------------------|
| ![Alipay](./static/images/alipay.jpg) | ![Wechat](./static/images/appreciate.jpg) |

## Follow
Expand All @@ -250,7 +250,8 @@ Wechat public account search for Govin, or scan the code to receive updates and

## 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.
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

Expand Down
4 changes: 4 additions & 0 deletions config/whitelist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# 这是接口或订阅源的白名单,白名单内的接口或订阅源获取的接口将不会参与测速,优先排序至结果最前。
# 填写频道名称会直接保留该记录至最终结果,如:CCTV-1,接口地址,只填写接口地址则对所有频道生效,多条记录换行输入。
# This is the whitelist of the interface or subscription source. The interface in the whitelist or the interface obtained by the subscription source will not participate in the speed measurement and will be prioritized in the result.
# Filling in the channel name will directly retain the record to the final result, such as: CCTV-1, interface address, only fill in the interface address will be effective for all channels, multiple records newline input.
33 changes: 20 additions & 13 deletions docs/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,9 @@

1. 创建文件
2. 模板文件命名为 user_demo.txt
3. 模板文件需要按照(频道分类,#genre#),(频道名称,频道接口)进行编写,注意是英文逗号。如果需要将该接口设为白名单(不测速、保留在结果最前),可在地址后添加$!即可,例如http://xxx$!。后面也可以添加额外说明信息,如:http://xxx$!白名单接口
3.
模板文件需要按照(频道分类,#genre#),(频道名称,频道接口)进行编写,注意是英文逗号。如果需要将该接口设为白名单(不测速、保留在结果最前),可在地址后添加$!即可,例如http://xxx$!
。后面也可以添加额外说明信息,如:http://xxx$!白名单接口
4. 点击 Commit changes...进行保存

![创建user_demo.txt](./images/edit-user-demo.png '创建user_demo.txt')
Expand All @@ -81,8 +83,8 @@
2. 配置文件命名为 user_config.ini
3. 粘贴默认配置
4. 修改模板和结果文件配置:
- source_file = config/user_demo.txt
- final_file = output/user_result.txt
- source_file = config/user_demo.txt
- final_file = output/user_result.txt
5. 点击 Commit changes...进行保存

![创建user_config.ini](./images/edit-user-config.png '创建user_config.ini')
Expand Down Expand Up @@ -124,15 +126,17 @@
这个时候就可以运行更新工作流了

1. 点击 Run workflow
2. 这里可以切换您要运行的仓库分支,由于 Fork 默认拉取的是 master 分支,如果您修改的模板和配置也在 master 分支,这里选择 master 就好了,点击 Run workflow 确认运行
2. 这里可以切换您要运行的仓库分支,由于 Fork 默认拉取的是 master 分支,如果您修改的模板和配置也在 master 分支,这里选择
master 就好了,点击 Run workflow 确认运行

![运行Workflow](./images/workflows-run.png '运行Workflow')

#### (3)Workflow 运行中:

稍等片刻,就可以看到您的第一条更新工作流已经在运行了!
![Workflow运行中](./images/workflow-running.png 'Workflow运行中')
(注意:由于运行时间取决于您的模板频道数量以及页数等配置,也很大程度取决于当前网络状况,请耐心等待,默认模板与配置一般需要 25 分钟左右。)
(注意:由于运行时间取决于您的模板频道数量以及页数等配置,也很大程度取决于当前网络状况,请耐心等待,默认模板与配置一般需要 25
分钟左右。)

#### (4)Workflow 取消运行:

Expand All @@ -147,9 +151,11 @@
https://ghp.ci/raw.githubusercontent.com/您的github用户名/仓库名称(对应上述Fork创建时的TV)/master/output/user_result.txt
![用户名与仓库名称](./images/rep-info.png '用户名与仓库名称')

如果访问该链接能正常返回更新后的接口内容,说明您的直播源接口链接已经大功告成了!将该链接复制粘贴到 TVBox 等软件配置栏中即可使用~
如果访问该链接能正常返回更新后的接口内容,说明您的直播源接口链接已经大功告成了!将该链接复制粘贴到 TVBox
等软件配置栏中即可使用~

- 注意:除了首次执行工作流需要您手动触发,后续执行(默认北京时间每日 6:00 与 18:00)将自动触发。如果您修改了模板或配置文件想立刻执行更新,可手动触发(2)中的 Run workflow 即可。
- 注意:除了首次执行工作流需要您手动触发,后续执行(默认北京时间每日 6:00 与 18:00)将自动触发。如果您修改了模板或配置文件想立刻执行更新,可手动触发(2)中的
Run workflow 即可。

### 4.修改工作流更新频率(可选)

Expand All @@ -174,23 +180,23 @@ https://ghp.ci/raw.githubusercontent.com/您的github用户名/仓库名称(
2. 运行更新
项目目录下打开终端 CMD 依次运行以下命令:

```python
```shell
pip install pipenv
```

```python
```shell
pipenv install --dev
```

启动更新:

```python
```shell
pipenv run dev
```

启动服务:

```python
```shell
pipenv run service
```

Expand All @@ -200,15 +206,16 @@ pipenv run service

2. 或者在项目目录下运行以下命令,即可打开 GUI 软件:

```python
```shell
pipenv run ui
```

![IPTV-API 更新软件](./images/ui.png 'IPTV-API 更新软件')

### 方式四:Docker

- iptv-api(完整版本):性能要求较高,更新速度较慢,稳定性、成功率高;修改配置 open_driver = False 可切换到 Lite 版本运行模式(推荐酒店源、组播源、关键字搜索使用此版本)
- iptv-api(完整版本):性能要求较高,更新速度较慢,稳定性、成功率高;修改配置 open_driver = False 可切换到 Lite
版本运行模式(推荐酒店源、组播源、关键字搜索使用此版本)
- iptv-api:lite(精简版本):轻量级,性能要求低,更新速度快,稳定性不确定(推荐订阅源使用此版本)

1. 拉取镜像:
Expand Down
Loading

0 comments on commit 34968a7

Please sign in to comment.