forked from Symph0nia/Coda
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
62 lines (55 loc) · 2.08 KB
/
main.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
package main
import (
"Coda/module"
"flag"
"fmt"
)
// 文件夹大小限制,单位为字节(10MB)
const folderSizeLimit = 100 * 1024 * 1024
func main() {
deleteFlag := flag.Bool("D", false, "删除全部文件")
backupDeleteFlag := flag.Bool("B", false, "执行备份并删除操作")
restoreFlag := flag.Bool("R", false, "恢复备份")
flag.Parse()
// 获取操作系统类型
osType := module.GetOSType()
// 检查是否具有足够的权限
if !module.CheckPermissions() {
fmt.Println("权限不足,无法执行清理操作。")
return
}
// 根据操作系统类型调用相应的清理函数
if osType != "linux" && osType != "windows" {
fmt.Println("不支持的操作系统类型。")
return
}
if osType == "linux" {
fmt.Println("检测到Linux系统,开始清理入侵痕迹...")
if *deleteFlag {
fmt.Println("正在执行全部删除操作...")
module.DeleteLinuxIntrusionTraces() // 假设这个函数内部会调用 deleteAllFolders
} else if *backupDeleteFlag {
fmt.Println("正在执行备份并删除操作...")
module.DeleteLinuxLargeKeepSmall() // 你需要确保这个函数可从module包访问
} else if *restoreFlag {
fmt.Println("正在执行恢复操作...")
module.RestoreLinuxSmallFolders() // 你需要确保这个函数可从module包访问
} else {
fmt.Println("未指定有效的操作模式。使用 -D, -B, 或 -R.")
}
} else if osType == "windows" {
fmt.Println("检测到Windows系统,开始清理入侵痕迹...")
if *deleteFlag {
fmt.Println("正在执行全部删除操作...")
module.DeleteWindowsIntrusionTraces() // 假设这个函数内部会调用 deleteAllFolders
} else if *backupDeleteFlag {
fmt.Println("正在执行备份并删除操作...")
module.DeleteWindowsLargeKeepSmall() // 你需要确保这个函数可从module包访问
} else if *restoreFlag {
fmt.Println("正在执行恢复操作...")
module.RestoreWindowsSmallFolders() // 你需要确保这个函数可从module包访问
} else {
fmt.Println("未指定有效的操作模式。使用 -D, -B, 或 -R.")
}
}
}