代理节点管理工具 - 节点测速、延迟测试、可用性检测、订阅解析
管理你的代理节点更轻松
中文 | English
#!/bin/bash
# speed-test.sh
NODE_HOST=$1
NODE_PORT=$2
# 使用 speedtest-cli 测速
speedtest-cli --server $NODE_HOST
# 或使用 curl 测试下载速度
curl -o /dev/null -s -w "下载速度: %{speed_download} bytes/s\n" \
http://$NODE_HOST:$PORT/test.bin#!/bin/bash
# batch-speed-test.sh
NODES=(
"hk.example.com:443"
"jp.example.com:443"
"us.example.com:443"
)
for node in "${NODES[@]}"; do
host=$(echo $node | cut -d: -f1)
port=$(echo $node | cut -d: -f2)
echo "测试 $host..."
speed=$(curl -o /dev/null -s -w "%{speed_download}" \
--connect-timeout 5 \
http://$host:$port/test.bin 2>/dev/null)
if [ -n "$speed" ]; then
speed_mbps=$(echo "scale=2; $speed / 1024 / 1024 * 8" | bc)
echo " 速度: ${speed_mbps} Mbps"
else
echo " 连接失败"
fi
done#!/bin/bash
# icmp-latency.sh
NODE=$1
COUNT=${2:-10}
echo "测试 $NODE ICMP 延迟..."
ping -c $COUNT $NODE | tail -1 | awk -F '/' '{print "平均延迟: "$5" ms"}'#!/bin/bash
# tcp-latency.sh
NODE_HOST=$1
NODE_PORT=$2
echo "测试 $NODE_HOST:$NODE_PORT TCP 延迟..."
for i in {1..10}; do
start=$(date +%s%N)
timeout 5 bash -c "echo >/dev/tcp/$NODE_HOST/$NODE_PORT" 2>/dev/null
end=$(date +%s%N)
if [ $? -eq 0 ]; then
latency=$(( (end - start) / 1000000 ))
echo " 第 $i 次: ${latency}ms"
else
echo " 第 $i 次: 超时"
fi
done#!/bin/bash
# check-node.sh
NODE_HOST=$1
NODE_PORT=$2
echo "检测 $NODE_HOST:$NODE_PORT..."
# TCP 连接检测
timeout 5 bash -c "echo >/dev/tcp/$NODE_HOST/$NODE_PORT" 2>/dev/null
if [ $? -eq 0 ]; then
echo "✅ 节点可用"
exit 0
else
echo "❌ 节点不可用"
exit 1
fi#!/bin/bash
# check-all-nodes.sh
NODES_FILE="nodes.txt"
echo "检测所有节点..."
echo "===================="
while read node; do
host=$(echo $node | cut -d: -f1)
port=$(echo $node | cut -d: -f2)
timeout 3 bash -c "echo >/dev/tcp/$host/$port" 2>/dev/null
if [ $? -eq 0 ]; then
echo "✅ $node"
else
echo "❌ $node"
fi
done < $NODES_FILE#!/bin/bash
# parse-clash-sub.sh
SUB_URL=$1
# 下载订阅
config=$(curl -sL $SUB_URL)
# 解析节点数量
count=$(echo "$config" | grep -c "server:")
echo "订阅节点数量: $count"
# 提取节点名称
echo "$config" | grep "name:" | sed 's/.*name: //'#!/bin/bash
# parse-v2ray-sub.sh
SUB_URL=$1
# 下载并解码
config=$(curl -sL $SUB_URL | base64 -d)
# 统计 vmess 节点
count=$(echo "$config" | grep -c "vmess://")
echo "V2Ray 节点数量: $count"#!/bin/bash
# full-test.sh
NODES_FILE=$1
OUTPUT_FILE="test_results.csv"
echo "节点,延迟(ms),速度(Mbps),可用性" > $OUTPUT_FILE
while read node; do
host=$(echo $node | cut -d: -f1)
port=$(echo $node | cut -d: -f2)
echo "测试 $node..."
# 延迟测试
latency=$(ping -c 3 $host | tail -1 | awk -F '/' '{print $5}')
# 可用性检测
timeout 3 bash -c "echo >/dev/tcp/$host/$port" 2>/dev/null
if [ $? -eq 0 ]; then
status="可用"
else
status="不可用"
fi
# 记录结果
echo "$node,$latency,N/A,$status" >> $OUTPUT_FILE
done < $NODES_FILE
echo "测试完成,结果保存在 $OUTPUT_FILE"| 机场 | 特点 | 价格 | 链接 |
|---|---|---|---|
| ClashVIP | 高性价比 | ¥15/月起 | 官网 |
| ClashHub | 专线优化 | ¥20/月起 | 官网 |
| 机场导航 | 多机场对比 | 免费 | 导航 |
MIT License - 2026