本程序仅供学习或测试设备,禁止中国大陆用户使用,不得用于商业用途,否则后果自负
只要是支持 Docker 的系统都可以使用,比如 Linux、Windows、macOS 等。
Arm/v7 架构系统请使用 pixman/pixman-armv7 镜像,自行修改后面使用方法里的 pixman/pixman 为 pixman/pixman-armv7
docker pull pixman/pixman
# 默认 latest 版本,也可以指定版本号,比如 1.0.0
# docker pull pixman/pixman:1.0.0
docker run -d --name=pixman -p 5000:5000 pixman/pixman
如果需要修改端口,可以修改 -p 5000:5000 中第一个 5000 为其他端口号。
docker run -d --name=pixman -p 5050:5000 pixman/pixman
如果某些域名无法访问,可以使用 -e 参数设置代理,注意将 192.168.50.50:7890 换成你自己代理的 ip 和端口
docker run -d --name=pixman -p 5000:5000 -e http_proxy=http://192.168.50.50:7890 -e https_proxy=http://192.168.50.50:7890 pixman/pixman
如果你需要访问 MytvSuper 直播源,那需要设置 MYTVSUPER_TOKEN 环境变量:
docker run -d --name=pixman -p 5000:5000 -e http_proxy=http://192.168.50.50:7890 -e https_proxy=http://192.168.50.50:7890 -e MYTVSUPER_TOKEN=YOUR_TOKEN pixman/pixman
如需让容器在宿主机重启后自动启动,可以使用 --restart=always 参数:
docker run -d --name=pixman -p 5000:5000 --restart=always pixman/pixman
导入外部的 m3u 文件,从而通过 http://ip:port/your.m3u 访问:
docker run -d --name=pixman -p 5000:5000 -v /path/to/yours:/app/app/data/m3u --restart=always pixman/pixman
# 挂载后,将 m3u 文件放到 /path/to/yours 目录下,然后通过 http://ip:port/your.m3u 访问
当需要更新镜像时,可以使用以下命令:
# 停止目前正在运行的容器
docker stop pixman
# 删除目前正在运行的容器
docker rm pixman
# 删除旧的镜像
docker rmi pixman/pixman
# 重新拉取最新的镜像
docker pull pixman/pixman
# 运行最新的镜像
docker run -d --name=pixman -p 5000:5000 --restart=always pixman/pixman
新建一个 docker-compose.yml 文件,内容如下:
services:
pixman:
image: pixman/pixman
restart: always
container_name: pixman
environment:
- http_proxy=http://192.168.50.50:7890
- https_proxy=http://192.168.50.50:7890
- MYTVSUPER_TOKEN=YOUR_TOKEN
- HAMI_SESSION_ID=YOUR_SESSION_ID
- HAMI_SERIAL_NO=YOUR_SERIAL_NO
- HAMI_SESSION_IP=YOUR_SESSION_IP
ports:
- 5050:5000
然后在 docker-compose.yml 文件所在目录运行以下命令:
docker compose up -d
当需要更新镜像时,可以使用以下命令:
# 停止并删除目前正在运行的容器
docker compose down
# 拉取最新的镜像
docker compose pull
# 运行最新的镜像
docker compose up -d
# 清理缓存
docker exec pixman sh -c 'flask clean_cache'
# 更新 mytvsuper_tivimate.m3u 文件
docker exec pixman sh -c 'flask mytvsuper_tivimate'
容器会请求以下域名或 IP,常见的 Clash 内核软件或 Surge 软件的规则配置如下:
rules:
# 以下规则需要国内直连
## TPTV
- DOMAIN-SUFFIX,mobaibox.com,DIRECT
- IP-CIDR,183.207.0.0/16,DIRECT,no-resolve
## YSP
- DOMAIN-SUFFIX,cctv.cn,DIRECT
- DOMAIN-SUFFIX,yangshipin.cn,DIRECT
## ITV
- DOMAIN-SUFFIX,dnsany.com,DIRECT
- DOMAIN-SUFFIX,cmvideo.cn,DIRECT
- DOMAIN-SUFFIX,chinamobile.com,DIRECT
# 以下规则需要台湾线路
## Hamivideo
- DOMAIN-SUFFIX,cdn.hinet.net,Taiwan
# 以下规则需要海外线路
## 4GTV & Hamivideo
- DOMAIN-SUFFIX,4gtv.tv,Proxy
- DOMAIN-SUFFIX,hinet.net,Proxy
- DOMAIN-SUFFIX,ofiii.com,Proxy
## YouTube
- DOMAIN-SUFFIX,googlevideo.com,Proxy
- DOMAIN-SUFFIX,youtube.com,Proxy
## MytvSuper
- DOMAIN-SUFFIX,mytvsuper.com,Proxy
- DOMAIN-SUFFIX,tvb.com,Proxy
# 以下规则可自行测试能否直连,不能直连的话设置为海外代理
- DOMAIN-SUFFIX,livednow.com,Proxy
- DOMAIN-SUFFIX,livednow.org,Proxy
- DOMAIN-SUFFIX,wx.sb,Proxy
http://ip:port/4gtv.m3u)
http://ip:port/tptv.m3u 或 http://ip:port/tptv_proxy.m3u)
http://ip:port/ysp.m3u)
http://ip:port/youtube/{VIDEO_ID})
http://ip:port/mytvsuper.m3u)
http://ip:port/beesport.m3u)
http://ip:port/itv.m3u 或 http://ip:port/itv_proxy.m3u)
http://ip:port/thetv.m3u)http://ip:port/hami.m3u)
http://ip:port/dlhd.m3u)由于该帖回复数量过多,现关闭评论,如遇问题,请自行发帖。
十分出色的作品,简单清晰,很快配置好以后,这些都可以愉快的使用了,只是有点小小的不方便,我某些个播放器的直播源只能设置一个地址,如果系统内有一个诸如all.m3u的地址能提取全部的列表就好了,也就是能不能整合一个地址,放入4g tp itv ysp这4个源的全部内容呢?
看到了那个脚本,看来我需要再部署个php环境才能使用了。 如果能从docker直接取到全部的合集就好了,期待以后会有吧。
谢谢,你提醒了我,我的docker部署在debian上,同时还部署了一个xiaoya,小雅里面有自定义的iptv.m3u,我写个脚本,取到几个地址,合并一下保存,再将脚本设置到排程中定时运行就行了,非常简便。
一键更新代码
docker stop pixman && docker rm pixman && docker rmi pixman/pixman && docker pull pixman/pixman && docker run -d --name=pixman -p 5000:5000 --restart=always pixman/pixman
armv7 一键更新代码
docker stop pixman && docker rm pixman && docker rmi pixman/pixman-armv7 && docker pull pixman/pixman-armv7 && docker run -d --name=pixman -p 5000:5000 --restart=always pixman/pixman-armv7
ERROR in app: Request failed: 407 Client Error: Proxy Authentication Required for url: http://gslbserv.itv.cmvideo.cn:80/1000000001000014583/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014583&livemode=1&stbId=3, retrying... docker提示这个,用televizo可以拉去节目列表,但观看不了
看移动itv也需要代理?我是用openwrt上的clash fq的,访问外网没问题。 我把http proxy认证删掉后,就直接连不上,Request failed: HTTPConnectionPool(host='192.168.2.1', port=7890): Read timed out. (read timeout=5), retrying... 加上认证后就failed: 407 Client Error: Proxy Authentication Required for url docker要加上代理认证信息?
pixman可以加鉴权吗,因为有放在外网的需求,所以希望可以加个查询参数,例如
https://ip:port/tptv.m3u?auth_token=1234567890abcdef
同时增加启用https的功能,手动指定证书和公钥,防止token泄露