<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dpibreak.git/src/main.rs, 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:13:35Z</updated>
<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>Refactor main.rs; modulize opt.rs and pkt.rs</title>
<updated>2026-01-16T07:29:31Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-16T06:22:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=0dffd9a4df59b503eaaf26524f17f58831d01eec'/>
<id>urn:sha1:0dffd9a4df59b503eaaf26524f17f58831d01eec</id>
<content type='text'>
Move option parsing to opt.rs and packet handling to pkt.rs from
main.rs
</content>
</entry>
<entry>
<title>pkt: support overriding TCP checksum (badsum) in split_packet_0</title>
<updated>2026-01-16T04:12:13Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-14T11:27:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=8ea02a7b1a5aada8726607891e3a50785e9a729b'/>
<id>urn:sha1:8ea02a7b1a5aada8726607891e3a50785e9a729b</id>
<content type='text'>
- Extend split_packet_0 to optionally override TCP checksum.
- Compute L3 header length for IPv4/IPv6 and patch checksum field when requested.
- Wire fake_clienthello to set checksum to 0 when fake_badsum() is enabled.
</content>
</entry>
<entry>
<title>Add option --fake-badsum</title>
<updated>2026-01-14T11:01:40Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-14T11:01:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=6e2cecf774e84b0a635898b8f823cdbee88d4ce1'/>
<id>urn:sha1:6e2cecf774e84b0a635898b8f823cdbee88d4ce1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix option --fake did not do anything</title>
<updated>2026-01-05T11:00:31Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-05T11:00:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=ff14ece77e72caaa635eb7b97aeb83b1536aec46'/>
<id>urn:sha1:ff14ece77e72caaa635eb7b97aeb83b1536aec46</id>
<content type='text'>
Fake was enabled by default.....
</content>
</entry>
<entry>
<title>Normalize option handling and OPT_* naming</title>
<updated>2025-12-30T11:00:07Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-12-30T11:00:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=9e38b2c679ee5a3ab9acad9a0ab53aedeb492c26'/>
<id>urn:sha1:9e38b2c679ee5a3ab9acad9a0ab53aedeb492c26</id>
<content type='text'>
Log runtime options on startup
</content>
</entry>
<entry>
<title>Add fake ClientHello injection runtime options</title>
<updated>2025-12-30T08:15:22Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-12-30T07:33:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=7fea61d366ec954b9a3b73156ebea17ccb75544b'/>
<id>urn:sha1:7fea61d366ec954b9a3b73156ebea17ccb75544b</id>
<content type='text'>
- Add --fake flag to enable fake ClientHello injection
- Add --fake-ttl option to override TTL of fake packets
</content>
</entry>
<entry>
<title>Consolidate fake ClientHello and split packet logic</title>
<updated>2025-12-30T08:15:22Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-12-30T07:18:00Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=c7547d53491750af5c2b4acdaa123ea6be24bd90'/>
<id>urn:sha1:c7547d53491750af5c2b4acdaa123ea6be24bd90</id>
<content type='text'>
Introduce send_segment abstraction
</content>
</entry>
</feed>
