SDK for managing proxy
npm install @vmosedge/proxy-sdkbash
npm install @vmosedge/proxy-sdk
`
快速开始
$3
可以直接使用代理 URI 发起请求,SDK 会自动启动代理服务并在请求完成后关闭。
`typescript
import { VMOSEdgeProxy } from '@vmosedge/proxy-sdk';
const proxy = new VMOSEdgeProxy();
async function run() {
const vlessNode = 'vless://...';
const vmessNode = 'vmess://...';
// 链式代理示例 (节点1 -> 节点2)
const res = await proxy.request(
[vlessNode, vmessNode],
{ url: 'https://api.ipify.org?format=json' },
{ 'mixed-port': 10086 }
);
if (res.success) {
console.log('Your IP Info:', res.data);
} else {
console.error('Request failed:', res.error);
}
}
run();
`
$3
如果需要持久运行代理服务或手动控制开关。
`typescript
import { VMOSEdgeProxy } from '@vmosedge/proxy-sdk';
const proxy = new VMOSEdgeProxy();
async function startProxy() {
const res = await proxy.start({
"mixed-port": 10809,
"proxies": []
});
if (res.success) {
console.log('代理服务已启动,监听端口 10809');
} else {
console.error('启动失败:', res.error);
}
}
// 停止服务
// proxy.stop();
`
API
$3
初始化 SDK。
- config.timeout: 默认启动超时时间(毫秒)。
- config.logLevel: 日志级别 (debug, info, warn, error, none)。
- config.cleanupOnStop: 停止时是否清理工作目录,默认 true。
$3
启动代理服务。
- config: 配置文件对象。
- timeout: 启动超时时间(毫秒)。
$3
重新加载配置而不停止进程。
$3
通过代理链发起单次请求。
- proxies: 代理 URI 或配置对象数组。
- req: Axios 请求配置。
- config: 额外的全局配置。
$3
停止代理服务。
响应格式
所有异步方法返回 ProxyResponse 对象:
`typescript
interface ProxyResponse {
success: boolean;
data?: T;
error?: string;
}
``