<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dpibreak.git/src/platform/linux.rs, branch v0.1.1</title>
<subtitle>System-wide DPI circumvention with minimal configuration
</subtitle>
<id>http://git.dilluti0n.com/dpibreak.git/atom?h=v0.1.1</id>
<link rel='self' href='http://git.dilluti0n.com/dpibreak.git/atom?h=v0.1.1'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/'/>
<updated>2025-12-30T11:00:07Z</updated>
<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>platform: linux: filter only TLS ClientHello packets on nftables</title>
<updated>2025-10-03T06:51:36Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-10-03T06:48:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=67c92fb447b12f9e5e1fee0c96b593e6aa8451b3'/>
<id>urn:sha1:67c92fb447b12f9e5e1fee0c96b593e6aa8451b3</id>
<content type='text'>
Add additional nftables match expressions to detect TLS records
(ContentType 0x16 = Handshake): and specifically ClientHello
(HandshakeType 0x01):. Packets matching this pattern are queued to
NFQUEUE. Mark xt_u32 as supported when nftables filtering is
successfully applied.
</content>
</entry>
<entry>
<title>platform: linux: add nftables support with iptables fallback</title>
<updated>2025-10-03T06:28:57Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-10-03T06:28:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=e4529084b42e6374af4e735a3c9023d4492b9dc0'/>
<id>urn:sha1:e4529084b42e6374af4e735a3c9023d4492b9dc0</id>
<content type='text'>
Introduce nftables rules under a dedicated "dpibreak" table and
chain. Traffic on TCP port 443 is queued using NFQUEUE. If nftables
is not supported, fall back to the existing iptables-based rules
for both IPv4 and IPv6.

Also update cleanup logic to remove nftables table if used, or
iptables rules otherwise.
</content>
</entry>
<entry>
<title>platform: linux: split iptables helpers on bootstrap/cleanup</title>
<updated>2025-09-27T10:52:30Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-09-27T10:52:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=f4879e8eadb944f15b89f12de50e9454cde4c16c'/>
<id>urn:sha1:f4879e8eadb944f15b89f12de50e9454cde4c16c</id>
<content type='text'>
</content>
</entry>
</feed>
