<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dpibreak.git/src/platform, 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>windows: extend WinDivert filter for --fake-autottl</title>
<updated>2026-01-23T06:55:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-20T05:41:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=ec0cd64df8f834211673c0116586b0a3b2633b32'/>
<id>urn:sha1:ec0cd64df8f834211673c0116586b0a3b2633b32</id>
<content type='text'>
Build WinDivert filter at runtime:
- Default: outbound TLS ClientHello packets
- --fake-autottl: also capture inbound SYN/ACK from tcp sport 443
Keep !impostor to avoid recapture.
</content>
</entry>
<entry>
<title>linux: iptables: implement SYN/ACK capture on --fake-autottl</title>
<updated>2026-01-23T06:55:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-20T04:12:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=6780cc913016e0e567b20518a3577f966417b447'/>
<id>urn:sha1:6780cc913016e0e567b20518a3577f966417b447</id>
<content type='text'>
- Add mangle/INPUT jump to DPIBREAK
- Queue tcp sport 443 SYN/ACK packets (NFQUEUE --queue-bypass)
- Cleanup removes INPUT jump as well
</content>
</entry>
<entry>
<title>linux: nftables: queue SYN/ACK on --fake-autottl</title>
<updated>2026-01-23T06:55:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-20T03:34:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=a1618d0f7b576e55230ef709af750f2933a65db4'/>
<id>urn:sha1:a1618d0f7b576e55230ef709af750f2933a65db4</id>
<content type='text'>
- simplify nftables rules by removing DPIBREAK chain
</content>
</entry>
<entry>
<title>linux: refactor rules backend into iptables/nftables modules</title>
<updated>2026-01-22T15:18:43Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-20T05:23:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=7555c95ccd072335762cf2248edcfa83711c6437'/>
<id>urn:sha1:7555c95ccd072335762cf2248edcfa83711c6437</id>
<content type='text'>
Split iptables and nftables rule management into dedicated modules.
Keep linux.rs focused on shared helpers and rule dispatch.

(cherry picked from commit 60c0011ca0cf5a463056fca17f2f747e762e19f9)
</content>
</entry>
</feed>
