Sign Up

IG HTTP Server by Illuminated G - Toolkit for LabVIEW Download

HTTP Web Server implemented with 100% LabVIEW. Includes HTTPS, Form handling, Sessions, WebSocket Upgrades, and more.

D Discussion Watch * 0 ↓919
 logo
Version0.5.3.36
ReleasedOct 16, 2023
Publisher Illuminated G
License MIT
LabVIEW VersionLabVIEW>=20.0
Operating System Windows, Mac, and Linux
Dependencies illuminatedg_lib_ig_http_utils   illuminatedg_lib_ig_simple_msg   illuminatedg_lib_ig_stream_base   illuminatedg_lib_ig_tcp_stream   illuminatedg_lib_ig_web&crypto   illuminatedg_lib_ig_websocket_stream  
Used By illuminatedg_lib_ig_godotserver  
Project links Homepage   Discussion

Description

HTTP Web Server for LabVIEW applications. Provides easy to use common features such as file serving and request handling akin to LabVIEW Web Services. The underlying processing flow is comprised of many steps that can be augmented with additional functionality by registering interface implementations specific to each step.

For demos and examples see the IG HTTP Server Examples package.

This project is under active development and as such should not be considered a secure web server implementation without your own verification with the features you use. This server does aim to default to the more secure option when possible and enables important features such as HTTPS and secure WebSockets but care should always be taken any time a server is exposed to a network.

The github repository at https://github.com/illuminated-g/lv-http-server provides most of the high level documentation and there are plenty of examples to demonstrate the available features.

Features of this web server include:
- HTTPS including automatic redirecting from port 80 to the HTTPS port
- File Serving - includes protections against attacks trying to ascend out of the specified root folder
- Sessions (& Cookies) - Ability to store user data server side across requests
- WebSocket connection upgrades - Enable WebSocket connection by request path at the same port the web content is accessed at.
- CSRF tokens to make it easier to protect against POST and other submission attacks
- Request processing trace logging - Useful for debug and performance testing
- Authentication framework - Automated redirects to login page, logout handling, ability to plug in implementations for users and user providers to identify requests, and utilities for ensuring passwords are handled in a more secure manner.
- Debug mode to respond to error requests with the full error message

Needs work:
- Caching - implemented but caching handlers don't react to cache headers properly.

Release Notes

0.5.3.36 (Oct 16, 2023)

Known Issues:
- Cache control does not work properly.

0.5.3.36
- Removal of VIMs throughout implementation preventing builds on RT.
- Cleanup and documentation of some public VIs (github repo is still the best source for documentation)

0.5.2.34
- Fix bug introduced with wrapped TCP server that enabled websocket upgrades not being used for encrypted connections

0.5.1.32
- Make insecure server port input not required, default to port 80

0.5.1.31
- Remove examples from server package so new examples can be created without version bumping server.

derrickb was a contributor to this release


Download Package

Versions
All Contributors

  Post an Idea   Post a Resource

Recent Posts