1

我已经在寻找解决方案的日子,但我找不到任何东西。我有一些 IP 摄像机(大华)没有未经授权的、可以说是公开查看的选项。我现在正在寻找可以执行以下操作的代理服务器:

  1. 连接到 IP 摄像机流 (MJPEG)
  2. 如果相机返回 401,则代理必须使用保存的用户名和密码登录
  3. 传输 IP 摄像机流

我可以通过添加 Authorization 标头使用 nginx 来完成此操作,但这是困难的部分,只有当相机使用基本身份验证时。

但是,某些模型仅支持非静态的摘要式身份验证。

有人可以指点我一些可以做到这一点的软件或 nginx/apache 插件吗?我正在寻找类似https://github.com/jantman/python-amcrest-noauth-proxy但用 C 编写的东西,以便我可以在 OpenWRT 嵌入式设备上运行它。

亲切的问候,大安

4

1 回答 1

0

我曾经这样做过fcgiwrapcurl

nginx.conf:

server {
    listen 8080;
    root /usr/share/nginx/html;

    location /tmp/ {
        internal;
        alias /tmp/;
    }

    location / {
        include fastcgi_params;
        fastcgi_pass unix:/var/run/fcgiwrap.socket;
    }
}

截图.cgi:

#!/bin/bash

TMPF=$(mktemp /tmp/screenshot_XXXXXXX.jpg)

curl -sL --digest --output $TMPF http://guest:guest@10.100.0.95/cgi-bin/snapshot.cgi?1

echo -e "X-Accel-Redirect: $TMPF"
echo -e ""
于 2021-01-07T10:52:25.747 回答