⚡️IPTV直播源自动更新平台,『🤖全自动采集、筛选、测速、生成🚀』,支持丰富的个性化配置,将结果地址输入播放器即可观看
### Docker
#### 1. Compose部署(推荐)
下载[docker-compose.yml](./docker-compose.yml)或复制内容创建(内部参数可按需更改),在文件所在路径下运行以下命令即可部署:
```bash
docker compose up -d
```
#### 2. 手动命令部署
##### (1)拉取镜像
```bash
docker pull guovern/iptv-api:latest
```
🚀 代理加速(若拉取失败可以使用该命令,但有可能拉取的是旧版本):
```bash
docker pull docker.1ms.run/guovern/iptv-api:latest
```
##### (2)运行容器
```bash
docker run -d -p 80:8080 guovern/iptv-api
```
**环境变量:**
| 变量 | 描述 | 默认值 |
|:----------------|:----------------------------------|:----------|
| PUBLIC_DOMAIN | 公网域名或IP地址,决定外部访问或推流结果的Host地址 | 127.0.0.1 |
| PUBLIC_PORT | 公网端口,设置为映射后的端口,决定外部访问地址和推流结果地址的端口 | 80 |
| NGINX_HTTP_PORT | HTTP服务端口,外部访问需要映射该端口 | 8080 |
如果需要修改环境变量,在上述运行命令后添加以下参数:
```bash
# 修改公网域名
-e PUBLIC_DOMAIN=your.domain.com
# 修改公网端口
-e PUBLIC_PORT=80
```
除了以上环境变量,还支持通过环境变量覆盖配置文件中的[配置项](#配置)
**挂载:** 实现宿主机文件与容器文件同步,修改模板、配置、获取更新结果文件可直接在宿主机文件夹下操作,在上述运行命令后添加以下参数
```bash
# 挂载配置目录
-v /iptv-api/config:/iptv-api/config
# 挂载结果目录
-v /iptv-api/output:/iptv-api/output
```
##### 3. 更新结果
| 接口 | 描述 |
|:----------------|:------------|
| / | 默认接口 |
| /m3u | m3u 格式接口 |
| /txt | txt 格式接口 |
| /ipv4 | ipv4 默认接口 |
| /ipv6 | ipv6 默认接口 |
| /ipv4/txt | ipv4 txt接口 |
| /ipv6/txt | ipv6 txt接口 |
| /ipv4/m3u | ipv4 m3u接口 |
| /ipv6/m3u | ipv6 m3u接口 |
| /content | 接口文本内容 |
| /log/result | 有效结果的日志 |
| /log/speed-test | 所有参与测速接口的日志 |
| /log/statistic | 统计结果的日志 |
| /log/unmatch | 未匹配频道的日志 |
**RTMP 推流:**
> [!NOTE]
> 1. 如果是服务器部署,请务必配置`PUBLIC_DOMAIN`环境变量为服务器域名或IP地址,`PUBLIC_PORT`环境变量为公网端口,否则推流地址无法访问
> 2. 开启推流后,默认会将获取到的接口(如订阅源)进行推流;请仅对你有明确授权、可合法分发或仅用于内部测试的内容启用该功能
> 3. 如果需要对本地视频源进行推流,可在`config`目录下新建`hls`文件夹,将以`频道名称命名`的视频文件放入其中,程序会自动推流到对应的频道中
> 4. 在中国大陆使用时,请特别确认内容授权、版权、网络视听与广播电视等相关合规要求;不要将本项目用于传播、转发或公开分发未经授权的直播源/节目源
| 推流接口 | 描述 |
|:--------------|:-------------|
| /hls | 推流接口 |
| /hls/txt | 推流txt接口 |
| /hls/m3u | 推流m3u接口 |
| /hls/ipv4 | 推流ipv4 默认接口 |
| /hls/ipv6 | 推流ipv6 默认接口 |
| /hls/ipv4/txt | 推流ipv4 txt接口 |
| /hls/ipv4/m3u | 推流ipv4 m3u接口 |
| /hls/ipv6/txt | 推流ipv6 txt接口 |
| /hls/ipv6/m3u | 推流ipv6 m3u接口 |
| /stat | 推流状态统计接口 |
[如何使用推流?](./docs/tutorial.md#推流使用教程)
## 更新日志
[更新日志](./CHANGELOG.md)
## 关注
### Github
关注我的Github账号[Guovin](https://github.com/Guovin),获取更多实用项目
### 微信公众号
微信公众号搜索 Govin,或扫码,接收更新推送、学习更多使用技巧:

### 需要更多帮助?
联系邮箱:`360996299@qq.com`
## Star统计
[](https://starchart.cc/Guovin/iptv-api)
## 捐赠