Skip to content

Instantly share code, notes, and snippets.

@9nut
Last active August 14, 2024 01:45
Show Gist options
  • Save 9nut/b093efef6ed8eadc4acf712aefe4a1bf to your computer and use it in GitHub Desktop.
Save 9nut/b093efef6ed8eadc4acf712aefe4a1bf to your computer and use it in GitHub Desktop.
OpenSprinkler Firmware (OSPi) mods for HTTPS reverse proxy
diff --git a/etherport.cpp b/etherport.cpp
index 58e89b0..a7479cf 100644
--- a/etherport.cpp
+++ b/etherport.cpp
@@ -69,7 +69,7 @@ bool EthernetServer::begin()
struct sockaddr_in6 sin = {0};
sin.sin6_family = AF_INET6;
sin.sin6_port = htons(m_port);
- sin.sin6_addr = in6addr_any;
+ sin.sin6_addr = in6addr_loopback; // in6addr_any;
if ((m_sock = socket(PF_INET6, SOCK_STREAM, 0)) < 0)
{
@@ -447,4 +447,4 @@ int EthernetClientSsl::read(uint8_t *buf, size_t size) {
size_t EthernetClientSsl::write(const uint8_t *buf, size_t size) {
return SSL_write(ssl, buf, size);
}
-#endif
\ No newline at end of file
+#endif
module tavakkolian.com/tinyproxy
go 1.22.5
package main
import (
"flag"
"log"
"net/http"
"net/http/httputil"
"net/url"
)
func main() {
addr := flag.String("a", "http://::1:8080", "backend server address")
keyf := flag.String("k", "key.pem", "key file name")
crtf := flag.String("c", "cert.pem", "certificate file name")
flag.Parse()
srvurl, err := url.Parse(*addr)
if err != nil {
log.Fatal(err)
}
proxy := httputil.NewSingleHostReverseProxy(srvurl)
http.Handle("/", proxy)
log.Fatal(http.ListenAndServeTLS(":443", *crtf, *keyf, proxy))
}
This is the gist of the mods to serve OpenSprinkler over https.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment