Skip to content

Releases: vNodesV/vProx

v1.0.2 — Backup Module, Structured Logging & CLI Hardening

24 Feb 06:32
d50d773

Choose a tag to compare

What's New in v1.0.2

Added

  • internal/logging: NewTypedID(prefix) — generates {PREFIX}{24HEX_UPPER} correlation IDs (API, RPC, WSS, BUP)
  • internal/logging: LineLifecycle() / PrintLifecycle() — structured NEW/UPD lifecycle log format
  • internal/backup/config.goBackupConfig structs, DefaultConfig(), LoadConfig() for backup.toml
  • config/backup.sample.toml — annotated backup config; installed by make config
  • CLI commands: start, stop, restart → delegates to sudo service vProx start|stop|restart
  • CLI flags: -d/--daemon, --new-backup, --list-backup, --backup-status
  • Makefile systemd: target — creates /etc/sudoers.d/vprox for passwordless service management
  • Unified structured log format across API, RPC, WebSocket, and Backup modules

Changed

  • Backup automation driven solely by backup.toml automation bool
  • Chain sample moved: chains/chain.sample.tomlconfig/chains/chain.sample.toml
  • Makefile config target installs samples to config/chains/ and config/backup/
  • Makefile no longer creates legacy $HOME/.vProx/chains/ directory

Removed

  • VPROX_BACKUP_ENABLED env var — use backup.toml automation = true
  • internal/backup/cfg/config.json and config.toml — legacy dead files

Fixed

  • P0 gzip response writer set Content-Encoding after headers committed
  • P0 Per-request disk I/O on access counts — moved to 1s background ticker
  • P1 intToBytes returned empty for negative integers
  • P1 Forwarded header parser failed on multi-hop proxy chains (RFC 7239)
  • P1 Rate limiter sync.Map entries never evicted (~270 bytes/IP unbounded)
  • P1 io.ReadAll on upstream HTML with no size limit — wrapped with 10 MiB LimitReader
  • P2 Regex compiled per-request on hot path — now cached per (IP, host) pair
  • P2 geo.Close() did not reset sync.Once; geo disabled after close
  • P2 WebSocket hardTimer closed connections from timer goroutine (gorilla race)
  • P3 clientIP() returned raw headers without validation (log injection)
  • P3 ip2lPaths evaluated $HOME at package init; missed VPROX_HOME override
  • P3 Geo cache never evicted slow entries — added 5-minute periodic sweep

Full Changelog: https://github.com/vNodesV/vProx/blob/main/CHANGELOG.md

vProx v1.0.1-beta

22 Feb 17:02

Choose a tag to compare

vProx v1.0.1-beta Pre-release
Pre-release

vProx v1.0.1-beta

Production-grade HTTP/WebSocket reverse proxy for Cosmos SDK blockchain nodes.

What's New in v1.0.1-beta

  • MMDB compressedip2l/ip2location.mmdb.gz (17 MB → 6.8 MB; 60% clone size reduction)
  • INSTALLATION.md — comprehensive install guide (build, configure, systemd, troubleshoot)
  • docs/UPGRADE.md — upgrade guide for v0.x → v1.x migrations
  • CHANGELOG.md — version history in keep-a-changelog format
  • MODULES.md expanded — full ops reference (490+ lines); integrated CLI flags; fixed make GEO=true install documentation bug
  • README.md rewritten — concise overview (~50 lines) with doc index
  • approval-gate.yml — unified PR approval workflow; /approve from @vNodesV after all CI checks pass
  • Removed stale docs: FLAGS.md (integrated into MODULES.md), MIGRATION.md (moved to docs/UPGRADE.md)

Key Features

  • IP-based rate limiting with automatic quarantine and JSONL audit log
  • Geolocation enrichment (IP2Location MMDB + GeoLite2 fallback, 10-min cache)
  • Structured logging with request correlation (X-Request-ID)
  • WebSocket proxy with bidirectional message pump and configurable timeouts
  • Log rotation with tar.gz archival
  • Per-chain TOML config — path-based and vhost-based routing
  • Systemd integration with dual-sink journalctl-compatible logging

Installation

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

See INSTALLATION.md for full setup instructions.

Dependencies

Component Version
Go 1.25 (toolchain 1.25.7)
gorilla/websocket v1.5.3
oschwald/geoip2-golang v1.13.0
pelletier/go-toml v2.2.4
golang.org/x/time v0.14.0

Documentation

File Purpose
README.md Overview and quick start
INSTALLATION.md Full install, config, systemd, troubleshooting
MODULES.md Per-module ops reference + CLI flags
CLI_FLAGS_GUIDE.md Complete CLI flag reference
docs/UPGRADE.md Upgrading from v0.x
CHANGELOG.md Version history