Siri – Apple’s voice activated personal assistant feature that is exclusively available for iPhone 4S users has been so popular that hackers are either busy porting it to non-iPhone 4S devices or creating plugins using Siri Proxy to add new functionality to it.
So far the Siri ports to non-iPhone 4S have been illegal, but that has changed today thanks to the efforts of iOS hackers and developer Grant Paul a.k.a chpwn along with Ryan Petrich.
They have released a new jailbreak app called Spire, which legally brings Siri to non-iPhone 4S devices. However, it’s a complicated solution and won’t start working after installing the jailbreak app.
chpwn has provided the following details about the hack on his blog:
Spire is my (along with Ryan Petrich) new tool for installing Siri on previously unsupported, but jailbroken, devices. Spire is a small download, but while installing it will download Siri itself (directly from Apple). Spire is available in Cydia right now — go get it! This will use about 100 MB of data, so please connect to Wi-Fi before installing.
However, Spire is not a complete solution. Apple still requires authorization to use Siri, so information from an iPhone 4S is still required. To insert this information, Spire allows you to enter your own proxy server address. By using this (ancient) SiriProxy fork, you can setup a proxy using your own iPhone 4S to insert the needed information reasonably easily. Other solutions for proxying Siri will be listed here as they are developed — perhaps that sort of proxy might be included in the main SiriProxy repository.
Spire uses a new method to obtain the files necessary for Siri, so it doesn’t have the copyright issues encountered by previous attempts. Similarly, rather than directing all traffic through a specific proxy server (and the associated privacy issues), Spire allows you to specify your own proxy server.
chpwn has written another blog post answering some frequently asked questions about the requirement of a proxy for Spire:
Spire needs a proxy!? It’s useless!
As has been noted, my recently released tweak Spire requires a proxy and data from an iPhone 4S to operate. As the point of Spire is to get Siri on devices that aren’t the iPhone 4S, this might at first seem to imply that Spire is useless.
However, this is not because I hate you or because I’m lazy, it’s because Apple has made it very likely impossible to defeat the authorization. I reverse engineered it, and it does not appear possible to connect Siri to the cloud without information from an iPhone 4S.
However, that doesn’t necessarily mean that Spire is therefore useless.
So, how do I get a proxy?
There’s any number of ways for you to get a proxy that will help you connect Siri to Apple. Here’s a few of my ideas:
- westbaer’s SiriProxy fork
- Own an iPhone 4S too: Maybe you already own an iPhone 4S, and just want Siri on another device of yours. This is simple; you can just use the above proxy yourself.
- Find a friend: Maybe your friend has an iPhone 4S and will let you use their authentication tokens (maybe in exchange for some cool SiriProxy plugins). Then, you can share the authentication. Or, maybe you gave your relative your old iPhone when you got your iPhone 4S: now you can share your token and give them Siri.
- Pay up: It’s very likely that soon we will see for-pay services online to rent you some space on a Siri proxy, attached to one of their iPhone 4S devices. I haven’t seen anything like this yet, but I’ll keep my eye out, and I would encourage anyone who wants to to set something like this up.
- And now for something completely different: As I suggested earlier, you might be able to replace Siri entirely. A simple method might be to use Google Chrome’s speech “API” hooked up to some code to decode the Siri requests and parse Google’s result. Or, someone could hook it up to some logic backends like many of the clones available on Android: the possibilities are endless.
Okay, I’ll find something!
Good! Spire is far from perfect, but at least at this point in time, it’s the best that I can do. Maybe in the future someone will find a way to evade the authorization requirement, but from my position here that’s unlikely. Hopefully, however, you’ll be able to figure something out.
If you give it a shot let us know how it goes.
[via chpwn’s blog]