dotnet add package uwap.WebFramework --version
NuGet\Install-Package uwap.WebFramework -Version
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="uwap.WebFramework" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add uwap.WebFramework --version
#r "nuget: uwap.WebFramework,"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install uwap.WebFramework as a Cake Addin
#addin nuget:?package=uwap.WebFramework&version=

// Install uwap.WebFramework as a Cake Tool
#tool nuget:?package=uwap.WebFramework&version=


Cross-platform .NET library written in C# that allows you to create a web server for dynamic and/or static websites and web apps with ease.

Website: https://uwap.org/projects/webframework

Changelog: https://uwap.org/changes/webframework

Guides: https://uwap.org/guides/webframework

Main features

  • Modular structure for high customizability
  • Events for different types of HTTP requests (app, API, post, upload, download) with objects for easy access to everything you need to handle those requests
  • Automatic SSL certificates using Let's Encrypt
  • Pages and elements so you don't have to write any HTML code
  • .wfpg files to quickly create static web pages
  • Accounts with everything one would expect from an account
  • Mail server (incoming and outgoing) with SPF, DKIM and DMARC
  • Object-oriented database
  • File server with server cache and browser cache management
  • Worker to regularly update files, handle memory integrity, certificates and more
  • Plugins (see more below)
  • Option for usage as a local web server for local web apps as interfaces for proper apps on a computer
  • Backups for the database and external files

...and much more!

Most features have plugins as interfaces.


You can get the NuGet package here: uwap.WebFramework

You can also download the source code from GitHub and add a reference to it from your project.

This library is based on ASP.NET, so it's best to create an empty ASP.NET project rather than a console app (those will terminate unless paused otherwise).

Official plugins

  • ServerPlugin (interface for server management by administrator accounts)
  • UsersPlugin (interface for accounts)
  • NotesPlugin (web app for user's notes)
  • MailPlugin (mailbox system and interface for the mail server)
  • RedirectPlugin (allows for static redirects)
  • BackupDownloaderPlugin (for off-site backup storage)

Planned plugins

  • FilesPlugin (file management for admins and interface for a file server)
  • GitPlugin (interface for a git server running on the same machine)
  • FinancesPlugin (simple finance manager for users)

Used libraries

  • Certes to talk to Let's Encrypt
  • DnsClient.NET for DNS requests to find mail servers and check mail authentication
  • MailKit to decode and encode emails from/to SMTP-compliant messages, send emails on the SMTP level once a suitable mail server for the recipient has been found, and validate DKIM signatures of messages against the keys found in the DNS records
  • SmtpServer to listen for incoming emails on the raw SMTP level
  • Otp.NET to generate and check time-based one-time passwords (TOTP) for two-factor authentication
  • QRCoder to generate QR codes for 2FA setup strings
  • Isopoh.Cryptography.Argon2 to hash passwords using Argon2
  • IPAddressRange to parse IP address ranges and check whether a given IP address is within that range (used for mail authentication)
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on uwap.WebFramework:

Package Downloads

Plugin for WebFramework that adds a simple interface to register, log in and manage your account settings.


Plugin for WebFramework that adds a simple interface to manage the program and server in general.


Plugin for WebFramework that adds a simple notes app for users.


Plugin for WebFramework that adds simple static redirects.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated 114 3/17/2024
2.0.0 165 3/3/2024
1.5.4 102 2/10/2024
1.5.3 104 12/29/2023 137 11/18/2023
1.5.2 92 11/18/2023 99 11/7/2023 89 11/7/2023
1.5.1 90 11/7/2023 88 11/5/2023 103 10/31/2023
1.5.0 119 10/29/2023
1.4.2 123 10/6/2023
1.4.1 121 9/26/2023
1.4.0 113 9/24/2023 102 9/18/2023
1.3.4 124 9/17/2023 104 9/16/2023 103 9/15/2023 102 9/15/2023
1.3.3 108 9/15/2023
1.3.2 132 9/15/2023
1.3.1 99 9/15/2023