-
Notifications
You must be signed in to change notification settings - Fork 212
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
FEATURE REQUEST: RSD tunnel on Windows #569
Comments
At least, it seems like we need to have something to replace
|
I think the core problem to be solved is creating a network over USB, does this require a driver from Apple? |
It is unknown if Apple includes related files in the latest iTunes, but here is the download link for the latest iTunes. |
Actually the Currently the latest iTunes version isn't shipped with a USB Ethernet driver which exposes the CDC NCM configuration. Only once this this issue is resolved we can proceed with all the rest |
|
The key is how to set up the tunnel on windows, on mac, this process seems to be done automatically by "remotepairingd". When get serverAddress, clientAddress, serverRSDPort (63548), the server and the client how to establish communication? iAnyGo uses wintun to create the Adapter and clientAddress to set up the ipv6 address. Through the netstat command view can see serverAddress, established a TCP connection between clientAddress, they appear to be connected via Teredo tunnel. Does it seem to make sense that serverAddress and serverRSDPort are exposed for external use, and clientAddress acts as a bridge between information transfer and device communication? Welcome to communicate. |
Have you been able to obtain the server IP and port? how to get server ip and rsd port |
https://github.com/doronz88/pymobiledevice3/blob/master/misc/RemoteXPC.md#trusted-tunnel |
On windows, you need to install the device driver first, and then expose the network interface of the device. |
|
If anyone here can provide with instructions for how an official driver can be installed on a windows machine, I'll update the README with the required steps. In addition, do any of you know how do they create the TAP device on windows? If it's python, it should be pretty simple to implement. |
I have found a way to install the device drivers, but have not yet researched how to get their official versions:
The above steps are only to install the driver. When the device is disconnected and reconnected, it is necessary to reactivate the NCM device and send the device instruction: How to create a utun/tap device on windows, this may be a good reference example: |
How to send device instructions, please give an example |
For the feature to work on windows, shouldn't bonjour be able to discover the iPhone (via usb connection) first, just like on a mac. (I see the code flow like this) |
Hi, what's meaning of "0xc0,0x52,0x00,0x00,0x01,0x00,0x03,0x00"? I understoold the first byte 0xc0 denotes it's a Device-to-Host, Vendor request to device. |
That's a vendor-specific command to set the device mode to CDC-NCM. I already implemented this in: |
Set the device mode to CDC-NCM, But Bonjour still can't discover the "ncm._remoted._tcp.local" service. Why? Still need to start some DNS services for the adapter? |
请问你解决了吗 兄弟? |
it
it looks like they use wireguard and wintune any one know how to do? |
@doronz88 we can use pywintun-pmd3: support python 3.6-3.13 amd64 currently to create tunnel device on windows, with the windows usb driver provided by Tencent Wetest's perfdog. Just need to modify few lines.... |
I found a quic-tunnel on Windows developed in Python.
It is extracted from https://file.ishalou.com/pc/install/6.8.3/ShaLou-Setup-6.8.3.exe You can follow the instruction below to get RSD address and port Show instructions0x0 File TreeYou will get these files after extracting the zip.
0x1 Create NCM Device
./NcmdriverInstaller.exe MFNcmDriverInstall When you see Then you will see 0x2 Get iDevice IPv6 Over Bonjour
.\Control.exe bonjour browse If everything is right, you will see the output like: device 000*****-UDID************ address: fe80::f490:****:fedc:f6d1%22
Copy the address 0x3 Create QUIC Tunnel
.\redBullquic.exe remote start-quic-tunnel --host fe80::f490:****:fedc:f6d1%22 --port 10041 You will see a file named address=fd41:2d9e:314c::1
port=49560 And that is the RSD address and port. Please Keep the powershell windows open.
0x4 Use pymobiledevice3 with RSDIt is suggest to run .\Control.exe developer simulate-location --host 127.0.0.1 --port 10041 --latitude 37.77493000 --longitude -122.41942000 before running Run the command to access the DVT services
But simulate-location in pymobiledevice3 gets error. > pymobiledevice3 developer dvt simulate-location set --rsd fd41:2d9e:314c::1 49560 -- 60 60
d:\python39\lib\site-packages\blessed\terminal.py:183: UserWarning: Failed to setupterm(kind='dumb'): Could not find terminal dumb
warnings.warn(msg)
Press Ctrl+C to send a SIGINT or use 'kill' command to send a SIGTERM
Traceback (most recent call last):
File "d:\python39\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "d:\python39\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "D:\Python39\Scripts\pymobiledevice3.exe\__main__.py", line 7, in <module>
sys.exit(main())
File "d:\python39\lib\site-packages\pymobiledevice3\__main__.py", line 101, in main
cli()
File "d:\python39\lib\site-packages\click\core.py", line 1157, in __call__
return self.main(*args, **kwargs)
File "d:\python39\lib\site-packages\click\core.py", line 1078, in main
rv = self.invoke(ctx)
File "d:\python39\lib\site-packages\click\core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "d:\python39\lib\site-packages\click\core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "d:\python39\lib\site-packages\click\core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
[Previous line repeated 1 more time]
File "d:\python39\lib\site-packages\click\core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "d:\python39\lib\site-packages\click\core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "d:\python39\lib\site-packages\pymobiledevice3\cli\cli_common.py", line 134, in wrap_callback_calling
callback(service_provider=service_provider, **kwargs)
File "d:\python39\lib\site-packages\pymobiledevice3\cli\developer.py", line 988, in dvt_simulate_location_set
wait_return()
File "d:\python39\lib\site-packages\pymobiledevice3\cli\cli_common.py", line 97, in wait_return
signal.sigwait([signal.SIGINT, signal.SIGTERM])
AttributeError: module 'signal' has no attribute 'sigwait' |
是安装perfdog的驱动就可以了么?我安装驱动以后,执行pymobiledevice3 remote tunneld,仍然报错不支持windows平台。还需要做其他操作么? |
要改几行pymobiledevice3的代码,不超过100行 |
dear, can you develop this. so many people need it |
梳理下思路,看对不对哈 |
This might be a fork of pymobiledevice3.... Their software also worked with the driver provided by Tencent. The company (深圳市大摩登科技有限公司) should publish their changes on pymobiledevice3. |
dear my friend, your google drive file can not open now. can you share again |
@lindaamanda123 |
thank you |
Hi, @DsoTsin could you release the pywintun-pmd3 for x86(32bit) version? Thanks for your works. |
Just finished #797 which should add an official windows support. Can you please provide feedback? |
我能弱弱的问一句,怎么验证么?我运行pymobiledevice3 remote start-tunnel还是提示windows平台不支持。我用的https://github.com/DsoTsin/pymobiledevice3/tree/master这个分支的代码 |
请使用windows分支 |
|
What are the obstacles to supporting QUIC tunnel on Windows?
Currently, the
remote start-quic-tunnel
command is only supported on macOS.this issue describes support for Linux, but there is currently no information about Windows.
If you have any information at this time, please share it.
The text was updated successfully, but these errors were encountered: