arduino / Arduino

Arduino IDE 1.x
https://www.arduino.cc/en/software
Other
14.18k stars 7.01k forks source link

[Library Manager] Please add EthernetWebServer_SSL Library #10965

Closed khoih-prog closed 4 years ago

khoih-prog commented 4 years ago

Please add EthernetWebServer_SSL library to Library Manager.

Thanks and Regards.


Why do we need this EthernetWebServer_SSL library

This EthernetWebServer_SSL library is a simple yet complete TLS/SSL WebClient and non-TLS/SSL WebServer library for TAVR, eensy, SAM DUE, Arduino SAMD21, Adafruit SAMD21/SAMD51, Adafruit nRF52, ESP32/ESP8266, STM32, etc. boards using Ethernet shields. The functions are similar and compatible to those of ESP32 WebServer and ESP8266WebServer libraries to make life much easier to port sketches from ESP8266/ESP32.

This EthernetWebServer_SSL library adds TLS 1.2 functionality to EthernetClient, using BearSSL as an underlying TLS engine.

Currently supported Boards

This EthernetWebServer_SSL library currently supports these following boards:

  1. nRF52 boards, such as AdaFruit Feather nRF52832, nRF52840 Express, BlueFruit Sense, Itsy-Bitsy nRF52840 Express, Metro nRF52840 Express, NINA_B302_ublox, NINA_B112_ublox, etc.. Currently SSL WebClient is not working.

  2. SAM DUE

  3. SAMD21

    • Arduino SAMD21: ZERO, MKRs, NANO_33_IOT, etc.
    • Adafruit SAMD21 (M0): ItsyBitsy M0, Feather M0, Feather M0 Express, Metro M0 Express, Circuit Playground Express, Trinket M0, PIRkey, Hallowing M0, Crickit M0, etc.
    • SeeedStudio: LoRaWAN, Zero, Femto M0, XIAO M0, Wio GPS Board, etc.
  4. SAMD51

    • Adafruit SAMD51 (M4): Metro M4, Grand Central M4, ItsyBitsy M4, Feather M4 Express, Trellis M4, Metro M4 AirLift Lite, MONSTER M4SK Express, Hallowing M4, etc.
    • Seeeduino: WIO Terminal, Grove UI Wireless
  5. Teensy (4.1, 4.0, 3.6, 3.5, 3,2, 3.1, 3.0, LC)

  6. AVR Mega1280, 2560, ADK.. SSL WebClient not supported yet. Check Trivial sketch won't compile using Arduino 1.8.13

  7. ESP32

  8. ESP8266. SSL WebClient not supported yet. Check HTTPS GET request - ESP8266 - ENC28j60

Supporting Ethernet shields/modules:

  1. W5x00 using Ethernet, EthernetLarge, Ethernet2 or Ethernet3 library
  2. ENC28J60 using EthernetENC or UIPEthernet library

The library provides these features:

  1. TCP Server and Client
  2. UDP Server and Client
  3. HTTP Server and HTTP/HTTPS Client
  4. HTTPS GET and POST requests, provides argument parsing, handles one client at a time.

Library is based on and modified from:

  1. Ivan Grokhotkov's ESP8266WebServer
  2. Ivan Grokhotkov's ESP32 WebServer
  3. OPEnSLab-OSU's SSLClient v1.6.9

The EthernetWebServer class, found in EthernetWebServer.h header, is a simple WebServer class, knowing how to handle HTTP requests such as GET and POST and can only support one one client at a time.

The EthernetSSLClient class, found in SSLClient.h header, is a simple WebClient class, knowing how to handle HTTP/HTTPS requests such as GET and POST and can only support one client at a time.

cmaglie commented 4 years ago

Done.