Dorkgen is a dork query wrapper for popular search engines such as Google Search, DuckDuckGo, Yahoo and Bing. Learn more about Google Hacking. The goal of this package is to provide simple interfaces to creates valid dork queries for various search engines. This library was initially created for PhoneInfoga.
Version 1 is ongoing, but the API is still not fixed. See below table for supported search engines and status of their implementation.
Search engine | Implementation status |
---|---|
Google Search | Stable |
DuckDuckGo | Stable |
Yahoo Search | WIP |
Bing Search | WIP |
Fetch the module :
go get github.com/sundowndev/dorkgen
package main
import "github.com/sundowndev/dorkgen"
func main() {
dork := dorkgen.NewGoogleSearch()
// dork := dorkgen.NewDuckDuckGo()
// dork := dorkgen.NewBingSearch()
// dork := dorkgen.NewYahooSearch()
dork.Site("example.com").InText("text").String()
// returns: site:example.com intext:"text"
}
func main() {
dork.Site("facebook.com").Or().Site("twitter.com").String()
// returns: site:facebook.com | site:twitter.com
dork.InText("facebook").And().InText("twitter").String()
// returns: intext:"facebook" + intext:"twitter"
}
func main() {
dork.
Exclude(dorkgen.NewGoogleSearch().Site("example.com")).
Site("example.*").
Or().
InText("text")
// returns: -site:example.com site:example.* | "text"
}
func main() {
dork.
Group(dorkgen.NewGoogleSearch().
Site("facebook.com").
Or().
Site("twitter.com")).
InText("wtf").
String()
// returns: (site:facebook.com | site:twitter.com) "wtf"
}
func main() {
dork.
Site("facebook.*").
Exclude(dorkgen.NewGoogleSearch().Site("facebook.com"))
dork.String()
// returns: site:facebook.* -site:facebook.com
dork.ToURL()
// returns: https://www.google.com/search?q=site%3Afacebook.%2A+-site%3Afacebook.com
}
Thanks to JetBrains for supporting my open-source projects.