@@ -4,15 +4,17 @@ import {
44 CommandShellToolConfig ,
55 GenerateResult ,
66 GodzillaShellToolConfig ,
7+ NeoreGeorgShellToolConfig ,
8+ ShellToolType ,
79 Suo5ShellToolConfig ,
810} from "@/types/shell" ;
9- import { Separator } from "@radix-ui/react-dropdown-menu" ;
1011import { FileTextIcon } from "lucide-react" ;
1112import { useTranslation } from "react-i18next" ;
1213import { Fragment } from "react/jsx-runtime" ;
1314import { CopyableField } from "../copyable-field" ;
1415import { Card , CardContent , CardHeader , CardTitle } from "../ui/card" ;
1516import { FeedbackAlert } from "./feedback-alert" ;
17+ import { Separator } from "../ui/separator" ;
1618
1719export function BasicInfo ( { generateResult } : { generateResult ?: GenerateResult } ) {
1820 const { t } = useTranslation ( ) ;
@@ -39,88 +41,90 @@ export function BasicInfo({ generateResult }: { generateResult?: GenerateResult
3941 />
4042 </ div >
4143 < 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 >
124128 < Separator className = "my-2" />
125129 < div className = "grid grid-cols-1 md:grid-cols-2 gap-2" >
126130 < CopyableField
0 commit comments