Skip to content

vNodesV/vProx

Repository files navigation

vProx

Production-grade reverse proxy for Cosmos SDK node services — RPC, REST, gRPC, WebSocket, and API alias — with per-chain routing, rate limiting, geo enrichment, and automated log management.

✨ Features

  • Per-chain routing — match by Host header; route to path prefixes (/rpc, /rest, /grpc, /grpc-web, /api) or subdomains (rpc.<host>, api.<host>).
  • WebSocket proxying — bidirectional with configurable idle timeout and max lifetime.
  • Rate limiting — per-IP token bucket with optional auto-quarantine and JSONL audit log.
  • Geo enrichment — country and ASN logged per request via MMDB lookup (optional).
  • HTML banner injection — custom banners on RPC index and REST swagger pages.
  • Backup automation — TOML-configured scheduled backups with multi-file archive support.
  • Service managementstart -d, stop, restart with passwordless sudoers integration.
  • Systemd-readymake install renders and optionally installs the service unit + sudoers rule.

📦 Requirements

  • Go 1.25+ (see go.mod)
  • Linux (for production/systemd); macOS supported for development

⚡ Quick Start

git clone https://github.com/vNodesV/vProx.git
cd vProx
make install

Then create a chain config:

cp $HOME/.vProx/config/chains/chain.sample.toml $HOME/.vProx/config/chains/my-chain.toml
$EDITOR $HOME/.vProx/config/chains/my-chain.toml

Start the proxy:

vProx start           # foreground, listens on :3000 by default
vProx start -d        # start as systemd service (daemon)
vProx stop            # stop the service
vProx restart         # restart the service

📚 Documentation

Document Description
INSTALLATION.md Full install guide: build, configure, systemd, troubleshoot
MODULES.md Module-by-module operations and configuration reference
CLI_FLAGS_GUIDE.md Complete CLI flag reference with examples
docs/UPGRADE.md Upgrade guide (v0.x → v1.x migration notes)
CHANGELOG.md Version history

📄 License

Apache-2.0. See LICENSE.