8000 esp32_https_server/extras at master · amandel/esp32_https_server · GitHub
[go: up one dir, main page]

Skip to content
{"payload":{"allShortcutsEnabled":false,"path":"extras","repo":{"id":489599553,"defaultBranch":"master","name":"esp32_https_server","ownerLogin":"amandel","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-05-07T07:13:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/593340?v=4","public":true,"private":false,"isOrgOwned":false},"currentUser":null,"refInfo":{"name":"master","listCacheKey":"v0:1651908269.8459651","canEdit":false,"refType":"branch","currentOid":"de1876cf6fe717cf236ad6603a97e88f22e38d62"},"tree":{"items":[{"name":"ci","path":"extras/ci","contentType":"directory"},{"name":"docs","path":"extras/docs","contentType":"directory"},{"name":"legacy","path":"extras/legacy","contentType":"directory"},{"name":"Makefile","path":"extras/Makefile","contentType":"file"},{"name":"README.md","path":"extras/README.md","contentType":"file"},{"name":"create_cert.sh","path":"extras/create_cert.sh","contentType":"file"},{"name":"esp32_https_server.doxyfile","path":"extras/esp32_https_server.doxyfile","contentType":"file"}],"templateDirectorySuggestionUrl":null,"readme":{"displayName":"README.md","richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eExtras\u003c/h1\u003e\u003ca id=\"user-content-extras\" class=\"anchor\" aria-label=\"Permalink: Extras\" href=\"#extras\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis folder contains files that are not directly part of the library.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCI – Continuous Integration\u003c/h2\u003e\u003ca id=\"user-content-ci--continuous-integration\" class=\"anchor\" aria-label=\"Permalink: CI – Continuous Integration\" href=\"#ci--continuous-integration\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe \u003ca href=\"/amandel/esp32_https_server/blob/master/extras/ci\"\u003eci\u003c/a\u003e folder contains scripts and data used for automated testing.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDocumentation\u003c/h2\u003e\u003ca id=\"user-content-documentation\" class=\"anchor\" aria-label=\"Permalink: Documentation\" href=\"#documentation\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe \u003ca href=\"/amandel/esp32_https_server/blob/master/extras/docs\"\u003edocs\u003c/a\u003e folder contains documentation about the internal structure\nof the library.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eLegacy folder\u003c/h2\u003e\u003ca id=\"user-content-legacy-folder\" class=\"anchor\" aria-label=\"Permalink: Legacy folder\" href=\"#legacy-folder\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eBefore the repository has been converted to follow the Arduino library\nstructure, the main documentation consisted of a large example sketch.\nFor reference, this sketch is archieved here.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ecreate_cert.sh\u003c/h2\u003e\u003ca id=\"user-content-create_certsh\" class=\"anchor\" aria-label=\"Permalink: create_cert.sh\" href=\"#create_certsh\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe script will create a CA and a server certificate that can be used to\nrun the example sketches. It requires OpenSSL and the xxd tool to convert\nthe DER-certificate data to C header files.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThe certificate will not be trusted by any client, so you need to add a\nsecurity exception in your browser or use eg. the \u003ccode\u003e--insecure\u003c/code\u003e flag when\nusing tools like curl to test the server.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eYou should \u003cstrong\u003enot use this CA and certificates for production\u003c/strong\u003e. Make sure\nthat you know what you're doing.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThe header files \u003ccode\u003ecert.h\u003c/code\u003e and \u003ccode\u003eprivate_key.h\u003c/code\u003e have been copied in every\nexample in the examples folder if the script terminated successfully, so you\ndon't need to care about any imports if you open the examples in the Arduino IDE\nafterwards. The files should look like this:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-c++ notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"\n/* cert.h */\n\nunsigned char example_crt_DER[] = {\n 0x30, 0x82, 0x02, 0x19, 0x30, 0x82, 0x01, 0x82, 0x02, 0x01,\n // ...\n};\nunsigned int example_crt_DER_len = 541;\n\n/* private_key.h */\n\nunsigned char example_key_DER[] = {\n 0x30, 0x82, 0x02, 0x5c, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x00, 0xe1,\n // ...\n};\nunsigned int example_key_DER_len = 608;\n\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e/*\u003c/span\u003e cert.h \u003cspan class=\"pl-c\"\u003e*/\u003c/span\u003e\u003c/span\u003e\n\n\u003cspan class=\"pl-k\"\u003eunsigned\u003c/span\u003e \u003cspan class=\"pl-k\"\u003echar\u003c/span\u003e example_crt_DER[] = {\n \u003cspan class=\"pl-c1\"\u003e0x30\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x82\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x02\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x19\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x30\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x82\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x01\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x82\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x02\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x01\u003c/span\u003e,\n \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e//\u003c/span\u003e ...\u003c/span\u003e\n};\n\u003cspan class=\"pl-k\"\u003eunsigned\u003c/span\u003e \u003cspan class=\"pl-k\"\u003eint\u003c/span\u003e example_crt_DER_len = \u003cspan class=\"pl-c1\"\u003e541\u003c/span\u003e;\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e/*\u003c/span\u003e private_key.h \u003cspan class=\"pl-c\"\u003e*/\u003c/span\u003e\u003c/span\u003e\n\n\u003cspan class=\"pl-k\"\u003eunsigned\u003c/span\u003e \u003cspan class=\"pl-k\"\u003echar\u003c/span\u003e example_key_DER[] = {\n \u003cspan class=\"pl-c1\"\u003e0x30\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x82\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x02\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x5c\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x02\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x01\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x00\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x02\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x81\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x81\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0x00\u003c/span\u003e, \u003cspan class=\"pl-c1\"\u003e0xe1\u003c/span\u003e,\n \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e//\u003c/span\u003e ...\u003c/span\u003e\n};\n\u003cspan class=\"pl-k\"\u003eunsigned\u003c/span\u003e \u003cspan class=\"pl-k\"\u003eint\u003c/span\u003e example_key_DER_len = \u003cspan class=\"pl-c1\"\u003e608\u003c/span\u003e;\n\u003c/pre\u003e\u003c/div\u003e\n\u003c/article\u003e","errorMessage":null,"headerInfo":{"toc":[{"level":1,"text":"Extras","anchor":"extras","htmlText":"Extras"},{"level":2,"text":"CI – Continuous Integration","anchor":"ci--continuous-integration","htmlText":"CI – Continuous Integration"},{"level":2,"text":"Documentation","anchor":"documentation","htmlText":"Documentation"},{"level":2,"text":"Legacy folder","anchor":"legacy-folder","htmlText":"Legacy folder"},{"level":2,"text":"create_cert.sh","anchor":"create_certsh","htmlText":"create_cert.sh"}],"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Famandel%2Fesp32_https_server%2Ftree%2Fmaster%2Fextras"}},"totalCount":7,"showBranchInfobar":true},"fileTree":{"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"examples","path":"examples","contentType":"directory"},{"name":"extras","path":"extras","contentType":"directory"},{"name":"src","path":"src","contentType":"directory"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":"CHANGELOG.md","path":"CHANGELOG.md","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"Makefile","path":"Makefile","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"keywords.txt","path":"keywords.txt","contentType":"file"},{"name":"library.json","path":"library.json","contentType":"file"},{"name":"library.properties","path":"library.properties","contentType":"file"}],"totalCount":14}},"fileTreeProcessingTime":2.693409,"foldersToFetch":[],"treeExpanded":true,"symbolsExpanded":false,"csrf_tokens":{"/amandel/esp32_https_server/branches":{"post":"kLWYsXYmYF8WhV6dp9LAIfYEIHLnDTVNusIpS_pe4xaOyHkK91eJNiYtaMhX3DZHIJYJAKkkXWAacFok3BtuhQ"},"/amandel/esp32_https_server/branches/fetch_and_merge/master":{"post":"qeB24uzADoyM699QDRRGbCuamDX9mgAarTf7JD-hgdNGKTAma5DfHNOLM_wUfAV4pF5mDfY2-EnvmhUKOE5rcw"},"/amandel/esp32_https_server/branches/fetch_and_merge/master?discard_changes=true":{"post":"8CEir1Vd-w5X25Jsu7t-1KOq9B6ggIxEWQarqf2yRVYf6GRr0g0qngi7fsCi0z3ALG4KJqssdBcbq0WH-l2v9g"}}},"title":"esp32_https_server/extras at master · amandel/esp32_https_server","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-263cab1760dd.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-1b17b3e7786a.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true}}}
0