Skip to content

Releases: curiositech/port-daddy

v3.3.0 — Tunnels + Context-Aware Salvage

28 Feb 06:50

Choose a tag to compare

What's New

Tunnel Integration

Expose local services to the internet via ngrok, cloudflared, or localtunnel.

pd tunnel start myapp:api --provider cloudflared
# https://random-words.trycloudflare.com

pd tunnel list
pd tunnel stop myapp:api

SDK:

const { url } = await pd.tunnelStart('myapp:api', 'cloudflared');
await pd.tunnelStop('myapp:api');

Context-Aware Salvage UX

Agent identity enables smart resurrection queue filtering.

# Register with semantic identity
pd agent register --identity myapp:backend:main --purpose "Building auth"

# When agent dies, other agents in same project see notice
pd salvage --project myapp    # Default: filter to your project
pd salvage --all              # Opt-in to global queue

Automated Parity Enforcement

New features.manifest.json defines all 23 features with expected surfaces. The parity checker validates CLI, SDK, routes, completions, and docs are all in sync.

npx tsx scripts/check-parity.ts

Full Changelog

See CHANGELOG.md

v1.2.0 - Security Hardening

12 Feb 00:35

Choose a tag to compare

What's New

Security Hardening

  • Comprehensive input validation for all API endpoints
  • Project names: alphanumeric, dash, underscore, dot only (max 255 chars)
  • Port validation: range 1024-65535, reserved ports blocked
  • PID header validation: range 1-99999
  • Rate limiting keyed by project/PID (not IP)
  • Prepared SQL statements throughout
  • CORS restricted to localhost
  • JSON payload size limits (1kb)

npm Package

  • Cross-platform Node.js CLI tools
  • Install globally: npm install -g port-daddy
  • Commands: get-port, release-port, list-ports, system-ports

Test Suite

  • 61 tests total
  • 40+ security-focused test cases
  • Input validation, rate limiting, payload limits

Install

# npm (cross-platform)
npm install -g port-daddy

# Manual (macOS)
git clone https://github.com/erichowens/port-daddy.git ~/.port-daddy
cd ~/.port-daddy && npm install && npm run install-daemon

Full Changelog

v1.1.0...v1.2.0