1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package cron
- import (
- "log"
- "time"
- "github.com/710leo/urlooker/dataobj"
- "github.com/710leo/urlooker/modules/web/g"
- "github.com/710leo/urlooker/modules/web/model"
- "github.com/710leo/urlooker/modules/web/utils"
- )
- func GetDetectedItem() {
- t1 := time.NewTicker(time.Duration(60) * time.Second)
- for {
- err := getDetectedItem()
- if err != nil {
- time.Sleep(time.Second * 1)
- continue
- }
- <-t1.C
- }
- }
- func getDetectedItem() error {
- detectedItemMap := make(map[string][]*dataobj.DetectedItem)
- stras, err := model.GetAllStrategyByCron()
- if err != nil {
- log.Println("get strategies error:", err)
- return err
- }
- for _, s := range stras {
- detectedItem := newDetectedItem(s)
- idc := detectedItem.Idc
- if _, exists := detectedItemMap[idc]; exists {
- detectedItemMap[idc] = append(detectedItemMap[idc], &detectedItem)
- } else {
- detectedItemMap[idc] = []*dataobj.DetectedItem{&detectedItem}
- }
- }
- g.DetectedItemMap.Set(detectedItemMap)
- return nil
- }
- func newDetectedItem(s *model.Strategy) dataobj.DetectedItem {
- _, domain, _, _ := utils.ParseUrl(s.Url)
- idc := s.Idc
- if idc == "" {
- idc = g.Config.IDC[0]
- }
- detectedItem := dataobj.DetectedItem{
- Idc: idc,
- Target: s.Url,
- Creator: s.Creator,
- Sid: s.Id,
- Keywords: s.Keywords,
- Data: s.Data,
- Tag: s.Tag,
- Endpoint: s.Endpoint,
- ExpectCode: s.ExpectCode,
- Timeout: s.Timeout,
- Header: s.Header,
- PostData: s.PostData,
- Method: s.Method,
- Domain: domain,
- }
- return detectedItem
- }
|