<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dpibreak.git/src/platform/linux, branch v0.5.0</title>
<subtitle>System-wide DPI circumvention with minimal configuration
</subtitle>
<id>http://git.dilluti0n.com/dpibreak.git/atom?h=v0.5.0</id>
<link rel='self' href='http://git.dilluti0n.com/dpibreak.git/atom?h=v0.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/'/>
<updated>2026-03-01T15:25:37Z</updated>
<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>linux: fix rxring initialized even if fake_autottl not enabled</title>
<updated>2026-02-26T08:15:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-26T05:33:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=822adfe118919add1694878ec668a7962ed077c4'/>
<id>urn:sha1:822adfe118919add1694878ec668a7962ed077c4</id>
<content type='text'>
Conditionally initialize rxring only when fake_autottl is enabled.
Extract poll_once() using libc::poll directly; fd=-1 trick eliminates
the need for conditional branching on optional rxring fd, as poll sets
revents=0 for negative fds per POSIX. Drop nix poll feature.
</content>
</entry>
<entry>
<title>linux: refactor run() into open_nfqueue/open_rxring helpers</title>
<updated>2026-02-26T08:15:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-26T04:03:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=1c589ea880d5022b9171b0739494af383f368119'/>
<id>urn:sha1:1c589ea880d5022b9171b0739494af383f368119</id>
<content type='text'>
Extract nfqueue initialization (open, bind, set O_NONBLOCK) and rxring
initialization (cBPF filter, open) into separate functions. Inline
BorrowedFd scope as a let binding to eliminate floating
q_ready/rx_ready declarations. Move SYNACK_443_CBPF const into
open_rxring.
</content>
</entry>
<entry>
<title>linux: rxring: implement current_packet and advance</title>
<updated>2026-02-26T08:15:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-25T08:39:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=5ff44848e99f27b2095af7d8e9b98c60785ee094'/>
<id>urn:sha1:5ff44848e99f27b2095af7d8e9b98c60785ee094</id>
<content type='text'>
- Split next_packet into current_packet (read) and advance (release)
  to avoid TOCTOU between kernel overwrite and packet processing
- Add current_frame helper to avoid duplicated pointer arithmetic
- Switch AF_PACKET socket to ETH_P_ALL for future IPv6 support
- Add FRAME_SIZE comment explaining 128B is sufficient for IP header
</content>
</entry>
<entry>
<title>linux: rxring: implement RxRing::new</title>
<updated>2026-02-26T08:15:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-25T07:05:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=cbabc7b79165f4e02e7bcc325eefc056845a0bd9'/>
<id>urn:sha1:cbabc7b79165f4e02e7bcc325eefc056845a0bd9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>linux: add rxring skeleton and integrate into run loop</title>
<updated>2026-02-26T08:15:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-25T06:15:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=9ac1de4587da5be42cf98382d5163ef42db9372d'/>
<id>urn:sha1:9ac1de4587da5be42cf98382d5163ef42db9372d</id>
<content type='text'>
- Add rxring module with RxRing struct (new/next_packet unimplemented)
- Attach cBPF filter for TCP src port 443 SYN/ACK packets
- Multiplex nfqueue and rxring via poll in run loop
- Move fake_autottl SYN/ACK handling to pkt::put_hop
</content>
</entry>
<entry>
<title>linux: nftables: drop serde_json, use nft text syntax</title>
<updated>2026-02-26T08:15:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-26T06:52:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=d52a91f64072fa172c996474c06386ad69778aa3'/>
<id>urn:sha1:d52a91f64072fa172c996474c06386ad69778aa3</id>
<content type='text'>
100 lines of JSON soup -&gt; 16 lines of actual nftables
</content>
</entry>
<entry>
<title>linux: nftables: remove syn/ack filter from nftables</title>
<updated>2026-02-26T08:15:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-25T07:21:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=1be2be03d374e04680e092ca21b413e8f2099ad3'/>
<id>urn:sha1:1be2be03d374e04680e092ca21b413e8f2099ad3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>linux: iptables: implement SYN/ACK capture on --fake-autottl</title>
<updated>2026-01-23T06:55:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-20T04:12:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=6780cc913016e0e567b20518a3577f966417b447'/>
<id>urn:sha1:6780cc913016e0e567b20518a3577f966417b447</id>
<content type='text'>
- Add mangle/INPUT jump to DPIBREAK
- Queue tcp sport 443 SYN/ACK packets (NFQUEUE --queue-bypass)
- Cleanup removes INPUT jump as well
</content>
</entry>
<entry>
<title>linux: nftables: queue SYN/ACK on --fake-autottl</title>
<updated>2026-01-23T06:55:09Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-01-20T03:34:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=a1618d0f7b576e55230ef709af750f2933a65db4'/>
<id>urn:sha1:a1618d0f7b576e55230ef709af750f2933a65db4</id>
<content type='text'>
- simplify nftables rules by removing DPIBREAK chain
</content>
</entry>
</feed>
