module
Version:
v0.0.0-...-64e30f5
Opens a new window with list of versions in this module.
Published: Oct 11, 2024
License: MIT
Opens a new window with license information.
README
¶
go-proxy

繁體中文文檔請看此
A lightweight, easy-to-use, and performant reverse proxy with a Web UI and dashboard.

Join our Discord for help and discussions
Table of content
Key Features
- Easy to use
- Effortless configuration
- Simple multi-node setup
- Error messages is clear and detailed, easy troubleshooting
- Auto SSL cert management (See Supported DNS-01 Challenge Providers)
- Auto configuration for docker containers
- Auto hot-reload on container state / config file changes
- idlesleeper: stop containers on idle, wake it up on traffic (optional, see screenshots)
- HTTP(s) reserve proxy
- HTTP middleware support
- Custom error pages support
- TCP and UDP port forwarding
- Web UI with App dashboard
- Supports linux/amd64, linux/arm64
- Written in Go
🔼Back to top
Getting Started
Setup
-
Pull docker image
docker pull ghcr.io/yusing/go-proxy:latest
-
Create new directory, cd
into it, then run setup
docker run --rm -v .:/setup ghcr.io/yusing/go-proxy /app/go-proxy setup
-
Setup DNS Records point to machine which runs go-proxy
, e.g.
- A Record:
*.y.z
-> 10.0.10.1
- AAAA Record:
*.y.z
-> ::ffff:a00:a01
-
Setup docker-socket-proxy
other docker nodes (if any) (see Multi docker nodes setup) and then them inside config.yml
-
Run go-proxy docker compose up -d
then list all routes to see if further configurations are needed:
docker exec go-proxy /app/go-proxy ls-routes
-
You may now do some extra configuration
- With text editor (e.g. Visual Studio Code)
- With Web UI via
http://localhost:3000
or https://gp.y.z
- For more info, See Wiki
🔼Back to top
Use JSON Schema in VSCode
Copy .vscode/settings.example.json
to .vscode/settings.json
and modify it to fit your needs
🔼Back to top
Screenshots
idlesleeper

🔼Back to top
Build it yourself
-
Clone the repository git clone https://github.com/yusing/go-proxy --depth=1
-
Install / Upgrade go (>=1.22) and make
if not already
-
Clear cache if you have built this before (go < 1.22) with go clean -cache
-
get dependencies with make get
-
build binary with make build
🔼Back to top
Directories
¶
Click to show internal directories.
Click to hide internal directories.