<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dpibreak.git/src, branch v0.5.1</title>
<subtitle>System-wide DPI circumvention with minimal configuration
</subtitle>
<id>http://git.dilluti0n.com/dpibreak.git/atom?h=v0.5.1</id>
<link rel='self' href='http://git.dilluti0n.com/dpibreak.git/atom?h=v0.5.1'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/'/>
<updated>2026-03-06T07:53:48Z</updated>
<entry>
<title>linux: add IPv6 SYN/ACK BPF filter and increase rxring frame size</title>
<updated>2026-03-06T07:53:48Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-06T07:46:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=6bea73a790e649de174444e149e7f84143fa0c62'/>
<id>urn:sha1:6bea73a790e649de174444e149e7f84143fa0c62</id>
<content type='text'>
Previous BPF filter only matched IPv4 due to tcpdump failing to
generate a correct combined IPv4/IPv6 filter. Replaced with manually
split filter that handles both ip and ip6 paths.

Also increase FRAME_SIZE from 128 to 256 to resolve this error:
[WARNING] put_hop: IPv6 Packet Error: Not enough data to decode 'IPv6
packet'. 80 byte(s) would be required, but only 62 byte(s) are
available based on the slice length.

tpacket_hdr(~66) + eth(14) + ipv6(40) + tcp+options(60) = ~180 bytes,
which exceeded the previous 128-byte limit.
</content>
</entry>
<entry>
<title>linux: iptables: nit: fix compiler warning</title>
<updated>2026-03-02T13:20:30Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-02T13:20:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=4571c04a2bfa5fe403a446cbb8cec0893cd46168'/>
<id>urn:sha1:4571c04a2bfa5fe403a446cbb8cec0893cd46168</id>
<content type='text'>
</content>
</entry>
<entry>
<title>linux: iptables: fix SYN/ACK rules installed on iptables</title>
<updated>2026-03-02T13:19:00Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-02T13:19:00Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=2efed35d3dbe83dffc001ab810307fba25923331'/>
<id>urn:sha1:2efed35d3dbe83dffc001ab810307fba25923331</id>
<content type='text'>
</content>
</entry>
<entry>
<title>windows: remove unneeded ip checksum calculation</title>
<updated>2026-03-02T13:17:25Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-02T13:17:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=8e0931b9cf98a9a177d7a313a51da1d61fcfb011'/>
<id>urn:sha1:8e0931b9cf98a9a177d7a313a51da1d61fcfb011</id>
<content type='text'>
</content>
</entry>
<entry>
<title>log: add debug!/info!/warn!/error! macros and refactor to use it</title>
<updated>2026-03-01T15:25:37Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T15:22:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=4699bf9afd69d9f2323b1fc0f6abba7aaac23cc2'/>
<id>urn:sha1:4699bf9afd69d9f2323b1fc0f6abba7aaac23cc2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>log: add short form log macros</title>
<updated>2026-03-01T15:07:18Z</updated>
<author>
<name>hskimse</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T15:07:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=58f3864bf2b2a0f30dfe50a9a0cf8d7ad4faa6ba'/>
<id>urn:sha1:58f3864bf2b2a0f30dfe50a9a0cf8d7ad4faa6ba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>windows: print log when recv fails</title>
<updated>2026-03-01T15:01:09Z</updated>
<author>
<name>hskimse</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T15:01:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=7292d8f0015e65a3621c6ac62f3db9fd6eef9034'/>
<id>urn:sha1:7292d8f0015e65a3621c6ac62f3db9fd6eef9034</id>
<content type='text'>
</content>
</entry>
<entry>
<title>windows: fix buffer size to 65536</title>
<updated>2026-03-01T14:49:10Z</updated>
<author>
<name>hskimse</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T14:49:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=b8c89f8720cf5648f18afabb574499ca819c7738'/>
<id>urn:sha1:b8c89f8720cf5648f18afabb574499ca819c7738</id>
<content type='text'>
This size is for windivert buffer, not internal pkt buffer capacity.
</content>
</entry>
<entry>
<title>windows: simplify packet handling with recv_loop macro</title>
<updated>2026-03-01T12:45:14Z</updated>
<author>
<name>hskimse</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T12:31:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=7944c69c8847883e9efeba0e5687e6f59575f357'/>
<id>urn:sha1:7944c69c8847883e9efeba0e5687e6f59575f357</id>
<content type='text'>
Replace generic spawn_recv with recv_loop macro that encapsulates the
buffer allocation and receive loop. Divert handle now runs directly on
the main thread, while sniff handle spawns a dedicated thread only when
fake_autottl is enabled. This eliminates the mpsc channel, Event enum,
and the race condition where concurrent open_handle calls during driver
initialization could cause error 1058.
</content>
</entry>
<entry>
<title>windows: remove RUNNING flag and trap_exit</title>
<updated>2026-03-01T12:16:38Z</updated>
<author>
<name>hskimse</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T12:16:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=45dac415fc34634132b0d068cb2bf20a3424c7ef'/>
<id>urn:sha1:45dac415fc34634132b0d068cb2bf20a3424c7ef</id>
<content type='text'>
Non-daemon mode exits via process::exit(0) on Ctrl-C, and daemon mode
is managed by SCM, so the RUNNING atomic flag and graceful shutdown
loop are both unnecessary. Remove them along with the ctrlc handler.
</content>
</entry>
</feed>
