Added main.go file

master
ice3man 2018-04-04 17:03:16 +05:30
parent 0bd38cd2ac
commit 67a1c20e34
1 changed files with 71 additions and 0 deletions

71
main.go Normal file
View File

@ -0,0 +1,71 @@
//
// process.go : Contains main package drivers and stuff
// Written By : @codingo
// @ice3man
//
// Distributed Under MIT License
// Copyrights (C) 2018 Ice3man
//
package main
import (
"fmt"
"flag"
"os"
"subfinder/libsubfinder/helper"
"subfinder/libsubfinder/engines/passive"
)
var banner = `
_________ ___. ___________.__ .___
/ _____/__ _\_ |__ \_ _____/|__| ____ __| _/___________
\_____ \| | \ __ \ | __) | |/ \ / __ |/ __ \_ __ \
/ \ | / \_\ \| \ | | | \/ /_/ \ ___/| | \/
/_______ /____/|___ /\___ / |__|___| /\____ |\___ >__|
\/ \/ \/ \/ \/ \/
`
// Parses command line arguments into a setting structure
func ParseCmdLine() (state *helper.State, err error) {
// Initialize current state and read Config file
s, err := helper.InitState()
if err != nil {
return &s, err
}
flag.BoolVar(&s.Verbose, "v", false, "Verbose output")
flag.BoolVar(&s.Color, "c", true, "Use colour in outpout")
flag.IntVar(&s.Threads, "t", 10, "Number of concurrent threads")
flag.StringVar(&s.Domain, "d", "", "Domain to find subdomains for")
flag.BoolVar(&s.Recursive, "r", true, "Use recursion to find subdomains")
flag.Parse()
return &s, nil
}
func main() {
fmt.Println(banner)
fmt.Printf("\nSubFinder v0.1.0 Made with ❤ by @Ice3man")
fmt.Printf("\n===============================================================")
state, err := ParseCmdLine()
if err != nil {
fmt.Println(err)
os.Exit(1)
}
// Improve Usage guide here
if state.Domain == "" {
fmt.Printf("\n\nsubfinder: Missing domain argument\nTry './subfinder -h' for more information\n")
os.Exit(1)
}
passive.PassiveDiscovery(state)
}