{"id":13575228,"url":"https://github.com/sirleech/Webduino","last_synced_at":"2025-04-04T19:31:30.912Z","repository":{"id":51300324,"uuid":"2006429","full_name":"sirleech/Webduino","owner":"sirleech","description":"Arduino WebServer library","archived":false,"fork":false,"pushed_at":"2020-07-11T15:46:03.000Z","size":751,"stargazers_count":748,"open_issues_count":18,"forks_count":264,"subscribers_count":108,"default_branch":"master","last_synced_at":"2024-11-05T10:46:05.625Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Arduino","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sirleech.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-07-06T12:58:28.000Z","updated_at":"2024-06-11T19:00:56.000Z","dependencies_parsed_at":"2022-09-05T22:20:33.614Z","dependency_job_id":null,"html_url":"https://github.com/sirleech/Webduino","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sirleech%2FWebduino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sirleech%2FWebduino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sirleech%2FWebduino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sirleech%2FWebduino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sirleech","download_url":"https://codeload.github.com/sirleech/Webduino/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247237678,"owners_count":20906329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-08-01T15:00:59.199Z","updated_at":"2025-04-04T19:31:25.902Z","avatar_url":"https://github.com/sirleech.png","language":"Arduino","readme":"# Webduino\n\nThis is an Arduino-based Web Server library, originally developed for a class at NYC Resistor. It's called Webduino, and it's an extensible web server library for the Arduino using the Wiznet-based Ethernet shields. It's released under the MIT license allowing all sorts of reuse.\n\n## Features\n\n- URL parameter parsing\n- Handle the following HTTP Methods: GET, HEAD, POST, PUT, DELETE, PATCH\n- Web Forms\n- Images\n- JSON/RESTful interface\n- HTTP Basic Authentication\n\n## Installation Notes\n\nWith Arduino 1.0, add the Webduino folder to the \"libraries\" folder of your sketchbook directory.\n\nYou can put the examples in your own sketchbook directory, or in hardware/libraries/webduino/examples, as you prefer.\n\nIf you get an error message when building the examples similar to \"WebServer.h not found\", it's a problem with where you put the Webduino folder. The server won't work if the header is directly in the libraries folder.\n\n## Resources\n\n- [Wedbuino Presentation on Google Docs](http://docs.google.com/present/view?id=dd8gqxt8_5c8w9qfg3)\n- [A Wedbuino based file server](http://playground.arduino.cc//Main/WebduinoFileServer)\n\n\n## Compatible Ethernet Shields\n\nThese have all been tested with the library successfully:\n\n- [Freetronics Etherten](http://www.freetronics.com/products/etherten)\n- [Freetronics Ethernet Shield](http://www.freetronics.com/products/ethernet-shield-with-poe)\n- [Arduino Ethernet](http://arduino.cc/en/Main/ArduinoBoardEthernet)\n- [Arduino Ethernet Shield, both original and updated microSD version](http://arduino.cc/en/Main/ArduinoEthernetShield)\n- [Adafruit Ethernet Shield w/ Wiznet 811MJ module](http://www.ladyada.net/make/eshield/)\n- [NKC Electronics Ethernet Shield DIY Kit](http://store.nkcelectronics.com/nkc-ethernet-shield-diy-kit-without-wiz812mj-mod812.html)\n\nShields using the Microchip ENC28J60 chip won't work with the library as that requires more software support for implementating \nthe TCP/IP stack.\n\n## Version history\n\n### 1.7 released in Jan 2012\n\n- fixed Google Code issue [4](http://code.google.com/p/webduino/issues/detail?id=4) where expect fails with high-ASCII characters due to sign issues\n- fixed Google Code issue [8](http://code.google.com/p/webduino/issues/detail?id=8) by adding WEBDUINO_NO_IMPLEMENTATION macro that allows including the class definition without the implementation code\n- fixed Google Code issue [9](http://code.google.com/p/webduino/issues/detail?id=9): allowing prog_char* strings for printP\n- added httpServerError() method to output 500 Internal Server Error message\n- added support for HTTP PUT, DELETE, and PATCH methods (see Google Code issue [11](http://code.google.com/p/webduino/issues/detail?id=11)\n- fixed Google Code issue [12](http://code.google.com/p/webduino/issues/detail?id=12): off-by-one error in name/value parser (readPOSTparam) where the buffer wouldn't ever be completely filled\n- updated copyright string for 2012 and major authors\n- GitHub fork now the official version; all open issues on Google Code site fixed or closed and moved to GitHub\n\n### 1.6 released in Jan 2012\n\n- added [checkCredentials](http://ten-fingers-and-a-brain.com/arduino-projects/webduino/checkcredentials/) and [httpUnauthorized](http://ten-fingers-and-a-brain.com/arduino-projects/webduino/httpunauthorized/) methods as well as readHeader method for HTTP Basic Authentication; currently users will have to do the Base64 encoding outside of Webduino and I'm uncertain whether I ever want this inside the library or not...\n- fixed the request parser: previously the command dispatcher would always pass true for tail_complete, even if the tail was incomplete\n- fixed the command dispatcher: previously the default command could not have a tail, but the EPIC FAIL was returned\n\n### 1.5 released in Dec 2011\n\n- added a default favicon.ico based on the led.png from the Image example to save resources on Firefox trying to load this file on every request if it can't be loaded\n- added keywords.txt for syntax highlighting in Arduino IDE\n- bumped the version number up in response headers and compiler variables\n- added version history to readme\n- fixed default value for prefix\n- fixed /index.html in Hello World example\n\n### releases between Jul 2011 and Dec 2011\n\n- project forked on GitHub by Chris Lee\n- JSON/RESTful interface\n- header Access-Control-Allow-Origin added\n- code split in .h and .cpp files\n- Arduino 1.0 changes by Dave Falkenburg and others\n- adding CRLF after extraHeaders\n\n### 1.4.1 released in Nov 2009\n\n- fix examples to use readPOSTparam method\n\n### 1.4 released in Sep 2009\n\n- bug fix for multple connections\n\n### 1.3.1 released in Aug 2009\n\n- major bug fix for 1.3 for posts where Content-Length is last header sent\n\n### 1.3 released in Aug 2009\n\n- mostly robustness fixes (beta)\n\n### 1.2.1 released in Aug 2009\n\n- fixed HelloWorld example\n\n### 1.2 released in Jul 2009\n\n- now with GET parameter handling\n\n### 1.1 released in Apr 2009\n\n### 1.0 released in Mar 2009\n","funding_links":[],"categories":["Arduino","Libraries"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsirleech%2FWebduino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsirleech%2FWebduino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsirleech%2FWebduino/lists"}