- iPad 3 Parts Get Leaked Here Are The Pictures!
- The New iPad 3 Gets Jailbroken (Untethered) On iOS 5.1 (Video)
- Redsnow 0.9.9b7Jailbreaks Faster, Limited Edition Redsnow Syncs Data & Pics
- Significant Progress Made On Untethered Jailbreak For iPhone 5
- (BREAKING) iOS 7.1 Released! Download iOS 7.1 For iPhone, iPad & iPod Touch! (Link)
Many of you who do not own an iPhone 4S really want to try out Siri, the best feature of iPhone 4S. As most of you are probably aware that there is currently no direct method on getting Siri on a non-iPhone 4S device, basically what I mean is that you will need to set up a proxy server so your iPhone 4/iPhone 3GS can use that to connect to Apple’s servers. Here I will show you on how to set up your own Siri Proxy Server.
Now before I start on how to Get Siri on iPhone 4/iPhone 3GS, there are some requirements that you should meet.
- Have knowledge of basic Linux command lines (Very important, if you do not have any knowledge then do not attempt this)
- An iPhone 4S ( Used for Siri authorization keys)
- Jailbroken on iOS 5.0.1 (iPhone 4 or iPhone 3GS) If not already jailbroken follow our guide to jailbreak it.
- Spire ( Mentioned below)
- Port forwarding: 53 and 433 (Used for your router, you should know this it is not explained below)
- Download SiriAuth ( Siri Server )
- Download AuthGrabber ( Gets iPhone 4S Siri authorization keys)
- Download Extra files
Disclaimer: Do NOT attempt this if you are not sure what you are doing. We are not responsible if something goes wrong.
As I mentioned in the requirements you will need Spire. If you do not have it follow the steps below and if you already have Spire skip this portion.
STEP 1: Jailbreak your device on iOS 5.0.1
STEP 2: Launch Cydia
STEP 3: Tap search button and search for Spire and download it
STEP 4: Once downloaded reboot your iOS device.
Download iPhone 4S Authorization keys
STEP 1: Run .SH file, if you are being presented with a command saying not found, run the command below.
sudo chmod +x [name_of_.sh_file]
STEP 2: Now you should have the iPhone 4S, downloaded Authgrabber from the link above and ports 53 and 433 forwarded. Run the command below
STEP 3: You will now need the certificate file that should be downloaded to iPhone 4S. To do that run the command below
Set Up DNS Server
STEP 4: You should now setp up DNS server which is used in python. Copy the entire text below on to a text file and replace
“555.555.555.555” with your actual internet IP address and save it as “dns.py” to the same place as other AuthGrabber files.
import socket class DNSQuery: def __init__(self, data): self.data=data self.dominio='' tipo = (ord(data) >> 3) & 15 # Opcode bits if tipo == 0: # Standard query ini=12 lon=ord(data[ini]) while lon != 0: self.dominio+=data[ini+1:ini+lon+1]+'.' ini+=lon+1 lon=ord(data[ini]) def respuesta(self, ip): packet='' if self.dominio: packet+=self.data[:2] + "\x81\x80" packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' # Questions and Answers Counts packet+=self.data[12:] # Original Domain Name Question packet+='\xc0\x0c' # Pointer to domain name packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' # Response type, ttl and resource data length -> 4 bytes packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) # 4bytes of IP return packet if __name__ == '__main__': ip='555.555.555.555' print 'Fake DNS Server:: dom.query. 60 IN A %s' % ip udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) udps.bind(('',53)) try: while 1: data, addr = udps.recvfrom(1024) p=DNSQuery(data) udps.sendto(p.respuesta(ip), addr) print 'Antwort: %s -> %s' % (p.dominio, ip) except KeyboardInterrupt: print 'Beenden' udps.close()
Step 5: To run the server, enter the command.
sudo python dns.py
STEP 6: Download the “Extra files” from the above requirement portion and extract those to directory of AuthGrabber and run the command.
sudo ruby authGrabber.rb > OUTPUT.txt
STEP 7: Now you will need to change Wi-Fi DNS to your iP address on the iPhone 4S. Go Settings> Wi-Fi> select Wi-Fi> DNS.
To See if it’s working
Use Siri to test if its working or not. When you bring up Siri you should see texts running, “matrix style’ (that’s what I like to call it). Open OUTPUT.txt to check if there is anything inside, if you see anything then it means it’s working. If you wish you can close the DNS server.
Install Siri Proxy Server
STEP 1: Download SiriAuth, and start it in the same way as you done for AuthGrabber.
STEP 2: Create certificate file using the same command used for AuthGrabber
STEP 3: Follow the on screen instructions for creating certificate, the info can be anything but remember to use real information for the IP address.
You will need to remember that unlike AuthGrabber certificate this should NOT be deleted as it is required for running Siri.
STEP 4: Edit Siriauth.rb file using a text editor and the copy the things below. Output.txt file needs to be edited too, the one used above.
- ValidationDataKey (the large batch of data)
STEP 5: Copy the auth keys to SiriAuth.keys from output.txt. Make sure to paste them between the quotes.
STEP 6: Run the server by entering the following command
sudo ruby start.rb
To See If it’s working
Server started Selected X-Ace Host: [redacted] Selected assistantId: [redacted] Selected speechId: [redacted] Selected ValidationData: [redacted]
If you see the above text it means you have done everything right. Well done.
Port Siri To Spire
If you have done all the things above it is now time to port Siri to Spire.
By now you should have downloaded Spire from Cydia, if not go to the first portion and find out how to download Spire.
Go Settings>Spire and enter the address of your newly created proxy server “http://….”. Once done that go to General> Siri turn it on and respring your device.
You should now have successfully ported Siri to your iPhone 4 or iPhone 3GS.
Let us know in the comments below if you tried this method and it worked for you.