diff --git a/docs/免费托管方案.md b/docs/免费托管方案.md index ac66f93..a1497e3 100644 --- a/docs/免费托管方案.md +++ b/docs/免费托管方案.md @@ -1,147 +1,211 @@ -# 中转服务免费托管方案 +# 中转服务免费托管方案(2026年10月版) > 起因:中转跑在一台 4G 随身 WiFi 上,链路丢包率 30%, > 导致 `relay.xxmxxs.top` 间歇性 1033 / 502 / 530。 -> 用户问:网上有没有免费的托管方式。 +> +> **本文档的第一版(2026-10-07 早些时候)推荐了 ClawCloud Run, +> 那是错的 —— 它已经关停 5 个月了。** 这次全部重新核实。 --- -## 一、先说结论 +## ⚠️ 先纠正上一版的错误 -**能,而且换过去之后,隧道那一整套问题会从根上消失。** +**第一版文档里推荐的 ClawCloud Run 已经死了。** -原因是这两件事: +官方公告([原文](https://www.nodeloc.com/t/topic/83413)): -1. **你的协议全是 HTTP 长轮询**,没有裸 TCP: - ``` - POST /v1/agent/register - POST /v1/agent/poll ← 长轮询,最多 25 秒 - POST /v1/agent/send - POST /v1/agent/bye - ``` - 这意味着托管选择面很宽,不限于「支持自定义 TCP 端口」的商家。 - -2. **一旦有了公网 IP,就完全不需要 Cloudflare 隧道了。** - 现在所有 1033 / 502 / 530 都是隧道这一跳出的问题。 - 直接 `A 记录 → 服务器 IP` 之后,这一跳消失。 - -### 资源需求(实测,很小) - -| 项目 | 实测值 | +| 日期 | 事件 | |---|---| -| relay.py 内存 | 23 MB | -| relay.py CPU | 0.1% | -| cloudflared 内存 | 38 MB(有公网 IP 后不需要) | -| 代码体积 | 150 KB | -| 数据目录 | 19 MB(含 15 MB 安装包) | -| 请求量 | 约 6000 次/天(按 2 台设备 × 25 秒轮询算) | -| 第三方依赖 | **零**(纯 Python 标准库) | +| 2026-04-23 | 停止新用户注册 | +| **2026-05-11** | **官网 / 文档 / 博客全部下线** | +| **2026-05-11** | **现有免费套餐用户:所有服务停止** | +| 2026-07-11 | 问答论坛移除 | +| 退款 | 仅限付费用户 | -**结论:最小的免费实例都绰绰有余。** +**为什么我当时没发现**:搜出来的文章是 2025 年的,我只看了内容没核对日期。 +**教训:推荐第三方服务前,必须核实它此刻是否还在运营。** + +### 顺便回答那个问题:$5 是每月还是一次性? + +**是每月的**(连接 GitHub 账号,每月刷新 $5 额度)。 +但这个问题现在没有意义了 —— 服务本身已经不存在。 + +而且即使在它活着的时候,社区反馈也不一致: +有人每月正常刷新,也有人([NodeLoc 讨论](https://www.nodeloc.com/t/topic/47133))报告额度不更新, +猜测与 GitHub 账号注册时长有关。**免费服务的不确定性本身就很高。** --- -## 二、方案对比 +## 一、2026 年 10 月的真实情况 -| 方案 | 永久免费 | 独立公网 IP | 要信用卡 | 亚洲节点 | 免掉隧道 | 稳定性 | +**来源**:[Free Cloud Hosting 2026: 14 Platforms Compared](https://snapdeploy.dev/blog/free-cloud-deployment-platforms-2026-comparison) +(该文声明"最后核对日期 2026-09-26,每条都对过厂商自己的定价页") + +### 2026 年这一波「缩水潮」 + +| 时间 | 发生了什么 | +|---|---| +| 2025-09-04 | Netlify 改成积分制,300 积分/月,用完站点暂停 | +| 2025-11-28 | Heroku 彻底停止加新功能(2022 就没了免费) | +| 2026-02 | **Koyeb 取消免卡套餐**,现在要卡 + $29 预授权 | +| 2026-04-23 | **Render 免费带宽 100GB → 5GB** | +| 2026-06-15 | **Oracle 免费 ARM 配额砍半**:4核24G → **2核12G**,无任何公告 | +| 2026-07 | **Hugging Face 的 Docker/Gradio Space 转为付费** | +| 2026-09-16 | Vercel Hobby 只保留最近 3 个生产部署 | + +**那些 2025 年很火、现在**已经不能用**的**: +ClawCloud Run(关停)、Koyeb(要卡)、Zeabur(收费)、Fly.io(取消免费)、 +Glitch(2025-07 关闭)、Heroku、Deta Space、Cyclic、Hugging Face Docker。 + +--- + +## 二、现在真正可用的方案 + +### 全表(2026-09-26 核实) + +| 平台 | 类型 | 免费额度 | 24/7 够吗 | 会休眠吗 | 要卡吗 | 自定义域名 | |---|---|---|---|---|---|---| -| **Oracle Cloud Always Free** | ✅ 永久 | ✅ | ✅ 实体卡 | 东京/大阪/首尔 | ✅ | 高 | -| **ClawCloud Run** | ✅ $5/月 | ❌ 容器 | ❌ 只要 GitHub | 有 | ❌ 仍需隧道 | 中 | -| **Google Cloud e2-micro** | ✅ | ✅ | ✅ | ❌ 只有美国 | ✅ | 高 | -| **Cloudflare Workers + Durable Objects** | ✅ | ✅ | ❌ | 全球 | ✅ | 高(但要重写) | -| **Hugging Face Spaces** | ✅ | ❌ | ❌ | 有 | ❌ | 低(会休眠) | -| 现状(4G 随身 WiFi) | — | 隧道 | — | — | — | **低(丢包 30%)** | +| **Oracle Cloud** | 虚拟机 | **2核 ARM / 12G**,永久 | ✅ | 不睡,但闲置会回收 | ✅ | ✅ | +| **Render** | 容器 PaaS | **750 小时/月**,512MB,5GB 流量 | ✅ 刚好够 | 15 分钟无请求就睡 | ❌ | ✅ 2个 | +| **Railway** | 容器 PaaS | **$1/月** 额度 | ⚠️ 紧 | 不睡 | ❌ | ❌ | +| **Cloudflare Workers** | Serverless | **10 万请求/天** | ✅ | 不睡 | ❌ | ✅ | +| **SnapDeploy** | 容器 PaaS | 100 小时/月 | ❌ 不够 | 15 分钟 | ❌ | ✅ | +| **Back4App** | 容器 | 每次部署跑 60 分钟 | ❌ 不够 | — | ❌ | — | +| Google Cloud Run | Serverless 容器 | 18万 vCPU秒 | ✅ | 缩到零 | ✅ | ✅ | +| Azure Container Apps | Serverless 容器 | 18万 vCPU秒 | ✅ | 缩到零 | ✅ | ✅ | + +### 我们的实际需求(用来判断够不够) + +| 项目 | 数值 | +|---|---| +| 需要在线时长 | **24/7**(约 730 小时/月) | +| 内存 | 23 MB(实测) | +| CPU | 0.1%(实测) | +| 每月请求量 | 约 35 万次(2 台设备 × 25 秒轮询) | +| 每月流量 | 约 **210 MB** | --- -## 三、推荐方案 +## 三、推荐(按你的情况排) -### 🥇 第一选择:Oracle Cloud Always Free +### 🥇 Oracle Cloud Always Free —— 唯一永久方案 -**规格(真·永久免费,不是试用):** - -| 资源 | 配置 | +| 资源 | 配置(2026-06-15 之后) | |---|---| -| CPU | 4 核 Ampere A1(ARM) | -| 内存 | 24 GB | +| CPU | **2 核** Ampere A1(ARM) | +| 内存 | **12 GB** | | 存储 | 200 GB | -| 月出口流量 | 10 TB | +| 流量 | 10 TB/月 | +| 额外 | 还有 2 台 AMD 微型机(各 1核1G) | | 价格 | **$0,不限期** | -另外还附带 2 台 AMD x86 小机器(各约 1 核 1 GB),当备用。 +**注意配额已经砍半**(原来是 4核24G)。但 2核12G 对我们依然绰绰有余 —— +我们只用 23MB 内存、0.1% CPU。 -**为什么最合适:** -- 有真实公网 IP → **彻底不用隧道了** -- 10 TB/月流量 → 流量完全不是问题 -- 东京 / 大阪 / 首尔区域 → 国内延迟约 50~100 ms - (比现在的公网 690 ms 快 7 倍) +**优点** +- 唯一一个「永久免费 + 真公网 IP」→ **能把隧道问题从根上解决** +- 东京/大阪/首尔节点,国内延迟约 50~100ms(现在是 690ms) -**注册要点(社区总结的风控规律):** -- 需要**实体信用卡**(Visa/Mastercard,招行/工行/中行/浦发都行;**不接受虚拟卡和预付卡**) -- 国内 +86 手机号可以直接用 -- **必须关掉代理、用手机热点注册** —— Oracle 校验 IP 来源和信用卡发卡国是否一致 -- 账单地址填中国地址 -- 主区域**选完不能改**,想清楚再点 - -**唯一难点:亚洲区的 ARM 实例经常「Out of Capacity」** -社区有自动抢机脚本,挂在 GitHub Actions 上自动重试: -- [oci-free-arm-instance](https://github.com/maoucodes/oci-free-arm-instance)(GitHub Actions 版) -- [oracle-freetier-instance-creation](https://github.com/mohankumarpaluru/oracle-freetier-instance-creation)(Python 版) - -**保活**:Oracle 会检查闲置(CPU/内存/网络利用率连续 7 天低于 20% 可能回收)。 -**我们的中转一直在长轮询,永远不会闲置** —— 这条风险天然规避,不需要额外保活脚本。 - -参考:[Oracle 白送 4 核 24G 服务器,注册到跑起来一次讲清](https://byronfinn.github.io/oracle-free-vps-guide/) +**缺点** +- **需要实体信用卡**(不接受虚拟卡/预付卡) +- **注册风控严**:必须关代理 + 手机热点 + 账单地址一致 +- **热门区域常年"Out of host capacity"**(ARM 容量紧张) + → 用自动抢机脚本:[oci-arm-catcher](https://github.com/alexpua/oci-arm-catcher) +- **闲置回收**:连续 7 天 CPU/网络/内存都低于 20% 会被回收 + → **我们一直在轮询,不会触发** ✓ --- -### 🥈 第二选择:ClawCloud Run(不用信用卡) +### 🥈 Render 免费版 —— 不用信用卡的最佳选择 | 项目 | 规格 | |---|---| -| 免费额度 | **$5 / 月**(连接 GitHub 账号领取) | -| 容器 | 4 核 8 GB / 10 GB 磁盘 / 10 GB 流量 | +| 时长 | **750 小时/月** | +| 内存 | 512 MB | +| CPU | 0.1 | +| 流量 | 5 GB/月(2026-04 从 100GB 砍到 5GB) | +| 自定义域名 | **2 个**(免费版就支持) | | 信用卡 | **不需要** | -| 注册 | GitHub 一键登录 | -**优点**:零门槛,不绑卡。 -**缺点**: -- 是**容器**,没有独立公网 IP → **仍然需要 Cloudflare 隧道** -- 有「定期活跃检查 + 长期闲置释放」机制 - 不过我们一直在轮询,不会闲置,这条影响很小 -- 仍需自己算好 $5 额度(按最低配 0.16 刀/天算,一个月约 $4.8,够但没余量) +**为什么它能用**: +- 750 小时 > 一个月(744 小时),**刚好够一个服务 24/7 运行** +- 流量需要 210 MB,5 GB 给得足足的 +- **支持自定义域名** → `relay.xxmxxs.top` 可以直接指过来 +- **不需要隧道** → Render 自带 HTTPS 公网地址 -参考:[永久免费的高配容器 ClawCloud](https://cloud.tencent.com.cn/developer/article/2516945) +**关键点:它会不会休眠?** +> 「15 分钟没有流量就休眠」 + +**我们的被控端每 25 秒轮询一次** → 永远有流量 → **永远不会休眠** ✓ + +**但要注意**:如果教室电脑关机了,中转收不到请求就会休眠, +这时第一次访问要等约 1 分钟唤醒。 +**解决**:在中转里加一个自我保活(每 10 分钟请求自己一次)。 + +**限制**: +- 750 小时只够**一个**免费服务(多开就超了) +- 免费 Postgres 30 天后过期(我们不用数据库,无所谓) +- 免费服务不能发外发 SMTP(我们不用邮件) --- -### 🥉 第三选择:Cloudflare Workers + Durable Objects +### 🥉 Cloudflare Workers + Durable Objects —— 技术最优但要重写 -**完全免费、不用信用卡、全球节点、天然免隧道。** +| 项目 | 规格 | +|---|---| +| 请求量 | **10 万次/天**(我们需要约 1.2 万次) | +| 信用卡 | **不需要** | +| 节点 | 全球,**天然免隧道** | +| 休眠 | 不休眠 | -Cloudflare 的 Durable Objects 就是为「有状态的长连接中转」设计的, -社区已经有人用 Worker + DO 做中转([openchamber-relay](https://github.com/openchamber/openchamber-relay))。 +**优点**:最稳、最快、完全免费、不用卡、不用服务器。 +**代价**:Workers 跑不了 Python,**中转要用 JavaScript 重写**(150KB 代码作废)。 -**代价**:Workers 跑不了 Python,**整个中转要用 JavaScript 重写**。 -你现在的 150 KB Python 代码用不上。 -除非以后想彻底脱离服务器,否则不值得。 +社区已有实例:[openchamber-relay](https://github.com/openchamber/openchamber-relay) --- -## 四、搬到新服务器要改什么 +## 四、横向对比:对我们的场景 -**好消息:被控端和手表一个字都不用改。** 它们只知道一个域名。 +| 方案 | 免隧道 | 要卡 | 长期稳定性 | 迁移成本 | +|---|---|---|---|---| +| **Oracle** | ✅ | ✅ | 高(但可能被回收) | 低(代码直接跑) | +| **Render** | ✅ | ❌ | 中(免费版随时可能变) | 低(代码直接跑) | +| **CF Workers** | ✅ | ❌ | 高 | **高(要重写)** | +| 现状(4G 设备) | ❌ | — | **低(丢包30%)** | — | -### 服务器上要做的事 +--- + +## 五、我的建议 + +### 如果你有信用卡 → 试 Oracle + +唯一能"永久"的方案,而且 2核12G 对你来说用不完。 +难点是注册风控和抢 ARM 容量,但抢机脚本能帮忙等。 + +### 如果不想绑卡 → 先上 Render + +- 立即可用,不用等 +- 免隧道,自带 HTTPS +- 750 小时刚好够,配合自我保活就不会休眠 +- 要盯着的:免费政策随时可能变(2026 年已经变过一轮了) + +### 长期最优 → 有空把中转重写成 Cloudflare Workers + +不用服务器、不用卡、全球节点、10 万请求/天。 +但要重写,工作量最大。 + +--- + +## 六、搬迁要改什么 + +**好消息:被控端和手表一个字都不用改**(它们只认域名)。 ```bash -# 1. 装 Python(Debian/Ubuntu 自带) -apt update && apt install -y python3 +# 1. 装 Python(Debian/Ubuntu 自带 python3) +# 2. 拷贝 relay/ 目录 +# 3. 起服务 -# 2. 把 relay/ 目录拷过去 -scp -r relay/ root@<新服务器IP>:/root/lanremote-relay/ - -# 3. 写 systemd 服务 cat > /etc/systemd/system/lanremote-relay.service <<'EOF' [Unit] Description=ykxmz 中转服务器 @@ -165,63 +229,48 @@ systemctl daemon-reload systemctl enable --now lanremote-relay ``` -**只改一处环境变量**:`RELAY_BIND` 从 `127.0.0.1` 改成 `0.0.0.0` -(现在绑本地是因为前面有隧道;有了公网 IP 要直接对外) +**Cloudflare 后台**:把 `relay` 记录从 Tunnel 改成 **A/CNAME 指向新主机**。 -### Cloudflare 后台要做的事 +**可以删掉**:cloudflared 隧道、看门狗、网络调优脚本、4G 随身 WiFi。 -1. 进 DNS,把 `relay` 这条记录的**类型从 Tunnel 改成 A** -2. 值填新服务器 IP -3. 橙云(代理)**建议保持开启** —— 免费 DDoS 防护 + 隐藏真实 IP -4. SSL/TLS 模式设为 **Full** 或 **Full (Strict)** - -### 可以删掉的东西 - -- ❌ `cloudflared` 隧道服务(`lanremote-tunnel`) -- ❌ 看门狗(`lanremote-watchdog`)—— 没有隧道就不需要看门狗 -- ❌ 网络调优脚本(`lanremote-nettune`)—— 那是为 4G 的 MTU 问题写的 -- ❌ 那个 4G 随身 WiFi 设备本身 - -**代码里有两处要顺手改掉:** -- `relay.py:267` 写死了 `/root/lanremote-relay/public_url.txt` → 改用 `RELAY_PUBLIC_URL` 环境变量 -- `relay.py:1245` 读隧道 metrics → 没有隧道了,直接返回「直连模式」 +**代码里两处要改**: +- `relay.py:267` 写死了 `/root/lanremote-relay/public_url.txt` → 改用环境变量 +- `relay.py:1245` 读隧道 metrics → 没有隧道了,改成直连模式 --- -## 五、代价与风险(说实话) +## 七、一条值得记住的经验 -| 风险 | 说明 | 缓解 | -|---|---|---| -| Oracle 注册失败 | 风控严,IP/卡/地址三者要一致 | 按上面的清单来,用手机热点 | -| ARM 实例抢不到 | 亚洲区热门,常见 Out of Capacity | 挂自动抢机脚本,等几小时到几天 | -| Oracle 可能回收闲置实例 | 连续 7 天利用率 <20% | **我们一直轮询,不会闲置** | -| 商家政策变化 | 任何免费服务都可能改条款 | 代码无依赖,随时能搬走 | -| 国内访问延迟 | 取决于线路,绕路可能反而变慢 | 选东京/大阪/首尔,实测再定 | -| 换 IP 期间的过渡 | 手表里填的是域名,不用改 | 但切换那一刻会有短暂中断 | +NodeLoc 上一个老哥总结得好([原帖](https://www.nodeloc.com/t/topic/65839)): -**最坏情况**:Oracle 用不了,就退回 ClawCloud(不用信用卡),或者继续用现在的 4G 设备 —— 现在的 watchdog 已经能自愈,只是没那么稳。 +> **免费、好用、长期 —— 不可能三角** + +2026 年这一轮验证得很彻底:2025 年那批免费平台, +一年之内死了大半、涨价的涨价、要卡的要卡。 + +**所以选免费方案时,不要只看"现在能不能用",还要问:** +1. 商家靠什么赚钱?(纯免费 = 迟早关停) +2. 我的数据能不能随时搬走?(能搬 = 风险可控) +3. 政策变了我的备选是什么? + +**我们的优势**:`relay.py` 是纯 Python 标准库、零依赖、150KB。 +**任何地方都能跑,随时能搬** —— 这就是最大的抗风险能力。 --- -## 六、我的建议 +## 附:来源(全部为 2026 年核对) -**先试 Oracle。** 理由: -1. 唯一一个「永久免费 + 真公网 IP」的组合 → **能把隧道问题从根上解决** -2. 配置高到离谱(4 核 24G),跑 100 个中转都够 -3. 东京/首尔延迟比现在好一个数量级 - -**如果 Oracle 注册不顺利**,就退到 ClawCloud(不用信用卡), -但那仍然要隧道,稳定性提升有限 —— 只是把「4G 链路」换成「机房链路」。 - ---- - -## 附:判断依据来源 - -- [Oracle Cloud Free Tier 官方文档](https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier.htm) -- [Oracle 白送 4 核 24G 服务器,注册到跑起来一次讲清](https://byronfinn.github.io/oracle-free-vps-guide/) -- [永久免费的高配容器 ClawCloud](https://cloud.tencent.com.cn/developer/article/2516945) -- [Cloudflare Durable Objects 定价](https://developers.cloudflare.com/durable-objects/platform/pricing/) +- [Free Cloud Hosting 2026: 14 Platforms Compared](https://snapdeploy.dev/blog/free-cloud-deployment-platforms-2026-comparison)(2026-09-26 逐条核实) +- [Oracle Always Free 资源配置(官方)](https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm) +- [Oracle Cloud Free Tier 官方页](https://www.oracle.com/cloud/free/) +- [Oracle 悄悄砍半 ARM 免费配额](https://korben.info/ja/oracle-arm-always-free-tier-halved.html) / [linuxiac](https://linuxiac.com/oracle-quietly-cuts-free-tier-ampere-a1-resources-in-half/) +- [ClawCloud Run 关停公告](https://www.nodeloc.com/t/topic/83413)(2026-04-23) +- [ClawCloud 免费额度不更新的讨论](https://www.nodeloc.com/t/topic/47133) +- [免费容器收集贴(2026-09-09 更新)](https://www.nodeloc.com/t/topic/107914) +- [免费 Serverless 平台推荐(2026-06 更新)](https://www.nodeloc.com/t/topic/96365) +- [Render 免费实例文档](https://render.com/docs/free) - [openchamber-relay(Worker + DO 中转实例)](https://github.com/openchamber/openchamber-relay) -- [ClawCloud Run 控制台](https://console.run.claw.cloud/) +- [oci-arm-catcher(自动抢 Oracle ARM)](https://github.com/alexpua/oci-arm-catcher) -> 注:免费服务的条款随时会变,落地前请再确认一次当时的政策。 +> 免费服务的条款随时会变 —— **这份文档自己就是证据**。 +> 落地前请再确认一次当时的最新政策。