Phantom Recoil is a Windows desktop recoil profile manager for Rainbow Six Siege, designed with a bold industrial/brutalist UI direction, smooth interaction flow, strong diagnostics, reproducible builds, and release-ready packaging.
This project combines Python + PyWebView + modern web UI to deliver a lightweight but professional desktop tool with persistent settings, per-weapon recoil intensity, DPI scaling, icon caching, and robust update/release workflows.
Most recoil helpers are either throwaway scripts or hard to maintain long-term. Phantom Recoil focuses on the opposite:
- Consistent UX with a distinct, non-generic visual identity.
- Real release engineering (installer + portable + checksums + CI).
- Stability hardening and diagnostics for fast issue triage.
- Maintainable code structure suitable for active development.
- Fast operator + weapon selection.
- Live recoil profile handoff to backend macro loop.
- DPI-aware recoil scaling for different mouse setups.
- Per-weapon intensity persistence.
- Favorites and search for quick access.
- Icon fetching with local cache fallback behavior.
- Stable tab switching and preserved scroll behavior on selection.
- Built-in auto-update checks and silent apply on startup.
- Installer + portable release assets.
latest.jsonrelease manifest for updater metadata.
This section is intentionally optimized with relevant phrases so developers and end users can discover the repository more easily.
- rainbow six siege recoil manager
- r6 recoil profile desktop app
- windows recoil control utility
- pywebview desktop app python
- recoil pattern profile selector
- recoil intensity per weapon storage
- dpi recoil scaling utility
- windows installer pyinstaller inno setup
- industrial style rainbow six recoil manager for windows
- python recoil desktop tool with per weapon intensity memory
- pywebview recoil app with diagnostics and updater
- recoil profile manager with favorites and search
- inno setup installer fix deletefile failed code 5
- brutalist desktop ui with animated tactical visuals
Use this for release pages, social cards, or listings:
Phantom Recoil is a professional Windows recoil profile manager for Rainbow Six Siege with DPI scaling, per-weapon intensity memory, icon caching, diagnostics, and a bold industrial desktop UI.
| Area | Technology | Purpose |
|---|---|---|
| Core Runtime | Python | Application logic and backend APIs |
| Desktop Shell | PyWebView | Native app window + JS bridge |
| Frontend | HTML + CSS + JavaScript | UI rendering and interactions |
| Build System | PyInstaller | Standalone executable packaging |
| Installer | Inno Setup | Windows installation flow |
| CI/CD | GitHub Actions | Build, test, package, release artifacts |
| Integrity | SHA256 | Download verification |
UI Layer (web/index.html + web/style.css + web/script.js)
|
| window.pywebview.api.*
v
App Bridge (ui_app.py)
|
+--> Macro Runtime (macro.py)
+--> Updater (updater.py)
+--> Diagnostic Watchdog + Logging
Release Layer
+--> PyInstaller builds EXE(s)
+--> Inno Setup creates installer
+--> SHA256SUMS generated for integrity
PhantomRecoil/
|-- BUILD.bat
|-- START.bat
|-- PLAY.bat
|-- SIGN_RELEASE.bat
|-- installer.iss
|-- ui_app.py
|-- macro.py
|-- updater.py
|-- README.md
|-- RELEASE_CHECKLIST.md
|-- web/
| |-- index.html
| |-- style.css
| |-- script.js
| `-- data.js
|-- tests/
| |-- test_macro.py
| |-- test_ui_api.py
| `-- test_updater.py
|-- docs/
| `-- assets/
| `-- phantom-recoil-logo.svg
`-- .github/workflows/build.yml
Current release packaging (for example v1.0.24) includes:
PhantomRecoilSetup_vX.Y.Z.exePhantom_Recoil_Standalone.exeSHA256SUMS.txtlatest.json
- Open official releases:
https://github.com/mmadersbacher/PhantomRecoil/releases
- Download latest setup:
PhantomRecoilSetup_vX.Y.Z.exe
- Run installer and complete setup.
- Default install path:
%LOCALAPPDATA%\Programs\Phantom Recoil(no admin rights required).
- Default install path:
- Launch from Start Menu:
Phantom Recoil.
Download:
Phantom_Recoil_Standalone.exe
Then run directly.
- On startup, the app checks the latest release metadata from:
https://github.com/mmadersbacher/PhantomRecoil/releases/latest/download/latest.json
- If a newer version exists, update is applied automatically (silent path).
- If direct replacement is not possible, updater falls back to installer/user-local strategy.
- No manual browser download should be required for normal update flow.
- Windows SmartScreen can warn on unsigned binaries.
- Always download only from the official release page.
- Verify checksums before running executables.
- If signature is present, verify Authenticode status.
Download SHA256SUMS.txt from the same release and verify:
Get-FileHash .\PhantomRecoilSetup_vX.Y.Z.exe -Algorithm SHA256
Get-FileHash .\Phantom_Recoil_Standalone.exe -Algorithm SHA256Hashes must match SHA256SUMS.txt.
For auto-update channel metadata, each release also publishes latest.json.
If signing is enabled:
Get-AuthenticodeSignature .\PhantomRecoilSetup_vX.Y.Z.exe
Get-AuthenticodeSignature .\Phantom_Recoil_Standalone.exeExpected status: Valid.
- Choose category tab (
Attackers,Defenders,Favorites). - Search operator or weapon when needed.
- Select your weapon profile.
- Adjust DPI and intensity.
- App stores intensity per selected weapon automatically.
- Favorites are stored locally.
- DPI is stored locally.
- Recoil intensity is stored per weapon.
- UI caches icon responses for smoother repeated browsing.
- Windows
- Python 3.9+
START.batBUILD.batExpected outputs from BUILD.bat:
Phantom_Recoil.exePhantom_Recoil_Standalone.exeSHA256SUMS.txtlatest.json
Installer build is handled separately via Inno Setup:
ISCC.exe installer.iss /DAppVersion=X.Y.ZPLAY.batpython -m unittest discover -s tests -p "test_*.py"Workflow: .github/workflows/build.yml
Pipeline stages:
- Checkout and Python setup
- Dependency installation
- Unit test execution
- Standalone build
- Installer build
- SHA256 generation
latest.jsonmanifest generation- Artifact publishing
Local helper script:
set SIGN_PFX_FILE=C:\secure\codesign.pfx
set SIGN_PFX_PASSWORD=YOUR_SECRET
SIGN_RELEASE.bat X.Y.Z- Close all running Phantom Recoil processes.
- Retry installer once.
- Use latest release (installer includes stronger process-close logic).
- Validate release URL + checksums.
- Continue only when artifacts are from official releases.
- Reproduce once on latest version.
- Share diagnostic log:
%LOCALAPPDATA%\PhantomRecoil\logs\phantom_recoil_diagnostic.log
- Scope-specific multipliers.
- Preset import/export profiles.
- Local icon pack fallback mode.
- Expanded analytics for debug builds.
- Optional plugin-style profile packs.
Contributions are welcome.
Suggested workflow:
- Fork repository.
- Create feature branch.
- Keep changes focused and test-backed.
- Open PR with clear summary and validation steps.
If Phantom Recoil helps you, star the repository so more users can discover it.