package main import ( _ "dt_automate/attackevent" "dt_automate/auth" _ "dt_automate/method" "dt_automate/tool" _ "dt_automate/wps" "flag" "fmt" "log" "os" "strconv" "time" ) var ( // urls string // 存储 -t 参数值 keyss bool // 存储值 runs bool //存储值 // helpFlag bool ) func main() { //SetFlags函数用来设置标准logger的输出配置 log.SetPrefix("[DT_AUTOMATE]: ") log.SetFlags(log.Llongfile | log.Lmicroseconds | log.Ldate) // 定义标志 -url 并设置其默认值为空字符串 flag.BoolVar(&keyss, "v", false, "查看授权状态") flag.BoolVar(&runs, "run", false, "开始执行") // flag.BoolVar(&helpFlag, "h", false, "Show help message") //解析命令行参数 flag.Parse() // log.Println(os.Args[1]) if len(os.Args) > 1 { if keyss { key := tool.Keyprin(auth.Auth_main()["key"]) if key.End_time != "" { a, _ := strconv.ParseInt(key.End_time, 10, 64) // b, _ := strconv.ParseInt(key.Initial_time, 10, 64) // 获取的不是当前时间 duration := time.Unix(a, 0).Sub(time.Unix(tool.Timestamp("second"), 0)) days := int(duration / (24 * time.Hour)) //天 hours := int(duration % (24 * time.Hour) / time.Hour) //小时 minutes := int(duration / time.Minute % 60) //分钟 secod := int(duration / time.Second % 60) //秒 if days <= 0 && hours <= 0 && minutes <= 0 { log.Printf("授权已到期,剩余时间:%d天 %d小时 %d分钟 %d秒", days, hours, minutes, secod) } else { log.Printf("授权未到期,剩余时间:%d天 %d小时 %d分钟 %d秒", days, hours, minutes, secod) } // log.Printf("剩余时间:%d天 %d小时 %d分钟 %d秒", days, hours, minutes, secod) //剩余时间 } else { log.Println("没有授权") } } if runs { key := tool.Keyprin(auth.Auth_main()["key"]) if key.End_time != "" { a, _ := strconv.ParseInt(key.End_time, 10, 64) // b, _ := strconv.ParseInt(key.Initial_time, 10, 64) // 获取的不是当前时间 duration := time.Unix(a, 0).Sub(time.Unix(tool.Timestamp("second"), 0)) days := int(duration / (24 * time.Hour)) //天 hours := int(duration % (24 * time.Hour) / time.Hour) //小时 minutes := int(duration / time.Minute % 60) //分钟 secod := int(duration / time.Second % 60) //秒 if days <= 0 && hours <= 0 && minutes <= 0 { log.Printf("授权已到期,剩余时间:%d天 %d小时 %d分钟 %d秒", days, hours, minutes, secod) } else { log.Printf("授权未到期,剩余时间:%d天 %d小时 %d分钟 %d秒", days, hours, minutes, secod) //可执行程序位置 // 互联网区截图 // method.HW_FAC1() //截取流量清洗的图片 // method.HW_FW1() //截取防火墙的图片 // method.HW_TSGZ() //截取态势感知的图片 // method.HW_DTCLOUD() //截取运维中心的图片 // method.HW_BAOLJ() //截取堡垒机的图片 // // 政务网区截图 // method.ZWW_FW1() //截取防火墙的图片 // method.ZWW_TSGZ() //截取态势感知的图片 // method.ZWW_DTCLOUD() //截取运维中心的图片 // method.ZWWW_BAOLJ() //截取堡垒机的图片 // 互联网区运维巡检文档生成 // wps.HW_SYS_Word() //运维平台word文档生成 // //政务网区运维巡检文档生成 // wps.ZWW_SYS_Word() //运维平台word文档生成 // // 安全巡检文档生成 // wps.SAFET_Word() //安全巡检文档生成 //安全事件表格生成(需要先执行互联网区防火墙截图) // attackevent.Fw_event(attackevent.HW_fw1_cookie(), "2025-03-13") //将防火墙安全事件存放到xlsx文件中 //nessus的csv文件生成docx报告 // nessus.CSV_damo() //翻译模块调用腾讯xt翻译月500万字限制 // log.Println(wps.Translate("hello")) // wps.Weekly_word() //调用云平台接口 // dtcloud.EcsList() //获取ecs列表及其详情(完成) // dtcloud.Process() //获取单ecs进程使用情况 // dtcloud.Memory() //获取单个ecs的memory使用情况 // dtcloud.Cpu() ///获取单个ecs的cpu使用情况 // dtcloud.TenantList() //获取租户列表(完成) //获取docx文档中所有的图片 // wps.Weekly_get_img("") // wps.DrawHorizontalBarChart() } } else { log.Println("没有授权") } } } else { // log.Println("\n使用说明:\n请在主程序后面带上参数↓↓↓\n# # # # # # # # # # # # # # # # # # # # # # # # #\n\n实例: main -url https://www.douyin.com/follow/live/923670558441\n\n# # # # # # # # # # # # # # # # # # # # # # # # #") flag.Usage() os.Exit(0) } } func init() { flag.Usage = func() { fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0]) fmt.Println(" -v 查看授权状态") fmt.Println(" -run 开始截取图片") // fmt.Println(" -h, 帮助信息") } }