A few days ago chpwn released Spire, a legal Siri port for the iPhone 4 and other devices. The release was met with much excitement, and likely just as much confusion. How does it work? Can it work with an existing Siri Proxy?
Getting Spire working on your non-iPhone 4S device may seem daunting, but it’s actually fairly straight forward, especially if you’ve successfully followed our Siri Proxy tutorial in the past. The Spire setup pretty much involves the same steps needed to get Siri Proxy working, with a few notable differences thrown in.
Check inside as I show you how to get Siri running on your iPhone 4 using Spire. This should also work for other devices, like the fourth-generation iPod touch…
Before you start read this entire tutorial and view the videos. That way you have a good knowledge of how this works as a whole. It is really important to digest the entire tutorial before proceeding step-by-step. I really can’t recommend this enough.
Please understand that you must have access to an iPhone 4S in order to follow this tutorial. This is also a local only installation. If you want to use Siri over 3G or on foreign Wi-Fi on your non-4S device, you can setup a dynamic DNS on your virtual machine installation so that you can access Siri Proxy from anywhere. That is beyond the scope of this particular tutorial. Now that you are aware of the limitations involved with this tutorial, please proceed.
Setting Up Siri Proxy
Step 1: The first step is to follow our in-depth Siri Proxy setup tutorial. That tutorial showcases the basics in getting Spire working on your iPhone 4 or other devices.
Step 2: There is one small change in the Siri Proxy Tutorial that is required for using Spire. At Command 09, change the following command:
git clone git://github.com/plamoni/SiriProxy.git
git clone git://github.com/westbaer/SiriProxy.git
This is incredibly important. If you don’t alter Command 09 of the Siri Proxy Tutorial, then Spire will not function correctly. If you’ve already previously setup Siri Proxy, you can literally stop the server, and start at Command 09 to get it working. I’ve confirmed that this method works. If you’ve never setup Siri Proxy, simply follow the Siri Proxy Tutorial and replace Command 09 with the new command above.
Once Siri Proxy is up and running you may proceed with the Spire setup tutorial below:
Setting up Spire
Once you’ve confirmed that Siri Proxy works on your iPhone 4S using the Siri Proxy Tutorial, you may proceed with the Spire setup. Remember, you must have Siri Proxy running on your iPhone 4S before proceeding. Confirm that it works by invoking Siri and saying “Test Siri Proxy.” Siri should respond with “Siri Proxy is Up and Running!” Only then should you proceed with the Spire setup.
The following video shows the start-to-finish Spire setup. If you already have Siri Proxy installed using the steps above, the you may want to skip to 4:30 on the video for the Spire installation.
Step 1: If you have not done so already, jailbreak your iPhone 4. To learn how to jailbreak, check out our dedicated jailbreak page.
Step 2: Install Spire from Cydia. This will take a while, so be patient. It is a large download. You must reboot your device after installation.
Step 3: Install iFile from Cydia. There are alternatives to this step, but this is the easiest and most straight forward method. iFile has a free trial period if you don’t want to pay for it. I highly recommend you use iFile.
Step 4: Install the same certificate on your device that you installed on your iPhone 4S in the Siri Proxy Tutorial. It must be the same certificate. Like in the previous tutorial, I recommend using DropBox to transfer the certificate to your iPhone 4, but you can use email or other means as well. Again, as stated in the Siri Proxy Tutorial, the certificate can be found at ~/.siriproxy/ca.pem, and it is a hidden folder, so you will have to show hidden folders.
Step 5: Go to Settings > General > Siri and enable Siri.
Step 6: Go to Settings and configure Spire settings with the following Proxy Host:
Step 7: Open iFile, and navigate to /etc/ and open the “hosts” file using iFile’s Text Viewer. Tap on Edit in the upper left-hand corner, and create a new line that includes the following:
(the ip address of your Ubuntu virtual machine) followed by guzzoni.apple.com
So for example, my new line looks like so:
Step 8: Go back to your Home screen, and test out Siri by holding the Home button. You should see data hit your server, but it will say something like this:
[Info - Guzzoni] Received Object: CommandFailed
[Info - Guzzoni] Received Object: CommandFailed
This is good, and shows that you can now communicate to the Siri Proxy Server. Now all we need to do to make Siri work for real is add three more necessary fields to the Siri plist file.
Step 9: Again, in iFile navigate to var/mobile/Library/Preferences/ and open com.apple.assistant.plist with the Property List Viewer. Tap on Accounts > Your Hex Key (random alphanumeric value) > and add the following fields using the “+” sign in the bottom right-hand corner:
Step 10: Invoke Siri by holding the Home button, and say “Test Siri Proxy.” It should respond just like it did on the iPhone 4S: “Siri Proxy is Up and Running!” If successful, congratulations, you just got Siri working legally on your non-iPhone 4S device!
Step 11: You can now remove the DNS server from your iPhone 4S, or just append your real DNS server after the Siri Proxy IP address using a comma. This is optional, but allows you to still use Siri Proxy and access the internet and use apps with no problems on your iPhone 4S.
There are lots of other possibilities and troubleshooting steps for Spire and Siri Proxy in general. This is probably the most basic implementation of Spire usage that you will come across thus far. I can’t take all of the credit though. Special thanks to Methoddk for his excellent tutorial which helped a lot with regard to plist params. Also, an obvious thanks goes to chpwn for making such an awesome (and legal) Siri port, and Plamoni and Westbaer for their Siri Proxy implementations.
I know many of you will continue to have questions and issues. We will try our best to help where time permits, but our best advice is to experiment and follow the tutorial closely. Be sure to read and watch the videos in their entirety before even attempting this.
If you have questions about Ubuntu, virtual machines, etc. Our best advice is to see our original Siri Proxy Tutorial.
Let me know what you think in the comment section. Did this tutorial help you?