Releases: thehonker/tsbootkit
Releases · thehonker/tsbootkit
v1.2.1
Immutable
release. Only release title and notes can be modified.
Full Changelog: v1.2.0...v1.2.1
v1.2.0
Immutable
release. Only release title and notes can be modified.
Full Changelog: v1.1.8...v1.2.0
v1.1.8
Immutable
release. Only release title and notes can be modified.
Full Changelog: v1.1.7...v1.1.8
v1.1.7
Immutable
release. Only release title and notes can be modified.
Full Changelog: v1.1.6...v1.1.7
v1.1.6
Immutable
release. Only release title and notes can be modified.
Full Changelog: v1.1.5...v1.1.6
v1.1.5
Immutable
release. Only release title and notes can be modified.
Full Changelog: v1.1.4...v1.1.5
v1.1.4
Immutable
release. Only release title and notes can be modified.
Full Changelog: v1.1.3...v1.1.4
v1.1.3
Immutable
release. Only release title and notes can be modified.
What's Changed
- build(deps-dev): bump vitest from 3.2.4 to 4.1.0 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #3
New Contributors
- @dependabot[bot] made their first contribution in #3
Full Changelog: v1.1.1...v1.1.3
v1.1.1
Full Changelog: v1.1.0...v1.1.1
v1.0.1
feat: initial implementation of tsbootkit — PXE/TFTP/DHCP/BOOTP toolkit
TypeScript toolkit for network boot services, built on Node 24 with
ESM (.mts), tsup, vitest, yargs, and winston.
Daemons:
- pxed — combined PXE server (BOOTP/DHCP + TFTP + HTTP fallback)
- bootpd — standalone BOOTP server
- dhcpd — standalone DHCP server
- tftpd — standalone TFTP server
Core modules:
- BOOTP server (RFC951) with architecture-aware boot file resolution,
allocation GC (configurable lifetime, default 24h), and unicast
support when client IP is known - DHCP server (RFC2131) with DISCOVER/OFFER/REQUEST/ACK flow, offer
expiry (60s TTL), DHCPNAK for invalid requests, lease GC, and
per-reservation boot file overrides - TFTP server with RFC2347 option negotiation, blksize/windowsize,
block number wraparound for large transfers, and WRQ upload support - TFTP client with windowed ACK, proper wraparound handling, and
configurable timeouts - HTTP fallback server for UEFI firmware, with path traversal
protection and symlink control
Shared infrastructure:
- Config validation with YAML support, per-section validation,
and clear error messages - Lifecycle hooks (fire-and-forget exec) with path resolution
relative to config file - Health check server with JSON endpoint and embedded dashboard
- mDNS service advertising via bonjour-service
- PID file management with stale process detection
- Shared encoding helpers for DHCP/BOOTP packet construction
- Graceful shutdown with signal handling
Build & CI:
- tsup bundling with build-time version injection (PKG_VERSION)
- Docker image with example config
- GitHub Actions CI (lint, typecheck, test, build, Docker smoke test)
- Release workflow with semantic versioning and GHCR publish
Security:
- followSymlinks defaults to false (blocks symlink traversal)
- TFTP uploads disabled by default (allowWrite: false)
- Hook exec paths validated at config load time
- Path traversal protection on HTTP and TFTP
259 tests passing, ESLint clean, tsc --noEmit clean.