logo NodeSeekbeta

【电视国内TV直播部署贴】之沐辰doube-itv(含CCTV+卫视)-项目已终止

作者已删,项目暂停,如有观看需求看如下链接

https://www.nodeseek.com/post-188843-1#12

回顾 部署教程
~~allinone 最近加入了鉴权更新了安装的方法
现在我分享一个更简单更便捷更高效的 新docker ITV 项目
【doube-itv】项目更新电报通知群:https://t.me/doubebly003

安装如下,记的改给一下下面代码里的自定义端口

一键docker安装命令

docker run -d --name=doube-itv  --restart=always -p 端口自定义:5000 doubebly/doube-itv:latest

一键安装脚本(可以定时更新使用)

#!/bin/bash

# 定义容器名称和镜像名称
CONTAINER_NAME="doube-itv"
IMAGE_NAME="doubebly/doube-itv:latest"

# 停止容器 if 容器正在运行
if docker ps -q -f name=$CONTAINER_NAME; then
    echo "Stopping container $CONTAINER_NAME..."
    docker stop $CONTAINER_NAME
else
    echo "Container $CONTAINER_NAME is not running or does not exist."
fi

# 删除容器
if docker ps -a -q -f name=$CONTAINER_NAME; then
    echo "Removing container $CONTAINER_NAME..."
    docker rm $CONTAINER_NAME
else
    echo "Container $CONTAINER_NAME does not exist."
fi

# 删除镜像
if docker images -q $IMAGE_NAME; then
    echo "Removing image $IMAGE_NAME..."
    docker rmi $IMAGE_NAME
else
    echo "Image $IMAGE_NAME does not exist."
fi

# 拉取最新镜像
echo "Pulling latest image $IMAGE_NAME..."
docker pull $IMAGE_NAME

# 重新运行容器
echo "Starting a new container with the name $CONTAINER_NAME..."
docker run -d --restart always -p 端口自定义:5000 --name $CONTAINER_NAME \
    $IMAGE_NAME

echo "done, enjoy it."


使用方法
http://ip:端口/help
获取到的列表地址内有写

TXT订阅地址: http://xx:xx/Sub?type=txt
M3u订阅地址: http://xx:xx/Sub?type=m3u


