-
Notifications
You must be signed in to change notification settings - Fork 36
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
trouble following #2
Comments
Hi again, it seems that when I first downloaded the socks5.py script it became an html file. I was able to download it as a script and placed it on my iPhone home screen. I basically put the unzipped GitHub file, the ipaddrs.py script, and the socks5.py script into the Pythonista icloud directory. (Your instructions never mentioned what to do with the ipaddrs.py script or where to put both it and the socks5.py script so I just assumed. Let me know if that's wrong.) However, whether I run the socks5.py script from the app or the home screen, the app crashes. I did receive an error once in the "on this iPhone" directory that says "the app was terminated due to an Objective-C exception. Details below: 2020-04-30 16:35:36.498036 threading violation: expected the main thread" What am I doing wrong? A friend who reviewed the code said that it needs to run on version 3 of Pythonista, so I tried running the socks5.py script on all versions of Pythonista (including the "2to3" option) available on the app to no avail. Is this a bug? |
Hello, thanks for the bug report. I had the wrong link posted in the instructions! So sorry for the confusion. Here's the correct link for downloading the code; I also updated the instructions accordingly: https://github.com/nneonneo/iOS-SOCKS-Server/archive/master.zip As for your second problem: I have hopefully fixed the bug that caused this crash. This was caused by a recent update to Pythonista. Please re-download it and give it another shot! Addressing a few other points:
|
I'll leave this open until you can confirm it works :) |
Hi, thank you for replying and clarifying the instructions in the download page. The way you explained makes sense but then the questions I have are:
At first I was on the 1-hr free Xfinity public hotspot, and I manually configured my iPad WiFi’s proxy as instructed. The messages I got on the python ended with the sock proxy number, so I figured this is NOT correct since nothing further is spit out. My brother said tried putting my iPhone and iPad on the router’s home WiFi network (without connecting the router to the modem since there’s no xfinity service anymore), and then messages started spitting out that connections are made. However, there is no actual internet speed on either iPad of iPhone. (My iPhone didn’t automatically change the WiFi logo back to cellular either, which I thought may happen if the point is to rely on the cellular data plan.) The python script then spit out this error message repeatedly: INFO:root:192.168.1.3:58967: new connectionException happened during processing of request from ('192.168.1.3', 58967) Besides this error, the fact that there was no internet speed is disconcerting. So I tried connecting the iPad to my iPhone’s cellular hotspot (not the 1 hour free xfinity public hotspot). The LTE speed I have is 120mbps, and when my iPad is connected to my hotspot normally without proxy, it’s usually around 30mbps. When I’m testing it earlier it was surprisingly only 3mbps. However, if I set the iPad’s hotspot connection to the proxy, it then gets 0 mbps. And that’s just 1 device connected to the hotspot. At first it spit out an “BrokenPipeError: [Errno 32] Broken Pipe” error message. Upon trying again several times, the script also repeatedly spit out the same Assertion error message in the paragraph above. I was really unsure if I should even connect it by hotspot like I just described, but that truly did not work well.
|
The fact that the phone is getting connections is good. Unfortunately, as you can see something's set up wrong. Did you set up the proxy as a SOCKS Proxy in your settings? The confusing thing is that there are both "HTTP proxies" and "SOCKS proxies"; if you set it up wrong you will confuse this proxy. If you are using a Mac, you should put the proxy only in the Also, no, this doesn't automatically fool a provider into giving you unlimited speeds and bandwidth. It simply uses your mobile data rather than tethering data. I've been on T-Mobile, and they don't throttle mobile data until a fairly high limit; I never ran into it myself. Nevertheless, I probably wouldn't recommend streaming video constantly over this connection! |
The iPad getting connection was through the iPhone’s Tmobile hotspot and not through WiFi, so I don’t think that was a valid test. On the iPad last night, I could only configure the http proxies. There wasn’t an option for socks proxy, presumably because I haven’t jailbreak my iPad to do that. This morning, I just tested on my old Mac book pro. I made sure to put in the SOCKS proxy field as you said, and even tried using the socks5 proxy field in Firefox, but both still have the same error, as seen below. |
In the above scenario with the MacBook, I again used the WiFi network from the router (without the modem). If there is a successful connection, what is supposed to happen on my iPhone? Will the iPhone internet icon change from WiFi back to LTE? Will my iPhone still be able to use regular internet while I’m running this socks5 script? I still don’t understand how the iPhone and MacBook both being on a fake WiFi network through a socks5 proxy will actually use my iPhone cellular internet. |
Could you confirm a suspicion for me? Try accessing https://1.1.1.1 from your laptop browser when you're connected to the proxy like this (iPhone & Macbook both connected to WiFi). If my suspicion is correct then this will connect successfully and drop you onto a page hosted by Cloudflare. If that does work, I'll ship a fix shortly that should make it possible to access any site. |
I put the MacBook on sock proxy and connected it to the home WiFi network
(with no internet) before trying. Neither the iPhone nor MacBook loaded the
page or any page.
…On Sat, May 2, 2020 at 4:56 AM Robert Xiao ***@***.***> wrote:
Could you confirm a suspicion for me? Try accessing https://1.1.1.1 from
your laptop browser when you're connected to the proxy like this (iPhone &
Macbook both connected to WiFi). If my suspicion is correct then this will
connect successfully and drop you onto a page hosted by Cloudflare.
If that does work, I'll ship a fix shortly that should make it possible to
access any site.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APLS47URXVQ5W62RNXBQUXLRPPN2ZANCNFSM4MSHONTQ>
.
|
I'm sorry you're having trouble with it. You're one of the first people to try and use it besides myself, so I'm discovering a lot of places where I've simply made assumptions about the way my setup works that aren't generally applicable. I really appreciate your patience! As far as I can tell, the screenshot you shared here: #2 (comment) shows roughly what I expect to see, except for one problem. What it's saying is the following:
|
It’s my pleasure to work with such a smart and talented programmer! I also appreciate your patience in working with me since I’m very new to this. I do have the cellular data turned on all the time because I expected the internet connection to actually come from cellular (I just didn’t understand how the script is doing it because I don’t know python), and I did try the URL too on the iPad. I’m going to be away for several days, but I will download your new script next Friday and test it again, so please don’t close this issue yet. |
I also want to note that at first when I ran the socks5 script there was a long error message, but I forgot to capture that message and couldn’t replicate it. |
This output seems fine to me. There are no errors in the log. The red text here is debugging info, showing you what connections are being made.
Robert
… On May 12, 2020, at 10:54 PM, dzechai18 ***@***.***> wrote:
After I turned off the sock proxy I got this error message:
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
I will try again tmr, but the WiFi did not switch to my cellular connection. |
It’s not supposed to! The proxy intelligently routes traffic over the cellular connection even when the WiFi is active.
Robert
… On May 12, 2020, at 11:29 PM, dzechai18 ***@***.***> wrote:
I will try again tmr, but the WiFi did not switch to my cellular connection.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
That’s what I hoped to see too, but I’ve been trying for the past few days and it’s not doing that. Today, I noticed that 40 new files were created in the python iCloud folder and the socks5.py script was automatically deleted. So I followed the process again. Those 40 new files were again created, but I haven’t seen the socks5 script being deleted yet. |
Hi,
Thank you so much for putting these files and instructions together. I have a limited Tmobile 10gb cellular hotspot plan that I need to maximize during this time of quarantine because I have no wifi at home. (Comcast Xfinity is the monopoly internet service provider in my area. It has been extremely unreliable and I had to cancel it.)
I'm completely new to Python and data networking, so I couldn't quite understand your instructions and was wondering if you can walk me through it, or better yet create a video walkthrough so it's clear?
INSTALLATION:
RUNNING:
I am able to connect to the Xfinity mobile public hotspot for free for 1 hour each month, so I can connect both my laptop and phone to this service to follow your instructions, but I'm not sure why this is required and what would happen once the free hour is over. I thought the whole point is to run my cellular hotspot and prevent the carrier from throttling the speed after I reach the 10gb. Can you explain more? Can you also show how to create a computer-to-computer ad-hoc network using my laptop? I have an old mac book pro, and as far as I know if I'm on wifi on the mac then I cannot broadcast a wifi signal from the mac to other devices; I can only broadcast signal over USB for example.
Again, I wasn't able to create a home screen shortcut or open the socks5.py script in Pythonista and hit Run.
I do not understand what "Point your devices at the SOCKS proxy listed (on port 9876), or point them at the PAC (proxy autoconfiguration) URL if they don't support setting a SOCKS proxy (e.g. other iOS devices)" mean at all in laymen terms or how to even do this. Can you explain?
Thank you so much.
The text was updated successfully, but these errors were encountered: