Skip to content

WHManager (Windows Host Manager) - A modern, web-based Windows application management system that provides a streamlined, Ninite-like experience powered by winget. Simplify Windows software installation and updates through an intuitive interface while leveraging the official Windows Package Manager.

License

Notifications You must be signed in to change notification settings

elirancv/WHManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WHManager

WHManager Logo

License: MIT Python Windows Last Commit

A modern, web-based Windows application management system that provides a Ninite-like experience using winget.

FeaturesInstallationUsageScreenshotsDevelopment

📸 Screenshots

WHManager Main Interface

Main Interface - Browse and select applications to install

WHManager Installation Progress

Installation Progress - Track installation status in real-time

✨ Features

  • 🚀 Beautiful web interface for application management
  • 📦 Automated installation using winget
  • 🗂️ Categorized software management
  • 🔄 Hotfix capabilities for system updates
  • 📝 Detailed installation logging
  • ⚡ Fast and efficient installation process
  • 🔒 Administrative privilege management
  • 📊 Installation status tracking

📑 Categories

  • Essential Software
  • Monitoring Tools
  • Security & VPN
  • Media & Music
  • Development & Command-Line
  • AI Tools
  • File Management & System
  • Communication
  • Dependencies

⚙️ Requirements

  • Windows 10/11
  • winget (Windows Package Manager)
  • Administrative privileges
  • Modern web browser
  • Python 3.x (for running the local server)

🚀 Installation

  1. Clone the repository:
git clone https://github.com/elirancv/WHManager.git
cd WHManager
  1. Run the hotfix script to ensure winget is properly installed:
.\hotfix\Install-WinGet.ps1
  1. Start the local web server:
cd src/web
python server.py
  1. Open your web browser and navigate to:
http://localhost:8000/index.html

💻 Usage

  1. Launch WHManager through the web interface at http://localhost:8000/index.html
  2. Browse through the categorized applications
  3. Select the applications you want to install
  4. Click "Install" to begin the installation process
  5. Monitor the installation progress through the interface

🛠️ Customizing Apps

You can customize the list of available applications by modifying the @apps_config.json file in the src/web directory. The configuration file uses a simple JSON structure:

{
  "categories": [
    {
      "name": "Category Name",
      "icon": "fas fa-icon-name",
      "apps": [
        {
          "id": "Publisher.AppName",
          "name": "Display Name",
          "description": "App description"
        }
      ]
    }
  ]
}

Each app entry requires:

  • id: The winget package identifier (e.g., "Microsoft.VisualStudioCode")
  • name: Display name shown in the interface
  • description: Brief description of the application

You can add new categories or modify existing ones to suit your needs. The changes will be reflected in the web interface after restarting the server.

👩‍💻 Development

Running the Development Server

  1. Navigate to the web directory:
cd src/web
  1. Start the development server:
python server.py
  1. Access the application at http://localhost:8000/index.html

Running Tests

python -m pytest tests/

📁 Project Structure

WHManager/
├── docs/               # Documentation
│   └── screenshots/   # Application screenshots
├── hotfix/            # System update scripts
├── src/               # Source code
│   ├── web/          # Web interface files
│   │   ├── index.html
│   │   ├── apps_manager.html
│   │   ├── apps_config.json
│   │   └── server.py
│   └── scripts/      # Installation scripts
├── config/            # Configuration files
├── tests/             # Test files
└── README.md          # Project documentation

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. See our Contributing Guidelines for details.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Inspired by Ninite
  • Built with winget
  • Modern web technologies

Built with ❤️ by Eliran Cohen

About

WHManager (Windows Host Manager) - A modern, web-based Windows application management system that provides a streamlined, Ninite-like experience powered by winget. Simplify Windows software installation and updates through an intuitive interface while leveraging the official Windows Package Manager.

Topics

Resources

License

Stars

Watchers

Forks