NewLife/RainbowBridge

彩虹桥软路由
Detail
Zip
Compare
README.md
# Rainbow(彩虹桥)— 通用软路由系统软件 ![License](https://img.shields.io/github/license/newlifex/Rainbow?logo=github) ![.NET](https://img.shields.io/badge/.NET-10.0-blueviolet?logo=dotnet) ![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Windows%20%7C%20macOS-lightgrey?logo=dotnet) **Rainbow(彩虹桥)** 是一款**纯国产自主研发、MIT 开源**的通用软路由系统软件,基于 .NET 跨平台技术栈构建。以 Linux 为全功能主力平台,逐步适配 Windows 和 macOS。适用于**家庭、工作室、中小企业**等场景,支持**主路由模式**和**旁路由模式**。通过 Web 界面管理多 WAN 负载均衡、PPPoE 拨号、DHCP/DNS 深度管控(含 DHCP 级设备授权)、防火墙/NAT、VLAN、静态路由、VPN、上网防沉迷等全场景需求。 📖 详细文档:[需求文档](/NewLife/RainbowBridge/Blob/master/Doc/需求文档.md) | [功能模块清单](/NewLife/RainbowBridge/Blob/master/Doc/功能模块清单.md) | [架构设计](/NewLife/RainbowBridge/Blob/master/Doc/架构设计.md) | [竞品分析](/NewLife/RainbowBridge/Blob/master/Doc/竞品分析.md) --- ## 核心特性 | 特性 | 说明 | |------|------| | **跨平台** | Linux 全功能主力,Windows/macOS 逐步适配覆盖 | | **双模式部署** | 主路由模式(NAT 网关)+ 旁路由模式(DHCP/DNS 管控节点) | | **多 WAN 负载均衡** | 多线宽带接入,策略路由、故障切换、权重/轮询/源地址哈希 | | **IPv6 全支持** | DHCPv6/RA/SLAAC、DHCPv6-PD 前缀委派、ip6tables 防火墙 | | **DHCP 设备授权** | 已知/未知/访客三态授权,不同设备分配不同 IP 池与 DNS 策略 | | **DNS 深度管控** | DNS 劫持、广告过滤、儿童模式白名单、黑名单拦截统计 | | **防火墙/NAT** | 端口映射、IP/MAC 黑名单、时间段规则、IPv4/IPv6 双栈 | | **VLAN + 静态路由** | 802.1Q VLAN 子接口、IPv4/IPv6 静态路由、策略路由 | | **VPN** | WireGuard 客户端/服务端 + OpenVPN 客户端/服务端 | | **上网防沉迷** | 设备分组、定时断网、时长统计、DNS 级内容过滤 | | **认证安全** | Cube RBAC + OAuth2.0/OIDC SSO + 防暴力破解 | | **StarAgent 守护** | 自动发现 .NET 项目,崩溃重启,远程管理 | --- ## 快速开始 ```bash # 克隆 git clone https://github.com/newlifex/Rainbow.git cd Rainbow # 编译 dotnet build -c Release # 启动(StarAgent 守护,无需 systemd) dotnet run --project Rainbow.Web ``` 打开 `http://{IP}:8080`,默认账号 `admin` / `admin`。系统服务由 StarAgent 自动管理。 Windows/macOS 同样支持 `dotnet run` 启动,仪表盘和基础网络管理功能可用。 --- ## 项目结构 ``` Rainbow/ ├── Rainbow.Data/ # 数据层(net6.0):XCode 实体 + Services 服务层 + 跨平台适配器 ├── Rainbow.Web/ # Web API + Cube 后台(net10.0):RESTful API + /admin 管理 ├── Web/ # React 前端(Vite + TypeScript + TailwindCSS) ├── XUnitTest/ # 单元测试 + 集成测试 + E2E:xUnit ├── Doc/ # 项目文档 └── Rainbow.sln ``` --- ## 技术栈 | 组件 | 选型 | |------|------| | Web 框架 | ASP.NET Core + NewLife.Cube(MVC) | | 运行时 | .NET 10.0 | | 进程守护 | StarAgent(星尘代理) | | 前端 | React 19 + Vite + TypeScript + TailwindCSS + 星语UI | | 持久化 | SQLite + `Config<T>` JSON | | DNS/DHCP | dnsmasq(Linux 主力),接口预留自研服务器扩展 | | 日志 | NewLife.Core XTrace | --- ## 许可证 MIT License