mirror of
https://gitee.com/xmz7891/ykxmz.git
synced 2026-10-18 12:30:44 +00:00
用户问:网上有没有免费办法托管中转服务。 查了协议架构:全是 HTTP 长轮询(agent/register、agent/poll、 agent/send、agent/bye),没有裸 TCP —— 所以托管选择面很宽。 另外 relay.py 是纯 Python 标准库、零第三方依赖、仅 150 KB、 实测内存 23 MB / CPU 0.1%,任何免费实例都装得下。 关键洞察:一旦有了公网 IP,**根本不需要 Cloudflare 隧道**, 现在所有 1033/502/530 都是隧道这一跳的问题,换过去就从根上消失。 文档里对比了 6 个方案(永久性、是否需公网 IP、是否要信用卡、 亚洲节点、能否免隧道),推荐 Oracle Cloud Always Free 首选 (永久免费 + 真公网 IP + 东京/首尔节点), ClawCloud Run 作为不用信用卡的备选。 还写了具体的搬迁步骤和要删掉的组件。
53 lines
2.2 KiB
Bash
53 lines
2.2 KiB
Bash
#!/bin/bash
|
|
# 看中转到底吃多少资源 —— 好判断免费容器够不够
|
|
set -u
|
|
|
|
echo "════════ 进程占用 ════════"
|
|
for pat in relay.py cloudflared; do
|
|
pid=$(pgrep -f "$pat" | head -1)
|
|
if [ -n "${pid:-}" ]; then
|
|
rss=$(ps -o rss= -p "$pid" | tr -d ' ')
|
|
cpu=$(ps -o %cpu= -p "$pid" | tr -d ' ')
|
|
etime=$(ps -o etime= -p "$pid" | tr -d ' ')
|
|
printf " %-14s PID %-6s 内存 %5.1f MB CPU %s%% 已跑 %s\n" \
|
|
"$pat" "$pid" "$(echo "$rss/1024" | bc -l)" "$cpu" "$etime"
|
|
else
|
|
printf " %-14s 没在跑\n" "$pat"
|
|
fi
|
|
done
|
|
|
|
echo
|
|
echo "════════ 系统整体 ════════"
|
|
echo " CPU 核心: $(nproc)"
|
|
echo " 内存总量: $(free -m | awk '/Mem:/{print $2}') MB"
|
|
echo " 已用: $(free -m | awk '/Mem:/{print $3}') MB"
|
|
echo " 可用: $(free -m | awk '/Mem:/{print $7}') MB"
|
|
echo " 磁盘: $(df -h /root | awk 'NR==2{print $3" / "$2" ("$5" 已用)"}')"
|
|
echo " 负载: $(cat /proc/loadavg | cut -d' ' -f1-3)"
|
|
|
|
echo
|
|
echo "════════ 中转的数据目录(要跟着搬的东西)════════"
|
|
du -sh /root/lanremote-relay 2>/dev/null | sed 's/^/ /'
|
|
echo " ---"
|
|
du -sh /root/lanremote-relay/* 2>/dev/null | sort -h | tail -8 | sed 's/^/ /'
|
|
|
|
echo
|
|
echo "════════ 每天请求量(估算托管配额需求)════════"
|
|
echo " agent poll 间隔: $(grep -oE 'POLL_SECONDS = float\(os.environ.get\("RELAY_POLL", "[0-9]+"' /root/lanremote-relay/relay.py | grep -oE '"[0-9]+"' | tr -d '"') 秒"
|
|
echo " => 单台被控端: $((86400 / 15)) 次/天(按 15 秒算)"
|
|
echo " => 若 3 台: $((86400 / 15 * 3)) 次/天"
|
|
|
|
echo
|
|
echo "════════ 现在的中转总量(并发/会话)════════"
|
|
curl -s --max-time 8 http://127.0.0.1:8080/v1/health 2>/dev/null \
|
|
| python3 -c "
|
|
import sys, json
|
|
d = json.load(sys.stdin)
|
|
print(' 版本:', d.get('version'))
|
|
print(' 设备:', len(d.get('devices', [])), '台')
|
|
print(' 会话:', d.get('sessions', 0))
|
|
print(' 内存:', round(d.get('memoryKB', 0) / 1024), 'MB')
|
|
print(' 累计请求:', d.get('totalRequests'))
|
|
print(' 运行:', round(d.get('uptimeSeconds', 0) / 3600, 1), '小时')
|
|
" 2>/dev/null | sed 's/^/ /'
|