免費工具

404 Send

檔案從你的瀏覽器直接進入對方的瀏覽器。它從不落到我們的伺服器上,我們只轉交一個描述連線的加密信封,好讓兩個瀏覽器找到彼此。檔案、檔名、雙方的地址,我們一樣都看不到。

選好檔案,把連結交出去,傳輸期間別關標籤頁。

可以開始傳送
把檔案拖到這裡 或者

連結存活十分鐘。傳輸是直接的,檔案不會出現在我們的伺服器上。

原理

普通的檔案傳輸服務都是一個樣:檔案跑到別人的硬碟上,在那裡躺著不知多久,過著自己的生活。這裡不一樣。傳送方和接收方的瀏覽器透過 WebRTC 直接相連,檔案在它們之間傳送,我們的伺服器只參與一步,轉交描述連線的信封,好讓雙方找到彼此。

這個信封我們同樣不讀。裡面有雙方的 IP 地址,所以頁面直接在你這邊把它加密,金鑰留在連結井號後面的那一段,按照 HTTP 的設計,這一段根本不會發給伺服器。我們這邊放著的是一串十分鐘就過期的不透明字元,而我們沒有它的金鑰。

這裡什麼情況下不行

如果雙方都處在對稱 NAT 的網路後面,行動網路和嚴格的企業 Wi-Fi 通常如此,直連就建立不起來。讓一方換個網路就能解決。這類連線通常借道的中繼,我們故意不架:有了它檔案就會經過我們,而這個工具的意義恰恰相反。你的網路攔了什麼,可以用 旁邊的工具檢查.

其餘的地方也是同一個原則

404 VPN 也是這麼設計的:我們不儲存訪問日誌、DNS 查詢,也不儲存流量內容。不是因為我們承諾,而是因為真要交,也沒有什麼可交。

原理 →

常見問題

guest@404vpn:~$ cat send-faq.md
[01] $ 在對方開啟之前,檔案放在哪?
> 哪兒也不放。它在你的硬碟上,只有對方開啟連結並按下“接收”之後,傳輸才開始。所以標籤頁不能關:這不是上傳到伺服器,而是兩個瀏覽器之間的直接連線,缺了任何一方都不行。
[02] $ 你們的伺服器看到什麼?
> 一串它讀不懂的字元。對方的瀏覽器需要一份連線描述,SDP,裡面有雙方的 IP 地址。所以頁面在你這邊就把它加密(AES-GCM),並把金鑰放進連結的 # 部分:按照 HTTP 的設計,地址的這一部分根本不會發給伺服器。房間名是同一個秘密的雜湊。我們是沒有金鑰,而不是承諾不用它。
[03] $ 能傳多大的檔案?
> 限制不在傳輸,而在接收方的記憶體:瀏覽器要把整個檔案拼好才會提示儲存。普通筆記型電腦上幾個 GB 沒問題;老手機上是幾百 MB。速度取兩條線路中較慢的那一條,通常是傳送方的上行。
[04] $ 頁面寫著“連線沒有建立”。這是什麼意思?
> 意思是雙方都處在不允許直連的網路後面,行動網路和使用對稱 NAT 的企業 Wi-Fi 常常如此。讓一方換個網路通常就能解決:比如接收方從行動數據切到 Wi-Fi。我們故意不在中間架中繼:有了中繼檔案就會經過我們,而這個工具的意義恰恰相反。
[05] $ 連結可能洩露。會被陌生人拿走檔案嗎?
> 誰先開啟連結誰拿到。連結只能用一次,存活十分鐘,但在這十分鐘裡它就是鑰匙,用你信得過、足以傳遞檔案本身的方式來傳遞它。傳輸結束前別關標籤頁:一關,連結就失去了任何意義。