Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

CameraFTP 是一款 AGPL-3.0 開源的跨平台相機 FTP 圖傳接收工具,支援 Windows 與 Android,讓支援 FTP 的相機透過區網把照片推送到筆電或手機。本文誠實拆解它的 FTP 明文風險、FTPS 加密、內建雲端 AI 修圖(火山引擎 Seedream)、Android 15 門檻,以及與 CamRanger 硬體方案的差異。
用 AI 摘要這篇文章:
相機無線圖傳真正卡住人的,常常不是相機那一頭。這幾年中高階微單幾乎都把 FTP 推送功能建進選單了,Canon、Nikon、Sony、Fujifilm 的韌體都支援,反而把人勸退的是接收這一側:你得臨時架一台 FTP 伺服器、設帳號密碼、開連接埠、跟防火牆周旋。整條拍攝工作流就卡在這一步。
CameraFTP 想解的就是這一段。它把「把照片接進來」這件事獨立出來做專,不管攝影軟體的後製、也不碰相機的遠端遙控。在 Windows 筆電或 Android 手機上一鍵啟動,相機透過同一個區網把照片一張張推過來,邊收邊預覽、邊看 EXIF。
目錄
很多人第一次聽到 FTP 圖傳會以為難點在相機。其實 CameraFTP 的整個設計重心都放在接收端:它在你的 Windows 電腦或 Android 手機上跑一個 FTP 伺服器,相機只是那個送件的角色。
底層用 Rust 寫的 libunftp 當 FTP 核心,搭配 unftp-sbe-fs 做檔案落地;密碼用 argon2 雜湊、機敏資料用 zeroize 抹除;TLS 憑證靠 rcgen 自簽,所以 FTPS(FTP over TLS)是內建選項,不是只能跑明文 FTP。前端是 Tauri v2 包 React,Android 側用 Kotlin 寫原生服務。整套是一個完整桌面+行動 App,不是命令列工具。

實際操作流程相當直白:啟動 App、看主畫面顯示的 IP 與連接埠(衝突會自動換下一個可用連接埠)、把這組位址填回相機的 FTP 伺服器設定、相機開始推照片,App 就即時顯示連線狀態、已收張數、資料量,收到後能自動跳出預覽視窗,連 ISO、光圈、快門、焦距、拍攝時間都一起讀出來。對需要在現場邊拍邊看、邊做初步篩片的人,這比單純把檔案丟進資料夾實用很多。
支援 JPG、HEIF 與 RAW,Windows 端適合綁筆電做現場收圖,Android 端適合輕量行動接收。Windows 版還能開機自啟、縮到系統匣用圖示顏色表示伺服器狀態;Android 版用前景服務保活、WiFi 鎖與 Wake 鎖防止系統終止程序,內建縮圖圖庫可批次選取刪除分享。

很多人會卡在「我的相機到底能不能用」,這一步得先講清楚,不然工具再好也接不上。CameraFTP 走的是 FTP 協定,所以前提是相機的選單裡真的有 FTP 伺服器設定這個項目。各家的位置和命名不太一樣:Canon 中高階機通常放在「通訊功能」或「Wi-Fi/藍牙連線」裡,分成 FTP 被動模式與主動模式;Nikon 在「網路選單」下,Z 系列與 D 系列高階機種多半支援;Sony 較新的 Alpha 機種提供 FTP 傳輸;Fujifilm X-H 系列與部分 X-T 機種也支援。入門機種、幾年前的中階機種,不一定有這個選項,這是硬限制,跟 CameraFTP 沒有關係。
實際設定時要填的欄位是固定的:伺服器位址填 CameraFTP 主畫面顯示的 IP、連接埠填它指定的連接埠、使用者名稱與密碼填你在 App 裡設的那組、目標資料夾通常留空讓它進預設路徑。如果相機支援 FTPS,理論上可以勾起加密,但實務上不同相機韌體對自簽憑證的接受度不一樣,有些會因為憑證驗證失敗而連不上,這時退回明文 FTP 是常見的 workaround。這不是 CameraFTP 的問題,是相機韌體對 TLS 憑證鏈驗證比較嚴格的副作用。
相機與接收裝置必須在同一個區網。最常見的接法是手機開熱點分享,相機和筆電都連這個熱點;或者現場有路由器,全部設備連同一個 SSID。相機那側的 WiFi 連線品質直接決定傳輸穩定度,這也是為什麼展場、婚禮現場這種 WiFi 擁擠的環境,FTP 圖傳常常會卡頓。
ahhhhfs 的介紹文把 CameraFTP 描述成單純的 FTP 收圖盒,這其實低估了它實際的功能範圍。回原文倉庫的 README,1.8.1 版已經整合了兩條會把照片送出去的路徑:
一條是 AI 修圖,背後接的是字節跳動旗下的火山引擎 Seedream 系列(doubao-seedream-5-0 模型)。這意味著你只要開啟這個功能,照片就會被送到火山引擎的伺服器做運算再回傳。對人像、商業攝影、客戶委製這類有合約或保密義務的素材,這是一條必須先評估的雲端通道,跟 FTP 收圖本身是兩件事。對比另一類純瀏覽器工具如 Image Provenance 把圖片來源檢驗完全留在本機做,CameraFTP 的 AI 修圖這條路是設計上主動開出來的,是否要走由使用者決定。另一條是 RAW 調色,用 LUT 加 Lensfun 做底片模擬、曝光補償、鏡頭校正,這條是本機運算。
這層事實改變了 CameraFTP 的定位:它在 FTP 接收端之外,還多開了一條可選的雲端 AI 後製通道。你要把它當純接收工具用,AI 功能可以不開;但只要開了,就進入另一個信任邊界,跟單純的區網檔案傳輸是兩回事。這點在原始介紹文裡幾乎沒被點出來。
既然核心是 FTP,就得把 FTP 的安全屬性講清楚,不能含糊帶過。標準 FTP 協定傳輸帳密與檔案內容時是明文,同一個區網裡任何人理論上可以用封包側錄工具看到流量。這是 FTP 協定本身的設計,不是 CameraFTP 的缺陷,但任何用 FTP 的工作流都得面對這層。
CameraFTP 內建 FTPS(FTP over TLS)做為緩解:用 rcgen 自簽憑證、把傳輸加密。要注意的是 FTPS 保護的是傳輸層,加密的是「這段路」,不改變「檔案本身在相機記憶卡、接收端硬碟、火山引擎伺服器上各自怎麼被儲存」這件事。換句話說,FTPS 擋得住區網側錄,擋不住你把照片丟給雲端 AI 之後服務商怎麼處理。兩條安全屬性要分開評估,不能因為開了 FTPS 就覺得整條鏈路都安全。自簽憑證還有一個副作用:它不被瀏覽器與作業系統信任,所以 FTPS 在這裡解決的是「加密」而不是「身分驗證」,你無法透過憑證確認連到的真的是你的筆電而非中間人。在可信的私人區網裡這個取捨可以接受,在開放的公共 WiFi 上就不一定。
跟單純監聽網路的工具比起來,CameraFTP 的網路行為相對可預期:FTP 伺服器只在區網開口、AI 修圖是明確可開關的功能。它不像 Sniffnet 那種網路監控工具會被當成 dual-use 議題,但 FTP 明文這個屬性在開源工具圈仍是個被低估的討論點。
把 CameraFTP 放進同類方案的座標,差異是結構性的,不是功能多寡的問題。
CamRanger 2 是一套硬體配件,零售價大約 350 到 430 美元(折合新台幣約一萬一到一萬四),自己建立一個 WiFi 網路、號稱 500 英尺傳輸距離,搭配自家 App,支援 Canon、Nikon、Sony、Fujifilm 部分機型。它賣的是「不用管網路環境,買一個盒子就能跑」的封閉體驗,但用的是私有協定,不是 FTP。CameraFTP 是純軟體、免費、開源(AGPL-3.0)、走 FTP 標準,前提是你得自己有支援 FTP 的相機、一個能用的 WiFi 環境、Windows 或 Android 接收裝置。前者付錢買方便,後者用自己的硬體換免費與可控。
相機原廠 App(Canon Camera Connect、Nikon SnapBridge、Sony Creators’ App)的問題在於各家體驗差異大、綁自家生態、且多數是手機端方案,不容易接 Windows 筆電做現場收圖。CameraFTP 的優勢是跨品牌只要是 FTP 通就吃,而且提供完整 Windows 體驗。
| 方案 | 形態 | 協定 | 平台 | 相機相容 | 費用 | 雲端依賴 |
|---|---|---|---|---|---|---|
| CameraFTP | 純軟體 | FTP/FTPS | Windows、Android | 任何支援 FTP 的相機 | 免費、AGPL-3.0 | 可選(火山引擎 AI 修圖) |
| CamRanger 2 | 硬體配件 | 私有 | iOS、Android、macOS、Windows | Canon、Nikon、Sony、Fujifilm 部分機型 | 350 到 430 美元 | 無 |
| 原廠 App | 軟體 | 私有 | 視品牌而定 | 僅自家 | 免費 | 視品牌 |
| FileZilla Server | 通用 FTP 軟體 | FTP/FTPS/SFTP | 跨平台 | 任何 FTP 相機 | 免費、開源 | 無 |
FileZilla Server 是另一條路:它是通用 FTP 伺服器,功能齊全、設定自由度高,但設定面板是圍繞通用檔案服務設計的,不會幫你做攝影場景的即時預覽、EXIF 顯示、調色。CameraFTP 的取捨是砍掉通用 FTP 面板裡跟攝影無關的選項,換來攝影師現場能更快上手,這就是它跟 FileZilla 強的地方。FileZilla 的另一個優勢是支援 SFTP(SSH 檔案傳輸協定),這是比 FTPS 更現代的加密方案,而 CameraFTP 目前只到 FTPS 這層,還沒有 SFTP 選項,對企業 IT 部門來說這是個會被點名的差異。
光講功能容易讓人誤以為這是萬能方案,看一個具體場景會更清楚它的位置。想像一場戶外婚禮攝影:攝影師用 Canon R 系列或 Nikon Z 系列,相機設定好 FTP 推送,手機開熱點讓相機與一台 Windows 筆電都連上同一個區網,筆電上跑 CameraFTP。每按一次快門,相機把 JPG 推到筆電,App 跳出預覽視窗顯示曝光參數,旁邊的人可以立刻看到畫面、判斷要不要補拍。RAW 檔可以選擇留在記憶卡,事後再用讀卡機進電腦做後製,避免 RAW 檔案太大拖慢區網。
這個場景裡 CameraFTP 解決的只有「即時可視」這一件事;後製、選片、備份都不在它的工作範圍。收完圖之後要做的事情是另一條工作流:選片可以交給 VisionCull Pro 這類本機 AI 工具,後製可以進 Lightroom 或 Capture One,雲端協同可以用其他方案。CameraFTP 不試圖包辦這些,這種範圍上的自我設限,反而是它跟很多號稱「攝影全能工具」的商業軟體最大的差別。商業軟體為了賣得動,什麼功能都要塞進去;開源小工具可以只做一件事並把它做好。
現場會踩到的雷也有一些共通性。Android 手機如果收不到照片,最常見的原因是「存取所有照片與影片」權限沒給全,或者系統的電池優化把前景服務判定成可終止程序;Windows 筆電連不上,第一個要查的是 Windows Defender 防火牆有沒有放行 CameraFTP 的連接埠,特別是私人網路與公用網路設定要分開確認。這些都不是 CameraFTP 的 bug,是各平台權限模型的天然摩擦。
它不是零門檻方案,前提條件很硬,得逐一確認。相機必須原生支援 FTP(中高階微單多半有,入門機種與舊機型不一定有);相機與接收裝置必須在同一個區網;現場無線環境不能太差。
Android 端要求 Android 15(API 35)以上,這是個不低的天花板,2026 年中仍有很多手機還在 Android 13、14。Windows 端要求 Windows 10 64 位元以上、需預裝 WebView2 runtime(Win11 內建,部分 Win10 要手動補)。這意味著 iOS、macOS 使用者完全被排除在外,蘋果全家桶工作流的人不能用。
實際拍攝現場的變數更多。人多干擾重的展場、多組人馬共用 WiFi 的活動、訊號死角多的場館,都會讓 FTP 這種基於穩定 TCP 連線的協定變得不穩。Windows 連不上時第一個要查的是防火牆;Android 收不到照片時通常是「存取所有照片與影片」權限沒給,或電池優化把前景服務終止了。它把設定步驟壓縮了,但沒有、也無法把物理層的網路問題變沒。
這也是為什麼有線 tethering(透過 USB 線把相機接電腦即拍即傳)在很多專業現場仍是主力:USB 3.x 的頻寬與穩定性、不受 WiFi 環境影響、沒有無線距離限制。CameraFTP 的位置是無線場景下的接收端,不是取代有線 tethering,這兩種工作流通常是互補而非替代。攝影選片工具如 VisionCull Pro 也是類似的輔助定位,它是收完圖之後的下一站,不是圖傳本身。把 CameraFTP 跟它串起來看,一端無線收圖、一端本機選片,剛好構成同一條現場工作流的兩個獨立環節,兩邊各自可以單獨換掉。
授權是 AGPL-3.0,這是強 copyleft 條款。對個人攝影師自己用沒有任何影響,但如果你打算把 CameraFTP 包進商業產品、改作雲端服務對外提供,AGPL 要求你把衍生程式的原始碼也以同樣條款公開,這是 AGPL 跟 MIT、Apache 這類寬鬆授權最大的差異,企業採用前務必理解。LICENSE 檔的標頭寫的是 AGPL version 3,README 寫的是 AGPL-3.0-or-later,兩者一致確認是 AGPL 家族。

