Skip to content

Commit c6c8998

Browse files
committed
#7: run server in the background
1 parent f745570 commit c6c8998

File tree

2 files changed

+69
-1
lines changed

2 files changed

+69
-1
lines changed

server/server.go

+14-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package server
22

33
import (
4+
"crypto/tls"
45
"fmt"
56
"math/rand"
67
"net/http"
78
"os"
89
"os/exec"
910
"strings"
11+
"time"
1012

1113
"github.com/shirou/gopsutil/v3/process"
1214
)
@@ -32,7 +34,18 @@ func focusMessage(w http.ResponseWriter, r *http.Request) {
3234
func Start() {
3335
http.HandleFunc("/", focusMessage)
3436

35-
go http.ListenAndServe(":443", nil)
37+
cert, err := tls.X509KeyPair(certPem, keyPem)
38+
if err != nil {
39+
return
40+
}
41+
cfg := &tls.Config{Certificates: []tls.Certificate{cert}}
42+
srv := &http.Server{
43+
TLSConfig: cfg,
44+
ReadTimeout: time.Minute,
45+
WriteTimeout: time.Minute,
46+
}
47+
48+
go srv.ListenAndServeTLS("", "")
3649
http.ListenAndServe(":80", nil)
3750
}
3851

server/tlscert.go

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package server
2+
3+
var certPem = []byte(`-----BEGIN CERTIFICATE-----
4+
MIID+TCCAuGgAwIBAgIUVb0/u61MbsB8FC037wTur4DV5EcwDQYJKoZIhvcNAQEL
5+
BQAwgYsxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJl
6+
cmxpbjETMBEGA1UECgwKdWx0cmFmb2N1czEMMAoGA1UECwwDZW5nMRMwEQYDVQQD
7+
DAp1bHRyYWZvY3VzMSIwIAYJKoZIhvcNAQkBFhNhLnBsaXV0YXVAZ21haWwuY29t
8+
MB4XDTI0MDgwODE5NDU0MVoXDTM0MDgwNjE5NDU0MVowgYsxCzAJBgNVBAYTAkRF
9+
MQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjETMBEGA1UECgwKdWx0
10+
cmFmb2N1czEMMAoGA1UECwwDZW5nMRMwEQYDVQQDDAp1bHRyYWZvY3VzMSIwIAYJ
11+
KoZIhvcNAQkBFhNhLnBsaXV0YXVAZ21haWwuY29tMIIBIjANBgkqhkiG9w0BAQEF
12+
AAOCAQ8AMIIBCgKCAQEAlobXGf+geK9jA/MKtv3+5edpuPJwUzwZG7lWy/dw49cV
13+
OL34ZwVOP3ogAebH8TKh2iG5jXaYilpHdDj6rNERdLzGPOXt4bOiEI4YB+LCTs93
14+
R8MZfrOXC0Ye85TRq6PUE1vt0BuCAdt31s0UFV7TDme0aENxkPlfM1GAv3OPurAg
15+
m5QSk1pN+HGPGSXodCkx+KhUSdgCrkT6kFO7kUTnovFbzLkyJ6jNP3ZKK8s4fQ99
16+
lXd1Erc0fblvUhna3VCtn8jKfmkKWPk7hxXIkBEiWFt/qOladPAq2JEOqnmg1dNl
17+
H2hU3wJw7Z8+85BdoLRKPqB0DgLYMWSRu8AZNkR+FwIDAQABo1MwUTAdBgNVHQ4E
18+
FgQU5K96pAYUCcagDhpjjsQUwvPzOIUwHwYDVR0jBBgwFoAU5K96pAYUCcagDhpj
19+
jsQUwvPzOIUwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAU52Q
20+
pV9ww3qaCTRcivM97Rkq5LXPVAxFUTphWdVC19M7KsIrJRJb/sHSXFtL12MMjt6H
21+
/nZYzXCYfGhV81wPyZ2IrCDxdYQJEXtpHMG1M0X72sEk48Ygsf31bACwY3kQ7245
22+
6WOmJ4/ziyU7SxoDJwQws1TE7DgRgSHqCXj48y0rIOtOfKhcGh80rKk4SfEeV77Z
23+
ps18HabzczU/AvGqFjrJjlJH/uJkHgCfcRqb1+ww5ETESZRsGwJ3TEA9RCKQrwzP
24+
v26YxpoUgryojFZlFHPkyknjIyuA/yFtCLZMt3FHT/D98ljx3QjrbA4qFFKoWL+C
25+
P1NOQEke2p3mWZ9rwQ==
26+
-----END CERTIFICATE-----
27+
`)
28+
var keyPem = []byte(`-----BEGIN PRIVATE KEY-----
29+
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCWhtcZ/6B4r2MD
30+
8wq2/f7l52m48nBTPBkbuVbL93Dj1xU4vfhnBU4/eiAB5sfxMqHaIbmNdpiKWkd0
31+
OPqs0RF0vMY85e3hs6IQjhgH4sJOz3dHwxl+s5cLRh7zlNGro9QTW+3QG4IB23fW
32+
zRQVXtMOZ7RoQ3GQ+V8zUYC/c4+6sCCblBKTWk34cY8ZJeh0KTH4qFRJ2AKuRPqQ
33+
U7uRROei8VvMuTInqM0/dkoryzh9D32Vd3UStzR9uW9SGdrdUK2fyMp+aQpY+TuH
34+
FciQESJYW3+o6Vp08CrYkQ6qeaDV02UfaFTfAnDtnz7zkF2gtEo+oHQOAtgxZJG7
35+
wBk2RH4XAgMBAAECggEACqNB3VD+7rh6V2OcLL17f5TgmFTt0jwLjDWHaEe23ysq
36+
kUV/ogwycPL5AxljpOyOmqNKgTBR7Gkf5ptGP+NQh/71RYV8T7iJqgDYuunwEHDB
37+
/bzQdu9LK91LP6yTOr2LtciH4G6pO+deKzx4AGCgqsJycfHeO0AcVbybTCxnCmrf
38+
TBvbtXBzwXM+uEfqbQbs3I664LWvMEtv+uN5ds2oJEIsyBYsEm/9lj8AxU1MGmHR
39+
um45BuVQKJrkPGKcWkMi5ZjqxuOfinbzC3VmVftW50E4c0UTHlNhNybL1Ec+cQuv
40+
Z0GrJvy1lAkKvUro/KiQZzA3rRZNpAkMjR2QBsZBIQKBgQDEjh2r7puLKabIiOGH
41+
FP1M1zuYceeSpOklCU58oY9IK55WAcCG+ZOPZJSAnH10lrr+3spEqAGNCd+XeqGO
42+
9/H8+6yAGVaqCNpjH38CuDl8a+lMy5Dtrr/1+Zd3KPq4LQ9ZLMJ0Gi/TFf7rrHym
43+
wDxlqJHNqSlGq2ByEHUOe/nrtwKBgQDEDREmUPD+dBaE0GebG7faqDtu5+jtERcO
44+
92T12WZdDzn7P68sbnIZnCtF02WtJQrWMq+KZVRJWohn+uinmh2Ki2nYtSQmjBC4
45+
7m6gu8Dv3+Rh/GhnuN4RTPgLk5DxitP+9jWKEEBUyNyO9GgvSWcPBbsjkmyVdPQl
46+
E6vReSLAoQKBgHCyK0ERJg28a+w+z1BsMG+GWJ0ncecatrKNi3raBxUSLU6S4piB
47+
MKHewWacUzIt2jmX89E5ouoC5zgrD8axUwYCJv2riY0kVlLPFDuy9QLpvHJTpV0h
48+
/N5DpRylWluPOmWezD9VZGZbDjaCR1Y0kmyXIkIQ46GpUTsVRIhxfPIxAoGAaK4V
49+
dyEG3Ma9c2MXvvE45Q6o1VoMu/BBIKOmC8Nt7ciAjBAAB7hdQiFp1Zm/k4jQ1Xgw
50+
1LOwIo6tgN+vNDaNCXnRJX3q9I4bK7Nb7ITzyuEAP/WXBbLnF9PCKeQ8I0yeT2fF
51+
RJfS0bKCWe5UZtNJrPLBbofzZIYTCm0LdAi7LqECgYAtdSGBbpc5G6vOkAMPOt2R
52+
MTqq9XSWAAFnP/a7RsqhaqoNVBarsWqlIvLiZpD1skDuNiuMBG6sVCj2NT56Ph52
53+
/fIrJvVLiY8jhbrOLw0aN3E7QuTsHEGMMbelRR7laS1NKiYFLWm+ep/Jh3j0GuNa
54+
xfgQB0JQYpfXLkTHMxqBIw==
55+
-----END PRIVATE KEY-----`)

0 commit comments

Comments
 (0)