Skip to content

ice02/WingetNexus

Repository files navigation

Version Changes Date
pre-1.0 Initial version based on Winget manifest 1.4 2024-01-21

Logo

Winget Nexus

Winget Nexus is a self-hosted winget package source. It's done with Dotnet core and can run on Linux, Windows, in Docker, locally and in any cloud.

🚀 Features

  • Openid Connect authentication for Web UI.
  • Intuitive and easy to use Webinterface
  • Add your own packages for internal or customized software with multiple versions, installers including architectures and scope
  • Search, list, show and install software - the core winget features all work
  • Support for nested installers and installer switches
  • Easy updating of package metadata
  • Package download counter
  • Support for multiple users and authentication
  • Runs on Windows, Linux etc. using Docker

🚀 Features triggering

🚧 Not Yet Working or Complete

  • Authentication (it's currently not supported by winget)
  • Probably other stuff? It's work-in-progress - please submit an issue and/or PR if you notice anything!

🧭 Getting Started

⚠️ Note: WinGet requires HTTPS for secure communication and without it WinGet will throw an error. It is recommended to put WinGetty behind a reverse proxy with a client-trusted SSL/TLS certificate.
By using a reverse proxy with HTTPS, you can ensure secure transmission of data between clients and WinGetty. Popular reverse proxy solutions include NGINX, Apache, and Caddy. Please refer to the documentation of your chosen reverse proxy for detailed instructions on configuring SSL/TLS certificates.

You can test the WinGet API by opening https://localhost:8080/api/v1/winget/information in a browser or with curl / Invoke-RestMethod.

Now you can add it as a package source in winget using the command provided in the 'Setup' tab in the webinterface:

winget source add -n WingetNexus -t "Microsoft.Rest" -a https://localhost:5001/api/v1/winget/