Commit graph

7 commits

Author SHA1 Message Date
540bad0ecb refactor: split into modules under src/dhcpsrv/
The previous monolithic dhcpsrv_app.py (~500 lines) is now 7 focused modules:

- src/dhcpsrv/__init__.py    : single source of truth for __version__
- src/dhcpsrv/__main__.py    : entry for python -m dhcpsrv
- src/dhcpsrv/app.py         : main orchestration, wires the rest
- src/dhcpsrv/platform_win.py: VT enable + UAC self-elevate
- src/dhcpsrv/update_check.py: GitHub /releases/latest poll
- src/dhcpsrv/network.py     : NIC enumeration, netsh, ping
- src/dhcpsrv/dhcp.py        : DhcpConfig, DhcpServer, packet parse/build, server loop
- src/dhcpsrv/ui.py          : rich-based full-screen TUI

Also added:
- dhcpsrv-launcher.py at repo root: absolute-import entry for PyInstaller
- pyproject.toml: deps + dynamic version
- CONTRIBUTING.md: layout, build, and release flow

CI workflow now builds from dhcpsrv-launcher.py.
No user-visible behaviour change.
2026-05-16 12:28:07 +03:00
7871f63c7d Add CI release workflow, CHANGELOG.md, issue templates
- .github/workflows/release.yml: on tag push, build exe via PyInstaller,
  package portable zip, attach SHA-256, create GitHub Release.
- CHANGELOG.md: Keep a Changelog format, semver.
- .github/ISSUE_TEMPLATE/: bug_report.yml + feature_request.yml + config.yml
  routing security reports to private advisories.
2026-05-16 11:59:16 +03:00
bb9bf1fa09 SECURITY.md: keep only GitHub private advisories, drop SLA 2026-05-16 11:56:03 +03:00
b09e1e5502 Add SECURITY.md (private vuln reporting policy) 2026-05-16 11:52:32 +03:00
400c4b970d v1.1.0: auto-update check on startup
Polls GitHub /releases/latest with a 3-second timeout. If a newer
version is available, prints a yellow notice and offers to open the
download page. Silent on offline / API errors.
2026-05-16 11:45:34 +03:00
a868ce3815 Update repo URLs after GitHub username change 2026-05-16 00:52:04 +03:00
88936f8faa Initial public release: dhcpsrv v1.0.0 portable 2026-05-16 00:47:52 +03:00