cmux Cloud檔案與網路
cmux Cloud

Cloud 檔案與網路

本頁說明如何將檔案和機密傳送到機器、如何開啟其連接埠和桌面、私人網路如何運作,以及如何發布 URL。

上傳和下載檔案

cmux vm push 會將檔案或資料夾上傳到機器,傳輸會以 SHA-256 驗證。預設會略過 .git、node_modules、.venv、__pycache__ 和 .DS_Store。使用 --no-default-excludes 可包含它們,使用 --exclude 可略過更多路徑,使用 --watch 可在每次儲存時重新上傳變更。

cmux vm push brave-otter ./app ~/app
cmux vm push brave-otter . ~/repo --no-default-excludes
cmux vm push brave-otter . ~/repo --exclude dist --watch
cmux vm pull brave-otter ~/repo/report.html ./report.html

單次上傳最大 256 MB。大型儲存庫請在機器內 clone。

cmux vm pull 會從機器下載檔案。

機密檔案

cmux vm push --secret 會透過加密的 cmux 連結上傳最大 256 KB 的小檔案。檔案預設以 0600 權限寫入。金鑰和憑證請使用此方式,而不是一般上傳。

cmux vm push --secret brave-otter ~/.npmrc ~/.npmrc

環境變數

cmux vm env 會將變數儲存在機器磁碟上的 ~/.config/cmux/env 中,每個新的 shell 都會載入它們。變數值透過加密連結傳送,且不會回顯。除非加上 --show,否則 cmux vm env ls 會隱藏變數值。

cmux vm env set brave-otter --from-file .env
op read op://dev/stripe/key | cmux vm env set brave-otter -
cmux vm env ls brave-otter
cmux vm env rm brave-otter STRIPE_KEY

KEY=VALUE 形式的引數可能會留在本機的 shell 歷史記錄中。機密請使用 --from-file 或標準輸入。

連接埠與應用程式內瀏覽器

在機器上啟動開發伺服器,然後在 Cloud 終端機中按住 ⌘ 點選 localhost URL。cmux 會透過機器的私人位址在瀏覽器窗格中開啟它。只監聽 localhost 的伺服器也能使用。不需要 VPN 或連接埠轉送。

cmux vm ports 會列出機器上開啟的連接埠。Cloud 側邊欄會在 Ports 下方顯示它們。cmux vm open machine:port/number 可開啟其中一個。

cmux vm ports brave-otter
cmux vm open brave-otter:port/3000

桌面

每台機器都有 Linux 桌面。可以從機器選單選擇 Open Desktop 開啟,或執行 cmux vm desktop。它會透過 VNC 在瀏覽器窗格中開啟。GUI 應用程式、Chrome 和瀏覽器自動化都在這個顯示器上執行。

cmux vm desktop brave-otter

私人網路

你的機器沒有公開的傳入連接埠。cmux 為每個帳號提供一個私人網路,每台 Mac 都使用自己的 WireGuard 金鑰連線,而該金鑰絕不會離開那台 Mac。連線會在 cmux 應用程式內建立,不需要任何核准。

你的機器之間可以在同一個私人網路中互相連線。

cmux.com 上的 Cloud Mac access 頁面會列出可以連線到你機器的 Mac。你可以在那裡重新命名或撤銷 Mac。撤銷 Mac 會將其登出,並移除它對所有機器的存取權。

系統 VPN(選用)

cmux vpn up 會新增一條系統路由,讓 Mac 上的其他應用程式(例如另一個瀏覽器或資料庫用戶端)也能連線到你的機器。cmux 本身不需要它。第一次使用時,請在 系統設定 › 一般 › 登入項目與延伸功能 中核准 cmux 網路延伸功能。cmux vpn down 可將其關閉。

cmux vpn up
cmux vpn status
cmux vpn down

公開 URL

cmux cloud domains publish 會為機器上的連接埠提供 HTTPS URL。產生的主機名稱以 .cmux.sh 結尾。

cmux cloud domains publish brave-otter 3000
cmux cloud domains publish brave-otter 3000 --access team
cmux cloud domains publish brave-otter 8080 --access public --yes
cmux cloud domains list
cmux cloud domains grant <hostname> teammate@example.com
cmux cloud domains rm <hostname>

每個 URL 都有存取模式。預設為機器的擁有者:你本人,或在團隊擁有該機器時為你的團隊。

  • personal:只有你可以開啟。
  • team:擁有該機器之團隊的目前成員可以開啟。
  • public:任何擁有此 URL 的人都可以開啟。cmux 會要求你確認。

對於 personal 和 team URL,訪客需要先在 cmux 頁面上登入。機器絕不會看到 cmux 的 Cookie。你也可以使用 cmux cloud domains grant,將單一 URL 的存取權授予單一電子郵件地址。

請像對待密碼一樣對待公開 URL。任何擁有它的人都可以使用該服務。

自訂網域

cmux cloud domains verify 會輸出需要新增的 DNS 記錄:用於驗證擁有權的 TXT 記錄、路由記錄以及憑證委派記錄。新增後再次執行 verify。驗證通過後,你可以在該網域或其下一層的子網域上發布。

cmux cloud domains verify preview.example.com
cmux cloud domains publish brave-otter 3000 --domain app.preview.example.com