add option to enable http server or not

This commit is contained in:
Fijxu 2025-03-04 15:10:26 -03:00
parent 6f4567df0c
commit f9b7cf20ed
Signed by: Fijxu
GPG key ID: 32C1DDF333EDA6A4

View file

@ -176,11 +176,15 @@ func main() {
defaultTLSCert := "/data/cert.pem" defaultTLSCert := "/data/cert.pem"
defaultTLSKey := "/data/key.key" defaultTLSKey := "/data/key.key"
var http_server bool = true
var https bool = false var https bool = false
var h3c bool = false var h3c bool = false
var ipv6 bool = false var ipv6 bool = false
var bc bool = true var bc bool = true
if strings.ToLower(getenv("HTTP")) == "true" {
http_server = true
}
if strings.ToLower(getenv("HTTPS")) == "true" { if strings.ToLower(getenv("HTTPS")) == "true" {
https = true https = true
} }
@ -339,34 +343,38 @@ func main() {
go srv.Serve(socket_listener) go srv.Serve(socket_listener)
log.Println("Unix socket listening at:", string(sock)) log.Println("Unix socket listening at:", string(sock))
if https { if http_server {
if _, err := os.Open(tls_cert); errors.Is(err, os.ErrNotExist) { if https {
log.Panicf("Certificate file does not exist at path '%s'", tls_cert) if _, err := os.Open(tls_cert); errors.Is(err, os.ErrNotExist) {
} log.Panicf("Certificate file does not exist at path '%s'", tls_cert)
if _, err := os.Open(tls_key); errors.Is(err, os.ErrNotExist) {
log.Panicf("Key file does not exist at path '%s'", tls_key)
}
log.Println("Serving HTTPS at port", string(port)+"/tcp")
go func() {
if err := srv.ServeTLS(ln, tls_cert, tls_key); err != nil {
log.Fatal("Failed to server HTTP/2", err.Error())
} }
}()
if h3s { if _, err := os.Open(tls_key); errors.Is(err, os.ErrNotExist) {
log.Println("Serving HTTP/3 (HTTPS) via QUIC at port", string(port)+"/udp") log.Panicf("Key file does not exist at path '%s'", tls_key)
}
log.Println("Serving HTTPS at port", string(port)+"/tcp")
go func() { go func() {
if err := srvh3.ListenAndServeTLS(tls_cert, tls_key); err != nil { if err := srv.ServeTLS(ln, tls_cert, tls_key); err != nil {
log.Fatal("Failed to serve HTTP/3:", err.Error()) log.Fatal("Failed to server HTTP/2", err.Error())
} }
}() }()
}
select {} if h3s {
} else { log.Println("Serving HTTP/3 (HTTPS) via QUIC at port", string(port)+"/udp")
log.Println("Serving HTTP at port", string(port)) go func() {
if err := srv.Serve(ln); err != nil { if err := srvh3.ListenAndServeTLS(tls_cert, tls_key); err != nil {
log.Fatal(err) log.Fatal("Failed to serve HTTP/3:", err.Error())
}
}()
}
select {}
} else {
log.Println("Serving HTTP at port", string(port))
if err := srv.Serve(ln); err != nil {
log.Fatal(err)
}
} }
} }
} }