mirror of
https://github.com/remnawave/node.git
synced 2026-05-13 12:06:38 +00:00
feat: add BaseHysteriaUser schema and related handling in add-user and add-users commands
This commit is contained in:
parent
772790811c
commit
20c1dfe2fa
6 changed files with 47 additions and 6 deletions
|
|
@ -46,6 +46,13 @@ export namespace AddUserCommand {
|
|||
password: z.string(),
|
||||
});
|
||||
|
||||
const BaseHysteriaUser = z.object({
|
||||
type: z.literal('hysteria'),
|
||||
tag: z.string(),
|
||||
username: z.string(),
|
||||
password: z.string(),
|
||||
});
|
||||
|
||||
export const RequestSchema = z.object({
|
||||
data: z.array(
|
||||
z.discriminatedUnion('type', [
|
||||
|
|
@ -53,6 +60,7 @@ export namespace AddUserCommand {
|
|||
BaseVlessUser,
|
||||
BaseShadowsocksUser,
|
||||
BaseShadowsocks22User,
|
||||
BaseHysteriaUser,
|
||||
]),
|
||||
),
|
||||
hashData: z.object({
|
||||
|
|
|
|||
|
|
@ -26,6 +26,13 @@ export namespace AddUsersCommand {
|
|||
tag: z.string(),
|
||||
});
|
||||
|
||||
const BaseHysteriaUser = z.object({
|
||||
type: z.literal('hysteria'),
|
||||
tag: z.string(),
|
||||
username: z.string(),
|
||||
password: z.string(),
|
||||
});
|
||||
|
||||
export const RequestSchema = z.object({
|
||||
affectedInboundTags: z.array(z.string()),
|
||||
users: z.array(
|
||||
|
|
@ -36,6 +43,7 @@ export namespace AddUsersCommand {
|
|||
BaseVlessUser,
|
||||
BaseShadowsocksUser,
|
||||
BaseShadowsocks22User,
|
||||
BaseHysteriaUser,
|
||||
]),
|
||||
),
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@remnawave/node-contract",
|
||||
"version": "2.6.14",
|
||||
"version": "2.6.15",
|
||||
"description": "A node-contract library for Remnawave Panel",
|
||||
"main": "build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
|
|
|
|||
8
package-lock.json
generated
8
package-lock.json
generated
|
|
@ -24,7 +24,7 @@
|
|||
"@remnawave/hashed-set": "^0.0.4",
|
||||
"@remnawave/node-plugins": "0.4.4",
|
||||
"@remnawave/supervisord-nestjs": "0.3.1",
|
||||
"@remnawave/xtls-sdk": "0.11.1",
|
||||
"@remnawave/xtls-sdk": "0.12.1",
|
||||
"@remnawave/xtls-sdk-nestjs": "0.6.1",
|
||||
"compression": "^1.8.1",
|
||||
"enhanced-ms": "^4.2.0",
|
||||
|
|
@ -2089,9 +2089,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@remnawave/xtls-sdk": {
|
||||
"version": "0.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@remnawave/xtls-sdk/-/xtls-sdk-0.11.1.tgz",
|
||||
"integrity": "sha512-0m4k6syy0yrh6snR0vvDuNjfq5WLJAT/XqzTn2SOV7EvuCY6YhGE/OGBRs6xZ5DLBJDbsq+VRLKIwVj/ifGDUw==",
|
||||
"version": "0.12.1",
|
||||
"resolved": "https://registry.npmjs.org/@remnawave/xtls-sdk/-/xtls-sdk-0.12.1.tgz",
|
||||
"integrity": "sha512-P+Oy/G3MhgMNnFhp78Fp4vahUgTN4KFTuFaN6s59XUBEIRp36QNsyrfRoKaVSXPZ9R65mDbvg369byYjJAqHew==",
|
||||
"license": "AGPL-3.0-only",
|
||||
"dependencies": {
|
||||
"@bufbuild/protobuf": "^2.11.0",
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
"@nestjs/cqrs": "11.0.3",
|
||||
"@remnawave/node-plugins": "0.4.4",
|
||||
"@remnawave/supervisord-nestjs": "0.3.1",
|
||||
"@remnawave/xtls-sdk": "0.11.1",
|
||||
"@remnawave/xtls-sdk": "0.12.1",
|
||||
"@remnawave/xtls-sdk-nestjs": "0.6.1",
|
||||
"compression": "^1.8.1",
|
||||
"enhanced-ms": "^4.2.0",
|
||||
|
|
|
|||
|
|
@ -148,6 +148,23 @@ export class HandlerService implements OnModuleInit {
|
|||
);
|
||||
}
|
||||
response.push(tempRes);
|
||||
break;
|
||||
case 'hysteria':
|
||||
tempRes = await this.xtlsApi.handler.addHysteriaUser({
|
||||
tag: item.tag,
|
||||
username: item.username,
|
||||
uuid: item.password,
|
||||
level: 0,
|
||||
});
|
||||
|
||||
if (tempRes.isOk) {
|
||||
await this.internalService.addUserToInbound(
|
||||
item.tag,
|
||||
hashData.vlessUuid,
|
||||
);
|
||||
}
|
||||
response.push(tempRes);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -325,6 +342,14 @@ export class HandlerService implements OnModuleInit {
|
|||
);
|
||||
}
|
||||
break;
|
||||
case 'hysteria':
|
||||
tempRes = await this.xtlsApi.handler.addHysteriaUser({
|
||||
tag: item.tag,
|
||||
username: user.userData.userId,
|
||||
uuid: user.userData.vlessUuid,
|
||||
level: 0,
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue