![]() You can also implement your own AdapterSocket. Let me know if there is any other type of proxy needed. NEKit provides AdapterSocket supporting HTTP/HTTPS/SOCK5 proxy and Shadowsocks(AES-128-CFB/AES-192-CFB/AES-256-CFB/chacha20/salsa20/rc4-md5). An adapter represents the abstraction of a socket connection to a remote proxy server (or remote host). Rule managerīefore starting any proxy server, we need to define rules.Įach rule consists of two parts, one defining what kinding of request matches this rule and the other defining what adapter to use. ![]() NEKit basically consists of two parts, a proxy server forwarding socket data based on user defined rules and an IP stack reassembling IP packets back to TCP flow as a socket. Do not use pre-compiled binaries since some of them might be buggy. However, you can still use it with Carthage (you’ll need Carthage anyway since NEKit uses Carthage) by adding github "zhuhaow/NEKit"Ĭarthage update -no-use-binaries -platform mac,ios I recommend adding this project to your project, which is easier to debug. Every connection needs to look that up from the DNS server afterwards this is the only non-modular part of NEKit which is already encapsulated in ConnectSession. The only solution is to create a fake IP pool and assign each requested domain with a unique fake IP so we can look that up reversely. And since there may be multiple domains served on the same host, we can not get the origin domain by saving the DNS response and looking that up reversely later. So there is no way we can know the initial request domain for the TCP flow. We can read only two independent things from the TUN interface, a UDP packet containing the DNS lookup request and a TCP flow consisting of a serial of TCP packets.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |