Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

198 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rainbow(彩虹桥)— 软路由系统

GitHub License .NET Platform

​ Rainbow(彩虹桥)是一款纯国产自主研发、MIT 开源的通用软路由系统软件。它运行在各种 x86 小主机、ARM 小盒子、树莓派等设备上,通过浏览器就能管理整个家庭或办公室的网络——不限速、无广告、永久免费。

软路由是什么? 普通家用路由器能干的事(拨号、分配 IP、限制上网、防火墙),Rainbow 都能干,而且更强大——多条宽带叠加、屏蔽小孩游戏网站、远程访问家里设备……它把一台树莓派或小主机变成了"企业级路由器"。


快速拥有

第一步:选一台设备

Rainbow 能跑在各种小设备上,家里闲置的旧电脑也能用:

你有的硬件 是否可用
x86 工控机 / 迷你主机(推荐) 全功能,性能强劲
树莓派 4/5 / 其他 ARM 开发板 全功能,低功耗 24h 开机
ARM 电视盒子 / 闲置旧手机 ✅ 需刷 Linux,全功能
家里吃灰的 旧电脑 / 笔记本 ✅ 装 Linux,全功能
安装了 Windows 的常开电脑 ✅ 基础网络管理

最低配置:1 核 CPU、512MB 内存、5GB 磁盘。建议使用 Debian 12/13Ubuntu 24.04+。树莓派推荐 Raspberry Pi OS(64位) 或 Ubuntu Server。

第二步:下载与启动

如果你会使用命令行,打开终端运行以下命令:

# 下载 .NET 运行环境(仅首次需要)
wget https://dot.net/v1/dotnet-install.sh -O /tmp/dotnet-install.sh
chmod +x /tmp/dotnet-install.sh
/tmp/dotnet-install.sh --channel 10.0

# 下载 Rainbow
mkdir -p /opt/rainbow && cd /opt/rainbow
wget https://github.com/newlifex/Rainbow/releases/latest/download/Rainbow.zip
unzip Rainbow.zip

# 启动
dotnet Rainbow.Web.dll

第三步:打开浏览器

浏览器访问 http://你电脑的IP:3380,默认账号 admin / admin

没有 Linux 基础? 别担心——Rainbow 的"零命令行"安装器正在开发中,届时只需双击安装包即可。你也可以在 Windows 上先体验仪表盘等基础功能。


它能做什么?

无论你是想管好孩子上网两条宽带叠加提速远程访问家里设备,还是给公司搭建安全网络,Rainbow 都为你准备好了:

功能 有什么用? 适合谁?
多 WAN 负载均衡 多条宽带同时使用,带宽翻倍,一条断网自动切换 工作室、追求网速的家庭
PPPoE 拨号 替代路由器拨号上网,账号密码统一管理 所有宽带用户
DHCP 设备授权 每个设备都能单独控制上网权限——已授权/待审核/已拉黑/访客 所有家庭、公司
DNS 广告过滤 自动屏蔽视频广告、网页弹窗,孩子上网更清静 有小孩的家庭
儿童模式 只允许访问学习类网站,其余全部拦截 有小孩的家庭
定时断网 设置孩子每晚 10 点自动断网,周末可以多用一会儿 有小孩的家庭
防火墙 / 端口映射 外网访问家里 NAS、远程桌面,安全又方便 工作室、远程办公
IPv6 双栈 下一代互联网协议支持 所有用户
VLAN 网络隔离 各部门网络互不相通,财务数据更安全 中小企业
VPN 出差也能像在公司一样访问内部资源 企业、远程办公
流量统计 每月每台设备用了多少流量,一目了然 所有用户
实时仪表盘 一眼看清当前网速、在线设备、系统状态 所有用户
系统诊断 Ping 检测、连接监控、网络排查 所有用户

场景速览

👨‍👩‍👧‍👦 家庭场景:管好孩子上网

张先生家有 10 岁孩子,担心孩子沉迷游戏和短视频。Rainbow 帮他:

  1. 自动发现孩子的 iPad 和电脑,标记为"孩子"分组
  2. 设置每天 18:00-21:00 可上网,其余时间自动断网
  3. 打开"儿童模式",只允许访问学习网站,游戏广告全部屏蔽
  4. 随时在手机浏览器查看孩子今天上网多久、访问了哪些网站

🎬 工作室场景:多线宽带提速

