Documentation
¶
Overview ¶
Package gofofa fofa client in Go
env settings: - FOFA_CLIENT_URL full fofa connnection string, format: <url>/?email=<email>&key=<key>&version=<v2> - FOFA_SERVER fofa server - FOFA_EMAIL fofa account email - FOFA_KEY fofa account key
Index ¶
- func ExtractIconFromHtml(data []byte) string
- func FofaURLFromEnv() string
- func IconHash(iconUrl string) (hash string, err error)
- type AccountInfo
- type Client
- func (c *Client) AccountInfo() (ac AccountInfo, err error)
- func (c *Client) Fetch(apiURI string, params map[string]string, v interface{}) (err error)
- func (c *Client) HostSearch(query string, size int, fields []string) (res [][]string, err error)
- func (c *Client) HostSize(query string) (count int, err error)
- func (c *Client) HostStats(host string) (data HostStatsData, err error)
- func (c *Client) Stats(query string, size int, fields []string) (res []StatsObject, err error)
- func (c *Client) URL() string
- func (c *Client) Update(configURL string) error
- type ClientOption
- type DeductMode
- type HostResults
- type HostStatsData
- type StatsItem
- type StatsObject
- type StatsResults
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractIconFromHtml ¶ added in v0.0.4
ExtractIconFromHtml extract link icon from html
func FofaURLFromEnv ¶
func FofaURLFromEnv() string
FofaURLFromEnv parse fofa connection url from env, then generate url string
Types ¶
type AccountInfo ¶
type AccountInfo struct {
Error bool `json:"error"` // error or not
ErrMsg string `json:"errmsg,omitempty"` // error string message
FCoin int `json:"fcoin"` // fcoin count
IsVIP bool `json:"isvip"` // is vip
VIPLevel int `json:"vip_level"` // vip level
}
AccountInfo fofa account info
func (AccountInfo) String ¶
func (ai AccountInfo) String() string
type Client ¶
type Client struct {
Server string // can set local server for debugging, format: <scheme>://<host>
APIVersion string // api version
Email string // fofa email
Key string // fofa key
Account AccountInfo // fofa account info
DeductMode DeductMode // 扣费提醒默认
// contains filtered or unexported fields
}
Client of fofa connection
func NewClient ¶
func NewClient(options ...ClientOption) (*Client, error)
NewClient from fofa connection string to config and with env config merge
func (*Client) AccountInfo ¶
func (c *Client) AccountInfo() (ac AccountInfo, err error)
AccountInfo fetch account info from fofa
func (*Client) HostSearch ¶
HostSearch search fofa host data query fofa query string size data size: -1 means all,0 means just data total info, >0 means actual size fields field of fofa host struct
func (*Client) HostStats ¶ added in v0.0.7
func (c *Client) HostStats(host string) (data HostStatsData, err error)
HostStats fetch query matched host count
type ClientOption ¶ added in v0.0.6
func WithLogger ¶ added in v0.0.6
func WithLogger(logger *logrus.Logger) ClientOption
WithLogger set logger
func WithURL ¶ added in v0.0.6
func WithURL(configURL string) ClientOption
WithURL configURL format: <url>/?email=<email>&key=<key>&version=<v2>&tlsdisabled=false&debuglevel=0
type DeductMode ¶
type DeductMode int
DeductMode should deduct fcoin automatically or just use free limit
const ( // DeductModeFree only use free limit size DeductModeFree DeductMode = 0 // DeductModeFCoin deduct fcoin automatically if account has fcoin DeductModeFCoin DeductMode = 1 )
func ParseDeductMode ¶
func ParseDeductMode(v string) DeductMode
ParseDeductMode parse string to DeductMode
type HostResults ¶
type HostResults struct {
Mode string `json:"mode"`
Error bool `json:"error"`
Errmsg string `json:"errmsg"`
Query string `json:"query"`
Page int `json:"page"`
Size int `json:"size"` // 总数
Results interface{} `json:"results"`
}
HostResults /search/all api results
type HostStatsData ¶ added in v0.0.7
type HostStatsData struct {
Error bool `json:"error"`
Errmsg string `json:"errmsg"`
Host string `json:"host"`
IP string `json:"ip"`
ASN int `json:"asn"`
ORG string `json:"org"`
Country string `json:"country_name"`
CountryCode string `json:"country_code"`
Protocols []string `json:"protocol"`
Ports []int `json:"port"`
Categories []string `json:"category"`
Products []string `json:"product"`
UpdateTime string `json:"update_time"`
}
HostStats /host api results
type StatsObject ¶ added in v0.0.3
StatsObject one stats object
