FastFileLink 技術常見問題(Technical FAQ)

發表於 週一 20 十月 2025,分類於 Blog

歡迎來到 FastFileLink 的技術常見問題頁面!

在這裡你可以找到關於 FastFileLink 的技術性問題解答。如果你想查看一般使用相關的資訊,請參考我們的 常見問題(FAQ)

內容


Q1. FastFileLink 中的 P2P(Peer-to-Peer)、Device-to-Device 或「Directly Share」是什麼?

P2P(Peer-to-Peer),也稱為 Device-to-Device,是一種讓兩台電腦透過網際網路直接進行檔案傳輸的方式,過程中不需要先將檔案上傳到中央伺服器。

當你使用 FastFileLink 的「Directly share file (P2P) by local」功能時,你的電腦會直接與接收方的電腦建立連線。

WebRTC

此流程通常會使用像是 WebRTC(Web Real-Time Communication) 這類的網頁技術,讓瀏覽器或應用程式之間可以建立直接的通訊通道。這代表檔案資料會直接從你的裝置傳送到對方的裝置,不需要經過中介伺服器儲存,因此在速度與隱私性上都更具優勢。

若想了解更多 WebRTC 的資訊,可以參考 WebRTC 官方網站 或其 Wikipedia 頁面

FastFileLink 的一個關鍵安全特點是:你的電腦本身就扮演了訊號伺服器(Signal Server) 來建立連線(詳見 Q7)。這表示在 P2P 連線初始化的過程中,並沒有第三方伺服器參與,進一步提升你的隱私保護。


Q2. 什麼是 Relayed P2P?FastFileLink 如何處理連線問題?

在某些情況下,直接的 P2P 連線可能無法建立。這通常是因為特定的 NAT(網路位址轉換)設定,或是防火牆/連接埠限制阻擋了直接連線。

當發生這種情況時,FastFileLink 會啟用一種備援機制,稱為 Relayed P2P。不同於使用通用的 WebRTC TURN Server,FastFileLink 會使用自有的專用中繼伺服器,其運作方式如下:

  • 使用 443 連接埠(HTTPS/SSL 的標準連接埠),此連接埠極少被封鎖,因此即使在高度受限的網路環境中,也能維持極高的連線成功率。
  • 中繼伺服器僅負責在你的電腦與接收方之間轉發資料(socket-to-socket)。
  • 最重要的是:我們的中繼伺服器不會儲存任何中間資料或你的檔案,也不會記錄傳輸內容,確保在中繼過程中依然維持你的隱私。

Q3. 什麼是 NAT(Network Address Translation),它如何影響 FastFileLink?

NAT(Network Address Translation) 是路由器常用的一種技術,用來讓多台位於私人網路中的裝置(例如家中或公司)共用一個對外的公共 IP 位址上網。

你可以把 NAT 想像成網路的接待員,負責將外部的網路流量正確導向內部的裝置。

雖然 NAT 非常重要,但它有時會讓直接的 P2P 連線變得困難,因為裝置實際上被隱藏在共用的 IP 位址後方。像 WebRTC(FastFileLink P2P 傳輸所使用的技術)內建了 STUN / ICE 等機制,用來嘗試找出公共 IP,並在多數 NAT 環境中建立直接連線。

然而,某些 NAT 設定仍然相當嚴格。這時,FastFileLink 的 Relayed P2P 就變得至關重要。透過使用 443 連接埠的中繼伺服器,我們可以繞過大多數 NAT 所帶來的限制,達到極高的連線可靠度(例如約 99.9%)。


Q4. 什麼是「續傳下載(Resuming Download)」或延續傳輸?

FastFileLink 支援「續傳下載(Resuming Download)」或延續傳輸,且我們在這方面投入了大量心力來確保穩定性。

  • P2P 傳輸期間:若 WebRTC 直接連線變得不穩定,FastFileLink 會嘗試切換至 Relayed P2P。切換過程中,系統會使用標準的 HTTP Range 機制,盡可能從中斷的位置繼續下載,節省時間與頻寬。
  • 在瀏覽器中:由於瀏覽器的安全限制,瀏覽器無法存取磁碟上尚未完成的部分檔案。因此,如果你完全關閉瀏覽器分頁或關機,下載將無法在下次重新啟動後繼續。但只要連線尚未完全中斷(即使短暫掉線),系統仍會嘗試續傳。
  • 使用 FastFileLink CLI:若你需要最高等級的可靠性,FastFileLink CLI 提供 --resume 參數,讓你即使在程式完全關閉後,也能隨時繼續傳輸。
  • 伺服器上傳模式:我們同樣支援伺服器上傳模式的續傳,非常適合超大型檔案(數百 GB 甚至 TB 級),因為這類檔案若使用 P2P,通常需要雙方長時間同時在線。你可以分段、跨天上傳檔案,且完整支援 端對端加密(E2EE)。CLI 甚至提供 --pause 指令,讓你在指定的上傳進度暫停。

Q5. FastFileLink 如何處理隱私與檔案安全?

我們非常重視你的隱私與檔案安全:

  • Direct P2P 或 Relayed P2P 傳輸期間:所有資料傳輸連線預設即為加密(使用 WebRTC 內建的 DTLS)。你也可以選擇性啟用 端對端加密(E2EE),增加第二層保護。即使傳輸過程回退到 Relayed P2P,中繼伺服器也無法讀取資料內容,使我們成為真正的「零知識(Zero-Knowledge)」伺服器。分享連結本身也包含隨機碼,能有效防止暴力猜測。(更多 E2EE 細節請見 Q6)
  • 伺服器上傳模式:若你選擇將檔案上傳至 FastFileLink 伺服器,也可選擇性啟用 E2EE,確保我們無法看到檔案內容,使伺服器成為 Zero-Knowledge Server。檔案僅會依你選擇的暫存期限保存,並會定期清除。
  • 應用程式本身的安全性
  • 官方簽章:Windows 版本已上架 Microsoft Store,由 Microsoft 直接簽署;macOS 版本亦由 Apple 簽署
  • 透明性:我們的 FastFileLink CLI 為完全開源,任何人都可以審核程式碼,驗證其安全性與無後門設計。

Q6. FastFileLink 中的端對端加密(E2EE)與「零知識(Zero-Knowledge)」是什麼?

端對端加密(End-to-End Encryption, E2EE) 是一種安全機制,資料會在傳送端裝置上加密,並只在接收端裝置上解密,過程中包含服務提供者在內的任何第三方都無法讀取內容。

為什麼這很重要? FastFileLink 預設已使用 DTLS 加密所有 WebRTC 傳輸,但我們仍提供一層可選的額外 E2EE 加密,適用於 P2P 與伺服器上傳模式。

啟用 E2EE 後: - 檔案會在送出前就於你的裝置上完成加密。 - 即使底層 DTLS 理論上遭到破解,資料仍然安全。 - 無論是 Relayed P2P 或伺服器上傳模式,經過我們伺服器的資料都無法被我們讀取。

這使得 FastFileLink 成為真正的 零知識(Zero-Knowledge)服務

唯一需要注意的取捨: 一般的 FastFileLink 下載連結可使用 curlwget 等 HTTP 工具下載;但在啟用 E2EE 後,這些工具只能取得加密後的檔案。接收方必須使用支援的瀏覽器或 FastFileLink CLI 才能正確解密檔案: https://github.com/nuwainfo/ffl


Q7. FastFileLink 的核心技術是什麼?為什麼它不是一個純 Web 工具?

許多 P2P 檔案分享工具(如 ToffeeShare、Snapdrop、Send Anywhere)主要運作於瀏覽器中。而 FastFileLink 是一個原生應用程式,這是基於我們的核心技術理念:

FastFileLink 的設計理念,是將你的電腦變成一個安全、暫時性的檔案伺服器。

運作方式如下: 1. 本機即伺服器:分享檔案時,你的電腦會開啟一個隨機連接埠來提供檔案。 2. 穿透 NAT 的安全通道:為了讓任何人都能連線到你,我們使用安全通道技術,可由 FastFileLink 自有通道,或由你選擇外部服務(如 Cloudflare Tunnel)來建立。 3. 自動 HTTPS:通道連線會自動啟用 HTTPS,確保傳輸過程加密。 4. WebRTC P2P 傳輸:FastFileLink 使用 WebRTC 進行資料傳輸,且你的電腦同時也是 WebRTC 的訊號伺服器,不需要中央伺服器來協調連線,隱私性最高。

為什麼這比 Web App 更好? - 大型檔案穩定性:瀏覽器在記憶體與處理能力上有限,分享 100GB 以上檔案或大量檔案時容易卡死。原生應用程式更穩定可靠。 - 更強的隱私與安全性:不依賴第三方訊號伺服器,連線完全由你掌控。 - 更高的連線成功率:通道技術比標準 WebRTC 更能應付受限網路環境,大幅提升成功率。