diff --git a/build.sh b/build.sh old mode 100755 new mode 100644 index 616c658..5af0681 --- a/build.sh +++ b/build.sh @@ -1,3 +1,3 @@ #!/bin/sh -go build -o bin/mangobars cmd/mangobars/* +go build -o bin/mangobars cmd/mangobars/mangobars.go \ No newline at end of file diff --git a/cmd/mangobars/main.go b/cmd/mangobars/mangobars.go similarity index 78% rename from cmd/mangobars/main.go rename to cmd/mangobars/mangobars.go index ed24192..6a888a3 100644 --- a/cmd/mangobars/main.go +++ b/cmd/mangobars/mangobars.go @@ -9,6 +9,8 @@ import ( "strings" "sync" + "github.com/anandpaithankar/mangobars/ssl" + "github.com/anandpaithankar/mangobars/writer" "github.com/gammazero/workerpool" ) @@ -30,8 +32,8 @@ var ( targetPort string warnDays int alertDays int - cw *ConsoleWriter - fw *FileWriter + cw *writer.ConsoleWriter + fw *writer.FileWriter ) func main() { @@ -50,13 +52,13 @@ func start() error { } var wg sync.WaitGroup - cwc := make(chan CertificateStatusResult) - fwc := make(chan CertificateStatusResult) + cwc := make(chan ssl.CertificateStatusResult) + fwc := make(chan ssl.CertificateStatusResult) var releaseFile func() - cw = NewConsoleWriter(&wg, cwc) + cw = writer.NewConsoleWriter(&wg, cwc) if len(targetHost) == 0 { - fw, releaseFile = NewFileWriter(&wg, fwc, resultFile) + fw, releaseFile = writer.NewFileWriter(&wg, fwc, resultFile) defer releaseFile() } @@ -75,7 +77,7 @@ func start() error { func usage() { flag.Usage = func() { - fmt.Println(usageString) + fmt.Printf(usageString) flag.PrintDefaults() } @@ -88,7 +90,7 @@ func usage() { flag.Parse() } -func process() (r chan CertificateStatusResult, e error) { +func process() (r chan ssl.CertificateStatusResult, e error) { var reader io.Reader var f *os.File if len(targetHost) != 0 { @@ -115,11 +117,11 @@ func process() (r chan CertificateStatusResult, e error) { return dispatch(reader) } -func dispatch(reader io.Reader) (chan CertificateStatusResult, error) { - results := make(chan CertificateStatusResult) +func dispatch(reader io.Reader) (chan ssl.CertificateStatusResult, error) { + results := make(chan ssl.CertificateStatusResult) wp := workerpool.New(maxSSLWorkers) var wg sync.WaitGroup - sc := NewSSLConnect(warnDays, alertDays, &wg, wp, results) + sc := ssl.NewSSLConnect(warnDays, alertDays, &wg, wp, results) cleanup := func() { wg.Wait() @@ -140,9 +142,9 @@ func dispatch(reader io.Reader) (chan CertificateStatusResult, error) { cleanup() return nil, err } - task := SSLHost{ - host: entry[0], - port: entry[1], + task := ssl.SSLHost{ + Host: entry[0], + Port: entry[1], } wg.Add(1) wp.Submit(func() { diff --git a/cmd/mangobars/ssl-connect.go b/cmd/mangobars/ssl-connect.go deleted file mode 100644 index dff5381..0000000 --- a/cmd/mangobars/ssl-connect.go +++ /dev/null @@ -1,112 +0,0 @@ -package main - -import ( - "crypto/tls" - "crypto/x509" - "fmt" - "math" - "net" - "strings" - "sync" - "time" - - "github.com/gammazero/workerpool" -) - -// ExpirationStatus ... Enum type -type ExpirationStatus string - -const ( - expired ExpirationStatus = "Expired" - warn = "Warn" - alert = "Alert" - valid = "Valid" -) - -// CertificateStatusResult ... -type CertificateStatusResult struct { - host string - port string - subject string - ca bool - days int - notAfter time.Time - status ExpirationStatus - err error -} - -// SSLHost ... -type SSLHost struct { - host string - port string -} - -// SSLConnect ... -type SSLConnect struct { - warnDays int - alertDays int - wg *sync.WaitGroup - wp *workerpool.WorkerPool - results chan<- CertificateStatusResult -} - -// NewSSLConnect ... -func NewSSLConnect(warnDays, alertDays int, wg *sync.WaitGroup, wp *workerpool.WorkerPool, r chan<- CertificateStatusResult) *SSLConnect { - return &SSLConnect{warnDays: warnDays, alertDays: alertDays, wg: wg, wp: wp, results: r} -} - -// Connect ... Connects to the SSL host -func (sc *SSLConnect) Connect(h SSLHost) { - defer sc.wg.Done() - d := &net.Dialer{ - Timeout: time.Millisecond * time.Duration(2000), - } - - conn, err := tls.DialWithDialer(d, "tcp", h.host+":"+h.port, &tls.Config{ - InsecureSkipVerify: true, ServerName: h.host}) - if err != nil { - sc.results <- CertificateStatusResult{host: h.host, port: h.port, err: err} - return - } - defer conn.Close() - - pc := conn.ConnectionState().PeerCertificates - if len(pc) == 0 { - sc.results <- CertificateStatusResult{err: fmt.Errorf("no peer certificates received")} - return - } - - r := sc.validateCertificate(pc[0]) - r.host = strings.ToLower(h.host) - r.port = h.port - sc.results <- r -} - -func (sc *SSLConnect) validateCertificate(cert *x509.Certificate) CertificateStatusResult { - - exp := cert.NotAfter - days := int(math.Ceil(time.Until(exp).Hours() / 24)) - var status ExpirationStatus - - switch { - case days < warnDays && days > alertDays: - status = warn - case days < alertDays && days >= 0: - status = alert - case days > warnDays: - status = valid - case days < 0: - fallthrough - default: - status = expired - } - - return CertificateStatusResult{ - subject: cert.Subject.CommonName, - notAfter: cert.NotAfter, - ca: cert.IsCA, - err: nil, - status: status, - days: days, - } -} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..aeafa65 --- /dev/null +++ b/go.mod @@ -0,0 +1,22 @@ +module github.com/anandpaithankar/mangobars + +go 1.19 + +require github.com/pterm/pterm v0.12.49 + +require github.com/gammazero/deque v0.2.0 // indirect + +require ( + atomicgo.dev/cursor v0.1.1 // indirect + atomicgo.dev/keyboard v0.2.8 // indirect + github.com/containerd/console v1.0.3 // indirect + github.com/gammazero/workerpool v1.1.3 + github.com/gookit/color v1.5.2 // indirect + github.com/lithammer/fuzzysearch v1.1.5 // indirect + github.com/mattn/go-runewidth v0.0.13 // indirect + github.com/rivo/uniseg v0.2.0 // indirect + github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect + golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e // indirect + golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect + golang.org/x/text v0.3.7 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..1244d0d --- /dev/null +++ b/go.sum @@ -0,0 +1,78 @@ +atomicgo.dev/cursor v0.1.1 h1:0t9sxQomCTRh5ug+hAMCs59x/UmC9QL6Ci5uosINKD4= +atomicgo.dev/cursor v0.1.1/go.mod h1:Lr4ZJB3U7DfPPOkbH7/6TOtJ4vFGHlgj1nc+n900IpU= +atomicgo.dev/keyboard v0.2.8 h1:Di09BitwZgdTV1hPyX/b9Cqxi8HVuJQwWivnZUEqlj4= +atomicgo.dev/keyboard v0.2.8/go.mod h1:BC4w9g00XkxH/f1HXhW2sXmJFOCWbKn9xrOunSFtExQ= +github.com/MarvinJWendt/testza v0.1.0/go.mod h1:7AxNvlfeHP7Z/hDQ5JtE3OKYT3XFUeLCDE2DQninSqs= +github.com/MarvinJWendt/testza v0.2.1/go.mod h1:God7bhG8n6uQxwdScay+gjm9/LnO4D3kkcZX4hv9Rp8= +github.com/MarvinJWendt/testza v0.2.8/go.mod h1:nwIcjmr0Zz+Rcwfh3/4UhBp7ePKVhuBExvZqnKYWlII= +github.com/MarvinJWendt/testza v0.2.10/go.mod h1:pd+VWsoGUiFtq+hRKSU1Bktnn+DMCSrDrXDpX2bG66k= +github.com/MarvinJWendt/testza v0.2.12/go.mod h1:JOIegYyV7rX+7VZ9r77L/eH6CfJHHzXjB69adAhzZkI= +github.com/MarvinJWendt/testza v0.3.0/go.mod h1:eFcL4I0idjtIx8P9C6KkAuLgATNKpX4/2oUqKc6bF2c= +github.com/MarvinJWendt/testza v0.4.2/go.mod h1:mSdhXiKH8sg/gQehJ63bINcCKp7RtYewEjXsvsVUPbE= +github.com/atomicgo/cursor v0.0.1/go.mod h1:cBON2QmmrysudxNBFthvMtN32r3jxVRIvzkUiF/RuIk= +github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= +github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/gammazero/deque v0.2.0 h1:SkieyNB4bg2/uZZLxvya0Pq6diUlwx7m2TeT7GAIWaA= +github.com/gammazero/deque v0.2.0/go.mod h1:LFroj8x4cMYCukHJDbxFCkT+r9AndaJnFMuZDV34tuU= +github.com/gammazero/workerpool v1.1.3 h1:WixN4xzukFoN0XSeXF6puqEqFTl2mECI9S6W44HWy9Q= +github.com/gammazero/workerpool v1.1.3/go.mod h1:wPjyBLDbyKnUn2XwwyD3EEwo9dHutia9/fwNmSHWACc= +github.com/gookit/color v1.4.2/go.mod h1:fqRyamkC1W8uxl+lxCQxOT09l/vYfZ+QeiX3rKQHCoQ= +github.com/gookit/color v1.5.0/go.mod h1:43aQb+Zerm/BWh2GnrgOQm7ffz7tvQXEKV6BFMl7wAo= +github.com/gookit/color v1.5.2 h1:uLnfXcaFjlrDnQDT+NCBcfhrXqYTx/rcCa6xn01Y8yI= +github.com/gookit/color v1.5.2/go.mod h1:w8h4bGiHeeBpvQVePTutdbERIUf3oJE5lZ8HM0UgXyg= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.0.10/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= +github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/lithammer/fuzzysearch v1.1.5 h1:Ag7aKU08wp0R9QCfF4GoGST9HbmAIeLP7xwMrOBEp1c= +github.com/lithammer/fuzzysearch v1.1.5/go.mod h1:1R1LRNk7yKid1BaQkmuLQaHruxcC4HmAH30Dh61Ih1Q= +github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= +github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pterm/pterm v0.12.27/go.mod h1:PhQ89w4i95rhgE+xedAoqous6K9X+r6aSOI2eFF7DZI= +github.com/pterm/pterm v0.12.29/go.mod h1:WI3qxgvoQFFGKGjGnJR849gU0TsEOvKn5Q8LlY1U7lg= +github.com/pterm/pterm v0.12.30/go.mod h1:MOqLIyMOgmTDz9yorcYbcw+HsgoZo3BQfg2wtl3HEFE= +github.com/pterm/pterm v0.12.31/go.mod h1:32ZAWZVXD7ZfG0s8qqHXePte42kdz8ECtRyEejaWgXU= +github.com/pterm/pterm v0.12.33/go.mod h1:x+h2uL+n7CP/rel9+bImHD5lF3nM9vJj80k9ybiiTTE= +github.com/pterm/pterm v0.12.36/go.mod h1:NjiL09hFhT/vWjQHSj1athJpx6H8cjpHXNAK5bUw8T8= +github.com/pterm/pterm v0.12.40/go.mod h1:ffwPLwlbXxP+rxT0GsgDTzS3y3rmpAO1NMjUkGTYf8s= +github.com/pterm/pterm v0.12.49 h1:qeNm0wTWawy6WhKoY8ZKq6qTXFr0s2UtUyRW0yVztEg= +github.com/pterm/pterm v0.12.49/go.mod h1:D4OBoWNqAfXkm5QLTjIgjNiMXPHemLJHnIreGUsWzWg= +github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 h1:QldyIu/L63oPpyvQmHgvgickp1Yw510KJOqX7H24mg8= +github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211013075003-97ac67df715c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e h1:CsOuNlbOuf0mzxJIefr6Q4uAUetRUwZE4qt7VfzP+xo= +golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/result.csv b/result.csv index 8941df2..4f9bb00 100644 --- a/result.csv +++ b/result.csv @@ -1,483 +1,11 @@ -cloudflare.com,443,cloudflare.com,Valid,244,2021-07-04 12:00:00 +0000 UTC -youtube.com,443,*.google.com,Warn,71,2021-01-12 18:03:28 +0000 UTC -stackoverflow.com,443,*.stackexchange.com,Warn,62,2021-01-03 13:02:44 +0000 UTC -google.com,443,*.google.com,Warn,57,2020-12-29 06:35:57 +0000 UTC -facebook.com,443,*.facebook.com,Alert,38,2020-12-10 12:00:00 +0000 UTC -instagram.com,443,*.instagram.com,Warn,79,2021-01-19 23:59:59 +0000 UTC -microsoft.com,443,microsoft.com,Valid,311,2021-09-09 00:53:57 +0000 UTC -amazon.com,443,*.peg.a2z.com,Valid,113,2021-02-23 12:00:00 +0000 UTC -stripe.com, 443,stripe.com,Warn,93,2021-02-03 12:00:00 +0000 UTC -wikipedia.org,443,*.wikipedia.org,Alert,45,2020-12-17 10:00:19 +0000 UTC -sohu.com,443,www.sohu.com,Valid,304,2021-09-02 12:00:00 +0000 UTC -yahoo.com,443,*.www.yahoo.com,Valid,149,2021-03-31 12:00:00 +0000 UTC -Taobao.com,443,EOF -weibo.com,443,sina.cn,Alert,38,2020-12-10 12:00:00 +0000 UTC -live.com,443,Outlook.live.com,Valid,577,2022-06-02 12:00:00 +0000 UTC -reddit.com,443,*.reddit.com,Valid,112,2021-02-22 12:00:00 +0000 UTC -zoom.us,443,*.zoom.us,Valid,576,2022-06-01 12:00:00 +0000 UTC -qq.com,443,www.qq.com,Valid,324,2021-09-22 12:00:00 +0000 UTC -microsoft.com,443,microsoft.com,Valid,311,2021-09-09 00:53:57 +0000 UTC -jd.com,443,*.jd.com,Valid,391,2021-11-28 09:42:54 +0000 UTC -netflix.com,443,www.netflix.com,Valid,437,2022-01-13 12:00:00 +0000 UTC -office.com,443,portal.office.com,Valid,574,2022-05-30 00:19:17 +0000 UTC -sina.com.cn,443,sina.com,Valid,403,2021-12-10 12:00:00 +0000 UTC -360.cn,443,*.360.cn,Valid,460,2022-02-05 12:51:47 +0000 UTC -instagram.com,443,*.instagram.com,Warn,79,2021-01-19 23:59:59 +0000 UTC -myshopify.com,443,*.myshopify.com,Valid,331,2021-09-29 12:00:00 +0000 UTC -vk.com,443,*.vk.com,Valid,585,2022-06-10 12:46:45 +0000 UTC -bongacams.com,443,*.bongacams.com,Valid,123,2021-03-04 23:59:59 +0000 UTC -yahoo.co.jp,443,edge01.yahoo.co.jp,Valid,298,2021-08-27 14:59:00 +0000 UTC -okezone.com,443,*.okezone.com,Valid,357,2021-10-25 12:00:00 +0000 UTC -expired.badssl.com,443,*.badssl.com,Expired,-2030,2015-04-12 23:59:59 +0000 UTC -csdn.net,443,*.csdn.net,Valid,384,2021-11-20 23:59:59 +0000 UTC -twitch.tv,443,twitch.map.fastly.net,Valid,168,2021-04-18 23:16:18 +0000 UTC -google.com.hk,443,*.google.com.hk,Warn,57,2020-12-29 06:43:33 +0000 UTC -bing.com,443,www.bing.com,Valid,176,2021-04-27 02:20:08 +0000 UTC -apple.com,443,www.apple.com,Valid,243,2021-07-03 12:00:00 +0000 UTC -panda.tv,443,panda.tv,Warn,64,2021-01-05 12:41:26 +0000 UTC -ebay.com,443,ru.g.ebay.com,Valid,121,2021-03-02 23:59:59 +0000 UTC -naver.com,443,www.naver.net,Valid,583,2022-06-08 12:00:00 +0000 UTC -aliexpress.com,443,*.aliexpress.com,Valid,245,2021-07-05 07:46:02 +0000 UTC -China.com.cn,443,dial tcp 202.130.245.42:443: connect: connection refused -google.co.in,443,*.google.co.in,Warn,57,2020-12-29 06:42:43 +0000 UTC -zhanqi.tv,443,*.zhanqi.tv,Warn,63,2021-01-04 17:17:04 +0000 UTC -amazon.in,443,*.cy.peg.a2z.com,Valid,308,2021-09-06 12:00:00 +0000 UTC -tmall.com,443,*.tmall.com,Valid,361,2021-10-29 06:26:03 +0000 UTC -amazon.co.jp,443,*.peg.a2z.com,Valid,113,2021-02-23 12:00:00 +0000 UTC -stackoverflow.com,443,*.stackexchange.com,Warn,62,2021-01-03 13:02:44 +0000 UTC -livejasmin.com,443,www.livejasmin.com,Valid,213,2021-06-02 23:59:59 +0000 UTC -chrome.google.com,443,*.google.com,Warn,57,2020-12-29 06:35:57 +0000 UTC -www.wayfair.com,443,www.wayfair.com,Valid,282,2021-08-11 12:00:00 +0000 UTC -superuser.com,443,*.stackexchange.com,Warn,62,2021-01-03 13:02:44 +0000 UTC -github.com,443,github.com,Valid,554,2022-05-10 12:00:00 +0000 UTC -tianya.cn,443,*.tianya.cn,Warn,85,2021-01-26 08:00:49 +0000 UTC -Baidu.com,443,dial tcp 220.181.38.148:443: i/o timeout -www.reddit.com,443,*.reddit.com,Valid,112,2021-02-22 12:00:00 +0000 UTC -www.paperstreetonline.com,443,paperstreetonline.com,Warn,75,2021-01-16 10:24:26 +0000 UTC -www.bustle.com,443,bustle.com,Valid,331,2021-09-29 12:00:00 +0000 UTC -www.politico.com,443,www.politico.com,Valid,243,2021-07-03 12:00:00 +0000 UTC -tribunnews.com,443,*.maintenis.com,Valid,333,2021-10-01 12:00:00 +0000 UTC -www.loc.gov,443,*.loc.gov,Valid,591,2022-06-16 16:15:14 +0000 UTC -golang.org,443,misc-sni.google.com,Warn,57,2020-12-29 06:36:25 +0000 UTC -godoc.org,443,godoc.org,Alert,38,2020-12-10 00:26:27 +0000 UTC -www.nyxt.nyc,443,nyxt.nyc,Alert,44,2020-12-16 19:26:25 +0000 UTC -adobe.com,443,redirect.adobe.com,Valid,575,2022-05-31 12:00:00 +0000 UTC -www.alexa.com,443,www.alexa.com,Valid,117,2021-02-27 12:00:00 +0000 UTC -en.wikipedia.org,443,*.wikipedia.org,Alert,45,2020-12-17 10:00:19 +0000 UTC -yandex.ru,443,*.xn--d1acpjx3f.xn--p1ai,Valid,150,2021-04-01 06:10:46 +0000 UTC -watermarkplace.com,443,watermarkplace.com,Warn,88,2021-01-29 00:55:37 +0000 UTC -domains.google,443,misc-sni.google.com,Warn,57,2020-12-29 06:36:25 +0000 UTC -www.avira.com,443,avira.com,Valid,249,2021-07-08 23:59:59 +0000 UTC -Xinhuanet.com,443,dial tcp 202.108.119.193:443: i/o timeout -news.netcraft.com,443,news.netcraft.com,Valid,232,2021-06-22 12:00:00 +0000 UTC -www.androidauthority.com,443,sni.cloudflaressl.com,Valid,275,2021-08-04 12:00:00 +0000 UTC -gist.github.com,443,*.github.com,Valid,653,2022-08-17 12:00:00 +0000 UTC -world.taobao.com,443,*.tmall.com,Valid,361,2021-10-29 06:26:03 +0000 UTC -intl.alipay.com,443,*.alipay.com,Valid,271,2021-07-31 12:00:00 +0000 UTC -Alipay.com,443,dial tcp 110.75.139.5:443: i/o timeout -www.linkedin.com,443,www.linkedin.com,Valid,151,2021-04-02 12:00:00 +0000 UTC -golangbyexample.com,443,cpcontacts.golangbyexample.com,Warn,71,2021-01-12 18:28:27 +0000 UTC -badssl.com,443,*.badssl.com,Valid,561,2022-05-17 12:00:00 +0000 UTC -Microsoftonline.com,443,dial tcp 52.178.167.109:443: i/o timeout -play.golang.org,443,misc-sni.google.com,Warn,57,2020-12-29 06:36:25 +0000 UTC -twinnation.org,443,status.twinnation.org,Warn,64,2021-01-05 00:00:59 +0000 UTC -medium.com,443,medium.com,Valid,315,2021-09-13 12:00:00 +0000 UTC -brandur.org,443,brandur.org,Valid,184,2021-05-05 12:00:00 +0000 UTC -gobyexample.com,443,gobyexample.com,Valid,259,2021-07-19 12:00:00 +0000 UTC -www.prakharsrivastav.com,443,www.prakharsrivastav.com,Warn,70,2021-01-11 19:30:16 +0000 UTC -pkg.go.dev,443,pkg.go.dev,Warn,62,2021-01-03 18:10:09 +0000 UTC -www.octoparse.com,443,octoparse.com,Valid,264,2021-07-24 12:00:00 +0000 UTC -www.selenium.dev,443,www.selenium.dev,Warn,73,2021-01-14 17:05:54 +0000 UTC -www.youtube.com,443,*.google.com,Warn,57,2020-12-29 06:35:57 +0000 UTC -www.xfinity.com,443,xapi.xfinity.com,Valid,552,2022-05-07 23:59:59 +0000 UTC -customer.xfinity.com,443,payments.xfinity.com,Valid,549,2022-05-04 23:59:59 +0000 UTC -payments.xfinity.com,443,payments.xfinity.com,Valid,549,2022-05-04 23:59:59 +0000 UTC -www.pdfdrive.com,443,sni.cloudflaressl.com,Valid,274,2021-08-03 12:00:00 +0000 UTC -golangbot.com,443,golangbot.com,Alert,27,2020-11-29 17:32:36 +0000 UTC -ebooks.direct,443,ebooks.direct,Warn,66,2021-01-07 07:29:44 +0000 UTC -www.the-ebook-reader.com,443,the-ebook-reader.com,Valid,577,2022-06-01 23:59:59 +0000 UTC -blog.the-ebook-reader.com,443,blog.the-ebook-reader.com,Valid,577,2022-06-01 23:59:59 +0000 UTC -support.humblebundle.com,443,support.humblebundle.com,Warn,55,2020-12-26 23:39:01 +0000 UTC -blog.golang.org,443,misc-sni.google.com,Warn,57,2020-12-29 06:36:25 +0000 UTC -www.perimeterx.com,443,beat.bot,Alert,37,2020-12-09 18:00:59 +0000 UTC -kdp.amazon.com,443,kdp.amazon.com,Valid,152,2021-04-03 12:00:00 +0000 UTC -hackernoon.com,443,hackernoon.com,Warn,57,2020-12-28 22:41:36 +0000 UTC -stackoverflow.com,443,*.stackexchange.com,Warn,62,2021-01-03 13:02:44 +0000 UTC -www.golangprograms.com,443,sni.cloudflaressl.com,Valid,308,2021-09-06 12:00:00 +0000 UTC -www.ardanlabs.com,443,www.ardanlabs.com,Warn,81,2021-01-22 15:30:05 +0000 UTC -www.trekbikes.com,443,*.trekbikes.com,Valid,142,2021-03-24 12:00:00 +0000 UTC -calibre-ebook.com,443,calibre-ebook.com,Warn,89,2021-01-30 09:55:48 +0000 UTC -docs.github.com,443,www.github.com,Valid,528,2022-04-14 12:00:00 +0000 UTC -www.geeksforgeeks.org,443,www.geeksforgeeks.org,Warn,66,2021-01-07 05:09:27 +0000 UTC -finance.yahoo.com,443,*.yahoo.com,Alert,23,2020-11-25 12:00:00 +0000 UTC -git-scm.com,443,sni.cloudflaressl.com,Valid,289,2021-08-18 12:00:00 +0000 UTC -ebiz.licindia.in,443,*.licindia.in,Valid,571,2022-05-26 23:59:59 +0000 UTC -yourbasic.org,443,yourbasic.org,Warn,75,2021-01-16 05:44:16 +0000 UTC -www.neonscience.org,443,neonscience.org,Alert,42,2020-12-14 09:08:24 +0000 UTC -www.tradingview.com,443,*.tradingview.com,Valid,188,2021-05-09 12:00:00 +0000 UTC -www.git-tower.com,443,*.git-tower.com,Valid,376,2021-11-13 21:07:16 +0000 UTC -www.rhythmbikes.com,443,www.rhythmbikes.com,Warn,51,2020-12-23 12:02:20 +0000 UTC -astrologyfutureeye.com,443,sni.cloudflaressl.com,Valid,254,2021-07-14 12:00:00 +0000 UTC -www.quora.com,443,quora.com,Warn,82,2021-01-23 16:12:55 +0000 UTC -www.squareyards.com,443,sni.cloudflaressl.com,Valid,320,2021-09-18 12:00:00 +0000 UTC -www.livspace.com,443,*.livspace.com,Valid,200,2021-05-21 12:00:00 +0000 UTC -tutorialedge.net,443,www.tutorialedge.net,Valid,246,2021-07-06 12:00:00 +0000 UTC -www.specialized.com,443,*.specialized.com,Valid,120,2021-03-02 12:00:00 +0000 UTC -kgrz.io,443,kgrz.io,Warn,68,2021-01-09 15:59:41 +0000 UTC -www.yelp.com,443,yelp.com,Valid,156,2021-04-07 12:00:00 +0000 UTC -mikesbikes.com,443,mikesbikes.com,Warn,87,2021-01-28 03:05:01 +0000 UTC -www.amazon.com,443,www.amazon.com,Valid,250,2021-07-10 12:00:00 +0000 UTC -islandcitybikes.com,443,islandcitybikes.com,Valid,220,2021-06-10 16:30:06 +0000 UTC -www.theped.com,443,theped.com,Warn,51,2020-12-23 17:04:27 +0000 UTC -www.freecodecamp.org,443,sni.cloudflaressl.com,Valid,287,2021-08-16 12:00:00 +0000 UTC -sourabhbajaj.com,443,sourabhbajaj.com,Warn,75,2021-01-15 23:56:12 +0000 UTC -www.summitbicycles.com,443,summitbicycles.com,Alert,38,2020-12-10 17:19:10 +0000 UTC -deepu.tech,443,deepu.tech,Alert,36,2020-12-08 00:26:14 +0000 UTC -fishshell.com,443,fishshell.com,Warn,54,2020-12-25 21:38:11 +0000 UTC -unsplash.com,443,p.ssl.fastly.net,Valid,112,2021-02-22 17:14:27 +0000 UTC -www.campusbikeshop.com,443,campusbikeshop.com,Warn,54,2020-12-26 16:19:12 +0000 UTC -www.sfgate.com,443,hearst-newspapers.map.fastly.net,Valid,184,2021-05-05 15:25:49 +0000 UTC -static1.squarespace.com,443,*.squarespace.com,Valid,148,2021-03-30 12:00:00 +0000 UTC -www.alipay.com,443,tls: DialWithDialer timed out -www.forbes.com,443,g2.shared.global.fastly.net,Valid,174,2021-04-25 20:01:05 +0000 UTC -www.trackitt.com,443,trackitt.com,Valid,433,2022-01-09 00:54:15 +0000 UTC -www.path2usa.com,443,path2usa.com,Alert,46,2020-12-18 02:00:12 +0000 UTC -docs.google.com,443,*.google.com,Warn,57,2020-12-29 06:35:57 +0000 UTC -twitter.com,443,twitter.com,Warn,95,2021-02-05 12:00:00 +0000 UTC -www.redfin.com,443,www.redfin.com,Valid,722,2022-10-25 12:00:00 +0000 UTC -epicentercycling.com,443,epicentercycling.com,Alert,46,2020-12-18 09:56:59 +0000 UTC -www.officialdata.org,443,sni.cloudflaressl.com,Valid,225,2021-06-15 12:00:00 +0000 UTC -shop.sportsbasement.com,443,shop.sportsbasement.com,Warn,67,2021-01-08 10:35:44 +0000 UTC -bikeindex.org,443,sni.cloudflaressl.com,Valid,287,2021-08-16 12:00:00 +0000 UTC -redbus2us.com,443,sni.cloudflaressl.com,Valid,270,2021-07-30 12:00:00 +0000 UTC -hoodline.com,443,sni.cloudflaressl.com,Valid,352,2021-10-19 23:59:59 +0000 UTC -colinmorris.github.io,443,www.github.com,Valid,528,2022-04-14 12:00:00 +0000 UTC -www.kqed.org,443,*.kqed.org,Valid,241,2021-07-01 12:00:00 +0000 UTC -shop.kryptonitelock.com,443,www.allegion.com,Valid,319,2021-09-16 23:59:59 +0000 UTC -www.kryptonitelock.com,443,www.allegion.com,Valid,319,2021-09-16 23:59:59 +0000 UTC -www.realtynmore.com,443,www.realtynmore.com,Alert,13,2020-11-15 13:29:15 +0000 UTC -www.facebook.com,443,*.facebook.com,Alert,38,2020-12-10 12:00:00 +0000 UTC -www.cnet.com,443,*.cnet.com,Valid,611,2022-07-06 12:00:00 +0000 UTC -sfbike.org,443,sfbike.org,Warn,82,2021-01-22 22:27:56 +0000 UTC -www.bikeconnection.net,443,bikeconnection.net,Alert,42,2020-12-14 13:50:33 +0000 UTC -www.fool.com,443,fool.com,Valid,490,2022-03-06 23:59:59 +0000 UTC -www.endclothing.com,443,www.endclothing.com,Valid,580,2022-06-05 12:00:00 +0000 UTC -www.apetogentleman.com,443,sni.cloudflaressl.com,Valid,251,2021-07-11 12:00:00 +0000 UTC -shop.reigningchamp.com,443,shop.reigningchamp.com,Warn,86,2021-01-26 21:52:04 +0000 UTC -www.sthelenacyclery.com,443,sthelenacyclery.com,Alert,42,2020-12-14 13:48:44 +0000 UTC -www.whowhatwear.com,443,k2.shared.global.fastly.net,Valid,166,2021-04-17 16:32:28 +0000 UTC -www.everlane.com,443,everlane.com,Valid,241,2021-07-01 12:00:00 +0000 UTC -onpointfresh.com,443,onpointfresh.com,Alert,29,2020-11-30 23:59:59 +0000 UTC -www.gap.com,443,www.gap.com,Valid,651,2022-08-15 12:00:00 +0000 UTC -www.nordstrom.com,443,nordstrom.com,Valid,173,2021-04-24 12:00:00 +0000 UTC -www.zillow.com,443,*.zillow.com,Valid,282,2021-08-11 12:00:00 +0000 UTC -www.apc-us.com,443,www.apc-us.com,Warn,81,2021-01-21 23:02:51 +0000 UTC -www.todayclothing.com,443,www.todayclothing.com,Alert,34,2020-12-06 14:46:45 +0000 UTC -todayclothing.myshopify.com,443,*.myshopify.com,Valid,331,2021-09-29 12:00:00 +0000 UTC -www.uniqlo.com,443,www.uniqlo.com,Valid,521,2022-04-07 12:00:00 +0000 UTC -reigningchamp.com,443,reigningchamp.com,Valid,197,2021-05-17 22:31:01 +0000 UTC -www.becomingminimalist.com,443,sni.cloudflaressl.com,Valid,272,2021-08-01 12:00:00 +0000 UTC -ridewithgps.com,443,ridewithgps.com,Valid,275,2021-08-04 12:00:00 +0000 UTC -511.org,443,*.511.org,Valid,284,2021-08-12 23:59:59 +0000 UTC -bikeeastbay.org,443,bikeeastbay.org,Warn,63,2021-01-04 16:43:31 +0000 UTC -www.alltrails.com,443,*.alltrails.com,Valid,481,2022-02-25 21:54:20 +0000 UTC -www.ecomasteryproject.com,443,www.ecomasteryproject.com,Warn,82,2021-01-23 09:58:45 +0000 UTC -www.cyclingweekly.com,443,ti-media.map.fastly.net,Valid,286,2021-08-15 18:34:27 +0000 UTC -www.sharpbicycle.com,443,sharpbicycle.com,Warn,54,2020-12-26 16:19:23 +0000 UTC -www.japansociety.org,443,*.japansociety.org,Valid,136,2021-03-18 12:00:00 +0000 UTC -rstyle.me,443,rstyle.me,Valid,145,2021-03-27 12:00:00 +0000 UTC -leetcode.com,443,sni.cloudflaressl.com,Valid,287,2021-08-16 12:00:00 +0000 UTC -travel.state.gov,443,travel.state.gov,Warn,96,2021-02-06 12:00:00 +0000 UTC -www.walmart.com,443,www.walmart.com,Valid,259,2021-07-18 21:22:52 +0000 UTC -www.bestbuy.com,443,www.bestbuy.com,Valid,528,2022-04-14 12:00:00 +0000 UTC -www.costco.com,443,www.costco.com,Valid,617,2022-07-12 12:00:00 +0000 UTC -www.traillink.com,443,www.railstotrails.org,Valid,506,2022-03-23 12:00:00 +0000 UTC -www.bicycleoutfitter.com,443,bicycleoutfitter.com,Warn,54,2020-12-26 16:19:05 +0000 UTC -www.mtbproject.com,443,www.adventureprojects.net,Valid,358,2021-10-26 14:55:59 +0000 UTC -www.theverge.com,443,*.voxmedia.com,Valid,109,2021-02-18 21:35:35 +0000 UTC -www.apple.com,443,www.apple.com,Valid,340,2021-10-08 12:00:00 +0000 UTC -mrsharpoblunto.github.io,443,dial tcp 185.199.111.153:443: i/o timeout -www.wikihow.com,443,f4.shared.global.fastly.net,Valid,186,2021-05-07 20:27:49 +0000 UTC -www.uscis.gov,443,preview.dhs.gov,Valid,334,2021-10-02 12:00:00 +0000 UTC -www.nolo.com,443,sni.cloudflaressl.com,Valid,238,2021-06-28 12:00:00 +0000 UTC -us.kobobooks.com,443,us.kobobooks.com,Warn,61,2021-01-02 10:55:09 +0000 UTC -www.decathlon.com,443,www.decathlon.com,Warn,81,2021-01-21 22:45:44 +0000 UTC -remarkable.com,443,remarkable.com,Warn,63,2021-01-04 11:12:31 +0000 UTC -www.wired.com,443,condenast.com,Valid,170,2021-04-21 19:56:14 +0000 UTC -www.amazon.in,443,www.amazon.in,Valid,249,2021-07-09 12:00:00 +0000 UTC -www.shusterman.com,443,www.shusterman.com,Valid,237,2021-06-27 12:00:00 +0000 UTC -coupons.cnn.com,443,coupons.cnn.com,Valid,281,2021-08-10 12:00:00 +0000 UTC -www.instagram.com,443,*.www.instagram.com,Warn,67,2021-01-08 12:00:00 +0000 UTC -www.cnn.com,443,turner-tls.map.fastly.net,Valid,185,2021-05-06 20:11:42 +0000 UTC -www.weatherford5.com,443,www.weatherford5.com,Warn,72,2021-01-13 15:45:45 +0000 UTC -www.californiasportsandcyclery.com,443,www.californiasportsandcyclery.com,Alert,36,2020-12-08 10:43:48 +0000 UTC -timesofindia.indiatimes.com,443,mmnotification.indiatimes.com,Valid,184,2021-05-05 12:00:00 +0000 UTC -www.fremont.gov,443,www.fremont.gov,Alert,10,2020-11-11 23:59:59 +0000 UTC -www.businessinsider.com,443,f.ssl.fastly.net,Alert,30,2020-12-02 02:27:18 +0000 UTC -www.paloaltobicycles.com,443,paloaltobicycles.com,Alert,33,2020-12-05 17:19:11 +0000 UTC -www.waltscycle.com,443,waltscycle.com,Warn,51,2020-12-23 17:04:48 +0000 UTC -www.rei.com,443,*.rei.com,Valid,247,2021-07-07 12:00:00 +0000 UTC -www.chainreaction.com,443,chainreaction.com,Alert,38,2020-12-10 17:18:25 +0000 UTC -www.realbuzz.com,443,sni.cloudflaressl.com,Valid,281,2021-08-10 12:00:00 +0000 UTC -www.diamondback.com,443,sni.cloudflaressl.com,Valid,252,2021-07-12 12:00:00 +0000 UTC -www.bike198.com,443,sni.cloudflaressl.com,Valid,277,2021-08-06 12:00:00 +0000 UTC -bicycles.stackexchange.com,443,*.stackexchange.com,Warn,62,2021-01-03 13:02:44 +0000 UTC -www.cognitioncyclery.com,443,cognitioncyclery.com,Warn,56,2020-12-28 17:19:29 +0000 UTC -bike.bikegremlin.com,443,sni.cloudflaressl.com,Valid,248,2021-07-08 12:00:00 +0000 UTC -www.target.com,443,sites.target.com,Valid,170,2021-04-20 22:32:30 +0000 UTC -bicyclegaragefremont.com,443,bicyclegaragefremont.com,Valid,105,2021-02-15 05:49:01 +0000 UTC -t2conline.com,443,t2conline.com,Alert,46,2020-12-18 17:12:45 +0000 UTC -www.ruellemusic.com,443,www.ruellemusic.com,Alert,37,2020-12-09 10:10:20 +0000 UTC -www.outsideonline.com,443,sni.cloudflaressl.com,Valid,272,2021-08-01 12:00:00 +0000 UTC -au.linkedin.com,443,us.linkedin.com,Expired,100,2021-02-10 12:00:00 +0000 UTC -www.dickssportinggoods.com,443,*.dickssportinggoods.com,Valid,158,2021-04-08 23:59:59 +0000 UTC -road.cc,443,road.cc,Warn,80,2021-01-20 23:36:46 +0000 UTC -6504714174.phonesear.ch,443,sni.cloudflaressl.com,Valid,276,2021-08-05 12:00:00 +0000 UTC -tissueeng.net,443,mail.tissueeng.net,Warn,72,2021-01-12 21:58:11 +0000 UTC -en.cppreference.com,443,*.cppreference.com,Warn,86,2021-01-27 09:11:45 +0000 UTC -4086683088.phonesear.ch,443,sni.cloudflaressl.com,Valid,276,2021-08-05 12:00:00 +0000 UTC -www.jetbrains.com,443,www.jetbrains.com,Warn,95,2021-02-05 12:00:00 +0000 UTC -politicaldictionary.com,443,politicaldictionary.com,Alert,45,2020-12-17 20:28:21 +0000 UTC -www.cannondale.com,443,*.cannondale.com,Valid,367,2021-11-04 17:33:28 +0000 UTC -ado.xyz,443,sni.cloudflaressl.com,Valid,308,2021-09-06 12:00:00 +0000 UTC -www.menlopark.org,443,*.menlopark.org,Valid,171,2021-04-22 16:44:38 +0000 UTC -riptutorial.com,443,zzzprojects.com,Valid,340,2021-10-08 17:25:57 +0000 UTC -blog.trekbikes.com,443,*.trekbikes.com,Valid,142,2021-03-24 12:00:00 +0000 UTC -open.spotify.com,443,*.spotify.com,Valid,304,2021-09-02 12:00:00 +0000 UTC -accounts.google.com,443,accounts.google.com,Warn,57,2020-12-29 06:41:24 +0000 UTC -myaccount.google.com,443,*.google.com,Warn,57,2020-12-29 06:35:57 +0000 UTC -bit-calculator.com,443,bit-calculator.com,Valid,327,2021-09-25 12:00:00 +0000 UTC -go101.org,443,sni.cloudflaressl.com,Valid,285,2021-08-14 12:00:00 +0000 UTC -www.mathworks.com,443,*.mathworks.com,Warn,99,2021-02-09 12:00:00 +0000 UTC -learnandlearn.com,443,sni.cloudflaressl.com,Valid,287,2021-08-16 12:00:00 +0000 UTC -music.apple.com,443,itunes.apple.com,Valid,285,2021-08-14 12:00:00 +0000 UTC -developer.nvidia.com,443,developer.nvidia.com,Valid,667,2022-08-31 12:00:00 +0000 UTC -www.cnbc.com,443,*.cnbc.com,Valid,195,2021-05-16 12:00:00 +0000 UTC -www.investors.com,443,investors.com,Valid,264,2021-07-23 23:59:59 +0000 UTC -www.thebraxtonattrolleysquare.com,443,www.thebraxtonattrolleysquare.com,Alert,45,2020-12-17 14:27:47 +0000 UTC -www.retailmenot.com,443,sni.cloudflaressl.com,Valid,271,2021-07-31 12:00:00 +0000 UTC -productcoalition.com,443,productcoalition.com,Warn,55,2020-12-26 23:59:59 +0000 UTC -order.thecounter.com,443,order.thecounter.com,Valid,244,2021-07-04 12:00:00 +0000 UTC -www.thecounter.com,443,www.thecounter.com,Warn,71,2021-01-12 01:08:12 +0000 UTC -thecounterburger.knoji.com,443,*.knoji.com,Valid,327,2021-09-24 23:59:59 +0000 UTC -www.tutorialspoint.com,443,s2.wac.edgecastcdn.net,Alert,16,2020-11-18 12:00:00 +0000 UTC -tour.golang.org,443,misc-sni.google.com,Warn,71,2021-01-12 18:03:53 +0000 UTC -chrisdoescoding.com,443,sni.cloudflaressl.com,Valid,279,2021-08-08 12:00:00 +0000 UTC -egghead.io,443,egghead.io,Valid,359,2021-10-27 00:00:00 +0000 UTC -www.active.com,443,*.active.com,Valid,229,2021-06-19 12:00:00 +0000 UTC -dlintw.github.io,443,www.github.com,Valid,528,2022-04-14 12:00:00 +0000 UTC -www.teamblind.com,443,teamblind.com,Valid,159,2021-04-10 12:00:00 +0000 UTC -www.notion.so,443,notion.so,Valid,256,2021-07-16 12:00:00 +0000 UTC -www.cdc.gov,443,www.cdc.gov,Warn,59,2020-12-31 12:00:00 +0000 UTC -yangshun.github.io,443,www.github.com,Valid,528,2022-04-14 12:00:00 +0000 UTC -candor.co,443,*.candor.co,Alert,41,2020-12-13 20:12:10 +0000 UTC -www.math-only-math.com,443,math-only-math.com,Warn,60,2021-01-01 04:04:22 +0000 UTC -i.imgur.com,443,*.imgur.com,Valid,499,2022-03-16 12:00:00 +0000 UTC -learntocodewith.me,443,learntocodewith.me,Warn,77,2021-01-17 23:59:59 +0000 UTC -tim.blog,443,tls.automattic.com,Warn,56,2020-12-28 08:26:26 +0000 UTC -www.digitaldetox.com,443,www.digitaldetox.com,Valid,245,2021-07-05 12:00:00 +0000 UTC -gist.githubusercontent.com,443,www.github.com,Valid,528,2022-04-14 12:00:00 +0000 UTC -www.plainsconservationcenter.org,443,www.plainsconservationcenter.org,Warn,83,2021-01-23 23:42:13 +0000 UTC -codewithmosh.com,443,sni.cloudflaressl.com,Valid,285,2021-08-14 12:00:00 +0000 UTC -www.interviewcake.com,443,sni.cloudflaressl.com,Valid,258,2021-07-18 12:00:00 +0000 UTC -www.pinterest.com,443,*.pinterest.com,Valid,275,2021-08-04 12:00:00 +0000 UTC -help.ui.com,443,help.ui.com,Warn,71,2021-01-11 23:37:38 +0000 UTC -www.udemy.com,443,*.udemy.com,Valid,344,2021-10-12 15:45:40 +0000 UTC -www.interviewkickstart.com,443,www.interviewkickstart.com,Warn,62,2021-01-03 20:10:45 +0000 UTC -pi-hole.net,443,pi-hole.net,Valid,276,2021-08-04 22:54:35 +0000 UTC -askubuntu.com,443,*.stackexchange.com,Warn,62,2021-01-03 13:02:44 +0000 UTC -raspberrytips.com,443,raspberrytips.com,Warn,68,2021-01-09 08:25:12 +0000 UTC -community.ui.com,443,community.ui.com,Valid,224,2021-06-14 12:00:00 +0000 UTC -egov.uscis.gov,443,tls: DialWithDialer timed out -www.screenly.io,443,sni.cloudflaressl.com,Valid,256,2021-07-16 12:00:00 +0000 UTC -pylci.readthedocs.io,443,ssl403572.cloudflaressl.com,Valid,188,2021-05-08 23:59:59 +0000 UTC -www.raspberrypi.org,443,raspberrypi.org,Valid,240,2021-06-30 12:00:00 +0000 UTC -raspberrypi.stackexchange.com,443,*.stackexchange.com,Warn,62,2021-01-03 13:02:44 +0000 UTC -www.watermarkplace.com,443,www.watermarkplace.com,Warn,88,2021-01-29 00:55:37 +0000 UTC -www.dexterindustries.com,443,dexterindustries.com,Valid,289,2021-08-18 18:02:35 +0000 UTC -www.nytimes.com,443,nytimes.com,Valid,520,2022-04-06 00:00:00 +0000 UTC -weatherwidget.io,443,sni.cloudflaressl.com,Valid,286,2021-08-15 12:00:00 +0000 UTC -www.noaa.gov,443,www.noaa.gov,Valid,260,2021-07-20 12:00:00 +0000 UTC -developer.mozilla.org,443,developer.mozilla.org,Valid,196,2021-05-17 12:00:00 +0000 UTC -learn.sparkfun.com,443,www.sparkfun.com,Valid,352,2021-10-20 00:00:00 +0000 UTC -api.jquery.com,443,jquery.org,Valid,349,2021-10-16 23:59:59 +0000 UTC -davidwalsh.name,443,sni.cloudflaressl.com,Valid,289,2021-08-18 12:00:00 +0000 UTC -www.sitepoint.com,443,www.sitepoint.com,Alert,41,2020-12-13 07:22:13 +0000 UTC -images.unsplash.com,443,imgix2.map.fastly.net,Valid,247,2021-07-07 17:15:51 +0000 UTC -www.w3schools.com,443,*.w3schools.com,Valid,554,2022-05-10 12:00:00 +0000 UTC -magpi.raspberrypi.org,443,magpi.raspberrypi.org,Warn,71,2021-01-12 07:01:08 +0000 UTC -nanxiao.gitbooks.io,443,sni.cloudflaressl.com,Valid,257,2021-07-17 12:00:00 +0000 UTC -apple.stackexchange.com,443,*.stackexchange.com,Warn,62,2021-01-03 13:02:44 +0000 UTC -www.golang-book.com,443,sni.cloudflaressl.com,Valid,263,2021-07-23 12:00:00 +0000 UTC -osxdaily.com,443,osxdaily.com,Warn,81,2021-01-22 09:35:47 +0000 UTC -www.eastbaytimes.com,443,eastbaytimes.com,Alert,29,2020-12-01 01:43:55 +0000 UTC -www.vox.com,443,*.voxmedia.com,Valid,109,2021-02-18 21:35:35 +0000 UTC -www.acciyo.com,443,www.acciyo.com,Valid,211,2021-06-01 12:00:00 +0000 UTC -docs.alfresco.com,443,*.alfresco.com,Valid,306,2021-09-04 12:00:00 +0000 UTC -feedly.com,443,*.feedly.com,Valid,180,2021-05-01 12:00:00 +0000 UTC -blog.hubspot.com,443,0.hubspot.com,Valid,234,2021-06-24 12:00:00 +0000 UTC -blog.feedly.com,443,*.feedly.com,Valid,180,2021-05-01 12:00:00 +0000 UTC -www.brafton.com,443,brafton.com,Valid,376,2021-11-13 12:00:00 +0000 UTC -moz.com,443,moz.com,Valid,243,2021-07-03 12:00:00 +0000 UTC -www.wpbeginner.com,443,*.wpbeginner.com,Alert,27,2020-11-29 19:21:01 +0000 UTC -www.sendinblue.com,443,sni.cloudflaressl.com,Valid,280,2021-08-09 12:00:00 +0000 UTC -curated.co,443,*.curated.co,Valid,552,2022-05-07 23:59:59 +0000 UTC -creativemarket.com,443,sni.cloudflaressl.com,Valid,199,2021-05-20 12:00:00 +0000 UTC -www.campaignmonitor.com,443,campaignmonitor.com,Valid,258,2021-07-18 12:00:00 +0000 UTC -openweathermap.org,443,*.openweathermap.org,Valid,594,2022-06-19 00:00:00 +0000 UTC -home.openweathermap.org,443,*.openweathermap.org,Valid,594,2022-06-19 00:00:00 +0000 UTC -www.timstodz.com,443,www.timstodz.com,Alert,23,2020-11-24 21:35:51 +0000 UTC -www.entrepreneur.com,443,r.ssl.fastly.net,Valid,177,2021-04-28 19:20:25 +0000 UTC -www.fastcompany.com,443,mansueto.map.fastly.net,Valid,172,2021-04-23 10:45:42 +0000 UTC -kintuhq.podia.com,443,*.podia.com,Alert,28,2020-11-30 20:05:05 +0000 UTC -radhika.dev,443,*.radhika.dev,Warn,65,2021-01-06 10:29:04 +0000 UTC -www.theskimm.com,443,*.theskimm.com,Warn,63,2021-01-04 11:53:42 +0000 UTC -fanlink.to,443,tls: DialWithDialer timed out -training.npr.org,443,training.npr.org,Alert,31,2020-12-03 15:04:36 +0000 UTC -www.themuse.com,443,sni.cloudflaressl.com,Valid,279,2021-08-08 12:00:00 +0000 UTC -clickup.com,443,*.clickup.com,Valid,186,2021-05-07 12:00:00 +0000 UTC -kylewbanks.com,443,kylewbanks.com,Valid,208,2021-05-29 12:00:00 +0000 UTC -www.packtpub.com,443,packtpub.com,Valid,242,2021-07-02 12:00:00 +0000 UTC -www.samuelthomasdavies.com,443,www.samuelthomasdavies.com,Warn,72,2021-01-12 22:39:07 +0000 UTC -chrisjean.com,443,chrisjean.com,Warn,78,2021-01-19 11:53:07 +0000 UTC -nanxiao.me,443,sni.cloudflaressl.com,Valid,287,2021-08-16 12:00:00 +0000 UTC -www.kevanlee.com,443,www.kevanlee.com,Alert,48,2020-12-20 18:57:07 +0000 UTC -app.clickup.com,443,*.clickup.com,Warn,87,2021-01-28 12:00:00 +0000 UTC -www.gitbook.com,443,sni.cloudflaressl.com,Valid,257,2021-07-17 12:00:00 +0000 UTC -www.sohamkamani.com,443,*.sohamkamani.com,Alert,49,2020-12-21 14:07:36 +0000 UTC -www.socketloop.com,443,sni.cloudflaressl.com,Valid,286,2021-08-15 12:00:00 +0000 UTC -www.einvestigator.com,443,www.einvestigator.com,Alert,33,2020-12-05 11:37:28 +0000 UTC -www.zoominfo.com,443,zoominfo.com,Valid,244,2021-07-04 12:00:00 +0000 UTC -buffer.com,443,sni.cloudflaressl.com,Valid,289,2021-08-18 12:00:00 +0000 UTC -9to5mac.com,443,9to5mac.com,Warn,53,2020-12-24 23:04:46 +0000 UTC -amplifi.com,443,*.amplifi.com,Warn,97,2021-02-07 12:00:00 +0000 UTC -cheddar.com,443,*.ratemyprofessors.com,Valid,311,2021-09-09 12:00:00 +0000 UTC -dmh2000.xyz,443,*.dmh2000.xyz,Alert,42,2020-12-13 22:03:41 +0000 UTC -thenewstack.io,443,*.thenewstack.io,Warn,64,2021-01-05 12:59:44 +0000 UTC -9to5google.com,443,9to5google.com,Alert,49,2020-12-21 01:52:52 +0000 UTC -rollingstoneindia.com,443,sni.cloudflaressl.com,Valid,281,2021-08-10 12:00:00 +0000 UTC -github.blog,443,github.blog,Alert,46,2020-12-18 07:16:29 +0000 UTC -you.women2.com,443,you.women2.com,Alert,33,2020-12-04 23:59:59 +0000 UTC -www.homedepot.com,443,www.homedepot.com,Valid,527,2022-04-13 12:00:00 +0000 UTC -brandablebox.io,443,brandablebox.io,Alert,18,2020-11-20 08:57:56 +0000 UTC -books.halfrost.com,443,books.halfrost.com,Warn,56,2020-12-28 06:04:08 +0000 UTC -hhkeyboard.us,443,hhkeyboard.us,Valid,114,2021-02-24 12:00:00 +0000 UTC -www.papermart.com,443,www.papermart.com,Valid,388,2021-11-25 12:00:00 +0000 UTC -society6.com,443,society6.com,Valid,572,2022-05-28 12:00:00 +0000 UTC -www.saradietschy.com,443,www.saradietschy.com,Alert,40,2020-12-12 03:21:43 +0000 UTC -www.levels.fyi,443,levels.fyi,Valid,308,2021-09-06 12:00:00 +0000 UTC -desenio.com,443,desenio.com.au,Warn,86,2021-01-27 05:32:12 +0000 UTC -socialgirls.im,443,sni.cloudflaressl.com,Valid,271,2021-07-31 12:00:00 +0000 UTC -www.openmymind.net,443,www.openmymind.net,Alert,21,2020-11-22 23:49:30 +0000 UTC -a0.socialgirls.im,443,sni.cloudflaressl.com,Valid,271,2021-07-31 12:00:00 +0000 UTC -a1.socialgirls.im,443,sni.cloudflaressl.com,Valid,271,2021-07-31 12:00:00 +0000 UTC -career.guru99.com,443,career.guru99.com,Valid,181,2021-05-01 23:59:59 +0000 UTC -happyhackingkb.com,443,happyhackingkb.com,Valid,349,2021-10-17 12:00:00 +0000 UTC -us.etrade.com,443,us.etrade.com,Valid,255,2021-07-14 23:59:59 +0000 UTC -yoo.rs,443,yoo.rs,Alert,37,2020-12-09 07:50:20 +0000 UTC -peakpilates.com,443,*.peakpilates.com,Warn,72,2021-01-13 12:00:00 +0000 UTC -a3.socialgirls.im,443,sni.cloudflaressl.com,Valid,271,2021-07-31 12:00:00 +0000 UTC -a2.socialgirls.im,443,sni.cloudflaressl.com,Valid,271,2021-07-31 12:00:00 +0000 UTC -support.creative.com,443,*.creative.com,Expired,100,2021-02-10 12:00:00 +0000 UTC -us.creative.com,443,*.creative.com,Expired,100,2021-02-10 12:00:00 +0000 UTC -drop.com,443,*.drop.com,Valid,262,2021-07-22 12:00:00 +0000 UTC -www.hdfcbank.com,443,www.hdfcbank.com,Valid,556,2022-05-12 12:00:00 +0000 UTC -v1.hdfcbank.com,443,v1.hdfcbank.com,Valid,293,2021-08-22 12:00:00 +0000 UTC -golangcode.com,443,sni.cloudflaressl.com,Valid,358,2021-10-25 23:59:59 +0000 UTC -percentagecalculator.net,443,percentagecalculator.net,Warn,86,2021-01-27 13:18:50 +0000 UTC -go.dev,443,go.dev,Warn,74,2021-01-14 21:40:59 +0000 UTC -swtch.com,443,swtch.com,Expired,50,2020-12-22 14:12:05 +0000 UTC -research.swtch.com,443,research.swtch.com,Warn,71,2021-01-12 15:34:30 +0000 UTC -about.google,443,about.google,Warn,57,2020-12-29 06:40:53 +0000 UTC -learn.go.dev,443,learn.go.dev,Warn,71,2021-01-12 07:54:31 +0000 UTC -www.math-salamanders.com,443,math-salamanders.com,Alert,38,2020-12-10 04:16:53 +0000 UTC -code.visualstudio.com,443,code.visualstudio.com,Valid,161,2021-04-12 07:38:09 +0000 UTC -newfivefour.com,443,newfivefour.com,Warn,76,2021-01-17 08:06:17 +0000 UTC -karabiner-elements.pqrs.org,443,karabiner-elements.pqrs.org,Warn,62,2021-01-03 09:16:45 +0000 UTC -flaviocopes.com,443,*.flaviocopes.com,Warn,67,2021-01-08 10:16:39 +0000 UTC -tushars.xyz,443,tushars.xyz,Warn,61,2021-01-02 17:14:47 +0000 UTC -www.kakaocorp.com,443,*.kakaocorp.com,Valid,343,2021-10-11 12:00:00 +0000 UTC -practice.geeksforgeeks.org,443,www.geeksforgeeks.org,Warn,66,2021-01-07 05:09:27 +0000 UTC -blog.learngoprogramming.com,443,blog.learngoprogramming.com,Valid,242,2021-07-01 23:59:59 +0000 UTC -docs.slatejs.org,443,docs.slatejs.org,Warn,87,2021-01-27 21:21:42 +0000 UTC -slate.com,443,slate.com,Warn,74,2021-01-15 17:46:26 +0000 UTC -www.crunchbase.com,443,sni.cloudflaressl.com,Valid,269,2021-07-29 12:00:00 +0000 UTC -jordanorelli.com,443,jordanorelli.com,Warn,51,2020-12-23 08:26:29 +0000 UTC -www.verizon.com,443,www.verizon.com,Valid,370,2021-11-06 23:59:59 +0000 UTC -www.tesla.com,443,*.tesla.com,Valid,254,2021-07-14 12:00:00 +0000 UTC -expressjs.com,443,sni.cloudflaressl.com,Valid,257,2021-07-17 12:00:00 +0000 UTC -accounts.kakao.com,443,*.kakao.com,Valid,343,2021-10-11 12:00:00 +0000 UTC -www.acura.com,443,m.acura.com,Valid,347,2021-10-14 23:59:59 +0000 UTC -automobiles.honda.com,443,www.honda.com,Valid,283,2021-08-11 23:59:59 +0000 UTC -theblast.com,443,z.ssl.fastly.net,Valid,172,2021-04-23 18:34:28 +0000 UTC -mariusschulz.com,443,mariusschulz.com,Alert,39,2020-12-11 09:47:12 +0000 UTC -nextjs.org,443,*.nextjs.org,Alert,39,2020-12-11 14:01:41 +0000 UTC -i.redd.it,443,*.redd.it,Valid,112,2021-02-22 12:00:00 +0000 UTC -www.ui.com,443,ubnt.com,Warn,66,2021-01-07 12:00:00 +0000 UTC -www.bbc.com,443,www.bbc.com,Valid,307,2021-09-05 09:36:04 +0000 UTC -nordicapis.com,443,nordicapis.com,Warn,65,2021-01-06 00:24:11 +0000 UTC -seekingalpha.com,443,f2.shared.global.fastly.net,Valid,173,2021-04-23 22:57:42 +0000 UTC -www.medicinenet.com,443,medicinenet.com,Valid,307,2021-09-05 12:00:00 +0000 UTC -www.slatejs.org,443,slatejs.org,Alert,46,2020-12-18 16:00:45 +0000 UTC -www.healthline.com,443,*.healthline.com,Valid,111,2021-02-21 18:18:29 +0000 UTC -ionspec.org,443,sni.cloudflaressl.com,Valid,282,2021-08-11 12:00:00 +0000 UTC -dryassini.com,443,sni.cloudflaressl.com,Valid,259,2021-07-19 12:00:00 +0000 UTC -gpullareddysweets.com,443,gpullareddysweets.com,Valid,204,2021-05-25 06:05:01 +0000 UTC -adguard.com,443,*.adguard.com,Valid,673,2022-09-05 22:30:20 +0000 UTC -www.adidas.com,443,www.adidas.com,Valid,224,2021-06-14 12:00:00 +0000 UTC -netbanking.hdfcbank.com,443,netbanking.hdfcbank.com,Warn,78,2021-01-19 12:00:00 +0000 UTC -www.instructables.com,443,www.instructables.com,Warn,84,2021-01-25 02:13:02 +0000 UTC -dietpi.com,443,sni.cloudflaressl.com,Valid,287,2021-08-16 12:00:00 +0000 UTC -levelup.gitconnected.com,443,levelup.gitconnected.com,Valid,303,2021-08-31 23:59:59 +0000 UTC -health.clevelandclinic.org,443,health.clevelandclinic.org,Valid,481,2022-02-26 15:24:03 +0000 UTC -www.howtogeek.com,443,i2.shared.global.fastly.net,Valid,144,2021-03-26 14:57:26 +0000 UTC -www.easeus.com,443,easeus.com,Valid,136,2021-03-17 23:59:59 +0000 UTC -www.shaneco.com,443,www.shaneco.com,Alert,10,2020-11-12 17:12:52 +0000 UTC -www.etsy.com,443,etsy.com,Valid,364,2021-11-01 12:00:00 +0000 UTC -www.vrindi.com,443,www.vrindi.com,Valid,215,2021-06-05 09:20:13 +0000 UTC -www.ajsgem.com,443,ajsgem.com,Valid,249,2021-07-08 23:59:59 +0000 UTC -americanwestjewelry.com,443,americanwestjewelry.com,Warn,79,2021-01-19 23:59:59 +0000 UTC -www.rajwadithali.com,443,www.rajwadithali.com,Valid,273,2021-08-01 23:59:59 +0000 UTC -klungvik.com,443,*.klungvik.com,Alert,48,2020-12-20 21:10:08 +0000 UTC -www.brilliantearth.com,443,www.brilliantearth.com,Alert,19,2020-11-21 12:00:00 +0000 UTC -www.gempundit.com,443,www.gempundit.com,Valid,454,2022-01-30 12:08:11 +0000 UTC -www.jamesallen.com,443,*.jamesallen.com,Valid,374,2021-11-11 12:00:00 +0000 UTC -www.diamonds.pro,443,sni.cloudflaressl.com,Valid,288,2021-08-17 12:00:00 +0000 UTC -www.gemsny.com,443,gemsny.com,Valid,116,2021-02-26 18:57:41 +0000 UTC -www.gia.edu,443,www.gia.edu,Valid,278,2021-08-07 12:00:00 +0000 UTC -www.bluenile.com,443,www.bluenile.com,Valid,360,2021-10-27 23:59:59 +0000 UTC -ascloud.astrosage.com,443,astrosage.com,Valid,249,2021-07-09 12:00:00 +0000 UTC -www.astrocamp.com,443,astrocamp.com,Valid,284,2021-08-13 12:00:00 +0000 UTC -vedicrishi.in,443,sni.cloudflaressl.com,Valid,255,2021-07-15 12:00:00 +0000 UTC -www.lowes.com,443,www1.lowes.com,Valid,103,2021-02-12 23:59:59 +0000 UTC -communications.fidelity.com,443,fiew8.fidelity.com,Valid,531,2022-04-17 13:52:56 +0000 UTC -www.thenaturalsapphirecompany.com,443,*.thenaturalsapphirecompany.com,Valid,345,2021-10-13 16:17:01 +0000 UTC -adblockplus.org,443,www.adblockplus.org,Valid,174,2021-04-24 23:59:59 +0000 UTC -www.glassdoor.com,443,glassdoor.com,Valid,242,2021-07-02 12:00:00 +0000 UTC -temp-mail.org,443,sni.cloudflaressl.com,Valid,272,2021-08-01 12:00:00 +0000 UTC -appleid.apple.com,443,appleid.apple.com,Valid,219,2021-06-09 12:00:00 +0000 UTC -cdn.uconnectlabs.com,443,uconnectlabs.com,Valid,278,2021-08-06 23:59:59 +0000 UTC -negotiateoffer.com,443,negotiateoffer.com,Valid,165,2021-04-16 17:30:57 +0000 UTC -www.astroscience.com,443,sni.cloudflaressl.com,Valid,249,2021-07-09 12:00:00 +0000 UTC -www.monster.com,443,www.monster.com,Valid,197,2021-05-18 12:00:00 +0000 UTC -buy.astrosage.com,443,astrosage.com,Valid,249,2021-07-09 12:00:00 +0000 UTC -www.astrosage.com,443,astrosage.com,Valid,249,2021-07-09 12:00:00 +0000 UTC -www.rahasyavedicastrology.com,443,sni.cloudflaressl.com,Valid,278,2021-08-07 12:00:00 +0000 UTC -careercenter.bauer.uh.edu,443,uconnectlabs.com,Valid,278,2021-08-06 23:59:59 +0000 UTC -www.myluckystones.com,443,cpcalendars.myluckystones.com,Warn,79,2021-01-20 20:16:36 +0000 UTC -www.searchindia.info,443,searchindia.info,Warn,85,2021-01-26 09:46:18 +0000 UTC -www.careeraddict.com,443,sni.cloudflaressl.com,Valid,289,2021-08-18 12:00:00 +0000 UTC -palagems.myshopify.com,443,*.myshopify.com,Valid,331,2021-09-29 12:00:00 +0000 UTC -www.salary.com,443,*.salary.com,Valid,547,2022-05-03 19:45:38 +0000 UTC -www.ikea.com,443,ikea.com,Valid,354,2021-10-22 12:00:00 +0000 UTC -khanna.house.gov,443,*.house.gov,Valid,241,2021-07-01 12:00:00 +0000 UTC -www.thestreet.com,443,saymedia2.map.fastly.net,Valid,184,2021-05-05 20:12:23 +0000 UTC -www.wayfair.com,443,www.wayfair.com,Valid,282,2021-08-11 12:00:00 +0000 UTC -geology.com,443,geology.com,Alert,49,2020-12-20 23:59:59 +0000 UTC -macreports.com,443,*.macreports.com,Warn,57,2020-12-29 03:06:28 +0000 UTC -myratna.com,443,myratna.com,Warn,87,2021-01-28 09:16:38 +0000 UTC -sridurgamathaastrologer.com,443,sni.cloudflaressl.com,Valid,265,2021-07-25 12:00:00 +0000 UTC -www.blender.org,443,www.blender.org,Warn,60,2021-01-01 21:09:40 +0000 UTC -samhobbs.co.uk,443,hobbs-family.co.uk,Warn,77,2021-01-18 11:36:59 +0000 UTC -dhanshreegems.com,443,*.dhanshreegems.com,Warn,88,2021-01-28 22:11:17 +0000 UTC -www.rudraastro.com,443,rudraastro.com,Valid,297,2021-08-25 23:59:59 +0000 UTC +cloudflare.com,443,cloudflare.com,Valid,188,2023-05-04 23:59:59 +0000 UTC +instagram.com,443,*.instagram.com,Alert,9,2022-11-06 23:59:59 +0000 UTC +facebook.com,443,*.facebook.com,Alert,9,2022-11-06 23:59:59 +0000 UTC +google.com,443,*.google.com,Valid,51,2022-12-19 08:19:39 +0000 UTC +youtube.com,443,*.google.com,Valid,51,2022-12-19 08:19:39 +0000 UTC +stackoverflow.com,443,*.stackexchange.com,Valid,35,2022-12-03 13:06:49 +0000 UTC +microsoft.com,443,microsoft.com,Valid,351,2023-10-15 07:08:50 +0000 UTC +www.wayfair.com,443,wayfair.com,Valid,43,2022-12-10 23:59:59 +0000 UTC +stripe.com, 443,stripe.com,Valid,90,2023-01-26 23:59:59 +0000 UTC +expired.badssl.com,443,*.badssl.com,Expired,-2756,2015-04-12 23:59:59 +0000 UTC +amazon.com,443,*.peg.a2z.com,Valid,355,2023-10-18 23:59:59 +0000 UTC diff --git a/ssl/connect.go b/ssl/connect.go new file mode 100644 index 0000000..0f6c466 --- /dev/null +++ b/ssl/connect.go @@ -0,0 +1,75 @@ +package ssl + +import ( + "crypto/tls" + "crypto/x509" + "fmt" + "math" + "net" + "strings" + "sync" + "time" + + "github.com/gammazero/workerpool" +) + +// NewSSLConnect ... +func NewSSLConnect(warnDays, alertDays int, wg *sync.WaitGroup, wp *workerpool.WorkerPool, r chan<- CertificateStatusResult) *SSLConnect { + return &SSLConnect{warnDays: warnDays, alertDays: alertDays, wg: wg, wp: wp, results: r} +} + +// Connect ... Connects to the SSL host +func (sc *SSLConnect) Connect(h SSLHost) { + defer sc.wg.Done() + d := &net.Dialer{ + Timeout: time.Millisecond * time.Duration(2000), + } + + conn, err := tls.DialWithDialer(d, "tcp", h.Host+":"+h.Port, &tls.Config{ + InsecureSkipVerify: true, ServerName: h.Host}) + if err != nil { + sc.results <- CertificateStatusResult{Host: h.Host, Port: h.Port, Err: err} + return + } + defer conn.Close() + + pc := conn.ConnectionState().PeerCertificates + if len(pc) == 0 { + sc.results <- CertificateStatusResult{Err: fmt.Errorf("no peer certificates received")} + return + } + + r := sc.validateCertificate(pc[0]) + r.Host = strings.ToLower(h.Host) + r.Port = h.Port + sc.results <- r +} + +func (sc *SSLConnect) validateCertificate(cert *x509.Certificate) CertificateStatusResult { + + exp := cert.NotAfter + days := int(math.Ceil(time.Until(exp).Hours() / 24)) + var status ExpirationStatus + + switch { + case days < sc.warnDays && days > sc.alertDays: + status = Warn + case days < sc.alertDays && days >= 0: + status = Alert + case days > sc.warnDays: + status = Valid + case days < 0: + fallthrough + default: + status = Expired + } + + return CertificateStatusResult{ + Subject: cert.Subject.CommonName, + NotAfter: cert.NotAfter, + Ca: cert.IsCA, + Err: nil, + Status: status, + Days: days, + } +} diff --git a/ssl/types.go b/ssl/types.go new file mode 100644 index 0000000..09f1bd6 --- /dev/null +++ b/ssl/types.go @@ -0,0 +1,45 @@ +package ssl + +import ( + "sync" + "time" + + "github.com/gammazero/workerpool" +) + +// ExpirationStatus ... Enum type +type ExpirationStatus string + +const ( + Expired ExpirationStatus = "Expired" + Warn = "Warn" + Alert = "Alert" + Valid = "Valid" +) + +// CertificateStatusResult ... +type CertificateStatusResult struct { + Host string + Port string + Subject string + Ca bool + Days int + NotAfter time.Time + Status ExpirationStatus + Err error +} + +// SSLHost ... +type SSLHost struct { + Host string + Port string +} + +// SSLConnect ... +type SSLConnect struct { + warnDays int + alertDays int + wg *sync.WaitGroup + wp *workerpool.WorkerPool + results chan<- CertificateStatusResult +} diff --git a/cmd/mangobars/console-writer.go b/writer/console.go similarity index 71% rename from cmd/mangobars/console-writer.go rename to writer/console.go index caaa87b..265c520 100644 --- a/cmd/mangobars/console-writer.go +++ b/writer/console.go @@ -1,21 +1,22 @@ -package main +package writer import ( "fmt" "strconv" "sync" + "github.com/anandpaithankar/mangobars/ssl" "github.com/pterm/pterm" ) // ConsoleWriter ... type ConsoleWriter struct { wg *sync.WaitGroup - twc chan CertificateStatusResult + twc chan ssl.CertificateStatusResult } // NewConsoleWriter ... Creates a new console writer -func NewConsoleWriter(wg *sync.WaitGroup, twc chan CertificateStatusResult) *ConsoleWriter { +func NewConsoleWriter(wg *sync.WaitGroup, twc chan ssl.CertificateStatusResult) *ConsoleWriter { this := &ConsoleWriter{twc: twc, wg: wg} go this.run() return this @@ -36,10 +37,10 @@ func (t *ConsoleWriter) run() { } } -func (t *ConsoleWriter) colorWriter(r CertificateStatusResult) { +func (t *ConsoleWriter) colorWriter(r ssl.CertificateStatusResult) { defer t.wg.Done() - if r.err != nil { - s := fmt.Sprintf("%s:%s (%s)", r.host, r.port, r.err.Error()) + if r.Err != nil { + s := fmt.Sprintf("%s:%s (%s)", r.Host, r.Port, r.Err.Error()) pfx := pterm.Error.Prefix pfx.Text = " ERROR " pterm.Error.WithPrefix(pfx).Println(s) @@ -47,16 +48,16 @@ func (t *ConsoleWriter) colorWriter(r CertificateStatusResult) { } - s := fmt.Sprintf("%s:%s (%s | %s days | %s)", r.host, r.port, r.subject, strconv.Itoa(r.days), r.notAfter.String()) + s := fmt.Sprintf("%s:%s (%s | %s days | %s)", r.Host, r.Port, r.Subject, strconv.Itoa(r.Days), r.NotAfter.String()) - switch r.status { - case valid: + switch r.Status { + case ssl.Valid: t.printValid(s) - case expired: + case ssl.Expired: t.printExpired(s) - case warn: + case ssl.Warn: t.printWarn(s) - case alert: + case ssl.Alert: t.printAlert(s) } } diff --git a/cmd/mangobars/file-writer.go b/writer/file.go similarity index 64% rename from cmd/mangobars/file-writer.go rename to writer/file.go index 9e58278..c5d1cfa 100644 --- a/cmd/mangobars/file-writer.go +++ b/writer/file.go @@ -1,10 +1,12 @@ -package main +package writer import ( "fmt" "os" "strconv" "sync" + + "github.com/anandpaithankar/mangobars/ssl" ) // FileWriter ... @@ -12,11 +14,11 @@ type FileWriter struct { name string f *os.File wg *sync.WaitGroup - fwc chan CertificateStatusResult + fwc chan ssl.CertificateStatusResult } // NewFileWriter ... Creates a new file writer -func NewFileWriter(wg *sync.WaitGroup, fwc chan CertificateStatusResult, name string) (*FileWriter, func()) { +func NewFileWriter(wg *sync.WaitGroup, fwc chan ssl.CertificateStatusResult, name string) (*FileWriter, func()) { f, err := os.Create(name) if err != nil { fmt.Fprintf(os.Stderr, "error creating a %s file", name) @@ -51,14 +53,14 @@ func (fw *FileWriter) run() { } } -func (fw *FileWriter) write(r CertificateStatusResult) { +func (fw *FileWriter) write(r ssl.CertificateStatusResult) { defer fw.wg.Done() var s string - if r.err != nil { - s = fmt.Sprintf("%s,%s,%s\n", r.host, r.port, r.err.Error()) + if r.Err != nil { + s = fmt.Sprintf("%s,%s,%s\n", r.Host, r.Port, r.Err.Error()) } else { - s = fmt.Sprintf("%s,%s,%s,%s,%s,%s\n", r.host, r.port, r.subject, string(r.status), strconv.Itoa(r.days), r.notAfter.String()) + s = fmt.Sprintf("%s,%s,%s,%s,%s,%s\n", r.Host, r.Port, r.Subject, string(r.Status), strconv.Itoa(r.Days), r.NotAfter.String()) } _, err := fw.f.WriteString(s) if err != nil {