Banana Studio
News · BS Manager

CamRelay 1.0.7:用使用者名稱和密碼保護你的手機攝影機

CamRelay 1.0.7 新增了安全性設定:現在只要一組使用者名稱和密碼,就能同時保護 RTSP 串流、ONVIF 和網頁介面。這項設定預設為關閉,在你開啟之前什麼都不會改變。 網頁介面只需登入一次,不會再跳出一連串登入視窗,另有兩項小修正讓設定過程更順暢。

CamRelay 1.0.7:用使用者名稱和密碼保護你的手機攝影機
Categories CamRelay
On this page

CamRelay 1.0.7 現已在 Google Play 上架。這次更新的重點,是許多人一直期待的功能:攝影機登入。現在只要一組使用者名稱和密碼,就能保護 CamRelay 在網路上提供的所有內容:RTSP 串流、供 NVR 使用的 ONVIF,以及 網頁介面。

這項新設定 預設為關閉。在你決定開啟之前,你的 NVR、Frigate、Home Assistant、VLC 和瀏覽器書籤都會和以前一樣正常運作。

為什麼需要登入

在這之前,網路上的任何裝置都能開啟 CamRelay 的串流、ONVIF 服務或網頁介面。在家裡、用自己的 Wi-Fi 時,這通常沒什麼問題。但很多攝影機最後都放在你無法完全掌控的網路上:合租的公寓、辦公室、度假租屋,或是訪客和智慧家電也在使用的 Wi-Fi。任何人只要找到手機的位址,就能觀看攝影機畫面、更改設定,甚至下載錄影檔。

有了 CamRelay 1.0.7,只有知道使用者名稱和密碼的人和 App 才能連線。

三個步驟就能開啟

CamRelay 設定中新的安全性區塊:需要驗證、使用者名稱和密碼

  1. 在 App 中開啟 設定,捲動到新的 安全性 區塊。
  2. 輸入 使用者名稱(預設為 admin)和 密碼,然後點選 儲存憑證。
  3. 開啟 需要驗證。

這樣就完成了。在儲存使用者名稱和密碼之前,這個開關都無法開啟,所以你不會因為密碼空白而把自己鎖在外面。你可以隨時點選眼睛圖示查看密碼,也可以隨時更改。新的連線會立即使用新的登入資訊,不需要重新啟動串流。

一組登入資訊保護所有功能

一組登入資訊保護 RTSP 串流、ONVIF、網頁介面、快照和即時畫面

開啟 需要驗證 後,以下所有功能都需要相同的使用者名稱和密碼:

  • RTSP 串流,包括雙向對講的通道。CamRelay 會檢查每一個 RTSP 請求,而不只是第一個,所以 App 無法略過登入直接開始播放。
  • ONVIF:你的 NVR 或 ONVIF App 必須先登入,才能讀取串流位址、調整亮度或變焦、重新命名攝影機,或接收事件。
  • 網頁介面 以及其中的所有內容:設定、即時畫面、快照、MJPEG 串流,以及存放錄影檔的檔案總管。

為了讓你的裝置仍然能找到並連上攝影機,有些功能刻意保持開放:

  • 裝置探索:NVR 和 Windows 依然能在網路上找到 CamRelay。
  • 用戶端在登入 之前 必須使用的少數 ONVIF 請求,例如裝置的時鐘和服務清單。

連接你的 App

VLC、FFmpeg 和其他 RTSP 播放器

在串流位址中加入使用者名稱和密碼:

rtsp://admin:[email protected]:1935/

請將 192.168.1.50:1935 換成 CamRelay 主畫面上顯示的位址。如果你開啟的位址沒有附上使用者名稱和密碼,VLC 也可能會詢問你。

登入資訊放在 RTSP 位址中:使用者名稱、密碼,接著是手機的位址和連接埠

小提示: 如果你的密碼含有 @、:、/ 或 # 等字元,請在位址中以編碼方式寫出(@ 寫成 %40、: 寫成 %3A、/ 寫成 %2F、# 寫成 %23),或是改用只有英文字母和數字的密碼。

Frigate

在 go2rtc 的 RTSP 那一行加入登入資訊。Frigate 可以從環境變數帶入密碼,這樣密碼就不會以明文寫在設定檔裡:

go2rtc:
  streams:
    camrelay:
      - rtsp://admin:{FRIGATE_RTSP_PASSWORD}@192.168.1.50:1935/

接著在 Docker Compose 檔案的 environment 區段設定 FRIGATE_RTSP_PASSWORD。即時畫面、錄影和雙向對講都會透過同一行繼續運作。完整的設定步驟,請參考我們的 Frigate 指南。

