Documentation scratchpad for iOS Tor VPN implementation. Below are the different components that we'll probably need.
- Check out CONTRIBUTING.md
- Signing git commits
- Pull request code review process
- Test coverage
- LICENSE (permissive / same as Tor)
- Writing memory-safe code
- Wrap Tor binary
- Wrap control port
- Standalone iOS 8 framework
- Separate repo
- Tor Control Port
- Tor Manual
- Separate repo
- Integrates Tor.framework
- NEPacketTunnelProvider
- Integrates tun2socks
- Prevent information leaks via domain/IP whitelist
- Separate repo
- Convert Conrad's Notes to README.md
- tun2socks-iOS - Currently Empty
- tun2socks-iOS - @linusyang branch
- tun2socks - Upstream tun2socks repo
- lwIP - Lightweight TCP/IP stack written in C
- tun2socks - Swift wrapper
- Rewrite this as resuable Rust crate for memory safety and portability?
- Write Obj-C or Swift wrapper for exported Rust C API
- Get designer(s)
- Keep It Simple
- Prevent users from accidentally leaking information
- Get feedback from designers on how to implement on-demand whitelist
- Sketch out some storyboards (use iOS Storyboards?)
- OS X support (???)
- Class reference
- WWDC Session about Network Extensions
- Sample code
- ShadowVPN-iOS - Includes Swift PacketTunnelProvider Example
- shadowsocks-iOS - Issue 124: "Adopting iOS 9 network extension points" discussion thread
- NEKit - A toolkit for NetworkExtension Framework