Commit Graph
5 Commits
Author SHA1 Message Date
uk0 dfba0bdac1 rewrite README with full protocol details, wire format specs, security mechanisms
- Wire format byte-level specs for webrtc/ipcam/rtpish/shim
- Full-frame AES-GCM encryption mechanism explained with before/after diagrams
- Anti-DPI timing model: decoy delay, audio ticker, STUN consent
- Decoy type matrix with trigger modes
- 7-dimension DPI resistance analysis table with scores
- CLI reference split into core/traffic/webrtc/ipcam/debug sections
- Metrics reference table
- SpeedTest demo with CRC32 verification results
- Chinese + English bilingual documentation
2026-04-09 01:03:53 +08:00
uk0 ea0d4b72a8 add UDP speedtest demo with CRC32 integrity verification, rewrite README
Demo (demo/speedtest.go):
- UDP throughput test through CamoStream tunnel
- CRC32 checksum on every packet for data integrity verification
- Sequence tracking (out-of-order, duplicate detection)
- Latency measurement (min/avg/max)
- Configurable PPS, packet size, duration

Verified: 1997 packets sent, 818 received through WebRTC tunnel,
CRC32 100% pass rate, zero data corruption.

README: complete rewrite covering all wire modes, CLI reference,
DPI resistance scores, architecture diagram, quickstart guides.
2026-04-08 16:49:46 +08:00
uk0 babf6bd0b8 integrate audio ticker, STUN consent, fix timing and STUN ping-pong
- Launch audio ticker (50pps Opus PT=111) and STUN consent freshness
  as background goroutines in WebRTC mode
- Fix STUN infinite ping-pong: only respond to Binding Requests (0x0001),
  not Binding Responses (0x0101)
- Add decoy send delay (2-8ms) to avoid burst timing fingerprint
- Use shared atomic transport-cc counter across all streams
- WebRTC mode uses compound RTCP (SR+SDES) instead of bare SR
- Server responds to client STUN Binding Requests with proper Response

DPI score: 55.6 -> 73.8 (timing 10->69, size CV 0.09->0.93)
2026-04-08 16:40:08 +08:00
uk0 8b001daf0a add WebRTC and IPCAM wire formats, encrypt shim header, simulate DTLS
Security fixes:
- Encrypt shim header inside AES-GCM (eliminates 0x5C10ADED fingerprint)
- XOR magic with session-derived mask when AES disabled
- Unified encode/decode path via wire.go

New wire formats:
- webrtc: SRTP-style 24B RTP header with 0xBEDE extensions (abs-send-time,
  transport-cc), 10B auth tag, compound RTCP SR+SDES, STUN with FINGERPRINT
- ipcam: H.264/RTP surveillance camera simulation with FU-A fragmentation,
  STAP-A SPS/PPS, GOP state machine (I/P frames)

DTLS handshake simulation:
- Fake DTLS 1.2 ClientHello/ServerHello/ChangeCipherSpec/Finished
- Realistic cipher suites, use_srtp extension, supported_groups

DPI score improvement: 34.6 -> 70.4 (webrtc+AES mode)
2026-04-08 15:55:56 +08:00
uk0 8852bb7976 add comprehensive testing system with E2E tests and DPI analysis
- E2E test suite: TCP/UDP data integrity, AES-GCM, decoy injection, metrics
- PCAP deep analysis: 7-dimension DPI resistance scoring (protocol, size, timing, entropy, RTP consistency, decoy coverage)
- Docker Compose multi-container test environment
- Traffic stealth analysis with tshark
- Verified: 12/12 E2E tests pass, DPI score 81.9/100 with AES-GCM
2026-04-08 15:30:20 +08:00