mirror of
https://github.com/alantang1977/JunTV.git
synced 2024-12-05 00:33:10 +02:00
chore:iptv
This commit is contained in:
parent
9ed41daa10
commit
6245665986
15 changed files with 151 additions and 112 deletions
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
|
@ -33,7 +33,7 @@ jobs:
|
|||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: GTV
|
||||
name: IPTV
|
||||
path: dist
|
||||
|
||||
- name: Get version from version.json
|
||||
|
@ -76,6 +76,6 @@ jobs:
|
|||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: dist/GTV.exe
|
||||
asset_name: GTV.exe
|
||||
asset_path: dist/IPTV.exe
|
||||
asset_name: IPTV.exe
|
||||
asset_content_type: application/octet-stream
|
||||
|
|
29
CHANGELOG.md
29
CHANGELOG.md
|
@ -1,5 +1,30 @@
|
|||
# 更新日志(Changelog)
|
||||
|
||||
## v1.5.4
|
||||
|
||||
### 2024/11/25
|
||||
|
||||
- ⚠️ Python 升级至 3.13,该版本已不支持 Win7,若有需要请使用 v1.5.3
|
||||
- ⚠️ Github 仓库改名:IPTV,使用旧接口地址请及时更换新地址
|
||||
- ⚠️ Docker 镜像仓库改名:guovern/iptv(之前的 tv-driver 对应:guovern/iptv:latest,tv-requests 对应 guovern/iptv:lite)
|
||||
- ✨ 更换测速方法(yt-dlp),重构测速逻辑,提升准确性、稳定性与效率,减小接口切换延迟(#563)
|
||||
- ✨ 新增支持 ARM v7(#562)
|
||||
- ✨ 新增微信公众号关注途径(公众号搜索:Govin),关注公众号可订阅更新通知与使用技巧等文章推送
|
||||
- 🪄 优化 Docker 镜像大小
|
||||
|
||||
<details>
|
||||
<summary>English</summary>
|
||||
|
||||
- ⚠️ Python has been upgraded to version 3.13, which no longer supports Win7. If needed, please use version v1.5.3.
|
||||
- ⚠️ The GitHub repository has been renamed to IPTV. If you are using the old API address, please update it to the new one promptly.
|
||||
- ⚠️ The Docker image repository has been renamed to guovern/iptv (the previous tv-driver corresponds to guovern/iptv:latest, and tv-requests corresponds to guovern/iptv:lite).
|
||||
- ✨ Change the speed measurement method (yt-dlp), reconstruct the speed measurement logic, improve accuracy, stability, and efficiency, and reduce interface switching delay. (#563)
|
||||
- ✨ Support for ARM v7 has been added. (#562)
|
||||
- ✨ A new way to follow the WeChat official account (search for: Govin) has been added. Following the official account will allow you to subscribe to update notifications and receive articles with usage tips.
|
||||
- 🪄 The size of the Docker image has been optimized.
|
||||
|
||||
</details>
|
||||
|
||||
## v1.5.3
|
||||
|
||||
### 2024/11/19
|
||||
|
@ -59,7 +84,7 @@
|
|||
- ✨ 新增频道接口白名单:不参与测速,永远保留在结果最前面(#470)
|
||||
使用方法:
|
||||
1. 模板频道接口地址后添加$!即可实现(如:广东珠江,http://xxx.m3u$! )
|
||||
2. 额外信息补充(如:广东珠江,http://xxx.m3u$!额外信息 ),更多接口白名单请至https://github.com/Guovin/GTV/issues/514 讨论
|
||||
2. 额外信息补充(如:广东珠江,http://xxx.m3u$!额外信息 ),更多接口白名单请至https://github.com/Guovin/IPTV/issues/514 讨论
|
||||
- ✨ 新增 🈳 无结果频道分类:无结果频道默认归类至该底部分类下(#473)
|
||||
- ✨ 接口地址增加来源类型说明
|
||||
- ✨ 默认模板增加广东民生(#481)、广州综合(#504)
|
||||
|
@ -78,7 +103,7 @@
|
|||
- ✨ Added channel interface whitelist: Not participating in speed testing, always kept at the very front of the results. (#470)
|
||||
Usage:
|
||||
1. Add $! after the template channel interface address (e.g., Guangdong Pearl River, http://xxx.m3u$!).
|
||||
2. Additional information can be appended (e.g., Guangdong Pearl River, http://xxx.m3u$! Additional Information) (#470). For more interface whitelists, please discuss at https://github.com/Guovin/GTV/issues/514.
|
||||
2. Additional information can be appended (e.g., Guangdong Pearl River, http://xxx.m3u$! Additional Information) (#470). For more interface whitelists, please discuss at https://github.com/Guovin/IPTV/issues/514.
|
||||
- ✨ Added 🈳 No Results Channel Category: Channels without results are categorized under this bottom category by default (#473).
|
||||
- ✨ Interface addresses now include source type descriptions.
|
||||
- ✨ Default templates now include Guangdong People's Livelihood (#481) and Guangzhou Comprehensive (#504).
|
||||
|
|
65
README.md
65
README.md
|
@ -1,9 +1,9 @@
|
|||
<div align="center">
|
||||
<img src="./static/images/logo.png" alt="logo"/>
|
||||
<h1 align="center">GTV</h1>
|
||||
<h1 align="center">IPTV更新工具</h1>
|
||||
</div>
|
||||
|
||||
<div align="center">IPTV直播源更新工具:自定义频道,自动获取直播源接口,测速验效后生成可用的结果</div>
|
||||
<div align="center">自定义频道,自动获取直播源接口,测速验效后生成可用的结果</div>
|
||||
<div align="center">默认结果包含:📺央视频道、💰央视付费频道、📡卫视频道、🏠广东频道、🌊港·澳·台频道、🎬电影频道、🎥咪咕直播、🏀体育频道、🪁动画频道、🎮游戏频道、🎵音乐频道、🏛经典剧场</div>
|
||||
|
||||
<details>
|
||||
|
@ -62,23 +62,26 @@
|
|||
</details>
|
||||
<br>
|
||||
<p align="center">
|
||||
<a href="https://github.com/Guovin/GTV/releases/latest">
|
||||
<img src="https://img.shields.io/github/v/release/guovin/gtv" />
|
||||
<a href="https://github.com/Guovin/IPTV/releases/latest">
|
||||
<img src="https://img.shields.io/github/v/release/guovin/iptv" />
|
||||
</a>
|
||||
<a href="https://www.python.org/">
|
||||
<img src="https://img.shields.io/badge/python-%20%3D%203.13-47c219" />
|
||||
</a>
|
||||
<a href="https://github.com/Guovin/GTV/releases/latest">
|
||||
<img src="https://img.shields.io/github/downloads/guovin/gtv/total" />
|
||||
<a href="https://github.com/Guovin/IPTV/releases/latest">
|
||||
<img src="https://img.shields.io/github/downloads/guovin/iptv/total" />
|
||||
</a>
|
||||
<a href="https://hub.docker.com/repository/docker/guovern/gtv">
|
||||
<img src="https://img.shields.io/docker/pulls/guovern/gtv?label=docker:gtv" />
|
||||
<a href="https://hub.docker.com/repository/docker/guovern/iptv">
|
||||
<img src="https://img.shields.io/docker/pulls/guovern/iptv" />
|
||||
</a>
|
||||
<a href="https://hub.docker.com/repository/docker/guovern/gtv-lite">
|
||||
<img src="https://img.shields.io/docker/pulls/guovern/gtv-lite?label=docker:gtv-lite" />
|
||||
<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://github.com/Guovin/GTV/fork">
|
||||
<img src="https://img.shields.io/github/forks/guovin/gtv" />
|
||||
<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" />
|
||||
</a>
|
||||
<a href="https://github.com/Guovin/IPTV/fork">
|
||||
<img src="https://img.shields.io/github/forks/guovin/iptv" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
|
@ -99,17 +102,17 @@
|
|||
- 接口源:
|
||||
|
||||
```bash
|
||||
https://ghproxy.net/raw.githubusercontent.com/Guovin/GTV/gd/output/result.m3u
|
||||
https://ghproxy.net/raw.githubusercontent.com/Guovin/IPTV/gd/output/result.m3u
|
||||
```
|
||||
|
||||
```bash
|
||||
https://ghproxy.net/raw.githubusercontent.com/Guovin/GTV/gd/output/result.txt
|
||||
https://ghproxy.net/raw.githubusercontent.com/Guovin/IPTV/gd/output/result.txt
|
||||
```
|
||||
|
||||
- 数据源:
|
||||
|
||||
```bash
|
||||
https://ghproxy.net/raw.githubusercontent.com/Guovin/GTV/gd/source.json
|
||||
https://ghproxy.net/raw.githubusercontent.com/Guovin/IPTV/gd/source.json
|
||||
```
|
||||
|
||||
## ⚙️ 配置
|
||||
|
@ -138,7 +141,7 @@ pipenv run dev
|
|||
|
||||
### 方式三:GUI 软件
|
||||
|
||||
1. 下载[GTV 软件](https://github.com/Guovin/GTV/releases),打开软件,点击更新,即可完成更新
|
||||
1. 下载[IPTV 更新软件](https://github.com/Guovin/IPTV/releases),打开软件,点击更新,即可完成更新
|
||||
|
||||
2. 或者在项目目录下运行以下命令,即可打开 GUI 软件:
|
||||
|
||||
|
@ -146,39 +149,39 @@ pipenv run dev
|
|||
pipenv run ui
|
||||
```
|
||||
|
||||
<img src="./docs/images/ui.png" alt="GTV软件" title="GTV软件" style="height:600px" />
|
||||
<img src="./docs/images/ui.png" alt="IPTV更新软件" title="IPTV更新软件" style="height:600px" />
|
||||
|
||||
### 方式四:Docker
|
||||
|
||||
- gtv(完整版本):性能要求较高,更新速度较慢,稳定性、成功率高;修改配置 open_driver = False 可切换到 Lite 版本运行方式(推荐酒店源、组播源、关键字搜索使用此版本)
|
||||
- gtv:lite(精简版本):轻量级,性能要求低,更新速度快,稳定性不确定(推荐订阅源使用此版本)
|
||||
- iptv(完整版本):性能要求较高,更新速度较慢,稳定性、成功率高;修改配置 open_driver = False 可切换到 Lite 版本运行模式(推荐酒店源、组播源、关键字搜索使用此版本)
|
||||
- iptv:lite(精简版本):轻量级,性能要求低,更新速度快,稳定性不确定(推荐订阅源使用此版本)
|
||||
|
||||
1. 拉取镜像:
|
||||
|
||||
- gtv:
|
||||
- iptv:
|
||||
|
||||
```bash
|
||||
docker pull guovern/gtv:latest
|
||||
docker pull guovern/iptv:latest
|
||||
```
|
||||
|
||||
- gtv:lite:
|
||||
- iptv:lite:
|
||||
|
||||
```bash
|
||||
docker pull guovern/gtv:lite
|
||||
docker pull guovern/iptv:lite
|
||||
```
|
||||
|
||||
2. 运行容器:
|
||||
|
||||
- gtv:
|
||||
- iptv:
|
||||
|
||||
```bash
|
||||
docker run -d -p 8000:8000 guovern/gtv
|
||||
docker run -d -p 8000:8000 guovern/iptv
|
||||
```
|
||||
|
||||
- gtv:lite:
|
||||
- iptv:lite:
|
||||
|
||||
```bash
|
||||
docker run -d -p 8000:8000 guovern/gtv:lite
|
||||
docker run -d -p 8000:8000 guovern/iptv:lite
|
||||
```
|
||||
|
||||
卷挂载参数(可选):
|
||||
|
@ -186,16 +189,16 @@ docker run -d -p 8000:8000 guovern/gtv:lite
|
|||
|
||||
以宿主机路径/etc/docker 为例:
|
||||
|
||||
- gtv:
|
||||
- iptv:
|
||||
|
||||
```bash
|
||||
docker run -v /etc/docker/config:/gtv/config -v /etc/docker/output:/gtv/output -d -p 8000:8000 guovern/gtv
|
||||
docker run -v /etc/docker/config:/iptv/config -v /etc/docker/output:/iptv/output -d -p 8000:8000 guovern/iptv
|
||||
```
|
||||
|
||||
- gtv:lite:
|
||||
- iptv:lite:
|
||||
|
||||
```bash
|
||||
docker run -v /etc/docker/config:/gtv-lite/config -v /etc/docker/output:/gtv-lite/output -d -p 8000:8000 guovern/gtv:lite
|
||||
docker run -v /etc/docker/config:/iptv-lite/config -v /etc/docker/output:/iptv-lite/output -d -p 8000:8000 guovern/iptv:lite
|
||||
```
|
||||
|
||||
3. 更新结果:
|
||||
|
|
59
README_en.md
59
README_en.md
|
@ -1,9 +1,9 @@
|
|||
<div align="center">
|
||||
<img src="./static/images/logo.png" alt="logo"/>
|
||||
<h1 align="center">GTV</h1>
|
||||
<h1 align="center">IPTV update tool</h1>
|
||||
</div>
|
||||
|
||||
<div align="center">IPTV live source update tool: customize channels, automatically obtain live source interface, and generate usable results after speed test</div>
|
||||
<div align="center">Customize channels, automatically obtain live source interface, and generate usable results after speed test</div>
|
||||
<div align="justify">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.</div>
|
||||
|
||||
<details>
|
||||
|
@ -62,23 +62,26 @@
|
|||
</details>
|
||||
<br>
|
||||
<p align="center">
|
||||
<a href="https://github.com/Guovin/GTV/releases/latest">
|
||||
<img src="https://img.shields.io/github/v/release/guovin/gtv" />
|
||||
<a href="https://github.com/Guovin/IPTV/releases/latest">
|
||||
<img src="https://img.shields.io/github/v/release/guovin/iptv" />
|
||||
</a>
|
||||
<a href="https://www.python.org/">
|
||||
<img src="https://img.shields.io/badge/python-%20%3D%203.13-47c219" />
|
||||
</a>
|
||||
<a href="https://github.com/Guovin/GTV/releases/latest">
|
||||
<img src="https://img.shields.io/github/downloads/guovin/gtv/total" />
|
||||
<a href="https://github.com/Guovin/IPTV/releases/latest">
|
||||
<img src="https://img.shields.io/github/downloads/guovin/iptv/total" />
|
||||
</a>
|
||||
<a href="https://hub.docker.com/repository/docker/guovern/gtv">
|
||||
<img src="https://img.shields.io/docker/pulls/guovern/gtv?label=docker:gtv" />
|
||||
<a href="https://hub.docker.com/repository/docker/guovern/iptv">
|
||||
<img src="https://img.shields.io/docker/pulls/guovern/iptv" />
|
||||
</a>
|
||||
<a href="https://hub.docker.com/repository/docker/guovern/gtv-lite">
|
||||
<img src="https://img.shields.io/docker/pulls/guovern/gtv-lite?label=docker:gtv-lite" />
|
||||
<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://github.com/Guovin/GTV/fork">
|
||||
<img src="https://img.shields.io/github/forks/guovin/gtv" />
|
||||
<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" />
|
||||
</a>
|
||||
<a href="https://github.com/Guovin/IPTV/fork">
|
||||
<img src="https://img.shields.io/github/forks/guovin/iptv" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
|
@ -138,7 +141,7 @@ pipenv run dev
|
|||
|
||||
### Method 3: GUI Software
|
||||
|
||||
1. Download [GTV software](https://github.com/Guovin/GTV/releases), open the software, click update to complete the update
|
||||
1. Download [IPTV update software](https://github.com/Guovin/IPTV/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:
|
||||
|
||||
|
@ -146,41 +149,41 @@ pipenv run dev
|
|||
pipenv run ui
|
||||
```
|
||||
|
||||
<img src="./docs/images/ui.png" alt="GTV software" title="GTV software" style="height:600px" />
|
||||
<img src="./docs/images/ui.png" alt="IPTV update software" title="IPTV update software" style="height:600px" />
|
||||
|
||||
### Method 4: Docker
|
||||
|
||||
- gtv (Full version): Higher performance requirements, slower update speed, high stability and success rate. Set open_driver = False to switch to the gtv-lite version (recommended for hotel sources, multicast sources, and online searches)
|
||||
- gtv:lite (Condensed version): Lightweight, low performance requirements, fast update speed, stability uncertain (recommend using this version for the subscription source)
|
||||
- iptv (Full version): Higher performance requirements, slower update speed, high stability and success rate. Set open_driver = False to switch to the iptv-lite running mode (recommended for hotel sources, multicast sources, and online searches)
|
||||
- iptv: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:
|
||||
|
||||
- gtv
|
||||
- iptv
|
||||
|
||||
```bash
|
||||
docker pull guovern/gtv:latest
|
||||
docker pull guovern/iptv:latest
|
||||
```
|
||||
|
||||
- gtv:lite
|
||||
- iptv:lite
|
||||
|
||||
```bash
|
||||
docker pull guovern/gtv:lite
|
||||
docker pull guovern/iptv:lite
|
||||
```
|
||||
|
||||
2. Run the container:
|
||||
|
||||
- gtv
|
||||
- iptv
|
||||
|
||||
```bash
|
||||
docker run -d -p 8000:8000 guovern/gtv
|
||||
docker run -d -p 8000:8000 guovern/iptv
|
||||
```
|
||||
|
||||
- gtv:lite
|
||||
- iptv:lite
|
||||
|
||||
```bash
|
||||
docker run -d -p 8000:8000 guovern/gtv:lite
|
||||
docker run -d -p 8000:8000 guovern/iptv:lite
|
||||
```
|
||||
|
||||
Volume Mount Parameter (Optional):
|
||||
|
@ -188,16 +191,16 @@ This allows synchronization of files between the host machine and the container.
|
|||
|
||||
Taking the host path /etc/docker as an example:
|
||||
|
||||
- gtv:
|
||||
- iptv:
|
||||
|
||||
```bash
|
||||
docker run -v /etc/docker/config:/gtv/config -v /etc/docker/output:/gtv/output -d -p 8000:8000 guovern/gtv
|
||||
docker run -v /etc/docker/config:/iptv/config -v /etc/docker/output:/iptv/output -d -p 8000:8000 guovern/iptv
|
||||
```
|
||||
|
||||
- gtv:lite:
|
||||
- iptv:lite:
|
||||
|
||||
```bash
|
||||
docker run -v /etc/docker/config:/gtv-lite/config -v /etc/docker/output:/gtv-lite/output -d -p 8000:8000 guovern/gtv:lite
|
||||
docker run -v /etc/docker/config:/iptv-lite/config -v /etc/docker/output:/iptv-lite/output -d -p 8000:8000 guovern/iptv:lite
|
||||
```
|
||||
|
||||
3. Update results:
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
### 1. Star
|
||||
|
||||
打开 https://github.com/Guovin/GTV ,点击 Star 收藏该项目(您的 Star 是我持续更新的动力)
|
||||
打开 https://github.com/Guovin/IPTV ,点击 Star 收藏该项目(您的 Star 是我持续更新的动力)
|
||||
![Star](./images/star.png 'Star')
|
||||
|
||||
### 2. Watch
|
||||
|
@ -188,7 +188,7 @@ pipenv run dev
|
|||
|
||||
### 方式三:GUI 软件
|
||||
|
||||
1. 下载[GTV 软件](https://github.com/Guovin/GTV/releases),打开软件,点击更新,即可完成更新
|
||||
1. 下载[IPTV 更新软件](https://github.com/Guovin/IPTV/releases),打开软件,点击更新,即可完成更新
|
||||
|
||||
2. 或者在项目目录下运行以下命令,即可打开 GUI 软件:
|
||||
|
||||
|
@ -196,39 +196,39 @@ pipenv run dev
|
|||
pipenv run ui
|
||||
```
|
||||
|
||||
![GTV](./images/ui.png 'GTV')
|
||||
![IPTV 更新软件](./images/ui.png 'IPTV 更新软件')
|
||||
|
||||
### 方式四:Docker
|
||||
|
||||
- gtv(完整版本):性能要求较高,更新速度较慢,稳定性、成功率高;修改配置 open_driver = False 可切换到 Lite 版本运行方式(推荐酒店源、组播源、关键字搜索使用此版本)
|
||||
- gtv:lite(精简版本):轻量级,性能要求低,更新速度快,稳定性不确定(推荐订阅源使用此版本)
|
||||
- iptv(完整版本):性能要求较高,更新速度较慢,稳定性、成功率高;修改配置 open_driver = False 可切换到 Lite 版本运行模式(推荐酒店源、组播源、关键字搜索使用此版本)
|
||||
- iptv:lite(精简版本):轻量级,性能要求低,更新速度快,稳定性不确定(推荐订阅源使用此版本)
|
||||
|
||||
1. 拉取镜像:
|
||||
|
||||
- gtv:
|
||||
- iptv:
|
||||
|
||||
```bash
|
||||
docker pull guovern/gtv:latest
|
||||
docker pull guovern/iptv:latest
|
||||
```
|
||||
|
||||
- gtv:lite:
|
||||
- iptv:lite:
|
||||
|
||||
```bash
|
||||
docker pull guovern/gtv:lite
|
||||
docker pull guovern/iptv:lite
|
||||
```
|
||||
|
||||
2. 运行容器:
|
||||
|
||||
- gtv:
|
||||
- iptv:
|
||||
|
||||
```bash
|
||||
docker run -d -p 8000:8000 guovern/gtv
|
||||
docker run -d -p 8000:8000 guovern/iptv
|
||||
```
|
||||
|
||||
- gtv:lite:
|
||||
- iptv:lite:
|
||||
|
||||
```bash
|
||||
docker run -d -p 8000:8000 guovern/gtv:lite
|
||||
docker run -d -p 8000:8000 guovern/iptv:lite
|
||||
```
|
||||
|
||||
卷挂载参数(可选):
|
||||
|
@ -236,16 +236,16 @@ docker run -d -p 8000:8000 guovern/gtv:lite
|
|||
|
||||
以宿主机路径/etc/docker 为例:
|
||||
|
||||
- gtv:
|
||||
- iptv:
|
||||
|
||||
```bash
|
||||
docker run -v /etc/docker/config:/gtv/config -v /etc/docker/output:/gtv/output -d -p 8000:8000 guovern/gtv
|
||||
docker run -v /etc/docker/config:/iptv/config -v /etc/docker/output:/iptv/output -d -p 8000:8000 guovern/iptv
|
||||
```
|
||||
|
||||
- gtv:lite:
|
||||
- iptv:lite:
|
||||
|
||||
```bash
|
||||
docker run -v /etc/docker/config:/gtv-lite/config -v /etc/docker/output:/gtv-lite/output -d -p 8000:8000 guovern/gtv:lite
|
||||
docker run -v /etc/docker/config:/iptv-lite/config -v /etc/docker/output:/iptv-lite/output -d -p 8000:8000 guovern/iptv:lite
|
||||
```
|
||||
|
||||
3. 更新结果:
|
||||
|
|
|
@ -23,7 +23,7 @@ Since this project will continue to iterate and improve, if you want to get the
|
|||
|
||||
### 1. Star
|
||||
|
||||
Go to https://github.com/Guovin/GTV, click on Star to bookmark this project (Your Star is my motivation to keep updating).
|
||||
Go to https://github.com/Guovin/IPTV, click on Star to bookmark this project (Your Star is my motivation to keep updating).
|
||||
![Star](./images/star.png 'Star')
|
||||
|
||||
### 2. Watch
|
||||
|
@ -185,7 +185,7 @@ pipenv run dev
|
|||
|
||||
### Method 3: GUI Software
|
||||
|
||||
1. Download [GTV software](https://github.com/Guovin/GTV/releases), open the software, click update to complete the update.
|
||||
1. Download [IPTV update software](https://github.com/Guovin/IPTV/releases), open the software, click update to complete the update.
|
||||
|
||||
2. Alternatively, run the following command in the project directory to open the GUI software:
|
||||
|
||||
|
@ -193,41 +193,41 @@ pipenv run dev
|
|||
pipenv run ui
|
||||
```
|
||||
|
||||
![Update tool software](./images/ui.png 'Update tool software')
|
||||
![IPTV update software](./images/ui.png 'IPTV update software')
|
||||
|
||||
### Method 4: Docker
|
||||
|
||||
- gtv (Full version): Higher performance requirements, slower update speed, high stability and success rate. Set open_driver = False to switch to the gtv-lite version (recommended for hotel sources, multicast sources, and online searches)
|
||||
- gtv:lite (Condensed version): Lightweight, low performance requirements, fast update speed, stability uncertain (recommend using this version for the subscription source)
|
||||
- iptv (Full version): Higher performance requirements, slower update speed, high stability and success rate. Set open_driver = False to switch to the iptv-lite running mode (recommended for hotel sources, multicast sources, and online searches)
|
||||
- iptv: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:
|
||||
|
||||
- gtv
|
||||
- iptv
|
||||
|
||||
```bash
|
||||
docker pull guovern/gtv:latest
|
||||
docker pull guovern/iptv:latest
|
||||
```
|
||||
|
||||
- gtv:lite
|
||||
- iptv:lite
|
||||
|
||||
```bash
|
||||
docker pull guovern/gtv:lite
|
||||
docker pull guovern/iptv:lite
|
||||
```
|
||||
|
||||
2. Run the container:
|
||||
|
||||
- gtv
|
||||
- iptv
|
||||
|
||||
```bash
|
||||
docker run -d -p 8000:8000 guovern/gtv
|
||||
docker run -d -p 8000:8000 guovern/iptv
|
||||
```
|
||||
|
||||
- gtv:lite
|
||||
- iptv:lite
|
||||
|
||||
```bash
|
||||
docker run -d -p 8000:8000 guovern/gtv:lite
|
||||
docker run -d -p 8000:8000 guovern/iptv:lite
|
||||
```
|
||||
|
||||
Volume Mount Parameter (Optional):
|
||||
|
@ -235,16 +235,16 @@ This allows synchronization of files between the host machine and the container.
|
|||
|
||||
Taking the host path /etc/docker as an example:
|
||||
|
||||
- gtv:
|
||||
- iptv:
|
||||
|
||||
```bash
|
||||
docker run -v /etc/docker/config:/gtv/config -v /etc/docker/output:/gtv/output -d -p 8000:8000 guovern/gtv
|
||||
docker run -v /etc/docker/config:/iptv/config -v /etc/docker/output:/iptv/output -d -p 8000:8000 guovern/iptv
|
||||
```
|
||||
|
||||
- gtv:lite:
|
||||
- iptv:lite:
|
||||
|
||||
```bash
|
||||
docker run -v /etc/docker/config:/gtv-lite/config -v /etc/docker/output:/gtv-lite/output -d -p 8000:8000 guovern/gtv:lite
|
||||
docker run -v /etc/docker/config:/iptv-lite/config -v /etc/docker/output:/iptv-lite/output -d -p 8000:8000 guovern/iptv:lite
|
||||
```
|
||||
|
||||
3. Update results:
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
from driver.setup import setup_driver
|
||||
from utils.retry import (
|
||||
retry_func,
|
||||
locate_element_with_retry,
|
||||
|
@ -7,13 +6,14 @@ from utils.retry import (
|
|||
from time import sleep
|
||||
import re
|
||||
from bs4 import BeautifulSoup
|
||||
from selenium.webdriver.common.by import By
|
||||
|
||||
|
||||
def get_soup_driver(url):
|
||||
"""
|
||||
Get the soup by driver
|
||||
"""
|
||||
from driver.setup import setup_driver
|
||||
|
||||
driver = setup_driver()
|
||||
retry_func(lambda: driver.get(url), name=url)
|
||||
sleep(1)
|
||||
|
@ -33,6 +33,8 @@ def search_submit(driver, name):
|
|||
"""
|
||||
Input key word and submit with driver
|
||||
"""
|
||||
from selenium.webdriver.common.by import By
|
||||
|
||||
search_box = locate_element_with_retry(driver, (By.XPATH, '//input[@type="text"]'))
|
||||
if not search_box:
|
||||
return
|
||||
|
|
|
@ -44,14 +44,14 @@ class AboutUI:
|
|||
project_label.pack()
|
||||
project_link = tk.Label(
|
||||
project_row_column2,
|
||||
text="https://github.com/Guovin/GTV",
|
||||
text="https://github.com/Guovin/IPTV",
|
||||
fg="blue",
|
||||
cursor="hand2",
|
||||
)
|
||||
project_link.pack()
|
||||
project_link.bind(
|
||||
"<Button-1>",
|
||||
lambda e: webbrowser.open_new_tab("https://github.com/Guovin/GTV"),
|
||||
lambda e: webbrowser.open_new_tab("https://github.com/Guovin/IPTV"),
|
||||
)
|
||||
|
||||
disclaimer_label = tk.Label(
|
||||
|
|
|
@ -45,7 +45,7 @@ exe = EXE(
|
|||
a.binaries,
|
||||
a.datas,
|
||||
[],
|
||||
name='GTV',
|
||||
name='IPTV',
|
||||
debug=True,
|
||||
bootloader_ignore_signals=False,
|
||||
strip=False,
|
||||
|
|
|
@ -3,7 +3,6 @@ from time import time
|
|||
from requests import get
|
||||
from concurrent.futures import ThreadPoolExecutor, as_completed
|
||||
import updates.fofa.fofa_map as fofa_map
|
||||
from driver.setup import setup_driver
|
||||
import re
|
||||
from utils.config import config
|
||||
import utils.constants as constants
|
||||
|
@ -87,6 +86,8 @@ async def get_channels_by_fofa(urls=None, multicast=False, callback=None):
|
|||
proxy = None
|
||||
open_proxy = config.open_proxy
|
||||
open_driver = config.open_driver
|
||||
if open_driver:
|
||||
from driver.setup import setup_driver
|
||||
open_sort = config.open_sort
|
||||
if open_proxy:
|
||||
test_url = fofa_urls[0][0]
|
||||
|
|
|
@ -13,7 +13,6 @@ from utils.retry import (
|
|||
retry_func,
|
||||
find_clickable_element_with_retry,
|
||||
)
|
||||
from selenium.webdriver.common.by import By
|
||||
from tqdm.asyncio import tqdm_asyncio
|
||||
from concurrent.futures import ThreadPoolExecutor, as_completed
|
||||
from requests_custom.utils import get_soup_requests, close_session
|
||||
|
@ -33,6 +32,8 @@ async def get_channels_by_hotel(callback=None):
|
|||
proxy = None
|
||||
open_proxy = config.open_proxy
|
||||
open_driver = config.open_driver
|
||||
if open_driver:
|
||||
from selenium.webdriver.common.by import By
|
||||
page_num = config.hotel_page_num
|
||||
region_list = config.hotel_region_list
|
||||
if "all" in region_list or "ALL" in region_list or "全部" in region_list:
|
||||
|
|
|
@ -18,7 +18,6 @@ from utils.retry import (
|
|||
retry_func,
|
||||
find_clickable_element_with_retry,
|
||||
)
|
||||
from selenium.webdriver.common.by import By
|
||||
from tqdm.asyncio import tqdm_asyncio
|
||||
from concurrent.futures import ThreadPoolExecutor, as_completed
|
||||
from requests_custom.utils import get_soup_requests, close_session
|
||||
|
@ -37,6 +36,8 @@ async def get_channels_by_multicast(names, callback=None):
|
|||
proxy = None
|
||||
open_proxy = config.open_proxy
|
||||
open_driver = config.open_driver
|
||||
if open_driver:
|
||||
from selenium.webdriver.common.by import By
|
||||
page_num = config.multicast_page_num
|
||||
if open_proxy:
|
||||
proxy = await get_proxy(pageUrl, best=True, with_test=True)
|
||||
|
|
|
@ -20,7 +20,6 @@ from utils.retry import (
|
|||
retry_func,
|
||||
find_clickable_element_with_retry,
|
||||
)
|
||||
from selenium.webdriver.common.by import By
|
||||
from tqdm.asyncio import tqdm_asyncio
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
from requests_custom.utils import get_soup_requests, close_session
|
||||
|
@ -37,6 +36,8 @@ async def get_channels_by_online_search(names, callback=None):
|
|||
proxy = None
|
||||
open_proxy = config.open_proxy
|
||||
open_driver = config.open_driver
|
||||
if open_driver:
|
||||
from selenium.webdriver.common.by import By
|
||||
page_num = config.online_search_page_num
|
||||
if open_proxy:
|
||||
proxy = await get_proxy(pageUrl, best=True, with_test=True)
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
from time import sleep
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
from selenium.common.exceptions import TimeoutException
|
||||
from utils.config import config
|
||||
|
||||
if config.open_driver:
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
from selenium.common.exceptions import TimeoutException
|
||||
|
||||
max_retries = 2
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"version": "1.5.2",
|
||||
"name": "GTV"
|
||||
"version": "1.5.4",
|
||||
"name": "IPTV"
|
||||
}
|
Loading…
Reference in a new issue