RB Edge:接上网络,就好好用互联网
做 RB Edge 的初衷很简单:我希望接入网络以后,电脑、手机和跑在后台的 AI Agent ,都能正常访问需要的服务。不用每台设备各装一个代理,也不用哪个网站打不开了,就去找漏掉的域名、补规则、再试一次。
RB Edge 运行在 MikroTik RouterOS 的 ARM64 容器里,RB5009 就能承载。它把代理放在网络出口,通过 BGP 与 RouterOS 配合,让指定局域网或 VLAN 的终端直接使用。订阅、节点和运行状态,都可以在 Web 页面里管理。

不想再围着域名规则打转
现在访问一个服务,背后往往不只有一个域名。登录、API 、文件、CDN ,甚至 AI Agent 临时调用的工具,都可能连向不同的地址。页面能打开,任务却在某一步卡住,这种问题很消耗耐心。
RB Edge 按目标 IP 决定访问路径:以大陆 IPv4 、IPv6 地址库为依据,大陆和内网沿用原出口,其余公网目标统一经代理访问。节点服务器、必要的 DNS 和手工排除地址留在原路径,避免流量绕回容器。
这套方式不用逐个收集服务的域名,也能减少规则漏配导致的出口不一致。IP 的归属判断仍取决于所选地址库;它也不能保证网站不会根据账号地区、浏览器环境或出口 IP 信誉判断用户所在地区。
域名嗅探可以保留,用来把连接中的域名交给节点,提高部分服务的兼容性;它不承担大陆与境外的分流判断。

节点可以自动选,也可以一直用一个
输入订阅链接,就能导入节点。多个订阅分别保存、定时刷新,手动与自动选择都在当前订阅内进行。
自动模式每五分钟检测节点的连通性和请求延迟。当前节点不可用,或者另一个节点的延迟优势超过设定容差时,再切换过去。当前切换容差为 200 ms ,避免一点小波动就来回换节点。这里比较的是请求延迟,不是下载带宽。
正常自动切换时,新连接使用新节点,已经建立的连接继续留在旧节点,尽量让下载、长连接和正在进行的任务自然完成。如果旧节点本身故障,或遇到连接超时、内核重载,现有连接仍可能中断,需要应用重连。
如果更在意登录状态、会话和出口地区的稳定,也可以固定一个节点,不让程序自动更换。

IPv4 和 IPv6 ,都走完整的访问路径
RB Edge 同时处理 IPv4 和 IPv6 的路由与代理访问。容器支持通过 DHCPv6 、SLAAC 或两者并用获取 IPv6 地址,也支持向 RouterOS 宣告境外 IPv6 路由。
本地没有运营商提供的 IPv6 出口,也不代表远端服务只能通过 IPv4 访问。只要局域网能把 IPv6 流量送到容器,代理协议和服务端又支持 IPv6 目标,就可以通过 IPv4 建立的隧道,由远端节点访问境外 IPv6 服务。
这里的前提是局域网具备相应的 IPv6 地址与转发配置。完全没有 IPv6 配置的纯 IPv4 终端,不能仅靠开启代理就直接访问 IPv6 字面地址。最终使用 IPv4 还是 IPv6 出口,也取决于目标、解析结果和节点能力。
放在路由器里,长期安静地运行
控制程序用 Go 编写,转发交给 Mihomo ,BGP 由 BIRD 处理。Web 页面提供 IPv6 获取方式、gVisor / Mixed 协议栈、UDP 策略、连接检测和运行日志,日常维护不用总是进命令行。
UDP 可以经节点转发,也可以按允许端口和直连回退选项控制;是否真正可用,取决于节点协议与服务端。页面还提供常见 STUN 端口阻断和 UDP 回显测试,方便检查实际行为。
我希望它精简、高效、稳定、可靠。平时不用惦记,遇到问题能从状态和日志里看清楚,把时间留给真正要做的事情。

当前部署在容器停机或 BGP 路由撤回时,会回到路由器原出口。它并不承诺任何故障下境外流量都绝不直连;需要这种行为时,应另外配置 RouterOS 的出口限制。