尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
Open-source Windows scanner for Exiled Wealth: reads Path of Exile 2 stash tabs off the screen and sends item counts only.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗The Windows tray app behind Exiled Wealth, a stash net worth tracker for Path of Exile 2. GGG has no stash API for PoE2, so the scanner reads your special stash tabs (Currency, Essences, Runes and so on) off the screen while you play and sends the item counts to your Exiled Wealth account.
This is the complete source of the app you install, public so you can check what runs on your PC. (The website, and the script that packs and signs releases, are in a separate private repository.)
CopyFromScreen). With the game in the background or closed, it reads
nothing (it just checks for the game's process).Everything goes to exiledwealth.com over https, except item pictures, which come
from GGG's image server (web.poecdn.com).
| When | Request | Contents |
|---|---|---|
| Once, when you link | POST /api/scanner/link | the code from the website, and this PC's name (so you can tell your PCs apart on the website) |
| Reads waiting (once the stash has been quiet for 30 s, at least every 2 min while you sort, at once for Read now) | POST /api/scanner/sync | for each tab whose counts changed: its type, name, position and when it was read, and per slot a slot number and a count (the slot says what item it holds); for each tab you opened that didn't change (at most every 5 min per tab): its type, name, position and when (Snapshots.cs) |
| At start and hourly | GET /api/scanner/layouts | nothing: downloads the tab layouts |
| At start and after errors | GET /api/scanner/whoami | nothing: checks the link still works |
| At start and every 6 h | GET /api/scanner/releases/… | nothing: checks for updates |
| Only on the dev server (below), when you ask | POST /api/scanner/captures | a screenshot of the game window and its metadata |
Every request carries the app's version in its User-Agent.
dev.exiledwealth.com (tray menu → Server, which asks first and says
this; appsettings.json next to the exe can only name the live site or that one).
On the live site it's off, its menu items are hidden, and any queued screenshots are
deleted at start.In %LocalAppData%\ExiledWealth: the device token (token-exiledwealth.com.bin,
encrypted for your Windows user with DPAPI), log.txt (up to 1 MB, includes tab
names), the tab layouts, cached item pictures (icons/), and reads waiting to upload
(snapshots/). Unlink from the tray menu or the website to stop it; delete the folder
to remove everything.
The scanner updates itself with Velopack: it downloads an
update in the background and installs it when you quit or pick "Restart to update".
It only installs an update whose release list is signed with the Exiled Wealth
release key (SignedFeed.cs; public key in
Resources/update-key.pem). The list
holds each package's SHA-256, which Velopack checks on download. The private key is
kept offline, not on GitHub.
From 0.4.6 on, each version is built by GitHub Actions from a tag in this repository
(release.yml) and published as an immutable
release. The build's files carry a
signed provenance attestation, and the installer and updates carry them unchanged. With the
GitHub CLI, check your installed copy:
gh attestation verify "$env:LOCALAPPDATA\ExiledWealthScanner\current\ew-capture.dll" `
-R jcossin03/exiledwealth-scanner --source-ref refs/tags/v0.4.6
It prints the commit and workflow that built the file; a changed file has no attestation.
Our code is ew-capture.dll and EwCapture.Core.dll (ew-capture.exe is .NET's launcher).
The release script that packs the installer and signs the update feed is private: this
check is what ties your install to the public source.
You need the .NET 10 SDK. It builds on Windows, macOS or Linux (it only runs on Windows).
dotnet build EwCapture
dotnet test EwCapture.Tests --filter "FullyQualifiedName!~RecognitionTests&FullyQualifiedName!~TabStripTests&FullyQualifiedName!~StashGateTests&FullyQualifiedName!~StripCoverTests"
The skipped tests read real stash screenshots, which aren't in the repository: they contain game art, which only GGG may distribute.
AGPL-3.0. You may read, build, change and share it. If you distribute a changed version, you must publish its source under the same license.
Exiled Wealth isn't affiliated with or endorsed by Grinding Gear Games in any way. Path of Exile is a trademark of Grinding Gear Games.