Skip to content

Releases: thehonker/tsbootkit

v1.2.1

15 Jun 01:46
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v1.2.0

15 Jun 01:37
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Full Changelog: v1.1.8...v1.2.0

v1.1.8

04 Jun 01:18
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Full Changelog: v1.1.7...v1.1.8

v1.1.7

04 Jun 00:47
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Full Changelog: v1.1.6...v1.1.7

v1.1.6

03 Jun 22:28
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Full Changelog: v1.1.5...v1.1.6

v1.1.5

03 Jun 22:20
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Full Changelog: v1.1.4...v1.1.5

v1.1.4

03 Jun 22:14
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Full Changelog: v1.1.3...v1.1.4

v1.1.3

03 Jun 22:09
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

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

Full Changelog: v1.1.1...v1.1.3

v1.1.1

29 May 01:08

Choose a tag to compare

Full Changelog: v1.1.0...v1.1.1

v1.0.1

27 May 03:59

Choose a tag to compare

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.