-
Notifications
You must be signed in to change notification settings - Fork 4.9k
TUN inbound: Enhance Darwin interface support #5598
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
2a6b7f4 to
85634cd
Compare
|
#5559 (comment) 提到简单改一下就能在 iOS 上跑,可以并入这个 PR @evozi-team 测试一下这个 PR 对于 iOS 有改进吗 |
|
I was planning to check how this can be extended for iOS support as a next step. |
|
|
|
可以先 rebase 445c0d4 ,方便 @evozi-team 测下 iOS |
|
现在的 TUN 还剩个 macOS 上的进程名路由 #5559 (comment) 和三个平台上的 auto-toute #5594 (comment) 就差不多了
|
85634cd to
474ee62
Compare
|
I've investigated the iOS support. This all sounds to me, like to have real iOS support I need to see at least one real life implementation of an iOS app that uses XRay-Core as that kind of "bind" application/library. Besides that the darwin/macos enhancement, which also includes unification with windows enpoint (because they really work similar), is done in this pull request. |
|
Rebase 一下吧,ready 了就合并 |
fad419e to
8917beb
Compare
|
Rebased on top of main. |
|
|
- reduce number of actions done to create/configure the interface in the system - assign synthetic static link-local ipv4/ipv6 addresses to the interface, that are required by the OS for the routing to work - make tun_darwin_endpoint be implemented significantly more similar to tun_windows_enpoint, preparing them for potential unification
…milar, into one GVisorEndpoint. Making darwin/windows tun implement GVisorDevice with simple readpacket/writepacket methods that GVisorEndpoint untilise
8917beb to
fae956f
Compare
|
|
|
@Owersun is it possible to have split tunneling with this on macOS? I'm not a network guy but I tried to do my best. This is what I did (en1 here is my Wi-Fi interface):
In my xray config, I have added |
I checked the functionality on my local machine to work, checking every element make sense, and functions call proper ioctl's.