Go to file
Mike Nolan 1a16846d7d Doing some fixup 2024-03-30 20:01:37 -05:00
.vs/Tesses.WebServer/xs added badges 2022-04-03 11:05:35 -05:00
Tesses.WebServer.ClientTest Fix path security bug and added features 2024-03-18 07:31:51 -05:00
Tesses.WebServer.Console Doing some fixup 2024-03-30 20:01:24 -05:00
Tesses.WebServer.FileServer Fix path security bug and added features 2024-03-18 07:31:51 -05:00
Tesses.WebServer.NetStandard Doing some fixup 2024-03-30 20:01:24 -05:00
.gitignore Initial Commit 2022-04-02 13:59:12 -05:00
LICENSE.md Change license to GPL, add VFS, directory listing and upload support 2022-12-14 12:08:52 -06:00
README.md Doing some fixup 2024-03-30 20:01:24 -05:00
Tesses.WebServer.sln Change license to GPL, add VFS, directory listing, upload support and a fileserver example 2022-12-14 12:11:03 -06:00
http-icon.png Doing some fixup 2024-03-30 20:01:37 -05:00

README.md

Tesses.WebServer

Tesses.WebServer Nuget Tesses.WebServer Downloads

License

Starting with 1.0.3.9 this library will use GPL-3.0 If you can not use GPL either use 1.0.3.8 or use another library

A TcpListener HTTP Server

WARNING: use at least version 1.0.4.2 because of security issue with paths

To make your life easier, install Tesses.WebServer.EasyServer alongside Tesses.WebServer and use this code:

using Tesses.WebServer;
using Tesses.WebServer.EasyServer;

...

StaticServer server=new StaticServer(""); //or any server

...

server.StartServer(9500); //or any port number 
//and it will print your ips to console with 
//the message Almost ready to Listen

Currently Supports

  • GET+HEAD+POST Requests
  • Seekable Video Files (or any file) (Using Range)
  • Can Send/Receive Json To/From Client with helper functions (uses Newtonsoft.Json)
  • Cors Header
  • Chunked encoding
  • Tesses.IVirtualFileSystem support (Work in progress and buggy)
  • wii-linux-ngx using this copy of mono

Classes To Make It Easier

  • Static Website Class (Can pass in other class (instead of 404 when file doesnt exist) can choose other names other than index.html, index.htm, default.html, default.htm)
  • 404 Not Found Class
  • Mount class (So you could use Multiple Apis, And Static Sites If you want)
  • Basic Auth Class
  • Route Class (Just like dajuric/simple-http, except it uses query parameters)
  • Host Name Class (like Mount Class but is used for hostnames/ip addresses like tesses.net, 192.168.0.142, demilovato.com, ebay.com, tessesstudios.com, godworldwide.org)
  • Path Value Class (can handle paths like this /user/Jehovah/files where Jehovah is the path element)

Might Happen But not sure

  • WebDav Class (and may be used in a seperate library)
  • Reverse Proxy (in a seperate library)

Note: Range code, POST code and Route Class is not mine its a modified version of the code from ( dajuric/simple-http)

Note the nuget icon is from here