專案成熟度的客觀事實:65 顆星、7 個 fork、1 個 open issue,作者 GoldJohnKing 是個人開發者(GitHub owner.type=User),倉庫 2026 年 3 月建立、最近一次 push 在 2026 年 7 月初,處於活躍開發階段。Windows 與 Android 都有官方 Release(v1.8.1,2026 年 6 月 25 日發布,分別是 28 MB exe 與 21 MB apk)。它不是那種已經被廣泛驗證的大型專案,是早期但活躍的單人專案。Android 版沒有上架 Google Play,要從 GitHub Release 側載;Windows 版的 exe 未簽署,首次執行時 SmartScreen 會跳警告。對企業級生產環境,這些都是要先消化的摩擦。
另外要指出,單人維護的開源專案存在長期可持續性的不確定性。作者目前活躍、每月有更新,但沒有公司或基金會在背後擔保未來幾年的維護節奏。如果某天作者因為個人或職業因素停止維護,你可能得自己 fork 出來修 bug 或等社群接手。這不是 CameraFTP 獨有的問題,是多數個人開源專案的共同命運,但對打算把它放進主力工作流的人,這層風險要算進去。相對地,CamRanger 這類商業產品背後有公司在維護,但也要承擔公司倒閉、停止更新韌體的風險:前者怕作者棄坑,後者怕公司收攤,兩種長期風險樣態不同。
適合的場景很明確:你手上有一台支援 FTP 的中高階微單,工作流圍繞 Windows 筆電或 Android 裝置,需要現場即時收圖、看 EXIF、做初步篩選,而且你的素材沒有「不能上雲端」的合約限制(或你願意完全不開 AI 修圖功能)。攝影工作者、活動紀錄、外拍團隊裡負責收圖的人,最容易用得上它。
至於不適合的情境,多半落在三種:相機不支援 FTP;長期用蘋果全家桶;對現場穩定性要求極高不能接受任何區網波動,或素材保密等級高到連可選的雲端通道都不能存在。偶爾掃街拍幾張、沒有「邊拍邊收」需求的人,原廠 App 或讀卡機往往就夠了。
CameraFTP 是一個位置相當具體的小工具:解決 FTP 圖傳鏈路裡最後一段,也就是接收端的設定摩擦,順帶加上可選的雲端 AI 後製與本機 RAW 調色。它的邊界來自三件疊加的事實:FTP 協定本身有明文屬性(FTPS 能緩解但不能消除)、AI 修圖會把照片送出區網(可選但必須有意識地選擇不開)、純軟體方案依賴你既有環境的穩定度(不會幫你解決 WiFi 死角)。
如果你屬於這個交集,相機支援 FTP、接收裝置是 Windows 或 Android、能接受上述三條屬性,它把一件本來要 FileZilla Server 加一堆設定才能做到的事,壓縮成啟動 App 就能用。否則回到有線 tethering、或考慮 CamRanger 那種硬體方案,會比硬塞 CameraFTP 進不適合的工作流更穩當。
iOS、macOS 能用嗎?
不能。官方只有 Windows 與 Android 版,蘋果使用者完全被排除。
支援哪些相機?
任何機身選單裡有 FTP 伺服器設定的相機,理論上都能用。Canon、Nikon、Sony、Fujifilm 中高階微單多半有這個選項,入門機種與幾年前的舊款不保證,購機前可以先翻翻說明書或韌體更新紀錄確認。
傳輸是明文嗎?
標準 FTP 是明文,但 CameraFTP 內建 FTPS(FTP over TLS),用 rcgen 自簽憑證加密傳輸層。FTPS 保護的是區網這段路,不保護檔案在兩端硬碟與雲端服務上的狀態。
AI 修圖會把照片上傳嗎?
會。開啟 AI 修圖後照片會送到字節跳動的火山引擎伺服器。不開就不送,本機的 RAW 調色不涉及任何外部傳輸。
它是開源嗎?
AGPL-3.0,強 copyleft。個人使用沒有限制,商業再分發或改作雲端服務有原始碼公開義務。
Android 版在 Google Play 上架了嗎?
沒有。只能從 GitHub Release 下載 apk 側載,Android 15 以上才能安裝。側載前要先在系統設定允許安裝未知來源 App,安裝時 Google Play Protect 可能再跳一次警告,這是 Android 對所有非商店 App 的標準流程,跟 CameraFTP 本身有沒有問題無關。
可以同時收多台相機的照片嗎?
可以,只要每台相機都連同一個區網並指向同一個 FTP 位址。CameraFTP 會即時顯示已收張數與資料量,但收進來的照片是混在同一個資料夾,不會自動按相機序號或拍攝者分類,要靠事後檔名或 EXIF 區分。
RAW 檔可以傳嗎?會不會很慢?
CameraFTP 支援 RAW 格式,但 RAW 檔案動輒幾十 MB,透過 WiFi 與 FTP 傳輸會明顯比 JPG 慢,現場即時預覽的體驗也會變差。實務上多數攝影師會選擇只推 JPG 做即時可視,RAW 留在記憶卡事後再進電腦後製。