Find trusted Windows software, verify the installer, and download it through one focused desktop app.
AppForge is a Windows software discovery and download client built with Python, PySide6, and Fluent Widgets. It combines trusted package metadata with optional AI-assisted web discovery, then sends verified direct installer URLs to the integrated concurrent download engine.
The application is intentionally focused: search for an app, inspect its source and installer metadata, and download or install it without navigating through advertising pages or third-party download portals.
- Layered discovery through local cache, Winget, publisher websites, Firecrawl, and Azure OpenAI.
- Strict package identity matching to reject unrelated applications and media archives.
- Direct HTTPS installer extraction with redirect, content type, and file size validation.
- x64, ARM64, and x86 architecture selection.
- Installer, portable, and offline package preferences.
- Source labels for Winget packages, official publisher pages, and AI-discovered results.
- SHA-256 comparison and Windows Authenticode verification after download.
- Inline download progress with pause, resume, retry, cancel, and open-folder actions.
- Separate Download and install workflow with a final verification summary.
- Installed application detection with open, update, reinstall, and uninstall actions.
- Persistent search and logo caching for fast repeat searches.
- Responsive single-page desktop interface with no unnecessary navigation.
AppForge treats discovery, download validation, and publisher verification as separate stages:
- Discovery finds candidate packages from Winget or publisher websites.
- Link validation confirms that the final URL is public HTTPS and returns installer content rather than HTML.
- Metadata verification checks redirects, installer type, architecture, and byte size.
- Post-download verification calculates SHA-256 and asks Windows to validate the Authenticode signature.
An AI-discovered result is not automatically considered publisher-verified. AppForge only reports the verification evidence it actually has.
- Windows 10 or Windows 11
- Python 3.11+
- uv
- Winget is recommended but not required
- Azure Functions Core Tools are optional for a separately hosted local backend
git clone https://github.com/beyondmarks-ai/App_Forger.git
cd App_Forger
uv sync
uv run python AppForge.pyThe desktop app works with Winget and its curated catalog without AI credentials.
Provider credentials belong in the backend and must not be embedded in the desktop executable.
-
Copy the example backend settings:
Copy-Item azure_functions/software_discovery/local.settings.example.json ` azure_functions/software_discovery/local.settings.json
-
Configure these values in the ignored
local.settings.jsonfile:Setting Purpose FIRECRAWL_API_KEYSearch and scrape publisher download pages AZURE_OPENAI_API_KEYAuthenticate with Azure OpenAI AZURE_OPENAI_RESPONSES_URLFull Azure Responses API endpoint AZURE_OPENAI_DEPLOYMENTAzure model deployment name BRANDFETCH_CLIENT_IDOptional software logo provider client ID -
Start AppForge normally. During local development, the desktop invokes the backend handler in a worker thread without exposing a local HTTP port.
For production, deploy azure_functions/software_discovery as an Azure Function and configure the desktop with APPFORGE_BACKEND_URL. Firecrawl and Azure OpenAI credentials remain server-side.
See the backend documentation for request, deployment, and security details.
AppForge settings include:
- Default download folder and parallel task count.
- Preferred CPU architecture and package format.
- Installer verification toggle.
- Search cache lifetime.
- AI web discovery privacy control.
- Optional locale sharing for regional publisher pages.
Run the full test suite:
$env:PYTHONPATH = (Get-Location).Path
uv run --with pytest pytest tests -qRun only the AppForge discovery tests:
uv run --with pytest pytest tests/test_software_discovery.py -qCompile-check the modified Python modules:
uv run python -m compileall -q app features azure_functions testsapp/ Desktop shell and download engine
features/software_pack/ AppForge search, trust, UI, and install workflow
azure_functions/software_discovery/ Firecrawl and AI discovery backend
features/http_pack/ Concurrent HTTP download implementation
tests/ Unit and regression tests
- Never commit
local.settings.json, API keys, function keys, or provider credentials. - Review installer source, signer, and hash information before installation.
- Report suspected security problems through a private GitHub security advisory rather than a public issue.
AppForge is distributed under the GNU General Public License v3.0.
