func send(addr, server, sni string) int { c0, e := net.Dial("tcp", addr) if e != nil { log.Fatal(e) } c1 := tls.Client(c0, &tls.Config{ ServerName: server, InsecureSkipVerify: true, }) c2 := tls.Client(c1, &tls.Config{ ServerName: sni, InsecureSkipVerify: true, }) c2.SetDeadline(time.Now().Add(2 * time.Minute)) s := fmt.Sprintf("GET / HTTP/1.1\r\nHost: %s\r\nUser-Agent: curl/7.68.0\r\n\r\n", sni) //b := make([]byte, 4096) l, _ := c2.Write([]byte(s)) log.Println(l) if e != nil { return 0 } log.Printf("%s->%s->%s\n", addr, server, sni) return l }