UNPKG

@localzet/xtls-sdk

Version:

TypeScript SDK for XRAY/AURA Core

109 lines 6.11 kB
import { Channel } from 'nice-grpc'; import { ISdkResponse } from '../common/types/sdk-response'; import { AddUserResponseModel, GetInboundUsersResponseModel } from './models'; import { IAddHttpUser, IAddShadowsocks2022User, IAddShadowsocksUser, IAddSocksUser, IAddTrojanUser, IAddVlessUser } from './interfaces'; import { RemoveUserResponseModel } from './models/remove-user/remove-user.response.model'; /** * Service for managing Xray inbound handlers and their users */ export declare class HandlerService { private readonly channel; private readonly client; constructor(channel: Channel); /** * Retrieves all users from a specified inbound handler. * This method fetches user information including their credentials and metadata from the Xray server. * * @param {string} tag - The tag identifying the inbound handler to query * @returns {Promise<ISdkResponse<GetInboundUsersResponseModel>>} A promise that resolves to: * - On success: An object with `isOk: true` and `data` containing an array of decoded user information * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS * * @example * ```typescript * const handler = new HandlerService(channel); * const response = await handler.getInboundUsers('Personal'); * * if (response.isOk) { * console.log(response.data.users); // Array of DecodedUser objects * } else { * console.error(response.message); // Error message * } * ``` */ getInboundUsers(tag: string): Promise<ISdkResponse<GetInboundUsersResponseModel>>; /** * Adds a new Trojan user to a specified inbound handler. * * @param {IAddTrojanUser} data - The user data containing tag, username, password and level * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to: * - On success: An object with `isOk: true` and `data.success` indicating if user was added * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS */ addTrojanUser(data: IAddTrojanUser): Promise<ISdkResponse<AddUserResponseModel>>; /** * Adds a new VLESS user to a specified inbound handler. * * @param {IAddVlessUser} data - The user data containing tag, username, UUID, flow and level * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to: * - On success: An object with `isOk: true` and `data.success` indicating if user was added * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS */ addVlessUser(data: IAddVlessUser): Promise<ISdkResponse<AddUserResponseModel>>; /** * Adds a new Shadowsocks user to a specified inbound handler. * * @param {IAddShadowsocksUser} data - The user data containing tag, username, password, cipher type, IV check and level * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to: * - On success: An object with `isOk: true` and `data.success` indicating if user was added * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS */ addShadowsocksUser(data: IAddShadowsocksUser): Promise<ISdkResponse<AddUserResponseModel>>; /** * Adds a new Shadowsocks 2022 user to a specified inbound handler. * * @param {IAddShadowsocks2022User} data - The user data containing tag, username, key and level * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to: * - On success: An object with `isOk: true` and `data.success` indicating if user was added * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS */ addShadowsocks2022User(data: IAddShadowsocks2022User): Promise<ISdkResponse<AddUserResponseModel>>; /** * Adds a new SOCKS user to a specified inbound handler. * * @param {IAddSocksUser} data - The user data containing tag, username, SOCKS username, SOCKS password and level * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to: * - On success: An object with `isOk: true` and `data.success` indicating if user was added * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS */ addSocksUser(data: IAddSocksUser): Promise<ISdkResponse<AddUserResponseModel>>; /** * Adds a new HTTP user to a specified inbound handler. * * @param {IAddHttpUser} data - The user data containing tag, username, HTTP username, HTTP password and level * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to: * - On success: An object with `isOk: true` and `data.success` indicating if user was added * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS */ addHttpUser(data: IAddHttpUser): Promise<ISdkResponse<AddUserResponseModel>>; /** * Removes a user from a specified inbound handler. * * @param {string} tag - The tag identifying the inbound handler * @param {string} username - The username/email of the user to remove * @returns {Promise<ISdkResponse<RemoveUserResponseModel>>} A promise that resolves to: * - On success: An object with `isOk: true` and `data.success` indicating if user was removed * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS */ removeUser(tag: string, username: string): Promise<ISdkResponse<RemoveUserResponseModel>>; /** * Gets the count of users in a specified inbound handler. * * @param {string} tag - The tag identifying the inbound handler * @returns {Promise<ISdkResponse<number>>} A promise that resolves to: * - On success: An object with `isOk: true` and `data` containing the user count * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS */ getInboundUsersCount(tag: string): Promise<ISdkResponse<number>>; } //# sourceMappingURL=handler.service.d.ts.map