diff --git a/README.md b/README.md index 8b80598..961d0d9 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,54 @@ # Ultimate Ban Tracker -Ultimate Ban Tracker is a standalone desktop application for Windows and Linux designed to manage multiple Steam accounts and monitor ban statuses. It features an automated account switcher and an optional community-driven synchronization system for sharing account access and cooldown data. +Ultimate Ban Tracker is a standalone desktop application for Windows and Linux designed to manage multiple Steam accounts and monitor ban statuses. It features an automated account switcher, stealth cooldown tracking, and an optional community-driven synchronization system. ## Features ### Account Management -* **Credential-free Login**: Switch between Steam accounts instantly. The application extracts and injects authentication tokens directly into local Steam configuration files, bypassing the need for manual credential entry or Steam Guard codes on every switch. -* **Session Synchronization**: Sync login states across multiple machines via the optional community server. Authenticate once, and the session is available to authorized community members. -* **Auto-Discovery**: Automatically detects and imports accounts currently logged into the local Steam client. +* **One-Click Switching**: Switch between Steam accounts instantly. The application manages authentication tokens and registry keys directly, bypassing the need for manual login or Steam Guard codes. +* **Session Synchronization**: Optional cross-machine sync via a dedicated backend. Authenticate once, and the encrypted session is available to authorized community members. +* **Auto-Discovery**: Detects and imports local Steam accounts automatically. +* **Isolated Sessions**: Uses per-account browser partitions to prevent session leakage during authentication. ### Monitoring and Tracking -* **Cooldown Tracking**: Scrapes Steam Personal Game Data (GCPD) to provide live countdowns for Counter-Strike competitive cooldowns. -* **Distributed Scraping**: Cooldown data is aggregated on the community server; only one active client is required to keep the status updated for all users tracking that account. -* **Ban Detection**: Real-time monitoring for VAC and developer game bans. +* **Cooldown Tracking**: Automated scraping of Steam Personal Game Data (GCPD) for live Counter-Strike competitive cooldown countdowns. +* **Stealth Sync**: Uses randomized intervals and non-blocking background workers to avoid Steam web detection. +* **Ban Status**: Real-time monitoring for VAC and developer game bans with high-signal indicators. -### User Interface -* **Dynamic Theming**: Includes several built-in color schemes including Steam Classic, Catppuccin (Mocha/Latte), Nord, and Tokyo Night. -* **Denisty-Focused Design**: Compact list view allows for monitoring a large number of accounts simultaneously. +### Desktop Integration +* **System Tray**: Persistent tray icon for quick account switching and synchronization without opening the main window. +* **Minimize-to-Tray**: The application runs in the background to ensure continuous ban monitoring and data freshness. +* **Dynamic Theming**: Support for Steam Classic, Catppuccin (Mocha/Latte), Nord, and Tokyo Night. App icons automatically adapt to match the selected theme. ## Installation ### For Users -Download the latest pre-built installer for your operating system from the [Releases](https://git.narl.io/nvrl/ultimate-ban-tracker/releases) page. -* **Windows**: Download the `.exe` installer. -* **Linux**: Download the `.AppImage` (portable) or `.deb` (Debian/Ubuntu) package. +The recommended way to use Ultimate Ban Tracker is to download a pre-built installer from the [Releases](https://git.narl.io/nvrl/ultimate-ban-tracker/releases) page. +* **Windows**: `.exe` (NSIS Installer) +* **Linux**: `.AppImage` (Portable) or `.deb` (Ubuntu/Debian) + +### Arch Linux (makepkg) +For Arch-based distributions, a `PKGBUILD` is provided in the repository root. +```bash +git clone https://git.narl.io/nvrl/ultimate-ban-tracker.git +cd ultimate-ban-tracker +makepkg -si +``` ### For Developers -Local development requires Node.js v22 or higher and an active Steam installation. - -1. Clone the repository. -2. Navigate to the `frontend` directory. -3. Install dependencies: `npm install`. -4. Start the development environment: `npm run electron:dev`. -5. To build production binaries: `npm run electron:build`. +Requires Node.js v22+ and an active Steam installation. +1. `cd frontend && npm install` +2. `npm run electron:dev` (Development mode) +3. `npm run electron:build` (Production packaging) ## Community Server -The backend server required for community features (sharing and sync) is hosted in a separate repository: +Backend functionality for sharing and synchronization is optional and hosted separately: [Ultimate Ban Tracker Server](https://git.narl.io/nvrl/ultimate-ban-tracker-server) ## Security -* **Encryption**: All sensitive data, including Steam cookies and configuration blobs, are encrypted using AES-256-GCM before being synchronized with the backend. -* **Local Storage**: Account data is stored locally using `electron-store`. Usage of the community server is optional. -* **Session Isolation**: Steam authentication is performed in an isolated browser partition that is cleared after each session to prevent credential leakage. +* **AES-256-GCM Encryption**: All sensitive credentials (cookies and config blobs) are encrypted before being synced to the community server. +* **Local-First Storage**: Data is stored locally using `electron-store`. Usage of the community server is strictly optional. +* **Atomic Operations**: VDF file updates use atomic write strategies to prevent Steam configuration corruption. ## License -ISC License. Created by Nils Pukropp. +Personal Use and Non-Commercial License. Created by Nils Pukropp. See `LICENSE` file for details. diff --git a/pkg/ultimate-ban-tracker-debug/.BUILDINFO b/pkg/ultimate-ban-tracker-debug/.BUILDINFO index 402c706..bc4a680 100644 --- a/pkg/ultimate-ban-tracker-debug/.BUILDINFO +++ b/pkg/ultimate-ban-tracker-debug/.BUILDINFO @@ -1,11 +1,11 @@ format = 2 pkgname = ultimate-ban-tracker-debug pkgbase = ultimate-ban-tracker -pkgver = 1.3.3-1 +pkgver = 1.3.3-2 pkgarch = x86_64 -pkgbuild_sha256sum = 4598bae98c9dc62d0c0c7c034236eeb79bf9668f7a6d6271ef9b90d6f0b9fec1 +pkgbuild_sha256sum = f86405348754c7291658d9f57da42949b5d9f75d10162ab9a3c7d0c472091105 packager = Unknown Packager -builddate = 1771646617 +builddate = 1771647031 builddir = /home/narl/dev/ultimate-ban-tracker startdir = /home/narl/dev/ultimate-ban-tracker buildtool = makepkg diff --git a/pkg/ultimate-ban-tracker-debug/.MTREE b/pkg/ultimate-ban-tracker-debug/.MTREE index ff2937f..104e59d 100644 Binary files a/pkg/ultimate-ban-tracker-debug/.MTREE and b/pkg/ultimate-ban-tracker-debug/.MTREE differ diff --git a/pkg/ultimate-ban-tracker-debug/.PKGINFO b/pkg/ultimate-ban-tracker-debug/.PKGINFO index 8b96f05..36809c1 100644 --- a/pkg/ultimate-ban-tracker-debug/.PKGINFO +++ b/pkg/ultimate-ban-tracker-debug/.PKGINFO @@ -3,10 +3,10 @@ pkgname = ultimate-ban-tracker-debug pkgbase = ultimate-ban-tracker xdata = pkgtype=debug -pkgver = 1.3.3-1 +pkgver = 1.3.3-2 pkgdesc = Detached debugging symbols for ultimate-ban-tracker url = https://narl.io -builddate = 1771646617 +builddate = 1771647031 packager = Unknown Packager size = 1853752 arch = x86_64 diff --git a/pkg/ultimate-ban-tracker/.BUILDINFO b/pkg/ultimate-ban-tracker/.BUILDINFO index ab062f3..992e7cf 100644 --- a/pkg/ultimate-ban-tracker/.BUILDINFO +++ b/pkg/ultimate-ban-tracker/.BUILDINFO @@ -1,11 +1,11 @@ format = 2 pkgname = ultimate-ban-tracker pkgbase = ultimate-ban-tracker -pkgver = 1.3.3-1 +pkgver = 1.3.3-2 pkgarch = x86_64 -pkgbuild_sha256sum = 4598bae98c9dc62d0c0c7c034236eeb79bf9668f7a6d6271ef9b90d6f0b9fec1 +pkgbuild_sha256sum = f86405348754c7291658d9f57da42949b5d9f75d10162ab9a3c7d0c472091105 packager = Unknown Packager -builddate = 1771646617 +builddate = 1771647031 builddir = /home/narl/dev/ultimate-ban-tracker startdir = /home/narl/dev/ultimate-ban-tracker buildtool = makepkg diff --git a/pkg/ultimate-ban-tracker/.MTREE b/pkg/ultimate-ban-tracker/.MTREE index 9dd9ef4..be95da4 100644 Binary files a/pkg/ultimate-ban-tracker/.MTREE and b/pkg/ultimate-ban-tracker/.MTREE differ diff --git a/pkg/ultimate-ban-tracker/.PKGINFO b/pkg/ultimate-ban-tracker/.PKGINFO index f8996bc..34c5ed8 100644 --- a/pkg/ultimate-ban-tracker/.PKGINFO +++ b/pkg/ultimate-ban-tracker/.PKGINFO @@ -3,15 +3,18 @@ pkgname = ultimate-ban-tracker pkgbase = ultimate-ban-tracker xdata = pkgtype=pkg -pkgver = 1.3.3-1 +pkgver = 1.3.3-2 pkgdesc = Professional Steam Account Manager & Ban Tracker url = https://narl.io -builddate = 1771646617 +builddate = 1771647031 packager = Unknown Packager -size = 426661512 +size = 426661624 arch = x86_64 license = custom:Personal Use and Non-Commercial depend = electron depend = nodejs depend = npm +depend = libxss +depend = nss +depend = libxtst makedepend = imagemagick diff --git a/pkg/ultimate-ban-tracker/usr/bin/ultimate-ban-tracker b/pkg/ultimate-ban-tracker/usr/bin/ultimate-ban-tracker deleted file mode 120000 index 8aa829b..0000000 --- a/pkg/ultimate-ban-tracker/usr/bin/ultimate-ban-tracker +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/ultimate-ban-tracker/ultimate-ban-tracker \ No newline at end of file diff --git a/pkg/ultimate-ban-tracker/usr/bin/ultimate-ban-tracker b/pkg/ultimate-ban-tracker/usr/bin/ultimate-ban-tracker new file mode 100755 index 0000000..6463bca --- /dev/null +++ b/pkg/ultimate-ban-tracker/usr/bin/ultimate-ban-tracker @@ -0,0 +1,2 @@ +#!/bin/bash +exec /usr/lib/ultimate-ban-tracker/ultimate-ban-tracker "$@" diff --git a/pkg/ultimate-ban-tracker/usr/share/applications/ultimate-ban-tracker.desktop b/pkg/ultimate-ban-tracker/usr/share/applications/ultimate-ban-tracker.desktop index 521ff79..0dc47b7 100644 --- a/pkg/ultimate-ban-tracker/usr/share/applications/ultimate-ban-tracker.desktop +++ b/pkg/ultimate-ban-tracker/usr/share/applications/ultimate-ban-tracker.desktop @@ -1,8 +1,9 @@ [Desktop Entry] Name=Ultimate Ban Tracker -Exec=/usr/bin/ultimate-ban-tracker +Exec=/usr/bin/ultimate-ban-tracker %U Icon=ultimate-ban-tracker Type=Application Categories=Game;Utility; Terminal=false Comment=Professional Steam Account Manager & Ban Tracker +StartupWMClass=ultimate-ban-tracker diff --git a/ultimate-ban-tracker-1.3.3-2-x86_64.pkg.tar.zst b/ultimate-ban-tracker-1.3.3-2-x86_64.pkg.tar.zst new file mode 100644 index 0000000..cc74a19 Binary files /dev/null and b/ultimate-ban-tracker-1.3.3-2-x86_64.pkg.tar.zst differ diff --git a/ultimate-ban-tracker-debug-1.3.3-2-x86_64.pkg.tar.zst b/ultimate-ban-tracker-debug-1.3.3-2-x86_64.pkg.tar.zst new file mode 100644 index 0000000..0713a4b Binary files /dev/null and b/ultimate-ban-tracker-debug-1.3.3-2-x86_64.pkg.tar.zst differ