package main import ( "fmt" "os" "strings" "git.supernets.org/perp/falcon" ) const ( reset = "\033[0m" blue = "\033[34m" green = "\033[32m" red = "\033[31m" ) func main() { content, err := os.ReadFile(os.Args[1]) if err != nil { panic(err) } f := falcon.New(strings.Split(string(content), "\n")) go f.Start() var count int for range len(f.Proxies) { select { case socks5 := <-f.SOCKS5: count += 1 fmt.Printf("%sIP%s: %s%s\n", green, reset, blue, socks5.Query) fmt.Printf("%sISP%s: %s%s\n", blue, reset, green, socks5.Isp) fmt.Printf("%sCountry%s: %s%s\n", green, reset, blue, socks5.Country) fmt.Printf("%sCity%s: %s%s\n", blue, reset, green, socks5.City) fmt.Println(reset) case err := <-f.Error: fmt.Printf("%s%s%s\n", red, err, reset) } } fmt.Printf("Found %s%d%s SOCKS5 proxies\n", green, count, reset) }