高性能核心
基于 Tokio 与零拷贝 splice(),低延迟、高吞吐、低资源占用。
Geofront 是一个面向高并发 Minecraft 网络入口的代理核心,你可以把它视为面向 Minecraft 协议的 可编程 L7 入口网关。相比传统 Java 代理 (Velocity/BungeeCord),它具有:
bun install geofront-ts
import { Geofront } from 'geofront-ts'
async function main() {
const proxy = Geofront.createProxy()
proxy.setRouter(ctx => {
if (ctx.host.endsWith('example.com')) {
return { target: { host: '127.0.0.1', port: 25565 } }
}
return Geofront.disconnect('§c未知服务器')
})
proxy.setMotdProvider(ctx => ({
version: { name: 'Geofront Proxy', protocol: ctx.protocol },
players: { max: 100 },
description: { text: '§6Geofront 示例代理' }
}))
await proxy.listen({ host: '0.0.0.0', port: 25565 })
}
main()
能力 | 说明 |
---|---|
路由 | 同步/异步函数,返回目标 / 代理 / 重写 host / 缓存策略 / 断开信息 |
MOTD | 动态生成 + 自动填充在线人数 + 缓存与拒绝控制 |
速率限制 | 每连接上下行平均 + 突发;全局默认自动套用新连接 |
缓存 | 路由 与 MOTD 统一缓存,IP 与 IP+Host 粒度,支持拒绝缓存 |
上游代理 | SOCKS5 + 可选 PROXY protocol 头注入下游 |
事件 | 连接建立 / 关闭 / 监听器启动 / 停止 / 错误 |
指标 | 全局连接数、总流量、单连接累计字节数 |
零拷贝转发 | Linux 下自动使用 splice() |