<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dpibreak.git/src, branch v0.0.3</title>
<subtitle>System-wide DPI circumvention with minimal configuration
</subtitle>
<id>http://git.dilluti0n.com/dpibreak.git/atom?h=v0.0.3</id>
<link rel='self' href='http://git.dilluti0n.com/dpibreak.git/atom?h=v0.0.3'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/'/>
<updated>2025-10-06T07:08:02Z</updated>
<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>
<entry>
<title>platform: windows: close handle and uninstall driver sanely</title>
<updated>2025-10-06T05:59:45Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-10-06T05:59:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=8b1b002bf479dba7e0b3e143f022ef34aecc7707'/>
<id>urn:sha1:8b1b002bf479dba7e0b3e143f022ef34aecc7707</id>
<content type='text'>
</content>
</entry>
<entry>
<title>platform: windows: only divert clienthello packet to userspace</title>
<updated>2025-10-03T09:33:32Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-10-03T09:33:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=980917bcf0c170a8b43082b16f5b3e288ee2e80c'/>
<id>urn:sha1:980917bcf0c170a8b43082b16f5b3e288ee2e80c</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>
<entry>
<title>Refactor packet sending into split_packet_1 helper</title>
<updated>2025-09-15T11:40:13Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-09-15T11:22:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=0fb830160d8821fbc7c261052456eef179adc761'/>
<id>urn:sha1:0fb830160d8821fbc7c261052456eef179adc761</id>
<content type='text'>
* Extracted: repeated split/send/sleep logic from `handle_packet` into
new `split_packet_1` function for clarity and reuse.
* Simplifies: `handle_packet` by replacing manual steps with a single
call.
</content>
</entry>
<entry>
<title>Refactor handle_packet to reuse external buffer for packet handling</title>
<updated>2025-09-11T10:27:33Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-09-11T09:27:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=7ac2ac966da93c79f73b71d2e56f42de13a7eddf'/>
<id>urn:sha1:7ac2ac966da93c79f73b71d2e56f42de13a7eddf</id>
<content type='text'>
This removes unnecessary allocations per packet handling.
</content>
</entry>
<entry>
<title>log: add splash! macro and centralize no-splash handling</title>
<updated>2025-09-07T06:25:59Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-09-07T06:06:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=d762e142bfc7d726f34ef157215a5106618df3df'/>
<id>urn:sha1:d762e142bfc7d726f34ef157215a5106618df3df</id>
<content type='text'>
* Introduce: `splash!` macro in `log.rs` to print startup messages
conditionally, based on `--no-splash` flag.
* Move: `NO_SPLASH` management into `log.rs` with helper
functions: (`set_no_splash`, `no_splash`).
* Remove: old `splash()` function in `main.rs` and replace with
`splash!` macro usage.
* Set: default `LogLevel` according to build profile (Debug → Debug,
Release → Warning).
* Print: unified startup messages across Linux and Windows, including
`MESSAGE_AT_RUN`.
</content>
</entry>
<entry>
<title>Update copyright notices to notice email instead of github link</title>
<updated>2025-09-05T08:10:15Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2025-09-05T08:10:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=8f397a4150d0e2be6bffde408bccb1a111a8b806'/>
<id>urn:sha1:8f397a4150d0e2be6bffde408bccb1a111a8b806</id>
<content type='text'>
</content>
</entry>
</feed>
