Releases: alysnnix/devproxy
Releases · alysnnix/devproxy
v1.0.2
Immutable
release. Only release title and notes can be modified.
devproxy v1.0.2
Fixed
- Runtime directory auto-creation — daemon now creates
/run/devproxy/on startup if it doesn't exist, fixing socket creation failure after WSL2 reboot
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Immutable
release. Only release title and notes can be modified.
devproxy v1.0.1
New
- Redesigned CLI output — tree view grouped by project with ANSI colors, green status indicator per service, header with version/project/service count
--verboseflag fordevproxy status— shows Windows IP column- Improved
devproxy doctor— colored checkmarks instead of[OK]/[FAIL] - Better empty state — helpful message when no projects are running
- Version injected at build time via ldflags
Docs
- Added CONTRIBUTING.md
- Added issue templates (bug report, feature request)
- Added pull request template
- Updated ASCII logo in README
Full Changelog: v1.0.0...v1.0.1
v1.0.0
Immutable
release. Only release title and notes can be modified.
devproxy v1.0.0
Automatic Docker port conflict resolution via per-project loopback IPs.
What it does
Assigns a unique loopback IP to each Docker Compose project and forwards TCP traffic on standard ports. No changes to docker-compose files — just docker-compose up and connect:
acme.localhost:5432 → acme's PostgreSQL
acme.localhost:6379 → acme's Redis
widgets.localhost:5432 → widgets's PostgreSQL
widgets.localhost:8001 → widgets's API
Features
- Docker Watcher — detects container start/stop events automatically via Docker socket, with reconnection and exponential backoff
- Deterministic IP assignment — FNV-1a hash maps project names to stable loopback IPs (
127.10.1.1–127.254.254.1, ~62k slots) with collision resolution - Embedded DNS — resolves
*.localhoston127.0.53.53:53via systemd-resolved delegation. TTL 0, no stale cache - TCP forwarding — pure Go forwarding with half-close support. Binds to project IPs only, never
0.0.0.0 - NixOS module —
services.devproxy.enable = trueand done. Handles systemd, capabilities, DNS delegation, WSL2 quirks - Windows integration — PowerShell script generation for
netsh portproxy+ hosts file setup. Same hostnames work in DBeaver, browsers, etc. - CLI —
daemon,status,down,cleanup,doctor,windows-setup,windows-cleanup
Security hardening
- Sanitize project/service names in PowerShell script output to prevent injection
- Add mutex to daemon maps to prevent concurrent write panic on SIGHUP
- Restrict Unix socket permissions to 0660
- Validate loopback IPs before netlink add/remove
- Restrict collision file permissions to 0600
- Replace broad
pgrepwith PID file for daemon management - Add 5s dial timeout to TCP forwarder
- Validate Docker Compose labels against allowed charset
Install
NixOS:
inputs.devproxy.url = "github:alysnnix/devproxy";
imports = [ inputs.devproxy.nixosModules.default ];
services.devproxy.enable = true;Script:
curl -fsSL https://raw.githubusercontent.com/alysnnix/devproxy/main/install.sh | sudo shManual: download the binary from the assets below.
License
GNU GPL v3