/// /// import { AcceptSocket } from "./types"; import { isNode, isBrowser } from "./adapter/types"; export declare const DefaultSecret = "lOfGpnn7nZ7KODmxUckw4GhMY95vA/LvlnMcbjNZ9hapILXX20KAClDxB8QjCUElRHfZhrgnf+2FR7kAv6P4TqTqDnLfIV1kanCsRYfVoMA+VhvhwRH0H4QENna0r6qoL/P9dQ27gQv56XE90MuXW4rYWj9pT+Oy6y7uOknH0whiUqGMlbboKn3RX40okGZD0o/DehOzXCTM+s9+98XOpwE0mWcY3CySHhUSpUbNK65IbOwy5mBLV0B8LcgF8IMaazd7bQ9UeGWO1rerKR0MnNpVF7qCIrDdAlhKnzuJ/rxNBnQUNRnkEJuIMf/1mjxemK29ovzivpFT5cKT1CaLYQ=="; import { ConnectOptions, ProtocolType } from "./connect/types"; import { net } from "./adapter"; import { Peer } from "./stream"; export * from "./stream/types"; export { ConnectOptions, ProtocolType, isBrowser, isNode }; export type AuthData = { checked: boolean; username: string; password: string; session: string; clientIp: string; type: "connect" | "accept"; protocol: string; args: any[]; }; export type AcceptData = { socket: AcceptSocket; protocol: string; }; /** * 接收器配置参数 */ export type AcceptOptions = { /** 密钥 */ /** 是否接入,默认true */ isAccept?: boolean; /** 验证用户信息,用户名和密码 */ auth?: AcceptAuthData; /** 是否直接连接目标服务, 代理终点 */ isDirect?: boolean; /** 是否启用udp,默认false */ enableUDP?: boolean; /** 是否启用peer server */ enablePeerServer?: boolean; /** 是否启用peer turn服务,默认false */ enablePeerTurn?: boolean; secret?: string; /** 注入统计 */ stats?: (data: { [key: string]: any; }) => void; }; export type LoggerLevel = "info" | "debug" | "warn" | "error" | "close" | "trace"; /** * 默认实例入口配置参数 */ export type Options = AcceptOptions & ConnectOptions & { loggerLevel?: LoggerLevel; [key: string]: any; }; /** * accept用户信息验证 */ export type AcceptAuthData = (data: { username: string; password: string; protocol: ProtocolType; args: string[]; session: string; clientIp: string; }) => Promise; /** * 代理模式 * 0=session模式, 1=随机ip模式, 2=固定模式(未实现) */ export declare enum ProxyMode { /** * session模式,一段时间内ip稳定 */ session = 0, /** * 随机模式,每次请求变更ip */ random = 1 } export interface Proxy { /** 协议 */ protocol: ProtocolType; /** 主机 */ host: string; /** 端口 */ port: number; /** 用户名 */ username?: string; /** 密码 */ password?: string; /** 是否启用安全协议连接, 只有小部分连接有用(ws.connect) */ ssl?: boolean; chain?: Proxy; middle?: { host: string; port: number; username?: string; password?: string; }; forward?: { host: string; port: number; username?: string; password?: string; }; /** 代理密钥 */ secret?: string | Buffer; /** 代理检测好坏,内部使用 */ /** 使用模式 0=session模式, 1=随机ip模式, 2=固定模式(未实现) */ mode?: ProxyMode; } /** * 连接用户信息 */ export interface ConnectUser { username: string; password: string; args: string[]; } /** 创建服务回调 */ export type CreateCallback = (server: net.Server | Peer) => void; /**创建本地服务回调 */