dt_automate/main.go

123 lines
4.7 KiB
Go
Raw Normal View History

2025-02-19 18:30:19 +08:00
package main
import (
2025-03-11 16:04:26 +08:00
"dt_automate/auth"
2025-02-19 18:30:19 +08:00
"dt_automate/tool"
"flag"
"fmt"
"log"
"os"
"strconv"
"time"
)
var (
2025-02-27 18:37:03 +08:00
// urls string // 存储 -t 参数值
keyss bool // 存储值
runs bool //存储值
2025-02-19 18:30:19 +08:00
// helpFlag bool
)
func main() {
//SetFlags函数用来设置标准logger的输出配置
2025-03-06 18:53:00 +08:00
log.SetPrefix("[DT_AUTOMATE]: ")
2025-02-19 18:30:19 +08:00
log.SetFlags(log.Llongfile | log.Lmicroseconds | log.Ldate)
// 定义标志 -url 并设置其默认值为空字符串
flag.BoolVar(&keyss, "v", false, "查看授权状态")
2025-02-27 18:37:03 +08:00
flag.BoolVar(&runs, "run", false, "开始执行")
2025-02-19 18:30:19 +08:00
// flag.BoolVar(&helpFlag, "h", false, "Show help message")
//解析命令行参数
flag.Parse()
// log.Println(os.Args[1])
if len(os.Args) > 1 {
if keyss {
2025-03-11 16:04:26 +08:00
key := tool.Keyprin(auth.Auth_main()["key"])
2025-02-19 18:30:19 +08:00
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 {
2025-03-11 16:04:26 +08:00
key := tool.Keyprin(auth.Auth_main()["key"])
2025-02-19 18:30:19 +08:00
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)
//可执行程序位置
2025-03-11 15:07:17 +08:00
// // 互联网区截图
2025-03-04 17:40:37 +08:00
// method.HW_FAC1() //截取流量清洗的图片
2025-03-11 15:07:17 +08:00
// method.HW_FW1() //截取防火墙的图片
2025-03-06 18:53:00 +08:00
// method.HW_TSGZ() //截取态势感知的图片
2025-02-27 00:12:26 +08:00
// method.HW_DTCLOUD() //截取运维中心的图片
2025-03-04 17:40:37 +08:00
// method.HW_BAOLJ() //截取堡垒机的图片
2025-03-11 15:07:17 +08:00
// //政务网区截图
2025-02-27 00:12:26 +08:00
// method.ZWW_FW1() //截取防火墙的图片
2025-03-11 15:07:17 +08:00
// method.ZWW_TSGZ() //截取态势感知的图片
2025-02-27 00:12:26 +08:00
// method.ZWW_DTCLOUD() //截取运维中心的图片
2025-02-28 16:29:58 +08:00
// method.ZWWW_BAOLJ() //截取堡垒机的图片
2025-03-06 18:53:00 +08:00
// 互联网区运维巡检文档生成
// wps.HW_SYS_Word() //运维平台word文档生成
2025-03-11 15:07:17 +08:00
// // // //政务网区运维巡检文档生成
// wps.ZWW_SYS_Word() //运维平台word文档生成
2025-03-11 15:07:17 +08:00
// // // //安全巡检文档生成
// wps.SAFET_Word() //安全巡检文档生成
2025-03-06 18:53:00 +08:00
//安全事件表格生成(需要先执行互联网区防火墙截图)
2025-03-11 15:07:17 +08:00
// attackevent.Fw_event(attackevent.HW_fw1_cookie(), "2025-03-10") //将防火墙安全事件存放到xlsx文件中
2025-03-05 18:55:51 +08:00
//nessus的csv文件生成docx报告
2025-03-11 16:04:26 +08:00
// nessus.CSV_damo()
2025-03-06 18:53:00 +08:00
//翻译模块调用腾讯xt翻译月500万字限制
2025-03-05 18:55:51 +08:00
// log.Println(wps.Translate("hello"))
2025-03-05 23:03:51 +08:00
// wps.Weekly_word()
2025-03-06 18:53:00 +08:00
//调用云平台接口
2025-03-06 22:07:39 +08:00
// dtcloud.EcsList() //获取ecs列表及其详情(完成)
// dtcloud.Process() //获取单ecs进程使用情况
// dtcloud.Memory() //获取单个ecs的memory使用情况
// dtcloud.Cpu() ///获取单个ecs的cpu使用情况
// dtcloud.TenantList() //获取租户列表(完成)
2025-03-11 15:07:17 +08:00
// damo.Damo()
2025-02-19 18:30:19 +08:00
}
} 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, 帮助信息")
}
}