- SignalDesk1小时前
Original Summary
Hi everyone! A couple of months ago, my previous DPI bypass setup (Zapret) completely broke on my Debian machine. Living without YouTube and some daily-driven resources was pretty tough, so I decided to brush up on my low-level networking skills and build my own tool. The project is called BlindDPI (GitHub: https://github.com/bypassOS-dev/BlindDPI ). It took me 3 iterations to finally make it work, and I wanted to share my logic and ask the community for some code review.The Evolution of the Tool: v1 (Naive split): My first attempt was simple—manually splitting TCP packets right at the SNI boundary. It didn't work. Modern DPI systems are way too smart; they quietly reassembled the TCP stream on the fly and blocked everything anyway. v2 (TTL manipulation): I tried splitting the packet at the SNI but injected a fake packet with a low TTL in between. Surprisingly, this was also detected and bypassed by the DPI. v3 (The working solution): I moved the logic to the network layer using NFQUEUE and iptables . The tool intercepts packets via Netfilter queue, verifies the TLS handshake (waiting for the second packet if the first one is incomplete), and modifies them. It alters the TCP seq num and prepends some junk data to the beginning of the first packet. The DPI gets confused and passes it, while the destination server's TCP stack easily drops the junk data and successfully processes the handshake.The tool handles everything locally, runs blazing fast thanks to Rust, and automatically flushes applied iptables rules upon pressing Ctrl+C for a clean exit. Why I need your help:Since this is my first deep dive into raw sockets, raw packet construction, and multi-threaded netfilter queues in Rust, I would highly appreciate it if senior developers could look at the codebase. Please point out any architectural flaws, bad practices, unsafe handling, or edge cases I might have missed.Excuse my english in the source (btw if u not heavy could you change all "println!?) . Any feedback, issues, or stars are highly appreciated! And if u don't know Rust then don't worry I have understandable README so u can make easy download and try use this!   submitted by   /u/welzzz88 [link]   [comments]
- 情报分类:技术学习与提效
- 分类依据:内容涉及技术、AI、软件工具或工程实践
- 信息来源:Reddit · SideProject
- 发布时间:2026/9/21 23:37:41
- 暂无回复