summaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAgeFilesLines
...
* install.sh: remove make dependencydilluti0n2026-02-211-1/+26
|
* docs: change description, refine manualdilluti0n2026-02-205-97/+84
|
* docs: dpibreak.1: simplify expressionsdilluti0n2026-02-202-65/+65
|
* docs: README: updatedilluti0n2026-02-171-4/+4
|
* docs: README: updatedilluti0n2026-02-171-0/+1
|
* Revert "docs: README: remove logo and add cute icon on title"dilluti0n2026-02-171-1/+2
| | | | This reverts commit 09794890506de7eb83f3d29cb4685b4b360e328c.
* docs: README: remove logo and add cute icon on titledilluti0n2026-02-171-2/+1
|
* docs: README: remove How to usedilluti0n2026-02-171-15/+3
|
* docs: README: updatedilluti0n2026-02-171-1/+1
|
* docs: README: updatedilluti0n2026-02-171-4/+6
|
* docs: README: updatedilluti0n2026-02-171-25/+25
|
* docs: README: updatedilluti0n2026-02-171-28/+28
|
* docs: README: updatedilluti0n2026-02-171-3/+3
|
* docs: README: add install.sh methoddilluti0n2026-02-171-4/+13
|
* ci: add one-liner install/uninstall scriptdilluti0n2026-02-171-0/+90
|
* docs: README.md: updatedilluti0n2026-02-161-8/+9
|
* Print version info log after daemonizedilluti0n2026-02-161-1/+1
|
* docs: CHANGELOG: updatev0.4.3dilluti0n2026-02-161-2/+5
|
* windows: fix regression intorduced in b68753e8dilluti0n2026-02-161-5/+2
|
* Bump version to 0.4.3dilluti0n2026-02-163-6/+6
|
* Log version information on startupdilluti0n2026-02-161-0/+1
|
* docs: CHANGELOG: updatedilluti0n2026-02-161-0/+2
|
* log: add defensive error handling for local_timedilluti0n2026-02-161-1/+3
| | | | Fallback to zeroed timestamp when time()/localtime_r() fails.
* docs: CHANGELOG: updatedilluti0n2026-02-161-0/+3
|
* log: drop chrono, use localtime_r and GetLocalTime directlydilluti0n2026-02-163-113/+29
| | | | 24 KiB is precious :)
* docs: dpibreak.1: update pid/log file pathdilluti0n2026-02-162-5/+6
|
* log: print time with crate chronodilluti0n2026-02-163-1/+113
|
* ci: release: remove publish-crates-io deps to releasedilluti0n2026-02-161-1/+1
|
* ci: release: upload sha256sum.txt instead of *.sha256dilluti0n2026-02-161-1/+4
|
* docs: CHANGELOG: fix typodilluti0n2026-02-161-1/+1
|
* windows: fix nit build failurev0.4.2dilluti0n2026-02-161-3/+3
|
* Bump version to 0.4.2dilluti0n2026-02-163-8/+14
|
* docs: CHANGELOG: updatedilluti0n2026-02-161-1/+2
|
* linux: add TODO on daemonizedilluti0n2026-02-161-0/+1
|
* opt: decouple set_opt() from loggingdilluti0n2026-02-164-18/+36
| | | | | | | | | | | | | | | | | | | | | | set_opt() was logging each option as it set them, which created a tight coupling between option initialization and log output timing. This was particularly problematic for daemon mode: daemonize must happen after set_opt() (to know whether -D was passed) but before logging (so output goes to the log file, not stdout). Split into set_opt() -> InitializedOpts and InitializedOpts::log(), using a typestate pattern to enforce at compile time that log() cannot be called before set_opt(). This lets each platform's bootstrap() handle daemonization between the two steps: let initialized = opt.set_opt()?; platform::bootstrap()?; // daemonize here if needed initialized.log(); // now safe to log Also: - Move daemonize_1() into platform::bootstrap() on both platforms - Make daemonize_1() / service_main() private to their platform modules - Fix the long-standing TODO about using log_println in daemonize()
* linux: fix log file truncated when daemonize failsdilluti0n2026-02-161-3/+7
| | | | | | | | | 1. open without O_APPEND (offset = 0) and O_TRUNC (original bug) 2. dup file descripter with .try_clone() and feed it to daemonize 3. truncate file with .set_len(0) on child after daemonize.start() succed Fixes: https://github.com/dilluti0n/dpibreak/issues/17
* Merge branch 'fix/pid-file-open-fail-EACCES'dilluti0n2026-02-164-11/+28
|\
| * docs: CHANGELOG: updatedilluti0n2026-02-161-0/+4
| |
| * linux: exit if not rootdilluti0n2026-02-162-2/+10
| |
| * linux: repurpose bootstrap to do things before requiring cleanupdilluti0n2026-02-162-7/+11
| |
| * linux: modify PID_FILE and log pathdilluti0n2026-02-161-2/+3
|/ | | | Fixes: https://github.com/dilluti0n/dpibreak/issues/16
* docs: CHANGELOG: sync with release notedilluti0n2026-02-151-3/+2
|
* Bump version to 0.4.1v0.4.1dilluti0n2026-02-153-2/+11
|
* Merge branch 'fix/nft-flush-startup'dilluti0n2026-02-153-11/+42
|\ | | | | | | | | | | | | Fixes: #13 Link: https://github.com/dilluti0n/dpibreak/issues/13 Fixes: #6 Link: https://github.com/dilluti0n/dpibreak/issues/6
| * linux: add PID file locking for single instance enforcementdilluti0n2026-02-151-6/+24
| | | | | | | | | | Prevent multiple non-daemon dpibreak instances using flock(). Show existing PID on conflict and maintain lock until process termination.
| * linux: extract PID_FILE constant for reusedilluti0n2026-02-152-6/+6
| |
| * Consolidate setup logic into run()dilluti0n2026-02-153-3/+16
|/ | | | | | | | | | | The bootstrap/run separation was unnecessary. Move all initialization (cleanup + nftables setup): into run() and skip bootstrap in daemon mode. We repurpose the bootstrap() function to only run in non-daemon mode for future foreground-only initialization. - Add OPT_DAEMON option to detect daemon mode - Move cleanup() and install_rules() from bootstrap() to run() - Make bootstrap() a no-op (only called in non-daemon mode)
* ci: move download artifacts before making release notedilluti0n2026-02-151-12/+12
| | | | so download link and buildinfo can be generated.
* ci: fix release cannot find download artifactsv0.4.0dilluti0n2026-02-151-12/+12
|
* docs: CHANGELOG: unwrap lines to single-line entriesdilluti0n2026-02-151-21/+9
| | | | | GitHub Release notes treat newlines as <br>, causing mid-sentence line breaks in rendered release notes.