126 lines
4.8 KiB
Go
126 lines
4.8 KiB
Go
package main
|
||
|
||
import (
|
||
"dt_automate/auth"
|
||
_ "dt_automate/method"
|
||
"dt_automate/tool"
|
||
"dt_automate/wps"
|
||
_ "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-10") //将防火墙安全事件存放到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() //获取租户列表(完成)
|
||
// damo.Damo()
|
||
|
||
}
|
||
} 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, 帮助信息")
|
||
}
|
||
}
|