Awesome
<p align="center"> <img width="200" height="auto" src="docs/public/img/logo.svg"> </p> <h1 align="center"><b>Infrared</b></h1> <h3 align="center"><b>A Minecraft Reverse Proxy</b></h3> <p align="center"> <a href="https://discord.gg/r98YPRsZAx"> <img alt="Discord" src="https://img.shields.io/discord/800456341088370698?label=discord&logo=discord" /> </a> <a href="https://hub.docker.com/r/haveachin/infrared"> <img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/haveachin/infrared?logo=docker" /> </a> <br /> <img alt="CI" src="https://github.com/haveachin/infrared/actions/workflows/ci.yml/badge.svg" /> </p>[!WARNING] Infrared is currently under active development: bugs and breaking changes can happen. Feedback and contributions are welcome.
An ultra lightweight Minecraft reverse proxy and status placeholder: Ever wanted to have only one exposed port on your server for multiple Minecraft servers? Then Infrared is the tool you need! Infrared works as a reverse proxy using a sub-/domains to connect clients to a specific Minecraft server.
Features
- Reverse Proxy
- Wildcards Support
- Multi-Domain Support
- Status Response Caching
- Proxy Protocol Support
- Ratelimiter
Useful Links
Build
Requirements:
- Go 1.21+
CGO_ENABLED=0 go build -ldflags "-s -w" -o ./out/infrared ./cmd/infrared
or make all
(requires GNU Make). The binary is in the out/
directory.
Similar Projects
Attributions
- Free Software Foundation, Public domain, via Wikimedia Commons
- Tnze/go-mc 🚀, MIT
- IGLOU-EU/go-wildcard, Apache-2.0
- cespare/xxhash, MIT
- google/uuid, BSD-3-Clause
- pires/go-proxyproto, Apache-2.0
- spf13/pflag, BSD-3-Clause
- go-yaml/yaml, Apache-2.0, MIT
- vitepress, MIT
- tollbooth, MIT