Roadmap 3 (Proposal)
background
most outbound protocols has been supported, so it's time to focus on user experiences, and some improvements in performance.
the better doc todo item is still in roadmap2, so this proposal mainly focus on the performance and some crucial points in the robustness of proxy program
improvements
- better transparent proxy on linux
- [ ] ipv6
- [ ] auto configure iptables rules
- better tun on linux
- [ ] tun offload
- [ ] ICMP protocol support
- [ ] ebpf
- network condition detection, fallback and restore
- [ ] loophole detection
- utls(craftls) fingerprint support
- [x] craftls 0.23 (untested)
- [ ] reality protocol with vless
- parameters for performance
- [ ] performance comparison with mihomo (toolkit: perf, systemd-run)
- [x] coverage rate
- [ ] global proxy(tproxy + tun) tests with ip netns on linux (maybe integrate them into github action)
- ebpf on linux
- [ ] auto redirect to tun
- others
- [x] v2ray-plugin for ss?
- [x] hysteria2 udp
- [ ] ...
feel free to comment and discuss
cc @ibigbug @Itsusinn
test coverage?
got it
Just coming to this great project, I'm interested in 'better tun on Linux' part, but I'm lacking some context here.
Can someone elaborate a little bit?
I guess we could start from supporting dual stack for tun input and then performance improvement and other features mentioned in this ticket
Just coming to this great project, I'm interested in 'better tun on Linux' part, but I'm lacking some context here.
Can someone elaborate a little bit?
mihomo, sing-tun, wireguard-go all use gro/gso on linux for BIGGER MTU and batch processing of packet of tun device, but rust-tun does not support that, and there is no usable crate for this purpose. i did wrote one, but there are some unknown issues
there is one crate that may interest you
https://github.com/tun-rs/tun-rs
I wrote a benchmarking tool, hope it helps: https://github.com/tun-rs/tun-benchmark2