本程序仅供学习或测试设备,禁止中国大陆用户使用,不得用于商业用途,否则后果自负
只要是支持 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)由于该帖回复数量过多,现关闭评论,如遇问题,请自行发帖。
作者您好!我在内网群晖上搭建的,4gtv没问题,江苏魔百盒tptv用proxy那个也没问题,但是中国移动itv无论是用itv还是itv_proxy都不行,提示“服务器已关闭或者地址错误”、“在渲染下列pin时失败了http://ip:port/itv/wasusyt/6000000001000029752”, 我用的是PC上的potplayer播放器,请问会是哪里出了问题?感谢!
而且我发现出现断流现象的频道几乎结尾都是http://ip:port/4gtv/xxx 结尾是数字的频道 其他的4gtv-4gtvxxx的就正常
armv7版本nginx代理的itv_proxy报错
pixman | [2024-07-02 09:11:55,916] ERROR in app: Exception on /itv/wasusyt/6000000001000029752 [GET]
pixman | Traceback (most recent call last):
pixman | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1473, in wsgi_app
pixman | response = self.full_dispatch_request()
pixman | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 882, in full_dispatch_request
pixman | rv = self.handle_user_exception(e)
pixman | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 880, in full_dispatch_request
pixman | rv = self.dispatch_request()
pixman | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 865, in dispatch_request
pixman | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
pixman | File "app/views/itv.py", line 73, in app.views.itv.get_itv_url
pixman | IndexError: list index out of range
[root@OpenWrt:06:54 PM ~] # docker pull pixman/pixman-armv7:latest latest: Pulling from pixman/pixman-armv7 3fb467f9cb36: Retrying in 1 second 64e6b5fd7e83: Retrying in 1 second a0531f341a84: Retrying in 1 second 6b136786857b: Waiting bc9b3de4d9cd: Waiting 68d0ee45a1bb: Waiting 0af429426e11: Waiting d5a2c2ed80b1: Waiting 55a75650bd4b: Waiting 913aa6395733: Waiting error pulling image configuration: download failed after attempts=6: EOF 老大这是什么情况?
stderr: [2024-07-04 13:16:31,686] ERROR in app: Failed to get account info, retrying... stderr: [2024-07-04 13:16:32,435] ERROR in app: Request failed: HTTPConnectionPool(host='jscmcc-live.playauth.gitv.tv', port=80): Max retries exceeded with url: /itv/ottauth/MjIzLjEwNS4yNTEuMjI6MzMyMDAvRVBH/12:44:7F:26:0F:5B (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Try again')), retrying... stderr: [2024-07-04 13:16:35,438] ERROR in app: Request failed: HTTPConnectionPool(host='jscmcc-live.playauth.gitv.tv', port=80): Max retries exceeded with url: /itv/ottauth/MjIzLjEwNS4yNTEuMjI6MzMyMDAvRVBH/EF:59:05:8E:C4:E2 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Try again')), retrying... stderr: [2024-07-04 13:16:37,199] ERROR in app: Request failed: HTTPConnectionPool(host='jscmcc-live.playauth.gitv.tv', port=80): Max retries exceeded with url: /itv/ottauth/MjIzLjEwNS4yNTEuMjI6MzMyMDAvRVBH/22:EF:CF:2F:CE:48 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Try again')), retrying... stderr: [2024-07-04 13:16:37,948] ERROR in app: Request failed: HTTPConnectionPool(host='jscmcc-live.playauth.gitv.tv', port=80): Max retries exceeded with url: /itv/ottauth/MjIzLjEwNS4yNTEuMjI6MzMyMDAvRVBH/12:44:7F:26:0F:5B (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Try again')), retrying... stderr: [2024-07-04 13:16:40,952] ERROR in app: Request failed: HTTPConnectionPool(host='jscmcc-live.playauth.gitv.tv', port=80): Max retries exceeded with url: /itv/ottauth/MjIzLjEwNS4yNTEuMjI6MzMyMDAvRVBH/EF:59:05:8E:C4:E2 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Try again')), retrying... stderr: [2024-07-04 13:16:40,953] ERROR in app: Request failed after retrying stderr: [2024-07-04 13:16:40,953] ERROR in app: Failed to get account info, retrying...
拉取频道出来无法播放,日志这样报错,是网络问题么???具体能定位吗