Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

War Thunder Skin Manager

War Thunder Skin Manager is a desktop utility designed to simplify the management of custom camouflages for War Thunder. By leveraging the War Thunder Live API, you can browse, install, and uninstall skins directly from the application without any manual file manipulation.

When you click "Install", the application automatically downloads the archive and extracts it into your game's UserSkins folder. If an archive contains multiple subfolders or loose files, the manager automatically creates a dedicated root folder to prevent cluttering your game directory.

Features & Usage

1. Configuration

Set your War Thunder installation directory to allow the manager to locate your UserSkins folder. config

2. Search and Filter

Refine your research using the built-in filters to find the exact camouflage you are looking for. filters

3. One-Click Installation

Install the skins you want instantly. The application handles downloading, unzipping, and folder structuring. install

4. Skin Uninstallation

Easily remove unwanted camouflages to free up disk space. install

Note: Currently, the uninstallation feature only tracks and removes skins that were installed through this manager.

Technical Stack

This application is written entirely in Rust. It utilizes asynchronous programming and multi-threading to ensure the user interface remains smooth and responsive during parallel downloads.

The core libraries used in this project include:

  • Dioxus: For building the user interface.
  • Tokio: As the async runtime.
  • Reqwest: To handle HTTP requests to the API and manage file downloads.
  • Zip: To extract downloaded camouflage archives.
  • Serde_json: For parsing API responses and local configuration serialization.
  • Directories: To ensure the configuration files are saved in the standard OS-specific directories.

Installation

You can either download the release for your system in the releases tab or compile it yourself. To do so you will need to:

  • Have rust installed link
  • Have Dioxus CLI installed guide
    • Make sure to install any platform-specific dependencies

Finally, clone the repository and create a bundle with the Dioxus CLI:

# Example for windows
dx bundle --windows --package-types msi --release

MacOS

Upon launch, you may encounter an error saying that the application is "damaged" and that you should put it in the bin. Well the application is perfectly fine, I just don't want to pay Apple to get developer certificates. To escape Apple's quarantine policy you'll need to use the following command:

xattr -cr /Applications/WtSkinManager.app

Then, try to run the application Again. It should now be working :)

Arch-based distros

You'll see that the AppImage will crash on startup du to a WebKitNetworkProcess error. To fix the problem the simplest fix is to run the app with:

LD_LIBRARY_PATH=/usr/lib ./wt-skin-manager_*.AppImage

Or you can compile it yourself using the guide above and the following command:

dx bundle --linux --package-types appimage --release

For other platforms refer to the official Dioxus bundling doc. Running dx bundle --help may also be useful.

Disclaimer

This project was developed over a two-week period after more than a year of hiatus from Rust programming. As a result, the codebase may contain suboptimal patterns or architecture.

This software is provided "as is", without warranty of any kind. While it has been designed to manage skins safely, I'm not responsible for any application crashes, bugs, or potential data loss. Use it at your own risk.

Todo

  • Implement a dedicated Settings page.
  • Support uninstallation of skins not installed through the manager
  • Get an actual logo
  • Refactor and clean up the codebase !!!! (kinda done)
  • Separate "backend" logic from the UI components. (kinda done also)
  • Add a search bar like on the website
  • Add local favorites
  • Link Warthunder account to actually like
  • Add support for user missions
  • Add update notification

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.

About

Skin manager for War Thunder. Browse, download and remove skins smoothly. Compatible with Linux, MacOS and Windows

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages