feat/makepkg + project structure #12

Open
nvrl wants to merge 15 commits from feat/makepkg into main
11 changed files with 50 additions and 38 deletions
Showing only changes of commit 6d1587b9d6 - Show all commits

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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

Binary file not shown.

View File

@@ -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

View File

@@ -1 +0,0 @@
/usr/lib/ultimate-ban-tracker/ultimate-ban-tracker

View File

@@ -0,0 +1,2 @@
#!/bin/bash
exec /usr/lib/ultimate-ban-tracker/ultimate-ban-tracker "$@"

View File

@@ -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

Binary file not shown.

Binary file not shown.