使用hdhive替换cms增强插件中的nullbr

on 2026-03-19

image

这篇记录是把 cms 增强插件里对 /api/nullbr/... 的调用,替换成走 hdhive 的代理服务。核心目的:

  • 由于cms增强插件是闭源的五个直接修改,只能通过拦截后处理来实现

项目地址:KysonGeek/cms_hdhive_proxy

前置条件

  • 一台能跑 Python 服务的机器(和 cms 后端同机最好)
  • Caddy(也可以换成 Nginx/Traefik,本篇用 Caddy 举例)
  • 已经有可用的 hdhive token

使用步骤

1) 拉取代码并配置 Token

git clone https://github.com/KysonGeek/cms_hdhive_proxy.git
cd cms_hdhive_proxy

cat > .env <<'EOF'
HDHIVE_TOKEN=xxx
EOF

2) 安装依赖并启动服务

python3 -m venv venv
./venv/bin/pip install -r requirements.txt

nohup ./venv/bin/python -u main.py > output.log 2>&1 &

确认启动是否正常:

tail -n 200 output.log

默认监听端口通常是 8900(以项目实际输出为准)。

3) Caddy 拦截并转发指定接口

cms.xxx.xx 换成你的域名,127.0.0.1:9527 换成原 cms 后端地址。

cms.xxx.xx {
    @movie_resources {
        method GET
        path_regexp movie_res ^/api/nullbr/(tv|movie)/(\d+)/resources$
    }
    handle @movie_resources {
        reverse_proxy 127.0.0.1:8900
    }

    @movie_115 {
        method GET
        path_regexp movie_115 ^/api/nullbr/(tv|movie)/(\d+)/115$
    }
    handle @movie_115 {
        reverse_proxy 127.0.0.1:8900
    }

    @cloud_add {
        method POST
        path /api/cloud/add_share_down
    }
    handle @cloud_add {
        reverse_proxy 127.0.0.1:8900
    }

    handle {
        reverse_proxy 127.0.0.1:9527
    }
}

重新加载配置:

sudo systemctl reload caddy

验证方式

去页面订阅影片时不报错

注意事项

  • HDHIVE_TOKEN 视同密钥,避免写入公开仓库/截图/日志平台。
  • 代理服务建议做成 systemd 服务或容器,避免机器重启后忘记拉起。