falcon/examples/advanced.go

47 lines
870 B
Go
Raw Normal View History

2024-07-25 07:47:36 -04:00
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)
}