mirror of
https://github.com/omaha-consulting/winget.pro.git
synced 2026-10-24 21:02:23 +00:00
08abfabe710b44ca760013d1f7633c6572fb074b
winget private repository
A Python implementation of a private winget repository server (/REST API).
Setting up a local SSL certificate
winget only allows https:// sources. This means that if we want to run
locally, then we need a self-signed SSL certificate for localhost.
localhost.pfx can be used for this purpose. It was
created from these instructions.
To install it, issue the following in a Powershell Admin prompt:
$password=ConvertTo-SecureString "12345" -asplaintext -force
Import-PfxCertificate -FilePath conf\localhost.pfx Cert:\LocalMachine\My -Password $password -Exportable
Import-Certificate -FilePath conf\localhost.cert -CertStoreLocation Cert:\CurrentUser\Root
To remove it later, run mmc, click File/Add or Remove Snap-in then
Certificates/Add/My User account then Finish and again for
Computer account. Then click OK. Then delete localhost expiring 2041 from
Current User/Personal, Current User/Trusted Root Certification Authorities,
and Local Computer/Personal.
Set up the development environment
pip install -Ur requirements/base-full.txt
Run locally
python manage.py runserver
Then:
python sslproxy.py
Then you can open https://localhost:8443 in the browser.
To add the REST source:
winget source add -n "winget-pkgs-restsource" -a https://localhost:8443/api/ -t "Microsoft.Rest"
Description
Missing features
The open source version lacks the following features:
Automatic backups
Mirroring another repository
Microsoft Entra ID integration
Hosting installers on Azure Blob Storage
Localized installers and packages
Serving installers from external URLs
Specifying dependencies between packages
Support for winget PackageDocumentations
Support for winget AppsAndFeaturesEntries
Readme
AGPL-3.0
337 KiB
Languages
Python
79.5%
Shell
12.6%
HTML
7.5%
Dockerfile
0.4%