feat: support boot-ui

This commit is contained in:
ReaJason
2024-12-20 01:15:12 +08:00
parent 2b00c96a06
commit 534db31fa0
81 changed files with 1556 additions and 929 deletions
+21
View File
@@ -0,0 +1,21 @@
import * as z from "zod";
export const formSchema = z.object({
server: z.string().min(1),
targetJdkVersion: z.optional(z.string()),
debug: z.optional(z.boolean()),
bypassJavaModule: z.optional(z.boolean()),
shellClassName: z.string().optional(),
shellTool: z.string().min(1),
shellType: z.string().min(1),
urlPattern: z.optional(z.string()),
godzillaPass: z.optional(z.string()),
godzillaKey: z.optional(z.string()),
godzillaHeaderName: z.optional(z.string()),
godzillaHeaderValue: z.optional(z.string()),
commandParamName: z.optional(z.string()),
injectorClassName: z.optional(z.string()),
packingMethod: z.string().min(1, { message: "请选择打包方式" }),
});
export type FormSchema = z.infer<typeof formSchema>;
+73
View File
@@ -0,0 +1,73 @@
export interface ShellConfig {
server: string;
shellTool: string;
shellType: string;
targetJreVersion?: string;
debug?: boolean;
byPassJavaModule?: boolean;
obfuscate?: boolean;
}
export interface ShellToolConfig {
shellClassName?: string;
godzillaPass?: string;
godzillaKey?: string;
godzillaHeaderName?: string;
godzillaHeaderValue?: string;
commandParamName?: string;
}
export interface CommandShellToolConfig {
shellClassName?: string;
paramName?: string;
}
export interface GodzillaShellToolConfig {
shellClassName?: string;
pass?: string;
key?: string;
headerName?: string;
headerValue?: string;
}
export interface InjectorConfig {
className?: string;
urlPattern?: string;
}
export interface ConfigResponseType {
servers: string[];
core: MainConfig;
packers: PackerConfig;
}
export interface MainConfig {
[serverName: string]: {
[toolName: string]: string[];
};
}
export interface PackerConfig {
[packerName: string]: string;
}
export interface GenerateResponse {
packResult: string;
generateResult: GenerateResult;
}
export interface APIErrorResponse {
error: string;
}
export interface GenerateResult {
shellClassName: string;
shellSize: number;
shellBytesBase64Str: string;
injectorClassName: string;
injectorSize: number;
injectorBytesBase64Str: string;
shellConfig: ShellConfig;
shellToolConfig: CommandShellToolConfig | GodzillaShellToolConfig;
injectorConfig: InjectorConfig;
}