李工的视频工作室有电信+联通两条宽带,之前一条满载另一条闲置。Rainbow 帮他:

  1. 两条宽带同时用,自动负载均衡,带宽翻倍
  2. 某条线路故障时自动切换到正常线路,业务不中断
  3. 一键配置端口映射,外出时也能访问办公室的 NAS 和渲染服务器

🏢 中小企业场景:网络安全隔离

王经理的公司有 30 人,研发和行政需要网络隔离,总部和分部需要 VPN 互联。Rainbow 帮他:

  1. VLAN 隔离:研发部和行政部网络互不相通
  2. VPN 站点互联:总部和分部就像在同一个局域网
  3. 防火墙策略:精确控制每个部门能访问哪些资源
  4. 操作日志:所有管理操作有迹可循

对于开发者

获取与编译

Rainbow 使用 MIT 开源协议,任何人可任意修改并再次发行(无需声明来源)。团队公开强命名证书 Doc/newlife.snk 以支持独自编译替换程序集。

# 克隆源代码
git clone https://github.com/newlifex/Rainbow.git
cd Rainbow

# 编译(支持 VisualStudio 最新正式版 或 dotnet CLI)
dotnet build -c Release

# 运行
dotnet run --project Rainbow.Web

注意:Linux 为全功能主力平台,支持 x64 和 ARM64 架构(树莓派 4/5 等)。编译前请确保已安装 .NET 10.0 SDK(下载地址)。

项目结构

Rainbow/
├── Rainbow.Data/          # 数据层:实体 + 服务层 + 跨平台适配器
├── Rainbow.Web/           # Web 后端:RESTful API + Cube 后台管理
├── Web/                   # 前端:React 19 + TypeScript + TailwindCSS
├── XUnitTest/             # 单元测试 / 集成测试 / E2E 测试
├── Doc/                   # 需求文档 / 功能清单 / 架构设计 / 竞品分析
└── deploy/                # 部署配置(如 sudo 白名单)

二次开发

  • 修改后台逻辑:编辑 Rainbow.Web/Controllers/Rainbow.Data/Services/
  • 修改前端页面:编辑 Web/src/pages/,运行 cd Web && pnpm dev
  • 新增数据表:编辑 Rainbow.Data/Network/Model.xml,运行 xcode Rainbow.Data 生成实体
  • 防火墙规则IFirewallAdapter 接口,切换 iptables / nftables / Windows 防火墙

详细开发指南见 架构设计功能清单需求文档


技术栈

组件 选型
Web 框架 ASP.NET Core + NewLife.Cube
运行时 .NET 10.0
进程守护 StarAgent(星尘代理)
前端 React 19 + Vite + TypeScript + TailwindCSS
持久化 SQLite
DNS/DHCP dnsmasq(Linux 主力),接口预留自研服务器扩展
日志 NewLife.Core XTrace

新生命项目矩阵

Rainbow 基于 NewLife 组件生态构建,下面是与 Rainbow 相关的生态项目:

项目 说明
NewLife.Core 核心库,日志、配置、缓存、网络、序列化、APM 性能追踪
NewLife.XCode 大数据中间件,单表百亿级,MySql/SQLite/SqlServer/Oracle/PostgreSql/达梦
NewLife.Cube 魔方快速开发平台,用户权限、SSO 登录、OAuth 服务端
NewLife.Net 网络库,单机千万级吞吐率
Stardust 星尘,分布式服务平台,APM 监控中心、配置中心、注册中心
CrazyCoder 码神工具,网络、串口、加解密、Modbus、MQTT 等众多开发者工具

许可证 & 团队

MIT License

Rainbow 使用 MIT 开源协议。这意味着你可以自由使用、修改、分发,甚至用于商业项目,无需支付任何费用。

许多企业基于此构建内部路由管理平台,甚至可通过批量替换源码中所有 NewLife 字符串为贵公司名实现私有化定制。

新生命开发团队

NewLife

新生命团队(NewLife)成立于 2002 年,是新时代物联网行业解决方案提供者。团队核心组件已在电力、工业、交通、环保、医疗、文博等行业大规模应用。NuGet 累计下载 523 万+。

我们持续改进,力求成为值得长期信赖的 .NET / IoT / 分布式技术伙伴。

智能大石头

如果本项目对你有帮助,欢迎 Star、分享给团队,或通过 Issue/PR 反馈改进建议。

About

Rainbow 通用软路由系统,提供多 WAN 负载均衡、DHCP/DNS 管控、防火墙、VPN 等全场景网络管理功能

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages