47 lines
870 B
Go
47 lines
870 B
Go
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)
|
|
}
|