enjoy it
image~~

  • 让我尊称你为电视哥 xhj006

  • 奇迹大佬🐔腿奉上 xhj003

  • @坐球车 #22
    pixman 4gtv+litv
    有修复方案 我可以发给你 私聊我

  • AI改进了以下脚本:

    #!/bin/bash
    
    # 定义容器名称和镜像名称
    CONTAINER_NAME="doube-itv"
    IMAGE_NAME="doubebly/doube-itv:latest"
    
    # 提示用户输入端口号
    read -p "请输入主机端口号(例如 8080):" HOST_PORT
    
    # 检查端口号是否合法
    if ! [[ $HOST_PORT =~ ^[0-9]+$ ]]; then
        echo "错误:端口号必须是数字。"
        exit 1
    fi
    
    # 检查容器是否存在(无论是否运行)
    if docker ps -a -q -f name=$CONTAINER_NAME; then
        echo "容器 $CONTAINER_NAME 存在,检查是否正在运行..."
    
        # 检查容器是否正在运行
        if docker ps -q -f name=$CONTAINER_NAME -f status=running; then
            echo "容器 $CONTAINER_NAME 正在运行,检查是否有新版本镜像..."
    
            # 获取当前运行的镜像 ID
            if ! CURRENT_IMAGE_ID=$(docker inspect --format '{{.Image}}' $CONTAINER_NAME 2>/dev/null); then
                echo "无法获取容器 $CONTAINER_NAME 的镜像 ID,可能容器已损坏或不存在。尝试强制删除并重新启动容器..."
                
                # 强制删除容器
                echo "强制删除容器 $CONTAINER_NAME..."
                docker rm -f $CONTAINER_NAME || { echo "无法删除容器 $CONTAINER_NAME"; exit 1; }
    
                # 拉取最新镜像
                echo "拉取最新镜像 $IMAGE_NAME..."
                docker pull $IMAGE_NAME || { echo "无法拉取镜像 $IMAGE_NAME"; exit 1; }
    
                # 启动新容器
                echo "启动新容器 $CONTAINER_NAME,映射端口 $HOST_PORT:5000..."
                docker run -d --restart always -p $HOST_PORT:5000 --name $CONTAINER_NAME \
                    $IMAGE_NAME || { echo "无法启动容器 $CONTAINER_NAME"; exit 1; }
    
                echo "容器 $CONTAINER_NAME 已成功启动,端口 $HOST_PORT:5000。"
                exit 0
            fi
    
            # 拉取最新镜像
            echo "拉取最新镜像 $IMAGE_NAME..."
            docker pull $IMAGE_NAME || { echo "无法拉取镜像 $IMAGE_NAME"; exit 1; }
    
            # 获取最新镜像 ID
            LATEST_IMAGE_ID=$(docker images --quiet $IMAGE_NAME)
    
            # 比较镜像 ID
            if [[ $CURRENT_IMAGE_ID != $LATEST_IMAGE_ID ]]; then
                echo "发现新版本镜像,开始更新容器..."
    
                # 停止并删除旧容器
                echo "停止容器 $CONTAINER_NAME..."
                docker stop $CONTAINER_NAME || { echo "无法停止容器 $CONTAINER_NAME"; exit 1; }
                echo "删除容器 $CONTAINER_NAME..."
                docker rm $CONTAINER_NAME || { echo "无法删除容器 $CONTAINER_NAME"; exit 1; }
    
                # 启动新容器
                echo "启动新容器 $CONTAINER_NAME,映射端口 $HOST_PORT:5000..."
                docker run -d --restart always -p $HOST_PORT:5000 --name $CONTAINER_NAME \
                    $IMAGE_NAME || { echo "无法启动容器 $CONTAINER_NAME"; exit 1; }
    
                echo "容器 $CONTAINER_NAME 已成功更新,端口 $HOST_PORT:5000。"
            else
                echo "当前镜像已是最新版本,无需更新。"
            fi
        else
            echo "容器 $CONTAINER_NAME 存在但未运行,开始启动容器..."
    
            # 删除旧容器
            echo "删除容器 $CONTAINER_NAME..."
            docker rm $CONTAINER_NAME || { echo "无法删除容器 $CONTAINER_NAME"; exit 1; }
    
            # 拉取最新镜像
            echo "拉取最新镜像 $IMAGE_NAME..."
            docker pull $IMAGE_NAME || { echo "无法拉取镜像 $IMAGE_NAME"; exit 1; }
    
            # 启动容器
            echo "启动容器 $CONTAINER_NAME,映射端口 $HOST_PORT:5000..."
            docker run -d --restart always -p $HOST_PORT:5000 --name $CONTAINER_NAME \
                $IMAGE_NAME || { echo "无法启动容器 $CONTAINER_NAME"; exit 1; }
    
            echo "容器 $CONTAINER_NAME 已成功启动,端口 $HOST_PORT:5000。"
        fi
    else
        echo "容器 $CONTAINER_NAME 不存在,开始启动容器..."
    
        # 拉取最新镜像
        echo "拉取最新镜像 $IMAGE_NAME..."
        docker pull $IMAGE_NAME || { echo "无法拉取镜像 $IMAGE_NAME"; exit 1; }
    
        # 启动容器
        echo "启动容器 $CONTAINER_NAME,映射端口 $HOST_PORT:5000..."
        docker run -d --restart always -p $HOST_PORT:5000 --name $CONTAINER_NAME \
            $IMAGE_NAME || { echo "无法启动容器 $CONTAINER_NAME"; exit 1; }
    
        echo "容器 $CONTAINER_NAME 已成功启动,端口 $HOST_PORT:5000。"
    fi
    
    echo "done, enjoy it."
    
  • 这个跟肥羊那个allinone哪个好??

  • @jswcph #1
    都是itv 道理一样的 这个作者帅一点 肥羊码率高一点

  • 作者帅跟我有个毛关系? 哪个流畅高清用哪个

  • @jswcph #4
    那你这问题问的 不是有毛病么
    都是一个itv 有啥区别我不是开贴说了么?

  • xhj003

  • 就是因为没说我才问的

  • mark 鸡腿奉上

  • @SpaceX #3
    我搞了个公益itv项目 已经拉了200来T的流量了

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有43647位seeker

🎉欢迎新用户🎉