功能介绍
OmNet 是一个轻量且快速的代理工具,采用 Rust 实现,专为支持多种代理协议和丰富功能而设计。OmNet 既可作为客户端代理,也可作为服务端节点,提供了一个高性能、灵活的代理框架,支持多个协议同时运行,支持复杂的代理链配置和负载均衡策略。
🚀 OmNet 核心优势
📋 支持的协议
Inbound 协议(入站 - 接收连接)
OmNet 作为服务端时,支持以下入站协议:
SOCKS5
标准 SOCKS 代理
TCP、UDP Associate、IPv6 支持
HTTP
HTTP CONNECT 代理
标准 HTTP 代理协议
Shadowsocks
轻量加密协议
UDP FullCone、多用户
ShadowsocksR
增强混淆协议
复杂混淆、协议扩展
Trojan
隐蔽代理协议
密码认证、高隐蔽性
VMess
V2Ray 代理协议
多传输方式支持
VLESS
极简代理协议
无加密设计、低开销
WebSocket
Web 友好传输
穿透防火墙、HTTP 基础设施
TLS
加密传输层
TLS 1.2/1.3 支持
Mieru
轻量协议
TCP/UDP、简单认证
Naive
HTTP 隐蔽协议
HTTP/2 CONNECT 隧道
AnyTLS
灵活 TLS 处理
自定义 TLS 配置
Chain
协议组合
灵活的协议叠加
AMUX
多路复用
连接复用、高效率
TUN
系统级代理
macOS/Linux/Windows 支持
CAT
管道通信
特殊场景支持
Outbound 协议(出站 - 转发连接)
OmNet 作为客户端时,支持以下出站协议:
基础
Direct
直连,绕过代理
Drop
拦截流量
Redirect
重定向
代理
Shadowsocks
连接到 SS 服务器
ShadowsocksR
连接到 SSR 服务器
Trojan
连接到 Trojan 服务器
SOCKS
连接到 SOCKS 服务器
VMess
连接到 VMess 服务器
VLESS
连接到 VLESS 服务器
Mieru
连接到 Mieru 服务器
Naive
连接到 Naive 服务器
AnyTLS
自定义 TLS 代理
传输
TLS
TLS 加密
WebSocket
WebSocket 传输
Obfs
流量混淆
AMUX
多路复用
组合
Chain
协议链组合
策略
Failover
故障转移
TryAll
并发尝试
Random
随机选择
Static
静态选择
Retry
重试机制
🔐 加密与安全
支持的加密算法
OmNet 支持 30+ 种加密方法,包括:
现代 AEAD 加密
AES-GCM: AES-128-GCM、AES-192-GCM、AES-256-GCM
ChaCha20-Poly1305: ChaCha20-IETF-Poly1305、ChaCha20-Poly1305
2022-Blake3: 2022-Blake3-AES-128-GCM、2022-Blake3-AES-256-GCM
传统加密(ShadowsocksR)
分组密码: AES-CFB、AES-CTR、AES-OFB
流密码: RC4、RC4-MD5、Salsa20、ChaCha20
密钥导出
HKDF (HMAC-based KDF)
PBKDF2
自定义 KDF
多种加密库支持
Ring
纯 Rust,高性能
标准部署
AWS-LC-RS
FIPS 兼容
金融、政府
Pure Rust
完全纯 Rust
嵌入式、交叉编译
OpenSSL
系统库
MIPS 等特殊平台
Blake3
现代哈希
2022 标准协议
混淆支持
HTTP
伪装成 HTTP 流量
TLS
伪装成 TLS 流量
TLS Ticket
TLS 票证混淆
Auth Chain
认证链混淆
🌐 传输层支持
OmNet 支持多种传输层协议,提供灵活的组合:
TCP
基础传输
可靠连接,所有协议基础
UDP
快速传输
低延迟,支持 FullCone NAT
TLS
加密传输
TLS 1.2/1.3,前向保密
WebSocket
Web 传输
RFC 6455,穿透防火墙
HTTP/2
多路复用
h2c 和 h2+TLS 支持
AMUX
流多路复用
高效连接复用
典型协议组合
TLS + WebSocket + VMess - 穿透防火墙的隐蔽传输
TLS + HTTP/2 + VLESS - 高效率代理链
AMUX + TLS + WebSocket - 极致连接复用
⚙️ 特性与预设
特性组合预设
OmNet 提供多种预设的特性组合,满足不同场景:
default-ring
标准部署
完整功能 + Ring 加密库
default-aws-lc
AWS 环境
FIPS 兼容 + AWS-LC-RS
minimal
移动端
最小体积,基础功能
basic
基础使用
常用协议 + 基本功能
advanced
高级用户
大部分协议 + 高级功能
server
服务端
完整功能 + 面板支持
mobile
移动应用
优化体积 + 流量统计
模块化设计
按需编译,选择需要的协议
减小二进制体积
降低内存占用
灵活满足不同平台需求
🛠️ 多面板对接方案
标准 WebAPI 接口
OmNet 提供了完整的 WebAPI 接口,支持与各类面板系统集成:
核心接口:
用户管理 API
流量统计 API
节点信息 API
配置管理 API
健康检查 API
面板兼容:
✅ Ppanel 面板
✅ v2board 面板
✅ Xboard 面板
✅ 自定义面板
定制开发支持
完整的 API 文档
标准的数据格式
灵活的扩展接口
开发者友好的文档
🔧 定制与扩展
灵活的定制能力
协议定制
支持开发自研协议
支持协议性能优化
支持特殊需求的协议实现
完整的协议框架和示例
规则定制
灵活的规则匹配系统
支持自定义规则类型
支持外部规则库集成
支持基于业务的规则引擎
性能优化
编译时优化选项
运行时性能调优
连接管理优化
内存和 CPU 优化
代码基础
OmNet 采用模块化架构:
清晰的代码结构
完善的文档注释
易于扩展的接口设计
活跃的社区支持
📊 性能表现
吞吐量基准
Direct
-
~2.5 Gbps
VLESS
-
~2.0 Gbps
Trojan
-
~1.9 Gbps
Shadowsocks
ChaCha20-Poly1305
~1.8 Gbps
Shadowsocks
AES-256-GCM
~1.6 Gbps
VMess
ChaCha20-Poly1305
~1.5 Gbps
内存占用
最小配置: ~5 MB
标准配置: ~20-50 MB
完整配置: ~100-200 MB
连接支持
单机支持 10 万+ 并发连接
低延迟(毫秒级)
自动故障转移
智能负载均衡
🌍 多平台支持
OmNet 支持在多个平台上部署:
Linux
✅
x86_64、ARM、MIPS 等
macOS
✅
Intel、Apple Silicon
Windows
✅
x86_64 原生支持
iOS
✅
通过 FFI 集成
Android
✅
通过 JNI 集成
Docker
✅
完全容器化支持
嵌入式
✅
轻量级部署
💡 应用场景
个人用户
本地代理工具
多服务器切换
自动故障转移
灵活的规则路由
企业部署
多协议节点服务
面板系统集成
流量统计和监控
用户管理系统
移动应用
轻量级代理库
低内存占用
高性能加密
精简的功能集
开发者
协议研究和实现
性能优化实验
自研协议开发
定制化部署
🎯 与 soga 的对标
OmNet 优势
协议支持
16+ Inbound, 22+ Outbound
限定协议
客户端支持
✅ 完整客户端
❌ 主要服务端
传输层
7 种传输方式
基础支持
定制能力
✅ 强大的定制框架
有限
自研协议
✅ 支持自研协议
有限
多面板
✅ 标准 WebAPI
面板对接
性能
✅ 极致优化
良好
平台支持
✅ 5+ 平台
限定平台
内存占用
✅ 最小 5 MB
标准
社区活跃
✅ 活跃维护
中等
🔒 安全性
安全特性
采用 Rust 实现,内存安全
无缓冲区溢出风险
完整的加密支持
现代密码学算法
定期安全审计
隐蔽性
支持多种混淆方式
伪装成普通流量
链式代理配置
自适应协议选择
📈 持续优化
OmNet 持续进行以下优化:
性能优化: 持续提升吞吐量和延迟
功能完善: 补充遗漏的协议和特性
安全强化: 定期安全更新和补丁
文档改进: 完善开发文档和示例
社区反馈: 积极响应用户需求
OmNet - 高性能、灵活、功能完整的代理解决方案
最后更新: 2024 年 10 月
最后更新于