# 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
```

Canonical: https://cmux.com/zh-TW/docs/cloud/networking

Documentation index: https://cmux.com/llms.txt
