Overview
Nylon is a lightweight, high-performance, and extensible proxy server built on top of the robust Cloudflare Pingora framework. Designed for modern infrastructure.
- Extensible: Write plugins in Go, Rust, Zig, C, and more. Extend routing, filtering, and business logic without patching the core.
- Modern Configuration: Manage everything with a single, declarative YAML file. GitOps-friendly.
- Advanced Routing & Load Balancing: Route by host, header, path (wildcard support), and balance traffic with round robin, random, or consistent hashing.
- Automatic TLS Management: ACME (Let’s Encrypt, Buypass, etc.) and custom certs supported.
- Cloud-Native: Designed for scale, reliability, and observability.
🚀 See real-world plugins:
Nylon Go Plugin Examples →
Extensible by Design
Section titled “Extensible by Design”Add or customize functionality without forking or patching Nylon core — just write a plugin!
// Go Example: Minimal Middleware Plugin
//export sdk_go_mid_request_filterfunc sdk_go_mid_request_filter(ptr *C.uchar, input_len C.int) C.FfiOutput { dispatcher := InputToDispatcher(ptr, input_len) ctx := dispatcher.SwitchDataToHttpContext() ctx.Request.SetHeader("x-nylon-middleware", "true") dispatcher.SetHttpEnd(false) dispatcher.SetData(ctx.ToBytes()) return SendResponse(dispatcher)}
- Language-agnostic plugins: Go, Rust, Zig, C, and more
- Zero vendor lock-in
- Fastest possible bridge: All plugin calls use FlatBuffers over native FFI
👉 Want to build your own? Read the Plugin System
How Nylon Works
Section titled “How Nylon Works”Nylon is built on top of Cloudflare Pingora, a battle-tested proxy engine designed for performance, reliability, and security at global scale. Nylon leverages Pingora’s ultra-efficient core to handle connection pooling, IO, and low-level protocol work—but adds a powerful plugin system and flexible routing engine to make advanced customization possible for everyone.
Core Request Flow:
- Every client request first enters the Pingora core, which provides efficient networking and connection management.
- Nylon’s request lifecycle then takes over, processing each request through a chain of routing, plugin filters, and dynamic service logic—all configurable and extensible via plugins written in your language of choice.
- At each stage, you can hook in custom logic (plugins), modify requests or responses, and control routing or service behavior without touching the core.
The diagram below illustrates a typical request lifecycle in Nylon:
Learn More
Section titled “Learn More”- Getting Started: Quick installation guide →
- Configuration Reference: Full YAML config guide →
Nylon is open source and built for modern infra teams & cloud-native developers.
Give it a star on GitHub!