三台裝置就在眼前,傳個檔案卻像在寄包裹
Mac、Windows、iPhone 同一個 Wi-Fi,傳個連結都要先找人。半夜丟給 Claude 三句話,其中一句有錯字,二十五分鐘後有了自己的傳檔工具。程式我一行都沒寫。
麻煩
我面前有三台東西。
Mac mini、一台 Windows 桌機、一支 iPhone。
三台連的是同一個 Wi-Fi。
問題是,我想把手機上的一個連結丟到 Mac,或把 Windows 上的一支影片丟到手機,每次都要先想一下:這次用哪一招?
寄信給自己、貼到通訊軟體、丟雲端再下載。都行,都煩。(AirDrop?Windows 不在那個俱樂部裡。)
後來裝了 LocalSend,三台都裝。
它的做法是在區網裡喊一聲「有人在嗎」,聽到回應就把對方列出來。
常常喊了沒人應。
為什麼沒人應,我沒有認真查過。只知道每次要傳東西,都得先確認對方到底在不在。
傳一個連結,先花時間找人。這件事我忍了很久。
換一個問法
半夜十二點多,我把這件事原封不動丟給 Claude。
(大意是:三台裝置同一個 Wi-Fi,傳檔案、連結、文字很麻煩,LocalSend 常捉不到,能不能做一個工具。喔對了,三台我都有裝 Tailscale。)
最後那句才是重點。
Tailscale 會給每台裝置一個固定的名字和位址,不管它連的是家裡的 Wi-Fi 還是外面的行動網路。
所以 Claude 的提議很簡單:別再讓裝置互相找了。
找一台電腦開一個網頁,當作共用的板子。三台都用瀏覽器連到那一頁。誰貼了什麼,另外兩台馬上看到。
位址是固定的,就沒有「找不找得到」這件事。
其實聽完有點不甘心。這麼簡單,我怎麼沒想到?
它叫「傳一下」
一個 Python 檔,一千兩百行左右,不用另外裝任何套件。網頁也包在同一個檔案裡。
(名字是 Claude 取的。我沒意見。)
用法只有一個動作:打開那一頁。
- 貼文字或連結,按 Enter,其他裝置幾乎馬上出現。每一則旁邊有「複製」,連結多一個「打開」。
- 檔案用拖的,或按「選檔案」。截圖可以直接貼上。
- 每台裝置有自己的名字和顏色,一眼看得出是誰丟的。
- 檔案實際存在主機的硬碟裡,三十天後自動清掉。
- 只有我自己 Tailscale 網路裡的裝置連得進來。同一個 Wi-Fi 上的其他人連不到。
iPhone 用 Safari 打開,加到主畫面,看起來就像一個 App。
人在外面、手機走行動網路也能用。這是意外收穫。
我打了三句話
第一句是上面那段抱怨。
十分鐘左右,第一版出來了。Claude 先自己跑過一輪測試才交給我(上傳、下載、中文檔名、重開之後資料還在不在),原本打算放在 Mac mini 上。
第二句:「M1 記憶體很吃緊了,能放 WIN?」
它說可以,然後就直接裝到我的 Windows 桌機上了。中間只跳出一次視窗,問我能不能用某個資料夾。我按了同意。
(它還順便補了一句:這東西只吃二十幾 MB,放 Mac 其實也沒差。好吧。)
這一段它自己踩了幾個坑,也自己爬出來:
- 第一版只會在 Mac 上開機自動啟動。Windows 的部分是當場補寫的。
- Windows 預設的中文編碼(cp950)讀不懂 Tailscale 回傳的狀態,程式噴了一串錯。它看了錯誤訊息,改掉,重裝。
- 要讓別台連進來,照理得去開 Windows 防火牆。它沒有動防火牆,改成讓程式只聽本機,再請 Tailscale 把連線轉進來。
最後它拿一個 2MB 的檔案傳上去再抓下來,比對內容一樣,才跟我說好了。
第三句:「改在本機中存在D糟」
(對,我把「槽」打成「糟」。它看得懂。)
兩分鐘後,整包搬到 D 槽。我剛丟上去試的兩支影片也一起搬過去,它逐檔比對過才把舊的刪掉。
從第一句抱怨到這裡,二十五分鐘。
程式我一行都沒寫。
還沒好的地方
- Windows 桌機要開著。它睡了,板子就不見了。
- 重開機之後要有人登入 Windows,它才會跑起來。
- iPhone 還不能從別的 App 的分享選單直接丟進來,要先打開「傳一下」再貼。Claude 說可以用「捷徑」接,還沒做。
夠用了。
然後我在想
這個麻煩跟了我很久。
久到我把它當成天氣,下雨就撐傘,不會想去修。
結果修好它只花了二十五分鐘和三句話,其中一句還有錯字。
那這麼久我到底在忍什麼?
也許是懶。也許是一直覺得「應該有現成的工具吧」,於是裝一個、不滿意、再找下一個。
自己做一個,以前不在選項裡。現在在了。
(問題是,我現在看桌上每一樣東西,都覺得它欠我一個工具。)