uwap.WebFramework
1.5.0.2
See the version list below for details.
dotnet add package uwap.WebFramework --version 1.5.0.2
NuGet\Install-Package uwap.WebFramework -Version 1.5.0.2
<PackageReference Include="uwap.WebFramework" Version="1.5.0.2" />
paket add uwap.WebFramework --version 1.5.0.2
#r "nuget: uwap.WebFramework, 1.5.0.2"
// Install uwap.WebFramework as a Cake Addin #addin nuget:?package=uwap.WebFramework&version=1.5.0.2 // Install uwap.WebFramework as a Cake Tool #tool nuget:?package=uwap.WebFramework&version=1.5.0.2
WebFramework
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
- 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)
- 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
...and much more!
Most features have plugins as interfaces.
Installation
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
- Server (interface for server management by administrator accounts)
- Users (interface for accounts)
- Notes (web app for user's notes)
- Redirects (allows for static redirects)
Planned plugins
- Mail (mailbox system and interface for the mail server)
- Files (file management for admins and interface for a file server)
- Git (interface for a git server running on the same machine)
- Finances (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 | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
-
net7.0
- Certes (>= 3.0.4)
- DnsClient (>= 1.7.0)
- IPAddressRange (>= 6.0.0)
- Isopoh.Cryptography.Argon2 (>= 2.0.0)
- MailKit (>= 4.2.0)
- Otp.NET (>= 1.3.0)
- Portable.BouncyCastle (>= 1.9.0)
- QRCoder (>= 1.4.3)
- SmtpServer (>= 9.0.3)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on uwap.WebFramework:
Package | Downloads |
---|---|
uwap.UsersPlugin
Plugin for WebFramework that adds a simple interface to register, log in and manage your account settings. |
|
uwap.NotesPlugin
Plugin for WebFramework that adds a simple notes app for users. |
|
uwap.ServerPlugin
Plugin for WebFramework that adds a simple interface to manage the program and server in general. |
|
uwap.RedirectPlugin
Plugin for WebFramework that adds simple static redirects. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.1.0 | 121 | 5/26/2024 |
2.0.0.1 | 149 | 3/17/2024 |
2.0.0 | 248 | 3/3/2024 |
1.5.4 | 135 | 2/10/2024 |
1.5.3 | 134 | 12/29/2023 |
1.5.2.1 | 186 | 11/18/2023 |
1.5.2 | 115 | 11/18/2023 |
1.5.1.2 | 143 | 11/7/2023 |
1.5.1.1 | 118 | 11/7/2023 |
1.5.1 | 122 | 11/7/2023 |
1.5.0.2 | 122 | 11/5/2023 |
1.5.0.1 | 139 | 10/31/2023 |
1.5.0 | 160 | 10/29/2023 |
1.4.2 | 159 | 10/6/2023 |
1.4.1 | 168 | 9/26/2023 |
1.4.0 | 144 | 9/24/2023 |
1.3.4.1 | 130 | 9/18/2023 |
1.3.4 | 160 | 9/17/2023 |
1.3.3.3 | 139 | 9/16/2023 |
1.3.3.2 | 132 | 9/15/2023 |
1.3.3.1 | 135 | 9/15/2023 |
1.3.3 | 141 | 9/15/2023 |
1.3.2 | 171 | 9/15/2023 |
1.3.1 | 128 | 9/15/2023 |