2024-02-23 14:28:59 +01:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
2024-02-23 17:48:25 +01:00
|
|
|
"crypto/tls"
|
2024-02-23 14:28:59 +01:00
|
|
|
"fmt"
|
2024-02-23 18:23:31 +01:00
|
|
|
"io"
|
2024-02-23 14:28:59 +01:00
|
|
|
"log"
|
2024-02-23 17:48:25 +01:00
|
|
|
"net"
|
|
|
|
"os"
|
|
|
|
|
|
|
|
"git.qowevisa.me/Qowevisa/gotell/env"
|
2024-02-23 14:28:59 +01:00
|
|
|
)
|
|
|
|
|
2024-02-23 17:48:25 +01:00
|
|
|
func main() {
|
2024-02-23 18:02:43 +01:00
|
|
|
host, err := env.GetHost()
|
|
|
|
if err != nil {
|
2024-02-23 18:23:31 +01:00
|
|
|
log.Fatal(err)
|
2024-02-23 18:02:43 +01:00
|
|
|
}
|
|
|
|
port, err := env.GetPort()
|
|
|
|
if err != nil {
|
2024-02-23 18:23:31 +01:00
|
|
|
log.Fatal(err)
|
2024-02-23 18:02:43 +01:00
|
|
|
}
|
2024-02-23 18:23:31 +01:00
|
|
|
//
|
|
|
|
serverCert, err := os.ReadFile("./server.pem")
|
|
|
|
if err != nil {
|
|
|
|
log.Fatal(err)
|
2024-02-23 17:48:25 +01:00
|
|
|
}
|
2024-02-23 18:23:31 +01:00
|
|
|
serverKey, err := os.ReadFile("./server.key")
|
2024-02-23 15:32:08 +01:00
|
|
|
if err != nil {
|
2024-02-23 18:23:31 +01:00
|
|
|
log.Fatal(err)
|
2024-02-23 14:28:59 +01:00
|
|
|
}
|
2024-02-23 18:23:31 +01:00
|
|
|
cer, err := tls.X509KeyPair(serverCert, serverKey)
|
|
|
|
if err != nil {
|
|
|
|
log.Fatal(err)
|
|
|
|
}
|
|
|
|
config := &tls.Config{Certificates: []tls.Certificate{cer}}
|
|
|
|
//
|
2024-02-23 17:48:25 +01:00
|
|
|
|
2024-02-23 18:42:31 +01:00
|
|
|
log.Printf("Serving on %s:%d\n", host, port)
|
2024-02-23 18:23:31 +01:00
|
|
|
l, err := tls.Listen("tcp", fmt.Sprintf("%s:%d", host, port), config)
|
|
|
|
if err != nil {
|
|
|
|
log.Fatal(err)
|
|
|
|
}
|
|
|
|
defer l.Close()
|
2024-02-23 17:48:25 +01:00
|
|
|
|
2024-02-23 18:23:31 +01:00
|
|
|
for {
|
|
|
|
conn, err := l.Accept()
|
2024-02-23 17:48:25 +01:00
|
|
|
if err != nil {
|
2024-02-23 18:23:31 +01:00
|
|
|
log.Fatal(err)
|
2024-02-23 17:48:25 +01:00
|
|
|
}
|
2024-02-23 18:23:31 +01:00
|
|
|
go func(c net.Conn) {
|
2024-02-25 02:13:24 +01:00
|
|
|
log.Printf("Get connection: %#v\n", c)
|
2024-02-23 18:23:31 +01:00
|
|
|
io.Copy(os.Stdout, c)
|
|
|
|
fmt.Println()
|
|
|
|
c.Close()
|
|
|
|
}(conn)
|
2024-02-23 17:48:25 +01:00
|
|
|
}
|
|
|
|
}
|