Simple reverse proxy server
  • Go 93%
  • Shell 7%
Find a file
2026-03-30 23:16:44 +05:00
.gitattributes Initial commit 2023-12-28 16:00:04 +05:00
.gitignore Initial commit 2023-12-28 16:00:04 +05:00
app.go Fix memory leaks, add stats handler 2026-03-29 10:09:33 +05:00
config.go Fix memory leaks, add stats handler 2026-03-29 10:09:33 +05:00
consts.go Initial commit 2023-12-28 16:00:04 +05:00
go.mod Fix memory leaks, add stats handler 2026-03-29 10:09:33 +05:00
go.sum Fix memory leaks, add stats handler 2026-03-29 10:09:33 +05:00
gonx.conf Fix memory leaks, add stats handler 2026-03-29 10:09:33 +05:00
gonx.service Allow unix socket for systemd unit 2025-06-03 10:35:39 +05:00
handlers.go Fix memory leaks, add stats handler 2026-03-29 10:09:33 +05:00
LICENSE Initial commit 2023-12-28 16:00:04 +05:00
listener.go Initial commit 2023-12-28 16:00:04 +05:00
main.go Disable timestamps if running in systemd 2026-03-30 20:10:36 +05:00
mapping.go Fix memory leaks, add stats handler 2026-03-29 10:09:33 +05:00
PKGBUILD version 0.0.7 2026-03-30 23:16:44 +05:00
README.md Add unix socket example 2025-06-02 17:56:16 +05:00

gonx

Simple reverse proxy server.

Features:

  • Simple TCP redirection
  • Simple static file server

Usage

  1. Install package

  2. Edit config in /etc/gonx.conf

  3. Start application with systemd:

    systemctl start gonx.service

Config example

LogLevel = "DEBUG"                         # Log level (DEBUG, INFO, WARN, ERROR)
TlsKeysDir = "/etc/letsencrypt/live"       # Path to TLS-certificates generated by Certbot
TlsListenAddr = ":443"                     # TLS listen address
HttpListenAddr = ":80"                     # HTTP listen address
AcmeChallengePath = "/var/lib/letsencrypt" # Path for ACME challenge files

# Map of hostname -> redirect URL
[TLS]
"git.host.com"  = "tcp://127.0.0.1:8001"           # TCP redirect
"unix.host.com" = "unix:///var/lib/app/app.socket" # serve unix socket
"www.host.com"  = "file:///srv/http"               # simple static file server from `/srv/http`