-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Expand file tree
/
Copy pathtoolbox.ts
More file actions
148 lines (136 loc) · 5.62 KB
/
toolbox.ts
File metadata and controls
148 lines (136 loc) · 5.62 KB
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
import http from '@/api';
import { ReqPage, ResPage, UpdateByFile } from '../interface';
import { Toolbox } from '../interface/toolbox';
import { Base64 } from 'js-base64';
import { TimeoutEnum } from '@/enums/http-enum';
import { deepCopy } from '@/utils/misc';
// device
export const getDeviceBase = () => {
return http.post<Toolbox.DeviceBaseInfo>(`/toolbox/device/base`, {}, TimeoutEnum.T_60S);
};
export const loadTimeZoneOptions = () => {
return http.get<Array<string>>(`/toolbox/device/zone/options`);
};
export const loadUsers = () => {
return http.get<Array<string>>(`/toolbox/device/users`);
};
export const updateDevice = (key: string, value: string) => {
return http.post(`/toolbox/device/update/conf`, { key: key, value: value }, TimeoutEnum.T_60S);
};
export const updateDeviceHost = (param: Array<Toolbox.TimeZoneOptions>) => {
return http.post(`/toolbox/device/update/host`, param, TimeoutEnum.T_60S);
};
export const updateDevicePasswd = (user: string, passwd: string) => {
return http.post(`/toolbox/device/update/passwd`, { user: user, passwd: Base64.encode(passwd) }, TimeoutEnum.T_60S);
};
export const updateDeviceSwap = (params: Toolbox.SwapHelper) => {
return http.post(`/toolbox/device/update/swap`, params, TimeoutEnum.T_10M);
};
export const updateDeviceByConf = (name: string, file: string) => {
return http.post(`/toolbox/device/update/byconf`, { name: name, file: file }, TimeoutEnum.T_5M);
};
export const checkDNS = (key: string, value: string) => {
return http.post(`/toolbox/device/check/dns`, { key: key, value: value });
};
export const loadDeviceConf = (name: string) => {
return http.post(`/toolbox/device/conf`, { name: name });
};
// clean
export const scan = () => {
return http.post<Toolbox.CleanData>(`/toolbox/scan`, {});
};
export const clean = (param: any) => {
return http.post(`/toolbox/clean`, param, TimeoutEnum.T_5M);
};
// fail2ban
export const getFail2banBase = () => {
return http.get<Toolbox.Fail2banBaseInfo>(`/toolbox/fail2ban/base`);
};
export const getFail2banConf = () => {
return http.get<string>(`/toolbox/fail2ban/load/conf`);
};
export const searchFail2ban = (param: Toolbox.Fail2banSearch) => {
return http.post<Array<string>>(`/toolbox/fail2ban/search`, param);
};
export const operateFail2ban = (operate: string) => {
return http.post(`/toolbox/fail2ban/operate`, { operation: operate }, TimeoutEnum.T_5M);
};
export const operatorFail2banSSHD = (param: Toolbox.Fail2banSet) => {
return http.post(`/toolbox/fail2ban/operate/sshd`, param, TimeoutEnum.T_5M);
};
export const updateFail2ban = (param: Toolbox.Fail2banUpdate) => {
return http.post(`/toolbox/fail2ban/update`, param, TimeoutEnum.T_5M);
};
export const updateFail2banByFile = (param: UpdateByFile) => {
return http.post(`/toolbox/fail2ban/update/byconf`, param, TimeoutEnum.T_5M);
};
// ftp
export const getFtpBase = () => {
return http.get<Toolbox.FtpBaseInfo>(`/toolbox/ftp/base`);
};
export const searchFtpLog = (param: Toolbox.FtpSearchLog) => {
return http.post<ResPage<Toolbox.FtpLog>>(`/toolbox/ftp/log/search`, param);
};
export const searchFtp = (param: ReqPage) => {
return http.post<ResPage<Toolbox.FtpInfo>>(`/toolbox/ftp/search`, param);
};
export const operateFtp = (operate: string) => {
return http.post(`/toolbox/ftp/operate`, { operation: operate }, TimeoutEnum.T_5M);
};
export const syncFtp = () => {
return http.post(`/toolbox/ftp/sync`);
};
export const createFtp = (params: Toolbox.FtpCreate) => {
let request = deepCopy(params) as Toolbox.FtpCreate;
if (request.password) {
request.password = Base64.encode(request.password);
}
return http.post(`/toolbox/ftp`, request);
};
export const updateFtp = (params: Toolbox.FtpUpdate) => {
let request = deepCopy(params) as Toolbox.FtpUpdate;
if (request.password) {
request.password = Base64.encode(request.password);
}
return http.post(`/toolbox/ftp/update`, request);
};
export const deleteFtp = (params: { ids: number[] }) => {
return http.post(`/toolbox/ftp/del`, params);
};
// clam
export const cleanClamRecord = (id: number) => {
return http.post(`/toolbox/clam/record/clean`, { id: id });
};
export const searchClamRecord = (param: Toolbox.ClamSearchLog) => {
return http.post<ResPage<Toolbox.ClamRecord>>(`/toolbox/clam/record/search`, param);
};
export const searchClamFile = (name: string, tail: string) => {
return http.post<string>(`/toolbox/clam/file/search`, { name: name, tail: tail });
};
export const updateClamFile = (name: string, file: string) => {
return http.post(`/toolbox/clam/file/update`, { name: name, file: file }, TimeoutEnum.T_60S);
};
export const searchClamBaseInfo = () => {
return http.post<Toolbox.ClamBaseInfo>(`/toolbox/clam/base`);
};
export const updateClamBaseInfo = (operate: string) => {
return http.post(`/toolbox/clam/operate`, { Operation: operate }, TimeoutEnum.T_60S);
};
export const searchClam = (param: ReqPage) => {
return http.post<ResPage<Toolbox.ClamInfo>>(`/toolbox/clam/search`, param);
};
export const createClam = (params: Toolbox.ClamCreate) => {
return http.post(`/toolbox/clam`, params);
};
export const updateClam = (params: Toolbox.ClamUpdate) => {
return http.post(`/toolbox/clam/update`, params);
};
export const updateClamStatus = (id: number, status: string) => {
return http.post(`/toolbox/clam/status/update`, { id: id, status: status });
};
export const deleteClam = (params: { ids: number[]; removeInfected: boolean }) => {
return http.post(`/toolbox/clam/del`, params);
};
export const handleClamScan = (id: number) => {
return http.post(`/toolbox/clam/handle`, { id: id });
};