Skip to content

Commit 655ee57

Browse files
authored
Merge pull request #7 from projectdiscovery/feature-https-support
Feature https support
2 parents 0fc0dea + ae48cc6 commit 655ee57

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

gen_cert.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/usr/bin/env bash
2+
3+
openssl genrsa -out server.key 2048
4+
openssl ecparam -genkey -name secp384r1 -out server.key
5+
openssl req -new -x509 -sha256 -key server.key -out server.crt -days 3650

simplehttpserver.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ import (
1212
type options struct {
1313
ListenAddress string
1414
Folder string
15+
Certificate string
16+
Key string
17+
HTTPS bool
1518
Verbose bool
1619
}
1720

@@ -20,6 +23,9 @@ var opts options
2023
func main() {
2124
flag.StringVar(&opts.ListenAddress, "listen", "0.0.0.0:8000", "Address:Port")
2225
flag.StringVar(&opts.Folder, "path", ".", "Folder")
26+
flag.BoolVar(&opts.HTTPS, "https", false, "HTTPS")
27+
flag.StringVar(&opts.Certificate, "cert", "", "Certificate")
28+
flag.StringVar(&opts.Key, "key", "", "Key")
2329
flag.BoolVar(&opts.Verbose, "v", false, "Verbose")
2430
flag.Parse()
2531

@@ -28,7 +34,14 @@ func main() {
2834
}
2935

3036
log.Printf("Serving %s on http://%s/...", opts.Folder, opts.ListenAddress)
31-
fmt.Println(http.ListenAndServe(opts.ListenAddress, loglayer(http.FileServer(http.Dir(opts.Folder)))))
37+
if opts.HTTPS {
38+
if opts.Certificate == "" || opts.Key == "" {
39+
log.Fatal("Certificate or Key file not specified")
40+
}
41+
fmt.Println(http.ListenAndServeTLS(opts.ListenAddress, opts.Certificate, opts.Key, loglayer(http.FileServer(http.Dir(opts.Folder)))))
42+
} else {
43+
fmt.Println(http.ListenAndServe(opts.ListenAddress, loglayer(http.FileServer(http.Dir(opts.Folder)))))
44+
}
3245
}
3346

3447
func loglayer(handler http.Handler) http.Handler {

0 commit comments

Comments
 (0)