PassiveApp peer on Linux/Docker - earn from shared bandwidth
59
邀請註冊 https://passiveapp.com/i/ldpX3N Invitation https://passiveapp.com/i/ldpX3N
Run the PassiveApp peer (psvsdk) natively on Linux / Docker and earn from shared bandwidth.
在 Linux / Docker 上原生執行 PassiveApp 的 peer 節點以賺取收益。
The image contains NO credentials. You must pass your own account at run time via environment variables.
映像不含任何帳密。 請在執行時用環境變數傳入你自己的帳號。
docker run -d \
--name passiveapp \
--restart unless-stopped \
-e PSV_EMAIL='[email protected]' \
-e PSV_PASSWORD='your_password' \
power14345/passiveapp:latest
docker run -d \
--name passiveapp \
--restart unless-stopped \
-e PSV_TOKEN='your_token_here' \
power14345/passiveapp:latest
services:
passiveapp:
image: power14345/passiveapp:latest
container_name: passiveapp
restart: unless-stopped
environment:
- [email protected]
- PSV_PASSWORD=your_password
# - PSV_TOKEN=your_token_here # 二選一:用 token 取代帳密
# - PSV_RESTART_DELAY=10
# - PSV_JSON=1
# network_mode: host # 若容器連不出去,可改用 host 網路
Alternatively mount an env-file (keeps secrets out of shell history):
也可以改用 env-file(避免密碼留在 shell 歷史紀錄):
# .env (chmod 600)
[email protected]
PSV_PASSWORD=your_password
docker run -d --name passiveapp --restart unless-stopped \
--env-file .env power14345/passiveapp:latest
-e PSV_EMAIL='[email protected]'
-e PSV_PASSWORD='your_password'
就這兩個,其他都不用填。 下面是完整清單(含選用項)。
| 方式 | 要填的變數 | 說明 |
|---|---|---|
| ① 帳密(建議) | PSV_EMAIL + PSV_PASSWORD | 一般使用者用這個就好 |
| ② Token | PSV_TOKEN | 進階用法。不知道要填什麼就別用 |
PSV_TOKEN不是必填,它是「不想用帳密時」的替代方案。 你若不知道 token 從哪來,就是不需要它 —— 填帳密即可。 若三個都填,程式會優先使用PSV_TOKEN。
| Variable | 必填? | Default | Description |
|---|---|---|---|
PSV_EMAIL | 填這個 | — | 你的 PassiveApp 帳號 email |
PSV_PASSWORD | 填這個 | — | 你的密碼 |
PSV_TOKEN | ❌ 不用填 | — | 替代方案,見上表 |
PSV_JSON | ❌ 選用 | 1 | 1 = JSON 行輸出 |
PSV_RESTART_DELAY | ❌ 選用 | 10 | peer 結束後幾秒重啟 |
PSV_EXTRA_ARGS | ❌ 選用 | — | 追加旗標,例如 -diagnostics |
只填 PSV_EMAIL + PSV_PASSWORD 就能跑。 沒填憑證時容器會立刻中止並印出提示,不會空轉。
Pass extra flags through PSV_EXTRA_ARGS:
-diagnostics Run connectivity tests. 連通性診斷
-json JSON output. JSON 輸出
-localServer (experimental)
-sdk-key string
-username string Alias for email
-version Print version
-help Print help
docker logs -f passiveapp
A healthy peer looks like this:
{"type":"data","data":{"deviceId":"62919fdb-3ac0-4097-9742-dedcee0621fa"},"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 = online. Check your dashboard — a new deviceId appears as a new device.
"connected": true 代表已上線。dashboard 上會以新的 deviceId 顯示為一台裝置。
You forgot credentials. Check the log — it prints:
FATAL: 需要 PSV_TOKEN,或同時提供 PSV_EMAIL 與 PSV_PASSWORD
context deadline exceeded / dial tcp: lookup ... i/o timeoutThe container has no working DNS or no outbound route.
Test connectivity first:
docker run --rm \
-e [email protected] -e PSV_PASSWORD=your_password \
-e PSV_EXTRA_ARGS=-diagnostics \
power14345/passiveapp:latest
Healthy output:
Requesting load balancer...
Got response (IP, port 1, port 2): 87.99.149.97 443 443
Requesting certificate...
Loaded certificate.
Testing connectivity...
Got UDP IP: 1.174.133.108
Got TCP IP: 1.174.133.108
OK.
If that fails, check:
/etc/resolv.conf inside the container have a reachable nameserver?
Some hosts run Docker's embedded DNS (127.0.0.11) without working upstream
forwarding. Workaround: --dns 1.1.1.1 or --network host.Run the -diagnostics command above. If diagnostics pass, the peer is fine —
a brand-new device simply receives little traffic at first. Bandwidth and balance
increase over time.
PassiveApp's official Windows-only installer is only the Electron desktop shell.
The actual earning client (psvsdk) is published per-platform on their CDN:
| File | Type | Platform |
|---|---|---|
psvsdk64 | ELF 64-bit LSB, x86-64 | Linux x64 |
psvsdk32 | ELF 32-bit LSB, Intel 80386 | Linux x86 |
psvsdkarm64 | ELF 64-bit LSB, ARM aarch64 | Linux ARM64 |
psvsdkarm | ELF 32-bit LSB, ARM | Linux ARM |
psvsdk64.exe | PE32+ executable, x86-64 | Windows x64 |
psvsdk32.exe | PE32 executable, Intel 80386 | Windows x86 |
All six have different checksums — these are genuinely separate builds, not one binary
with a renamed extension. The desktop app's own code even runs chmod u+x on Linux:
if (process.platform === "win32") p += ".exe"; // Windows only
if (process.platform === "linux") await exec(`chmod u+x ${binPath}`); // Linux supported
Running natively on Linux is a first-class supported path — no Windows emulation needed. The image uses this Linux binary directly.
在 Linux 原生執行是官方支援的路徑,不需要模擬 Windows。 本映像直接使用 Linux 版二進位。
GOOSis a Go compile-time constant (the binary embedsbuild\tGOOS=linux), so the peer always reports the OS it was built for. There is no flag or env var to change it — and none is needed.
Each container generates its own deviceId, so one account can run many nodes.
To give each node a distinct egress IP, pin a static IP on a bridge network that has
per-subnet NAT:
每個容器會產生獨立的 deviceId,同一帳號可跑多節點。
若要讓每個節點走不同出口 IP,在具備分網段 NAT 的 bridge 網路上指定靜態 IP:
docker run -d --name passiveapp_01 \
--network your-net --ip 172.16.66.5 \
--restart unless-stopped \
-e [email protected] -e PSV_PASSWORD=your_password \
power14345/passiveapp:latest
curl -fsSL -o psvsdk64 https://cdn.passiveapp.com/passiveapp/psvsdk64
chmod +x psvsdk64
docker build -t yourname/passiveapp:latest .
docker push yourname/passiveapp:latest
Base image must be glibc-based (Debian/Ubuntu). psvsdk64 links against libc.so.6 —
Alpine (musl) will not work.
基底映像必須是 glibc 系(Debian / Ubuntu)。psvsdk64 動態連結 libc.so.6,
Alpine(musl)不能跑。
Unofficial image. Not affiliated with PassiveApp. Usage is at your own risk and subject to PassiveApp's own terms of service. Only run this on networks and devices you are authorised to use.
非官方映像,與 PassiveApp 無隸屬關係。使用風險自負,並受 PassiveApp 服務條款約束。 請僅在你獲授權的網路與裝置上執行。
📮 Takedown / Removal Requests / 下架與移除通知 If the official PassiveApp team, the image registry, or any rights holder requests that this image, repository, documentation, or related content be taken down, modified, or removed, please notify me and I will comply as soon as possible.
若 PassiveApp 官方團隊、映像 registry 或任何權利人要求下架、修改或移除本映像、儲存庫、文件或相關內容,請通知我,我會盡快配合處理。
Contact / 聯絡方式:
Please open an issue or contact me via the repository / 請透過儲存庫開 issue 或聯絡我
I will respond and take action as soon as reasonably possible / 我會在合理時間內盡快回覆並處理
This project is unofficial and provided in good faith. If there is any concern regarding rights, terms of service, or distribution, please reach out first and I will cooperate fully.
本專案為非官方內容,出於善意提供。若有任何關於權利、服務條款或散布的疑慮,請先與我聯繫,我會全力配合。
Content type
Image
Digest
sha256:5a6f1af8d…
Size
64.9 MB
Last updated
4 days ago
docker pull power14345/passiveapp