工具分享技術教學/網賺系列 /掛機項目

PassiveApp 帶寬共享:用 Docker 在 Linux 上跑被動收益節點(完整教學)

admin · 10月22日 · 2026年 · · · · · · 本文共2551个字 · 预计阅读9分钟23次已读

想在 Linux 或 Docker 上跑 PassiveApp 的帶寬共享節點,只要兩個環境變數:帳號 email 與密碼。官方映像不含任何帳密,全部在啟動時由環境變數帶入,所以同一顆映像可以在多台機器上重複使用,每台各自產生一個獨立的裝置身分。

本文是用 Docker 部署的完整流程,包含三種啟動方式、環境變數清單、日誌怎麼判讀,以及最常見的「起不來」與「連不出去」兩種故障排除。

這個映像的設計前提

映像裡沒有任何憑證,也不綁定特定帳號。啟動時若沒給憑證,容器會立刻結束並印出提示,不會在那裡空轉吃資源。這個設計有三個好處:

  • 映像可以公開分享,不會洩漏任何人的帳號。
  • 同一台主機要跑多個節點時,只要換不同的環境變數與容器名稱。
  • 換帳號不需要重新建置映像。

事前準備

  1. 一個 PassiveApp 帳號(註冊後在後台可以看到自己的裝置清單)。
  2. 一台裝好 Docker 的 Linux 主機,能正常對外連線。
  3. 如果主機在 NAT 或公司網路後面,先確認容器可以解析 DNS 並連外。

方式一:一行指令啟動(最快)

docker run -d \
  --name passiveapp \
  --restart unless-stopped \
  -e PSV_EMAIL='你的信箱' \
  -e PSV_PASSWORD='你的密碼' \
  power14345/passiveapp:latest

啟動後用 docker logs -f passiveapp 看日誌,看到 "connected": true 就是上線了。

方式二:用 env-file(建議,密碼不留在指令歷史)

# .env 內容,記得 chmod 600
PSV_EMAIL=你的信箱
PSV_PASSWORD=你的密碼

docker run -d --name passiveapp --restart unless-stopped \
  --env-file .env power14345/passiveapp:latest

把密碼寫在檔案裡而不是指令列,可以避免被 shell 歷史紀錄或 ps 輸出看到。

方式三:Docker Compose

services:
  passiveapp:
    image: power14345/passiveapp:latest
    container_name: passiveapp
    restart: unless-stopped
    environment:
      - PSV_EMAIL=你的信箱
      - PSV_PASSWORD=你的密碼
    # network_mode: host   # 容器連不出去時可改用 host 網路測試

環境變數清單

變數 必填 預設 說明
PSV_EMAIL 要填 無 帳號 email
PSV_PASSWORD 要填 無 帳號密碼
PSV_TOKEN 不用 無 不想用帳密時的替代方案,三個都填時以 token 優先
PSV_JSON 不用 1 1 表示以 JSON 行輸出日誌
PSV_RESTART_DELAY 不用 10 peer 結束後隔幾秒重啟
PSV_EXTRA_ARGS 不用 無 追加旗標,例如 -diagnostics 做連通性診斷

實務上只需要 PSV_EMAIL 與 PSV_PASSWORD 兩個。

日誌怎麼看

健康的節點會依序出現這幾行:

{"type":"data","data":{"deviceId":"..."},"connected":false}
{"type":"info","message":"Connecting to server...","connected":false}
{"type":"info","message":"Connected to server","connected":true}
{"type":"info","message":"Logged in.","connected":true}

"connected": true 代表已上線,後台裝置清單會多出一個新的 deviceId。如果一直停在 Connecting to server...,就是網路或 DNS 的問題,不是帳號問題。

疑難排解

容器啟動後立刻結束

代表沒給憑證。日誌會印出需要 token 或帳密的提示。檢查 -e 有沒有漏掉,或 env-file 路徑是否正確。

日誌出現 context deadline exceeded 或 lookup 逾時

容器沒有可用的 DNS 或沒有對外路由。先跑一次診斷模式:

docker run --rm \
  -e PSV_EMAIL=你的信箱 -e PSV_PASSWORD=你的密碼 \
  -e PSV_EXTRA_ARGS=-diagnostics \
  power14345/passiveapp:latest

健康的輸出會依序取得負載平衡器位址與憑證。若診斷失敗,先在容器內測試 DNS 與 443 連線,再回頭檢查主機的防火牆與 NAT 規則。有些主機的 Docker 預設 bridge 網路沒有對外 NAT,這時會需要改用 host 網路,或把容器接到有 NAT 的自訂網路。

多節點部署的注意事項

  • 每個容器會產生自己的 deviceId,後台會視為不同裝置。
  • 同一條對外 IP 上不要一次掛太多節點,容易被平台判定異常。
  • 建議每個容器掛一份獨立的資料目錄,方便個別重啟與排查。
  • 容器名稱與節點命名保持一致(例如 passiveapp-1、passiveapp-2),後台對照時才不會混淆。

常見問題

映像安全嗎,會不會夾帶我的帳號?

映像內不含任何憑證,帳密只在你啟動時以環境變數傳入,且只存在該容器的設定裡。想要更安全可以用 env-file 並設權限 600,或改用 token 後把密碼從主機移除。

可以用 Windows 或 macOS 跑嗎?

Docker Desktop 可以,但這顆映像的目標是 Linux 主機長時間掛機,用 Linux 伺服器或小型節點機會比較穩定。

收益大概多少?

帶寬共享類平台的收益取決於你所在地區的住宅 IP 品質與平台當下需求,浮動很大。合理的期待是「補貼電費與網路費」,不適合當主要收入。

取得映像與邀請連結

映像位址:hub.docker.com/r/power14345/passiveapp,完整說明與中英文對照都寫在該頁。

本站持續整理各種可以在 Linux 上掛機的項目與實測數據,想看其他平台的部署方式可以參考〈掛機項目〉分類。

開始使用(邀請連結)

如果你還沒有帳號,用下面的邀請連結註冊:

https://passiveapp.com/i/ldpX3N

註冊後照本文步驟啟動容器即可,映像本身不含任何帳密,帳號只在你啟動時傳入。

0 条回应