{"id":37543171,"url":"https://github.com/pmpwsk/webframework","last_synced_at":"2026-01-20T18:01:05.684Z","repository":{"id":193516388,"uuid":"688958814","full_name":"pmpwsk/WebFramework","owner":"pmpwsk","description":"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.","archived":false,"fork":false,"pushed_at":"2026-01-04T21:39:29.000Z","size":3055,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-07T11:31:10.975Z","etag":null,"topics":["asp-net","asp-net-core","cross-platform","dotnet","dotnet-core","framework","library","web"],"latest_commit_sha":null,"homepage":"https://uwap.org/projects/webframework","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmpwsk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-08T13:20:09.000Z","updated_at":"2026-01-04T21:39:33.000Z","dependencies_parsed_at":"2023-11-28T05:23:49.401Z","dependency_job_id":"421225d3-c256-4388-b6d7-af54e30abee9","html_url":"https://github.com/pmpwsk/WebFramework","commit_stats":null,"previous_names":["pmpwsk/webframework"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/pmpwsk/WebFramework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmpwsk%2FWebFramework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmpwsk%2FWebFramework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmpwsk%2FWebFramework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmpwsk%2FWebFramework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmpwsk","download_url":"https://codeload.github.com/pmpwsk/WebFramework/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmpwsk%2FWebFramework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28607961,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T16:10:39.856Z","status":"ssl_error","status_checked_at":"2026-01-20T16:10:39.493Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asp-net","asp-net-core","cross-platform","dotnet","dotnet-core","framework","library","web"],"created_at":"2026-01-16T08:47:55.926Z","updated_at":"2026-01-20T18:01:05.358Z","avatar_url":"https://github.com/pmpwsk.png","language":"C#","readme":"# WebFramework\nCross-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.\n\nWebsite: https://uwap.org/projects/webframework\n\nChangelog: https://uwap.org/changes/webframework\n\nGuides: https://uwap.org/guides/webframework\n\n## Main features\n- Modular structure for high customizability\n- 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\n- Automatic SSL certificates using Let's Encrypt\n- Pages and elements so you don't have to write any HTML code\n- .wfpg files to quickly create static web pages\n- Accounts with everything one would expect from an account\n- Mail server (incoming and outgoing) with SPF, DKIM and DMARC\n- Object-oriented database\n- File server with server cache and browser cache management\n- Worker to regularly update files, handle memory integrity, certificates and more\n- Plugins (see more below)\n- Option for usage as a local web server for local web apps as interfaces for proper apps on a computer\n- Backups for the database and external files\n \n...and much more!\n\nMost features have plugins as interfaces.\n\n## Installation\nYou can get the NuGet package here: [uwap.WebFramework](https://www.nuget.org/packages/uwap.WebFramework/)\n\nYou can also download the source code from GitHub and add a reference to it from your project.\n\nThis 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).\n\n## Official plugins\n- ServerPlugin (interface for server management by administrator accounts)\n- UsersPlugin (interface for accounts)\n- NotesPlugin (web app for user's notes)\n- MailPlugin (mailbox system and interface for the mail server)\n- RedirectPlugin (allows for static redirects)\n- BackupDownloaderPlugin (for off-site backup storage)\n\n## Planned plugins\n- FilesPlugin (file management for admins and interface for a file server)\n- GitPlugin (interface for a git server running on the same machine)\n- FinancesPlugin (simple finance manager for users)\n\n## Used libraries\n- [Certes](https://github.com/fszlin/certes) to talk to Let's Encrypt\n- [DnsClient.NET](https://github.com/MichaCo/DnsClient.NET) for DNS requests to find mail servers and check mail authentication\n- [MailKit](https://github.com/jstedfast/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\n- [SmtpServer](https://github.com/cosullivan/SmtpServer) to listen for incoming emails on the raw SMTP level\n- [Otp.NET](https://github.com/kspearrin/Otp.NET) to generate and check time-based one-time passwords (TOTP) for two-factor authentication\n- [QRCoder](https://github.com/codebude/QRCoder) to generate QR codes for 2FA setup strings\n- [Isopoh.Cryptography.Argon2](https://github.com/mheyman/Isopoh.Cryptography.Argon2) to hash passwords using Argon2\n- [IPAddressRange](https://github.com/jsakamoto/ipaddressrange) to parse IP address ranges and check whether a given IP address is within that range (used for mail authentication)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmpwsk%2Fwebframework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmpwsk%2Fwebframework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmpwsk%2Fwebframework/lists"}