How To Setup Spire Proxy in Linux

You will have a working SiriProxy which enables you to use Siri on every hardware which runs a Siri GUI (iPhone 4, iPhone 3GS etc). You can feel free to write an Android Siri GUI and use Siri on Android.

- A Fully Working Siri GUI
- 4 Important keys from an iPhone 4S (speechID, assistantID, x-ace-host, validationdata)
- Linux ( I am working here on a OpenSuse 11.4 but tested it as well in a Debian. so any Unix is fine)
- modified SiriProxy 

Install all Tools Needed:

Note: in OpenSuse “zypper” is used for installing packages. In any other Linux you can use “apt-get”.

All needed Software:

zypper install openssl
zypper install libopenssl-devel
zypper install zlib
zypper install zlib-devel
zypper install ruby
zypper install ruby-gems
zypper install make
zypper install gcc
zypper install gcc-c++
zypper install libxml2*

Install all Ruby Gems Needed:

gem install CFPropertyList
gem install httparty
gem install json
gem install uuidtools

Create a Directory ( in my case /~):

mkdir ~/hacks
cd ~/hacks
wget http://www.ketchup-mayo-senf.de/blog/MySiriProxy.zip
unzip MySiriProxy.zip
cd SiriProxy

Create own Certificates: (Use Any Password and Information You Want)

openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
openssl genrsa -des3 -out server.key 4096

(Enter your IP or Hostname in “common name” .. important!)

openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.passless.crt
openssl rsa -in server.key -out server.key.insecure
mv server.key server.key.secure
mv server.key.insecure server.passless.key

Install the Certificate on your iPhone:

Email the ca.crt file to yourself and open it in your iPhone.
Then press install.

Editing the Proxy Server:

Edit the siriProxy.rb file and look for “HIER_KOMM”. Replace the tags as follow:

HIERKOMMt_X-ACE-HOST_HIN – replace with x-ace-host
HIERKOMMT_VALIDATION_DATA_HIN – replace with validationData
HIERKOMMT_SPEECHID_HIN – replace with speechID
HIERKOMMT_ASSISTANTID_HIN – replace with assistantID

Starting the Server:

If you are using ROOT then start it with:

ruby start.rb

If you are not using ROOT ( Ubuntu, MacOS etc):

sudo ruby start.rb

Open the com.apple.assistant.plist via iFile.

Change “https://guzzoni.apple.com” to “https://YOURIP_OR_DYNDNS

Now Reboot your iPhone and Enable Siri

You can use Siri on the go by 2 ways:

1 – Setting up a VPN (PPPTP is very easy on Linux) to use Siri everywhere
2 – Open SiriProxy Port in your Firwall / Router ( Port 443) and Connect to it.