Pages

Monday, 30 May 2022

iphone-socks-proxy

 

SOCKS - SOCKS Proxy for iPhone
 #  Copyright (C) 2009 Ehud Ben-Reuven
 #  udi@benreuven.com
 

This is an iPhone App that is a SOCS Proxy. It allows you to connect your laptop to the
Internet through the iPhone's 3G/Edge connection (tethering.)
If you want to install the application on your iPhone you will have to build and install
the App from the the supplied code.
 * Pay Apple for iPhone development program
 * get a development certificat from Apple's developers portal
 * download the entire source code to a Mac
 * double click SOCKS.xcodeproj
 * in the left panel select Targers and then select SOCKS
 * press the "i" Info button on the top
 * select Properties tab
 * In the Identifier field change "symfi" to your company name
 * connect an iPhone using a cable
 * click Build and Debug
  

In order for this to work you need to follow few steps
Instructions for Mac:
 * On your laptop start an add-hoc Wi-Fi network:
  * System Preferences->Network
  * select AirPort
  * click on Network Name and select Create Network
  * in Name enter "mywifi", press OK, press Apply
 * Connect you iPhone to the add-hoc wifi network:
  * Settings->Wi-Fi
  * select "mywifi"
 * Run this SOCKS App on your iPhone
 * In the SOCS Proxy tab press Start
 * configure your laptop to use SOCKS:
  * System Preferences->Network->Advanced...->Proxies
  * select SOCKS proxy
  * in the SOCKS Proxy Server field enter the address and port that appear on your iPhone screen
  * press OK
  * press Apply
from https://github.com/halogenica/iphone-socks-proxy 
-----
SOCKS server for iOS. Handy for defeating tethering speed limits, among other uses. 

SOCKS5 server for iOS

This app implements a very simple SOCKS5 server for iOS. You can use it to increase your tethering speeds when they are artificially limited; other uses are possible.

It is not distributed via the App Store because it'd probably get rejected.

Usage is simple: download this repo, git submodule update, and then build & deploy from XCode. Then set your system/browser SOCKS5 proxy to whatever it says on the screen (e.g. 172.20.10.1:4884) and away you go.

UPDATE: Because sideloading apps is a pain, I recommend using nneonneo/iOS-SOCKS-Server instead; it's a Python script that can be easily loaded into Pythonista for iOS and used forever without sideloading restrictions.

from https://github.com/nneonneo/socks5-ios

-----

SOCKS proxy server for iOS designed for Pythonista .

What

A simple SOCKS proxy designed to run on Pythonista on iOS, letting you fake-tether your devices to a phone.

Installation

  • Install Pythonista from the App Store. It's a paid app, but it's worth every penny if you are a power user.
  • Download the code from GitHub.
  • Open the Files app, navigate to Downloads, and tap on the zip file to uncompress it.
  • Move the resulting iOS-SOCKS-Server folder to the Pythonista iCloud directory
  • Open Pythonista, navigate to iCloud, iOS-SOCKS-Server and open the socks5.py script.
  • Optionally, you can tap on the wrench and select Shortcuts... to add the script to your home screen.

Running

  • Connect your devices to the same WiFi network as your phone. If there's no suitable network, you can create a computer-to-computer (ad-hoc) network using your laptop and connect to it with your phone.
  • Open the home screen shortcut (if you made one), or open the socks5.py script in Pythonista and hit Run.
  • 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).

Why

Recently, while travelling in China, I found out that Google Fi doesn't support tethering on iOS (I guess it's a feature they want to keep Android-exclusive or something?). Since my phone has a nice, fast, unblocked connection, I wanted to let my computer access it too.

I previously wrote Socks5-iOS for doing exactly this, but it turned out to be quite cumbersome to deploy and modify. Plus, the app expires frequently (if you don't have an iOS developer account), which makes it annoying if you need it in a pinch. Enter Pythonista - an App Store app which puts a complete Python interpreter on iOS.

This script can be used to implement a functional alternative to tethering, which I refer to fake-tethering. Fake-tethering has some substantial advantages over standard iOS tethering. It works even when carriers ban tethering, and it bypasses limits set on tethering speed since all connections originate from the phone.

While it's easiest to use this with websites, it's actually possible to tunnel any TCP connection over a SOCKS proxy. For example, here's how you would proxy an SSH connection:

ssh -o ProxyCommand='nc -X 5 -x <IP>:9876 %h %p' user@host

Troubleshooting

Doesn't work with an ad-hoc network on macOS

macOS appears to incorrectly assess the Internet as unreachable with an ad-hoc network, even if a proxy is configured. A workaround for this, tested on macOS 10.14, is described under issue #1.

from https://github.com/nneonneo/ios-socks-server

 

 

No comments:

Post a Comment