免費工具

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] $ 連結可能泄露。會被陌生人拿走檔案嗎?
> 誰先開啟連結誰拿到。連結只能用一次,存活十分鐘,但在這十分鐘裏它就是鑰匙——用你信得過、足以傳遞檔案本身的方式來傳遞它。傳輸結束前別關標籤頁:一關,連結就失去了任何意義。