Go Back   MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Feb 2, 2012, 11:18 AM   #1
adrian876
macrumors newbie
 
Join Date: Jan 2012
Simple Script for Ad-Hoc SOCKS Proxy iPhone Tethering

Hey everyone!

I made a simple Mac Applescript application to create and set up an Ad-Hoc SOCKS Proxy network to tether your iPhone. It's really basic and I've included the source code. Feel free to check it out, make modifications, comment, ask questions, or correct any bugs. Here's the code:

Code:
--modify the following lines and script as much as needed, NetworkPassword must be at least 10 digits.

--this is the name of the network
property NetworkName : "Tethering"
--this is the WEP password for the network
property NetworkPassword : "1234567890"
--this is the SOCKS Proxy Server IP Address
property SocksIP : "13.37.13.37"
--this is the SOCKS Proxy Server Port
property SocksPort : "20000"

-- create ad-hoc network
tell application "System Events"
	tell process "SystemUIServer"
		tell menu bar 1
			-- find Wi-Fi Menu
			set menu_extras to value of attribute "AXDescription" of menu bar items
			repeat with the_menu from 1 to the count of menu_extras
				if item the_menu of menu_extras contains "Wi-Fi" then exit repeat
			end repeat
			
			-- turn on Airport then create ad-hoc network
			tell menu bar item the_menu
				perform action "AXPress"
				
				-- if Airport is off, turn it on
				if title of menu item 2 of menu 1 is "Turn Wi-Fi On" then
					perform action "AXPress" of menu item "Turn Wi-Fi On" of menu 1
					perform action "AXPress"
				end if
				
				--if Airport is on, create the ad-hoc network
				perform action "AXPress" of menu item "Create Network…" of menu 1
			end tell
		end tell
		
		-- Enter information into Create Network dialog box
		tell window 1
			
			-- require password
			click pop up button 2
			
			-- set to 40-bit WEP
			click menu item "40-Bit WEP" of menu 1 of pop up button 2
			
			--change channel
			click pop up button 1
			
			--set to channel 6
			click menu item "6" of menu 1 of pop up button 1
			
			--fill in information
			set value of text field 2 to NetworkPassword
			set value of text field 3 to NetworkPassword
			
			--set name of the network
			set value of text field 1 to NetworkName
			
			--the okay button doesn't show up unless you delete a character and re-enter it
			click text field 3
			keystroke (ASCII character 8)
			keystroke "0"
			
			-- click OK
			click button 1
			
			try
				repeat while value of static text 3 is "Creating network…"
					delay 0.5
				end repeat
			end try
		end tell
	end tell
end tell

tell application "System Preferences"
	activate
	set current pane to pane "com.apple.preference.network"
end tell

tell application "System Events"
	get properties
	tell process "System Preferences"
		tell window "Network"
			-- Selects the active network connection
			tell table 1 of scroll area 1
				click row 1
			end tell
			tell group 1
				if not (exists button "Turn Wi-Fi Off") then
					display dialog "Please Click The Wi-Fi Row"
					repeat while not (exists button "Turn Wi-Fi Off")
						delay 0.3
					end repeat
				end if
			end tell
			
			--Select the Advanced button
			click button "Advanced…"
			--Select the Proxies tab
			tell tab group 1 of sheet 1
				-- delay 1
				click radio button 6
				tell group 1
					tell table 1 of scroll area 1
						set selected of row 6 to true
						if value of (checkbox 1 of row 6) is 0 then
							display dialog "SOCKS Proxy OFF"
							click checkbox of row 6
						end if
					end tell
					tell group 1
						set value of text field 1 to SocksIP
						set value of text field 2 to SocksPort
					end tell
					
				end tell
				
			end tell
			tell sheet 1
				click button "OK"
			end tell
		end tell
		tell window "Network"
			click button "Apply"
		end tell
	end tell
end tell
tell application "System Preferences"
	quit
end tell
This script was designed for use with the application "iRandomizer Numbers" an iOS tethering app that's still in the App Store (Get it while it lasts).

While you still have to connect to the network, enter the WEP Password, and set up the static IP address on the iPhone, this script saves a lot of time setting up the Mac side.

To use:
1. Run the script
2. Connect to the "Tethering" Wi-Fi network on your iPhone/iPad
3. Enter the passcode: 1234567890
4. Set the static IP Address on your iPhone to 13.37.13.37 with the subnet mask 255.255.255.0
5. Finally, run iRandomizer Numbers (or your tethering app of choice)
6. Enjoy!

Thanks!
adrian876 is offline   2 Reply With Quote
Old Feb 4, 2012, 10:12 AM   #2
coder12
macrumors 6502a
 
coder12's Avatar
 
Join Date: Jun 2010
Thanks for the script! I'm having some troubles though...

I can get the two devices to talk using the Web Proxy (HTTP) in my Mac side with the Proxy IP supplied by iRandomizer, but I can't seem to get my SOCKS proxy working! I'm just using the Proxy ID from iRandomizer for the Mac side, but iRandomizer just says "Unsupported SOCKS protocol"...

Any help? I'd really like to get this to work...!

Edit: Got it to work!!!
The other guides showed the HTTP proxy usage... but after further research, you don't need to use it!

So for all the other fellas and ladies out there, you don't need http, just use SOCKS!
__________________
Just plain nuts!

Last edited by coder12; Feb 4, 2012 at 10:44 AM.
coder12 is offline   0 Reply With Quote
Old Apr 26, 2012, 08:35 AM   #3
Tweakage
macrumors newbie
 
Join Date: Apr 2012
Hey sorry to bother I bought handylight pro and have followed many detailed tutorials getting close to tethering (airport status was green and connected) but always all browsers I tried read proxy error. Is it possible to explain to a complete newb with no code experience how to get this ball rolling please or am I no chance at grasping this? Dam Optus pre Paid restrictions ! I have iPhone 4s latest update cheers
Tweakage is offline   0 Reply With Quote
Old Apr 26, 2012, 09:16 AM   #4
Tweakage
macrumors newbie
 
Join Date: Apr 2012
Ok so I googled it a bit and see it's built into Mac osx! So is it a simple matter of copy and paste into app window by any chance or a bit more to it? Cheers
Tweakage is offline   0 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
thread Thread Starter Forum Replies Last Post
SOCKS Proxy under Mavericks 10.9.2 Macbook Pro Retina 2013 Late viktormadarasz MacBook Pro 0 Dec 28, 2013 05:16 AM
Help with very simple Outlook 2011 script simonmason Mac Programming 0 Jul 21, 2013 09:34 AM
Script to change proxy settings tatchley Mac Programming 5 Oct 19, 2012 10:49 PM
Simple Question...HD or Proxy joeysarks Digital Video 9 Oct 15, 2012 03:04 AM
Help make a simple script carterx Mac Programming 6 Jul 11, 2012 02:54 PM

Forum Jump

All times are GMT -5. The time now is 02:39 PM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC