abox.tools

語言: 繁體中文

關於 abox.tools

加拿大安大略省的一個人,把自己一直需要、又一直不太敢信的工具自己寫了出來。這裡的一切都跑在你自己的裝置上,程式碼是公開的。這一頁寫的就是這兩件事的理由。

以 Markdown 檢視

這是什麼

abox.tools 是一堆小工具,每個只做一件事。把照片改個尺寸,把影片裁一段,把兩個 PDF 合起來,看看一個 QR Code 裡到底裝了什麼。現在有 44 個,旁邊還有一批指南,講的是這些工具對應的工作。

不尋常的不是它們做什麼,而是在哪裡做。每一個都完全在你的瀏覽器裡跑,用你自己的硬體,用瀏覽器本來就帶的那套編解碼器。你開啟的東西不會被傳到任何地方。這些頁面背後也沒有一臺伺服器可以接收:整個網站就是一堆靜態檔案,工具則是放在旁邊的普通 JavaScript 模組。

產品就是這些。這一頁剩下的內容講的是,為什麼值得這麼做,以及做這件事的是誰。

誰在做

一個人,獨自在加拿大安大略省。這不是公司。沒有團隊,沒有投資方,沒有母公司,也沒有被誰收購的打算。信件寄到 [email protected],收信的就是寫程式碼的那個人。這個地址適合談什麼、不適合談什麼,寫在聯絡頁上。

網站是有意不署名釋出的。這是個小專案,不是個人品牌。這裡值得信的不是頁尾的一個名字,而是任何人都能讀的程式碼,以及任何人開啟開發者工具三十秒就能驗的頁面行為。這兩樣能核實,名字不能。

為什麼這麼做

做這類工具的常規辦法是:把檔案傳上去,在伺服器上處理,再把結果發回來。這樣更省事,什麼裝置上都能用,幾乎每一個「免費線上轉換器」都這麼做。

這也意味著把自己的檔案交給一個陌生人。傳個表情包無所謂。護照掃描檔、醫學影像、簽了字的合同、後設資料裡帶著家庭住址的照片,就不是無所謂了。檔案一旦到了別人機器上,它的去向就取決於對方的規矩和對方的可靠程度,而這兩樣你都查不了。那種網站的隱私政策是一句承諾,不是一道閘門。

瀏覽器已經好到用不著這句承諾了。它能讀寫 JPEG、PNG 和 WebP,能拆開影片容器並解碼,能算檔案的雜湊,能讀 QR Code,也能寫 PDF。既然工作能在你自己的機器上做完,「他們會不會留下我的檔案」就不再是一個關於誰的動機的問題,而變成一個關於程式碼到底能做什麼的問題。後面這個問題,你自己就能回答。

道理就這些,另有一篇指南把它講透了:往網站上傳檔案安全嗎?

別信,去驗

上面每一句話都是寫來給人驗的。按費勁程度從低到高,有四種辦法。

「不聯網」只有一個刻意留下的例外,而且在它自己的頁面上講得很細:文字共享要把文字從你的一臺裝置挪到另一臺,沒有網就辦不成。它只開一條連線,通向一個什麼都不存的中轉點,而那個中轉點被告知的只有一件事:有兩個瀏覽器想認識一下。

工具怎麼做,怎麼驗

一個工具是在它能處理真實檔案的時候上線的,不是在它能處理開發時手邊那個檔案的時候。具體做法是在瀏覽器裡手動餵它一些難纏的輸入:你想剪的那一處正好沒有關鍵幀的影片,容器寫得略有偏差的手機 HEIC,字型只嵌了一部分的 PDF。人們手上真正有的就是這些檔案,而寫出這個缺陷的人自己寫的測試,恰恰找不出它們。

下面還有一整套自動測試,兩頭都蓋到:產生網站的那個產生器,和瀏覽器執行的那些模組。每次改動都跑一遍,測試沒過就什麼都不會發布。同一段工作出現在多個工具裡的地方,比如有好幾個工具都要讀 MP4,會有測試盯著這幾份副本是不是還對得上,免得修好一處,另幾處卻悄悄錯著。

指南也按同一把尺子寫。裡面的截圖不是畫的也不是擺拍的,是指令碼從已經構建好的網站上抓的。所以指南裡的圖,就是那個頁面今天的真實樣子。

錢從哪來

廣告,加上覺得這些工具有用的人的捐助。整個盈利模式就這些,而它包含什麼、不包含什麼,值得說清楚。

這裡沒有東西賣。不用註冊,沒有帳號,沒有上面壓著付費版的免費版,沒有要花錢去掉的水印,沒有檔案大小上限,沒有每日次數限制,也沒有留一手的功能。網站上有的,就是全部。

你的檔案不在這筆買賣裡。廣告是 Google 的,訪問統計用的是 Google Analytics,這兩樣都不會被告知你開啟了什麼、做出了什麼、它叫什麼名字、有多大。這些資訊壓根不會交到那兩個指令碼手裡,就算其中一個想發,頁面的安全策略也會拒掉。那兩樣究竟收集了什麼、各自怎麼關掉,寫在隱私頁上。把兩樣都攔掉,所有工具照常能用。

工具不是為廣告寫的。這裡沒有哪個工具是因為某個關鍵詞值錢才存在的,也沒有哪個為了多賣幾次曝光而被故意做慢、做繁瑣、拆成更多頁。接下來做什麼是攤在明面上爭論的,在 ROADMAP.md 裡,一個想法一段,包括好幾個看起來理所當然的提議為什麼被否掉。

語言

網站有十五種語言。每一種都是真的翻譯,不是機器過一遍就撂在那裡:工具名、說明、指南,連地址本身都翻了。一個頁面只有在那種語言真的寫出來之後,才會被列進那種語言。還在做的語言仍然能讀,但不進網站地圖,也不進語言切換器,免得把人請到一個一半是英文的頁面上。

來信用英文回。對一個這麼大點的專案來說,這是唯一誠實的說法。

本站不會做的事

要是你發現上面哪一條真的發生了,那既是一個缺陷,也是一句被打破的承諾,值得告訴我一聲。聯絡頁是最快的路。