Home Assistant

  • 使用 ONVIF 整合時,新增攝影機時請輸入相同的使用者名稱和密碼。
  • 使用 Generic Camera 整合時,請依照上面的方式把登入資訊放進串流位址。

NVR 和 ONVIF App

新增攝影機時,請在 NVR 或 App 的攝影機設定中輸入使用者名稱和密碼。ONVIF 用戶端登入的兩種方式,CamRelay 都支援:放在請求內容中的 WS-UsernameToken,以及 HTTP Digest。

從設計上就安全:Digest 驗證

RTSP 串流和網頁介面使用 Digest 驗證,ONVIF 用戶端也可以使用。使用 Digest 時,密碼本身永遠不會在網路上傳送,傳送的只是一次性的證明,表示你知道密碼;而且被攔截的請求也無法重新使用。幾乎以明文傳送密碼的 Basic 驗證,CamRelay 不予接受。

網頁介面:只需登入一次,不再狂跳登入視窗

開啟網頁介面時,瀏覽器只會詢問一次使用者名稱和密碼,並在瀏覽器開著的期間記住它們。

網頁會一直在背景和攝影機溝通:每兩秒檢查一次串流狀態,並載入即時畫面、快照和設定。如果在頁面開著的時候登入資訊變了,例如你在手機上開啟了驗證或更改了密碼,這些背景請求每一個都可能讓瀏覽器一再跳出登入視窗。

CamRelay 1.0.7 會妥善處理這種情況:

  • 一旦登入失效,頁面會 停止所有背景請求。
  • 頁面會顯示清楚的 需要登入 訊息,以及 登入 按鈕。
  • 點一下就會重新載入頁面,瀏覽器只會請你登入 一次。

登入資訊變更時,網頁介面會停止更新並顯示登入按鈕

我們也讓頁面同時送出多個請求時的登入更加可靠。這些請求可能以任何順序抵達手機,現在 CamRelay 會全部接受,不會再拒絕其中一些。

你的密碼只留在手機上

  • 使用者名稱和密碼 只儲存在手機上,存放在 CamRelay 的私人儲存空間中。
  • 它們 不會包含在雲端備份中,也不會在裝置間轉移資料時被帶走。
  • 你只能 在 App 中 查看或更改它們。網頁介面的設定頁面無法讀取,所以只開過一次設定頁面的人,無法得知你的密碼。

老實說明一點:登入功能控制的是 誰能連線,但 CamRelay 的影像和網頁介面並沒有加密。在區域網路上,這對 IP 攝影機來說是很常見的。如果想從家外面觀看,請使用 VPN 連回你家的網路,而不是在路由器上開放連接埠。

預設關閉,由你決定

我們知道很多人是讓 CamRelay 全天候運作,搭配一台設定好之後就再也沒動過的 NVR。所以更新後,需要驗證 會維持 關閉。在你開啟之前什麼都不會改變,你的 NVR、Frigate、Home Assistant 和書籤都會照常運作。

準備好之後就開啟它,再把登入資訊加到每個觀看這台攝影機的 App 中。

1.0.7 的其他修正

「裝置開機時自動啟動」一直要求權限

要在手機重新開機後開始串流,CamRelay 需要 Android 的 重疊顯示 權限(「在其他應用程式上層繪製」)。點選 裝置開機時自動啟動 時,CamRelay 會照常開啟權限畫面。但你允許權限並返回後,App 卻沒有發現,所以下次點選時又會再次開啟權限畫面。

現在每次你回到設定時,CamRelay 都會檢查這項權限。如果你已經允許,裝置開機時自動啟動會自動開啟,不需要再點一次。如果你沒有允許就返回,開關會維持關閉,下方的提示會說明原因。

授予重疊顯示權限後,裝置開機時自動啟動會立即開啟

全新安裝後,設定中顯示的是前鏡頭

全新安裝時,CamRelay 會使用 後鏡頭 串流。但在你自己選擇鏡頭之前,App 中的 相機 設定和網頁介面的鏡頭清單,顯示的都是手機清單上的第一個鏡頭,而在許多手機上,那是 前鏡頭。現在兩者都會顯示實際使用中的鏡頭。

全新安裝後,設定中會顯示實際使用中的後鏡頭

取得更新

CamRelay 1.0.7 正在 Google Play 上陸續推出。如果你還沒看到更新,應該會在幾天內收到。更新後,在你開啟 設定 → 安全性 並開啟 需要驗證 之前,什麼都不會改變。

在 Google Play 下載 CamRelay

有任何意見或想法嗎?請在 App 的 關於 畫面點選 意見回饋。每一則訊息我們都會詳細閱讀。

Videos

Related app

CamRelay - RTSP 即時 IP 攝影機

將您的 Android 手機變成強大的 RTSP 網路攝影機。

Related posts