@@ -4,15 +4,17 @@ import {
4
4
CommandShellToolConfig ,
5
5
GenerateResult ,
6
6
GodzillaShellToolConfig ,
7
+ NeoreGeorgShellToolConfig ,
8
+ ShellToolType ,
7
9
Suo5ShellToolConfig ,
8
10
} from "@/types/shell" ;
9
- import { Separator } from "@radix-ui/react-dropdown-menu" ;
10
11
import { FileTextIcon } from "lucide-react" ;
11
12
import { useTranslation } from "react-i18next" ;
12
13
import { Fragment } from "react/jsx-runtime" ;
13
14
import { CopyableField } from "../copyable-field" ;
14
15
import { Card , CardContent , CardHeader , CardTitle } from "../ui/card" ;
15
16
import { FeedbackAlert } from "./feedback-alert" ;
17
+ import { Separator } from "../ui/separator" ;
16
18
17
19
export function BasicInfo ( { generateResult } : { generateResult ?: GenerateResult } ) {
18
20
const { t } = useTranslation ( ) ;
@@ -39,88 +41,90 @@ export function BasicInfo({ generateResult }: { generateResult?: GenerateResult
39
41
/>
40
42
</ div >
41
43
< Separator className = "my-2" />
42
-
43
- { ( generateResult ?. shellConfig . shellTool === "Behinder" ||
44
- generateResult ?. shellConfig . shellTool === "Godzilla" ||
45
- generateResult ?. shellConfig . shellTool === "Command" ||
46
- generateResult ?. shellConfig . shellTool === "AntSword" ||
47
- generateResult ?. shellConfig . shellTool === "Suo5" ) && (
48
- < div className = "grid grid-cols-1 md:grid-cols-2 gap-2" >
49
- { /* Tool-specific fields */ }
50
- { generateResult ?. shellConfig . shellTool === "Behinder" && (
51
- < >
52
- < CopyableField label = { t ( "shellToolConfig.behinderScriptType" ) } text = "jsp" />
53
- < CopyableField
54
- label = { t ( "shellToolConfig.behinderEncryptType" ) }
55
- text = { t ( "shellToolConfig.behinderDefaultEncryptType" ) }
56
- />
57
- < CopyableField
58
- label = { t ( "shellToolConfig.behinderPass" ) }
59
- text = { ( generateResult ?. shellToolConfig as BehinderShellToolConfig ) . pass }
60
- value = { ( generateResult ?. shellToolConfig as BehinderShellToolConfig ) . pass }
61
- />
62
- < CopyableField
63
- label = { t ( "shellToolConfig.customHeader" ) }
64
- text = { `${ ( generateResult ?. shellToolConfig as BehinderShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as BehinderShellToolConfig ) . headerValue } ` }
65
- value = { `${ ( generateResult ?. shellToolConfig as BehinderShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as BehinderShellToolConfig ) . headerValue } ` }
66
- />
67
- </ >
68
- ) }
69
- { generateResult ?. shellConfig . shellTool === "Godzilla" && (
70
- < Fragment >
71
- < CopyableField
72
- label = { t ( "shellToolConfig.pass" ) }
73
- text = { ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . pass }
74
- value = { ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . pass }
75
- />
76
- < CopyableField
77
- label = { t ( "shellToolConfig.key" ) }
78
- text = { ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . key }
79
- value = { ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . key }
80
- />
81
- < CopyableField label = { t ( "shellToolConfig.godzillaPayload" ) } text = "JavaDynamicPayload" />
82
- < CopyableField label = { t ( "shellToolConfig.godzillaEncryptor" ) } text = "JAVA_AES_BASE64" />
83
- < CopyableField
84
- label = { t ( "shellToolConfig.godzillaHeader" ) }
85
- text = { `${ ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . headerValue } ` }
86
- value = { `${ ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . headerValue } ` }
87
- />
88
- </ Fragment >
89
- ) }
90
- { generateResult ?. shellConfig . shellTool === "Command" && (
91
- < Fragment >
92
- < CopyableField
93
- label = { t ( "shellToolConfig.paramName" ) }
94
- text = { ( generateResult ?. shellToolConfig as CommandShellToolConfig ) . paramName }
95
- value = { ( generateResult ?. shellToolConfig as CommandShellToolConfig ) . paramName }
96
- />
97
- </ Fragment >
98
- ) }
99
- { generateResult ?. shellConfig . shellTool === "Suo5" && (
100
- < Fragment >
101
- < CopyableField
102
- label = { t ( "shellToolConfig.suo5Header" ) }
103
- text = { `${ ( generateResult ?. shellToolConfig as Suo5ShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as Suo5ShellToolConfig ) . headerValue } ` }
104
- value = { `${ ( generateResult ?. shellToolConfig as Suo5ShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as Suo5ShellToolConfig ) . headerValue } ` }
105
- />
106
- </ Fragment >
107
- ) }
108
- { generateResult ?. shellConfig . shellTool === "AntSword" && (
109
- < Fragment >
110
- < CopyableField
111
- label = { t ( "shellToolConfig.antSwordPass" ) }
112
- text = { ( generateResult ?. shellToolConfig as AntSwordShellToolConfig ) . pass }
113
- value = { ( generateResult ?. shellToolConfig as AntSwordShellToolConfig ) . pass }
114
- />
115
- < CopyableField
116
- label = { t ( "shellToolConfig.httpHeader" ) }
117
- text = { `${ ( generateResult ?. shellToolConfig as AntSwordShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as AntSwordShellToolConfig ) . headerValue } ` }
118
- value = { `${ ( generateResult ?. shellToolConfig as AntSwordShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as AntSwordShellToolConfig ) . headerValue } ` }
119
- />
120
- </ Fragment >
121
- ) }
122
- </ div >
123
- ) }
44
+ < div className = "grid grid-cols-1 md:grid-cols-2 gap-2" >
45
+ { generateResult ?. shellConfig . shellTool === ShellToolType . Behinder && (
46
+ < >
47
+ < CopyableField label = { t ( "shellToolConfig.behinderScriptType" ) } text = "jsp" />
48
+ < CopyableField
49
+ label = { t ( "shellToolConfig.behinderEncryptType" ) }
50
+ text = { t ( "shellToolConfig.behinderDefaultEncryptType" ) }
51
+ />
52
+ < CopyableField
53
+ label = { t ( "shellToolConfig.behinderPass" ) }
54
+ text = { ( generateResult ?. shellToolConfig as BehinderShellToolConfig ) . pass }
55
+ value = { ( generateResult ?. shellToolConfig as BehinderShellToolConfig ) . pass }
56
+ />
57
+ < CopyableField
58
+ label = { t ( "shellToolConfig.customHeader" ) }
59
+ text = { `${ ( generateResult ?. shellToolConfig as BehinderShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as BehinderShellToolConfig ) . headerValue } ` }
60
+ value = { `${ ( generateResult ?. shellToolConfig as BehinderShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as BehinderShellToolConfig ) . headerValue } ` }
61
+ />
62
+ </ >
63
+ ) }
64
+ { generateResult ?. shellConfig . shellTool === ShellToolType . Godzilla && (
65
+ < Fragment >
66
+ < CopyableField
67
+ label = { t ( "shellToolConfig.pass" ) }
68
+ text = { ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . pass }
69
+ value = { ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . pass }
70
+ />
71
+ < CopyableField
72
+ label = { t ( "shellToolConfig.key" ) }
73
+ text = { ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . key }
74
+ value = { ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . key }
75
+ />
76
+ < CopyableField label = { t ( "shellToolConfig.godzillaPayload" ) } text = "JavaDynamicPayload" />
77
+ < CopyableField label = { t ( "shellToolConfig.godzillaEncryptor" ) } text = "JAVA_AES_BASE64" />
78
+ < CopyableField
79
+ label = { t ( "shellToolConfig.godzillaHeader" ) }
80
+ text = { `${ ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . headerValue } ` }
81
+ value = { `${ ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as GodzillaShellToolConfig ) . headerValue } ` }
82
+ />
83
+ </ Fragment >
84
+ ) }
85
+ { generateResult ?. shellConfig . shellTool === ShellToolType . Command && (
86
+ < Fragment >
87
+ < CopyableField
88
+ label = { t ( "shellToolConfig.paramName" ) }
89
+ text = { ( generateResult ?. shellToolConfig as CommandShellToolConfig ) . paramName }
90
+ value = { ( generateResult ?. shellToolConfig as CommandShellToolConfig ) . paramName }
91
+ />
92
+ </ Fragment >
93
+ ) }
94
+ { generateResult ?. shellConfig . shellTool === ShellToolType . Suo5 && (
95
+ < Fragment >
96
+ < CopyableField
97
+ label = { t ( "shellToolConfig.suo5Header" ) }
98
+ text = { `${ ( generateResult ?. shellToolConfig as Suo5ShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as Suo5ShellToolConfig ) . headerValue } ` }
99
+ value = { `${ ( generateResult ?. shellToolConfig as Suo5ShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as Suo5ShellToolConfig ) . headerValue } ` }
100
+ />
101
+ </ Fragment >
102
+ ) }
103
+ { generateResult ?. shellConfig . shellTool === ShellToolType . AntSword && (
104
+ < Fragment >
105
+ < CopyableField
106
+ label = { t ( "shellToolConfig.antSwordPass" ) }
107
+ text = { ( generateResult ?. shellToolConfig as AntSwordShellToolConfig ) . pass }
108
+ value = { ( generateResult ?. shellToolConfig as AntSwordShellToolConfig ) . pass }
109
+ />
110
+ < CopyableField
111
+ label = { t ( "shellToolConfig.httpHeader" ) }
112
+ text = { `${ ( generateResult ?. shellToolConfig as AntSwordShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as AntSwordShellToolConfig ) . headerValue } ` }
113
+ value = { `${ ( generateResult ?. shellToolConfig as AntSwordShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as AntSwordShellToolConfig ) . headerValue } ` }
114
+ />
115
+ </ Fragment >
116
+ ) }
117
+ { generateResult ?. shellConfig . shellTool === ShellToolType . NeoreGeorg && (
118
+ < Fragment >
119
+ < CopyableField label = { t ( "shellToolConfig.neoreGeorgKey" ) } text = "key" value = "key" />
120
+ < CopyableField
121
+ label = { t ( "shellToolConfig.neoreGeorgHeader" ) }
122
+ text = { `${ ( generateResult ?. shellToolConfig as NeoreGeorgShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as NeoreGeorgShellToolConfig ) . headerValue } ` }
123
+ value = { `${ ( generateResult ?. shellToolConfig as NeoreGeorgShellToolConfig ) . headerName } : ${ ( generateResult ?. shellToolConfig as NeoreGeorgShellToolConfig ) . headerValue } ` }
124
+ />
125
+ </ Fragment >
126
+ ) }
127
+ </ div >
124
128
< Separator className = "my-2" />
125
129
< div className = "grid grid-cols-1 md:grid-cols-2 gap-2" >
126
130
< CopyableField
0 commit comments