<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dpibreak.git/src/platform, branch v0.2.1</title>
<subtitle>System-wide DPI circumvention with minimal configuration
</subtitle>
<id>http://git.dilluti0n.com/dpibreak.git/atom?h=v0.2.1</id>
<link rel='self' href='http://git.dilluti0n.com/dpibreak.git/atom?h=v0.2.1'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/'/>
<updated>2026-01-16T07:29:31Z</updated>
<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>windows: do not recalculate tcp checksum when send_to_raw</title>
<updated>2026-01-16T04:12:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-14T11:26:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=27a0899098e908c3fab4fbe026563057b1f08599'/>
<id>urn:sha1:27a0899098e908c3fab4fbe026563057b1f08599</id>
<content type='text'>
For --fake-badsum work; Anyway, it is already calculated
</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>Prevent infinite loop on packet injection/filtering</title>
<updated>2025-12-30T08:15:22Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-12-29T12:41:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=08d97bba88329315040bd4820ab4d799ee537181'/>
<id>urn:sha1:08d97bba88329315040bd4820ab4d799ee537181</id>
<content type='text'>
- linux: fix infinite NFQUEUE loop by marking injected packets
- windows: by marking packet to impostor
</content>
</entry>
<entry>
<title>linux: extract process execution into `exec_process` helper</title>
<updated>2025-12-29T09:07:58Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-12-29T08:59:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=7bfef8fafc5369f65bd6f12c83e89f3443b923c0'/>
<id>urn:sha1:7bfef8fafc5369f65bd6f12c83e89f3443b923c0</id>
<content type='text'>
Introduce exec_process() to handle external command execution, stdin
piping, and error reporting. Now cleanup() and apply_nft_rules() call
exec_process() to call modprobe, nft respectively.

This improves error handling for cleanup xt_u32.
</content>
</entry>
<entry>
<title>linux: ignore cleanup errors at startup</title>
<updated>2025-12-22T05:26:25Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-12-22T05:26:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=1245a0f138ac9536835d1f56260aae38d2734631'/>
<id>urn:sha1:1245a0f138ac9536835d1f56260aae38d2734631</id>
<content type='text'>
Do not log errors if cleanup fails during startup.
Retain error logging for cleanup failures on shutdown.
</content>
</entry>
<entry>
<title>linux: switch to apply_nft_rules() from nftables-rs for rule setting</title>
<updated>2025-10-29T07:33:37Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-10-29T07:24:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=40dbbcc52ab851586fcabf7316301bd3a755f907'/>
<id>urn:sha1:40dbbcc52ab851586fcabf7316301bd3a755f907</id>
<content type='text'>
nftables-rs didn’t fit use case, so it was decoupled, and logging was
improved.
</content>
</entry>
<entry>
<title>linux: implement apply_nft_rules() to log output sanely</title>
<updated>2025-10-29T07:33:36Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-10-29T06:46:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=02b0b6b6950a3add1e650e35a1d5d3592cce8d71'/>
<id>urn:sha1:02b0b6b6950a3add1e650e35a1d5d3592cce8d71</id>
<content type='text'>
</content>
</entry>
<entry>
<title>linux: add option `--nft-command`</title>
<updated>2025-10-29T07:09:36Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-10-29T06:46:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=ea6e2e1d08becc8570b53fff644bc35840ca9203'/>
<id>urn:sha1:ea6e2e1d08becc8570b53fff644bc35840ca9203</id>
<content type='text'>
</content>
</entry>
<entry>
<title>windows: avoid ERR_INVALID_NAME when uninstalling WinDivert</title>
<updated>2025-10-06T07:08:02Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-10-06T07:05:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=b65ee42e2e420a2a86491a43b129baede4dd5289'/>
<id>urn:sha1:b65ee42e2e420a2a86491a43b129baede4dd5289</id>
<content type='text'>
`CloseAction::Uninstall` triggers ERROR_INVALID_NAME (0x8007007B) on Windows,
likely due to the crate passing a non–NUL-terminated "WinDivert" string to
`OpenServiceA`. For now, skip uninstallation and just close the handle
normally. Added a FIXME comment with details.
</content>
</entry>
</feed>
