-
Notifications
You must be signed in to change notification settings - Fork 1
/
dns_result.go
62 lines (56 loc) · 1.38 KB
/
dns_result.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/**
* Author: haoshuaiwei
* Date: 2019-05-14 16:47
*/
package fast_dns_search
import (
"encoding/json"
"fast-work/fast-driver"
"fast-work/fast-log"
"fast-work/fast-sys"
"github.com/hsw409328/gofunc"
"github.com/hsw409328/gofunc/go_hlog"
"log"
)
type DnsResultData struct {
BaseDomain string
Domain string
Ip []string
Host string
IsOpen bool `是否可以打开`
Type string `结果类型: A\TXT\CNAME\IP`
}
type DnsResult struct {
saveLog *go_hlog.Logger
}
func NewDnsResult(logger *go_hlog.Logger) *DnsResult {
return &DnsResult{
saveLog: logger,
}
}
func (c *DnsResult) Save(data DnsResultData) {
//获取保存的位置
saveMod, err := fast_sys.GoConfig.GetString("dns", "save_mod")
if err != nil {
log.Fatal(err)
}
if gofunc.Strpos(saveMod, "local") {
c.saveLog.Info(data)
}
if gofunc.Strpos(saveMod, "redis") {
by, err := json.Marshal(data)
if err != nil {
fast_log.FastLog.Error(err)
}
//域名爆破结果结构使用 根域名+list+success
//cc.com-dns-search-list-success
redisCmd := fast_driver.RedisDriver.RPush(data.BaseDomain+"-dns-search-list-success", string(by))
//redisCmd := fast_driver.RedisDriver.HSet("dns_"+data.BaseDomain, data.Domain, string(by))
if _, err := redisCmd.Result(); err != nil {
fast_log.FastLog.Error(err)
}
}
if gofunc.Strpos(saveMod, "mysql") {
//TODO 暂不支持
}
}