[Open Source] CDN & WAF Cluster Management, Dedicated to Building an Affordable CDN & WAF System for Everyone
![[Open Source] CDN & WAF Cluster Management, Dedicated to Building an Affordable CDN & WAF System for Everyone](https://yy123.ink/api/img/1782593282967-vkf5yi.jpg)
1. Project Overview
GoEdge is an open-source software tool for managing distributed CDN edge nodes. Its goal is to help users build applications such as CDN and WAF easily and at a low cost.
GoEdge Goals
Build a CDN & WAF system that everyone can afford.
2. Open Source License
Released under the BSD-3-Clause open-source license
3. Screenshots

4. Feature Overview
Features
-
Free - Open source, free of charge, unrestricted, and open.
-
Simple - A clear and straightforward architecture, with easy installation, usage, and maintenance.
-
Highly Scalable - Freely add new nodes and support billions of records.
Function introduction
-
Multi-User Support
-
Log Auditing
-
Cluster Management
-
Support for HTTP/HTTPS/TCP/UDP and Other Protocols
-
WAF
-
Cache
-
Automatic DNS Resolution
-
Multiple Domain Binding
-
Free Certificate Issuance
-
IP Blacklists and Whitelists
-
Access Logs
-
Statistics
-
Content Compression
-
Protocol Proxy
-
Local Static Files
-
URL Redirection
-
Routing Rules
-
Rewrite Rules
-
Access Control
-
Character Encoding
-
Custom Pages
-
Custom HTTP Headers
-
Websocket
-
Automatic WebP Conversion
-
Fastcgi
-
Request Rate Limiting
-
Traffic Limiting
Product Advantages
In the industry, many people choose tools such as Squid, HAProxy, and Nginx as CDN service applications. So why choose GoEdge? These are undoubtedly excellent tools, but GoEdge still offers several distinct advantages over them in certain areas:
-
Complete Management Interface - All features can be operated through the management interface without writing code. This reduces the burden of memorization and minimizes the chance of errors.
-
Easy Installation - Thanks to our precompiled binary releases, even beginners with little technical experience can easily install and launch the software. No additional system libraries are required. Uploading, extracting, and launching can all be completed in one go.
-
Complete Solution - It provides not only CDN acceleration and web services but also multi-tenancy (users), logging, monitoring, security (WAF), DNS, and other features.
-
Easy Integration with Other Systems - All data operations are performed through GRPC, allowing third-party systems to communicate with GoEdge easily via GRPC and HTTP API.
-
Easier Secondary Development - Built with Go, GoEdge is easier to customize and extend than applications written in C. It is also relatively easier to get started with; you only need to spend some time learning Go to begin development.
Performance
Currently, our customers have achieved a peak single-node outbound bandwidth of up to 17Gbps, a maximum of 100 million cached files, and up to 20T of cached content in production environments. Configuration: CPU x 20 threads / 128G RAM / SSD storage.
Source: GoEdge Official Documentation
5. Tech Stack
Architecture

Components:
-
Edge Nodes - Endpoint nodes that receive and respond to user requests.
-
Administrator System - The overall management and control system.
-
API Cluster - A group of API nodes that provide data and processing support for other types of nodes.
-
User System - Provides a management system for tenants (exclusive to the commercial edition).
-
Regional Monitoring System - Monitors node port connectivity across different regions (exclusive to the commercial edition).
-
DNS System - A self-hosted domain name resolution system (exclusive to the commercial edition).
-
Database Cluster - Stores data that needs to be persisted by the system.
Running environment
-
Operating System: Currently, only macOS and Linux development environments are supported;
-
MySQL: Supports v5.7.x and above / TiDB 3.0 and above;
-
Golang: Supports v1.18 and above;
-
On macOS X, the musl cross-compilation toolchain must be installed. Refer to the project documentation for installation instructions.
The source code includes the following components:
-
Edge Node
-
API Node
-
Management Platform
Detailed content please refer to README.md document