步骤 1:安装必要的库 确保你已经安装了Node.js和npm。 npm install request 步骤 2:准备V2Ray配置文件 假设你的V2Ray配置文件位于config.json如下: { "outbound": { "listen": 108, "socket": "...", "protocol": "tcp", "socks": "127...1:1081", "fallback": "127...1:1083" }, "inbound": { "listen": 808, "socket": "...", "protocol": "tcp", "socks": "127...1:1082" }, "nodes": { "127...1:108": { "listen": true, "name": "本地节点" }, "example.ip:108": { "listen": true, "name": "外部节点" } } } 步骤 3:编写检测脚本 创建一个detectNodes.js如下: const request = require('request'); // 读取配置文件 const config = { nodes: [ { host: '127...1', port: 108 }, { h...
步骤 1:安装必要的库
确保你已经安装了Node.js和npm。
npm install request
步骤 2:准备V2Ray配置文件
假设你的V2Ray配置文件位于config.json如下:
{
"outbound": {
"listen": 108,
"socket": "...",
"protocol": "tcp",
"socks": "127...1:1081",
"fallback": "127...1:1083"
},
"inbound": {
"listen": 808,
"socket": "...",
"protocol": "tcp",
"socks": "127...1:1082"
},
"nodes": {
"127...1:108": {
"listen": true,
"name": "本地节点"
},
"example.ip:108": {
"listen": true,
"name": "外部节点"
}
}
}
步骤 3:编写检测脚本
创建一个detectNodes.js如下:
const request = require('request');
// 读取配置文件
const config = {
nodes: [
{ host: '127...1', port: 108 },
{ host: 'example.ip', port: 108 }
]
};
// 检测每个节点
config.nodes.forEach(node => {
const url = `http://${node.host}:${node.port}`;
request(url, {
method: 'GET',
timeout: 500 // 设置超时时间为5秒
}, (error, response) => {
if (error) {
console.log(`节点 ${url} 无效`);
return;
}
// 检查响应状态码
if (response.statusCode !== 200) {
console.log(`节点 ${url}响应状态码: ${response.statusCode}`);
return;
}
// 测量延迟
const delay = Date.now() - response.timing;
console.log(`节点 ${url} 正常响应,延迟: ${delay}ms`);
});
});
console.log('节点检测完成');
步骤 4:运行脚本
在终端中运行脚本:
node detectNodes.js
步骤 5:处理结果
脚本将输出每个节点的检测结果:
- 有效节点:显示正常响应,延迟较低。
- 无效节点:显示连接失败或状态码不为200。
- 超时:显示连接超时。
可选:使用Postman进行检测
如果你更熟悉GUI工具,可以使用Postman:
- 打开Postman,创建一个新请求。
- 设定请求方法为
GET,URL为V2Ray节点的地址和端口。 - 设置请求头,包括
Host和User-Agent。 - 发送请求,观察响应。
注意事项
- 代理设置:确保在检测过程中,系统没有代理设置阻止请求。
- 频率限制:避免频繁检测导致服务器压力,使用
timeout和合理频率发送请求。 - 处理错误:在代码中使用
try-catch处理潜在错误,确保脚本稳定运行。
通过以上方法,你可以有效地检测V2Ray节点的可用性和性能,确保网络代理顺畅运行。

相关文章







