Skip to content

A Cloudflare alternative for local and cloud use, can be used ontop of cloudflare for cloudflares paid features, but for free!

License

Notifications You must be signed in to change notification settings

Cloudable-dev/netgoat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

NetGoat — Self-Hostable Cloudflare Alternative (Reverse Proxy Engine)

💖 Special Thanks

A huge thank you to Cozy Critters Society and Snow for being our first donors! Their support means the world to us. Check out their nonprofit here: Cozy Critters Society.

“The team at Cozy Critters Society is happy to support the development of NetGoat in hopes that we can help them succeed in making their self-hostable Cloudflare alternative.”


NetGoat is a blazing-fast, self-hostable reverse proxy and traffic manager designed for developers, homelabbers, and teams who want Cloudflare-like features without the cost.

Key Features:

  • Zero Trust Networking – secure your services without hassle.
  • DDoS Protection – keep your traffic safe from attacks.
  • SSL Termination – handle certificates automatically.
  • Rate Limiting – control traffic and prevent abuse.
  • WebSocket Support – real-time apps? No problem.

Built with modern tools for maximum performance and developer experience:

  • Bun for super-fast runtime.
  • Next.js for robust front-end.
  • Fastify for high-performance backend.
  • TailwindCSS for sleek, responsive UI.

NetGoat gives you full control over your traffic, security, and performance—all self-hosted.

CSS3 HTML5 JavaScript Markdown TypeScript Shell Script Cloudflare Express.js NodeJS Next JS NPM TailwindCSSWebpack MongoDB Docker ESLint

Stats

Built for HackClub Summer of Making

Join our discord for support, annoucements, updates & bugs!! Click Me To Join! Discord

NetGoat is an advanced reverse proxy engine designed to act as an additional layer on top of Cloudflare — enabling premium-grade features, zero-cost scaling, and maximum control for power users and homelabbers.


Screenshots

Say cheese! image image image image

Features

  • Anti-DDoS & WAF — Filters like a hawk. Blocks malicious requests, bots, and common exploits.
  • Rate Limiting & Request Queuing — Your API won’t get nuked.
  • Auto SSL & TLS Termination — Free SSL with auto-renew.
  • Load Balancing & Failover — Multinode routing with zero-downtime.
  • Real-Time Metrics Dashboard — Monitor traffic, bandwidth, errors, and hits.
  • Dynamic Rules Engine — Write custom rules in JS/TS to handle routing, caching, filtering, etc.
  • WebSocket & HTTP/2 Ready — Handles modern protocols like a beast.
  • Per-Domain Configs — Define behavior per site with regex/wildcard support.
  • Plugin System — Extend NetGoat with custom plugins or middlewares.
  • Cloudflare Zero Trust Support — Acts as a trusted upstream in Zero Trust setups.
  • Smart Caching Layer — Custom cache policies per route, endpoint, or asset.

Seamless intergration

  • DNS Searching — Automatically scans your domains to automatically create a suitable Proxy record
  • Cloudflare — Manage cloudflare tunnels and more with our UI
  • Bandwidth Limits — Limit or throttle specific domains or proxy's

Quick Start

We recommend datalix for cheap and highly avaliable vps'ses

https://docs.netgoat.xyz (not published yet)

Running Services with systemd (Linux)

Prefer systemd over PM2? You can automate unit creation with the included script.

Automated one-liner (installs units for core, LogDB, CTM and Frontend):

Note: requires Bun installed and root privileges.

curl -fsSL https://raw.githubusercontent.com/cloudable-dev/NetGoat/main/scripts/install-systemd.sh | sudo bash -s -- --root-dir /opt/netgoat

Or run locally from the repo:

sudo bash scripts/install-systemd.sh --root-dir "$(pwd)" --build-frontend

Useful flags:

  • --user / --group : system user/group to run services (default: netgoat)
  • --no-netgoat, --no-logdb, --no-ctm, --no-frontend: skip specific services
  • --include-docs: also install the docs site service from ./docs
  • --dev-frontend / --dev-docs: run Next.js in dev mode instead of prod
  • --build-frontend / --build-docs: run bun run build before creating units
  • --no-start: write units but do not enable/start them

Services created:

  • netgoat.service (root)
  • netgoat-logdb.service (./LogDB)
  • netgoat-ctm.service (./CentralMonServer)
  • netgoat-frontend.service (./reactbased)
  • netgoat-docs.service (./docs, optional)

Ports to allow (typical): 80, 443, 1933, 3000, 3010, 2222.

Open Source Projects That Helped me Build

Star History

Star History Chart

About

A Cloudflare alternative for local and cloud use, can be used ontop of cloudflare for cloudflares paid features, but for free!

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •