<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dpibreak.git/src, branch v0.4.1</title>
<subtitle>System-wide DPI circumvention with minimal configuration
</subtitle>
<id>http://git.dilluti0n.com/dpibreak.git/atom?h=v0.4.1</id>
<link rel='self' href='http://git.dilluti0n.com/dpibreak.git/atom?h=v0.4.1'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/'/>
<updated>2026-02-15T13:36:06Z</updated>
<entry>
<title>linux: add PID file locking for single instance enforcement</title>
<updated>2026-02-15T13:36:06Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-15T13:36:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=b26c2c8de5260b0e2a0b52cd838cb8a4bc1a63c1'/>
<id>urn:sha1:b26c2c8de5260b0e2a0b52cd838cb8a4bc1a63c1</id>
<content type='text'>
Prevent multiple non-daemon dpibreak instances using flock(). Show
existing PID on conflict and maintain lock until process termination.
</content>
</entry>
<entry>
<title>linux: extract PID_FILE constant for reuse</title>
<updated>2026-02-15T13:13:35Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-15T13:05:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=f31938fd8eea3d05f9e62daee236cf7c56ade227'/>
<id>urn:sha1:f31938fd8eea3d05f9e62daee236cf7c56ade227</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Consolidate setup logic into run()</title>
<updated>2026-02-15T13:04:25Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-15T13:01:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=3cb2c192454964c2ae01e196eaa7fdd6434efeb5'/>
<id>urn:sha1:3cb2c192454964c2ae01e196eaa7fdd6434efeb5</id>
<content type='text'>
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)
</content>
</entry>
<entry>
<title>opt: refactor to detach parse_args and set_opt</title>
<updated>2026-02-15T06:59:26Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-15T02:56:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=40fc4485e56414ab379b2332a9994a23af16eb3f'/>
<id>urn:sha1:40fc4485e56414ab379b2332a9994a23af16eb3f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>windows: implement windows service</title>
<updated>2026-02-15T06:59:26Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-15T02:33:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=ff79c7a48c60a5ea095d9faa3a2888fcd2283678'/>
<id>urn:sha1:ff79c7a48c60a5ea095d9faa3a2888fcd2283678</id>
<content type='text'>
Revert lock_handle()

send_to_raw cannot get a mutex since lock is not released per
iteration.

commit e08b57d281d8368dc02f06e3b6cd43edf88b2438
</content>
</entry>
<entry>
<title>linux: implement daemonize</title>
<updated>2026-02-15T06:59:16Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-14T16:09:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=389f9bf2b021104072377420c0c6c115542da652'/>
<id>urn:sha1:389f9bf2b021104072377420c0c6c115542da652</id>
<content type='text'>
Closes: #2
Link: https://github.com/dilluti0n/dpibreak/issues/2
</content>
</entry>
<entry>
<title>opt: add option -D, --daemon</title>
<updated>2026-02-14T13:19:14Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-14T12:45:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=a200ae9e7915b8eaab1a1b0975d5ecd34978f81a'/>
<id>urn:sha1:a200ae9e7915b8eaab1a1b0975d5ecd34978f81a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>opt: add implicit dependancy between --fake-* and --fake</title>
<updated>2026-01-31T14:52:02Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-31T14:49:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=744f3a65e46aaf2954cd761aef7f6deab8150679'/>
<id>urn:sha1:744f3a65e46aaf2954cd761aef7f6deab8150679</id>
<content type='text'>
Now --fake-* options implicitly turn on --fake option.
</content>
</entry>
<entry>
<title>pkt: fake: adjust autottl_delta to 1</title>
<updated>2026-01-23T06:55:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-23T06:33:00Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=ac2e22f9f857289250c097498842c9099f0288d6'/>
<id>urn:sha1:ac2e22f9f857289250c097498842c9099f0288d6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pkt: remove pub on internal codes</title>
<updated>2026-01-23T06:55:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-22T14:41:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=9ed1d2d7b017b4b2b50011effb6ed891d8c3e045'/>
<id>urn:sha1:9ed1d2d7b017b4b2b50011effb6ed891d8c3e045</id>
<content type='text'>
</content>
</entry>
</feed>
