Apple How to set up a Siri proxy for Spire

ThatDudeWithTheFood

TRIANGLEZ
OP
Member
Joined
Mar 9, 2009
Messages
2,198
Trophies
0
Location
Illuminati
XP
536
Country
United States
This is a tutorial for Ubuntu so go ahead and download that and install it on a VM or your own computer if you are currently not running it.Also you are going to need some validation keys from an iPhone 4S,SO SHARE IF YOU HAVE SOME.

When you have Ubuntu 11.10 up and running, go to the left side (taskbar) and find the Update Manager. I will recommend you to install all updates available, because that might help you in the progress (if anything is needed).
When you have installed the updates, press the Windows button (or go to Dash home) and search for Terminal. Then open Terminal and do this command:
Code:
sudo -s			 (press enter and write your password)
when that's done, it should write something like "root@User:".

Next your going to have to input tons of commands into the Terminal window.
You might get some errors but thats fine it should still work.
Code:
zypper install openssl
apt-get install libopenssl-devel
apt-get install zlib
apt-get install zlib-devel
apt-get install ruby
apt-get install ruby-gems
apt-get install gcc
apt-get install gcc-c++
apt-get install libxml2*

Next you have to run this command,
Code:
gem install eventmachine -- --with-ssl-dir=/usr/bin/openssl
followed by some more commands
Code:
gem install CFPropertyList
gem install httparty
gem install json
gem install uuidtools

Close Terminal and reopen it to make sure you are at the Home directory.
Time to make a dictionary,use these commands.
Code:
sudo -s (press enter and write your password)
mkdir ~/hacks
cd ~/hacks
wget http://www.ketchup-mayo-senf.de/blog/MySiriProxy.zip
unzip MySiriProxy.zip
cd SiriProxy

This SiriProxy is a modified one, that a person made so it can work with a lot of Siri's on your iDevice(GBAtemp proxy anyone?).

Now you have the SiriProxy in your ~/hacks/SiriProxy directory.

In the next step, we're going to make our certificate that you need to send to your iPhone in order to make this work. Remember, in this step, YOU HAVE to write your local IP (like 192.168.1.10) when it says "Common name".
So when Common name appears, you write the local IP, which you can find by typing "ifconfig" in terminal.

In Terminal, write these commands when you're in the dictionary called SiriProxy (from last step). You can type in any information you want, besides Common Name, where you type in your IP. When it asks for a password, just write "pass".
Code:
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
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

Now open the folder SiriProxy, by going to your Taskbar (at the left) and press on the "Home Folder" icon at the top. Then navigate to hacks, and then SiriProxy. Inside SiriProxy you can find a file called "ca.crt" when you have to send to your iDevice by email, or put it in Dropbox and find it on your iDevice. Then press Install.

When you've installed it, you exit everything you have open, and open Terminal.
Then do the sudo-s command, and type in this:
Code:
mkdir SiriStuff
cd SiriStuff
sudo git clone git://github.com/StanTheRipper/SiriAuth.git
sudo git clone git://github.com/StanTheRipper/AuthGrabber.git
That will make a folder called SiriStuff, open SiriStuff and download something called git.

Next you have to run these commands:
Code:
sudo chmod -R 777 SiriAuth
cd SiriAuth
sudo ./dependencies.sh
sudo ./certs.sh
cd ../

If you are getting errors open this spoiler if not continue.
Code:
sudo apt-get update

sudo apt-get install nano ruby build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
rvmsudo rvm install 1.9.3
rvm use 1.9.3 --default
rvmsudo gem install eventmachine CFPropertyList httparty json uuidtools
cd SiriAuth
sudo ./certs.sh

If everything works, write the following commands:
Code:
sudo chmod -R 777 AuthGrabber
cd AuthGrabber
sudo ./dependencies.sh
sudo ./certs.sh
cd ../

Again if you are getting errors open the spoiler if not keep continuing.
Code:
sudo apt-get update

sudo apt-get install dnsmasq nano ruby build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

sudo cp files/dnsmasq.conf /etc/dnsmasq.conf

bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
rvmsudo rvm install 1.9.3
rvm use 1.9.3 --default
rvmsudo gem install eventmachine CFPropertyList httparty json uuidtools
sudo AuthGrabber/certs.sh
To get the keys you need, you HAVE to get an iPhone 4S, or get the keys from someone else.
In next step, I will show you how to get the keys from an iPhone 4S.(SHARE GUISE)

Go to Settings on your iPhone. Then open up Wifi, press on the blue arrow and find "DNS". In DNS you type your computer's IP (192.168.1.10, for example) and when that is done, just tap out to homescreen.

Now go to your computer and find Terminal. Do these commands, from a FRESH new terminal:
Code:
sudo -s
cd SiriStuff
cd AuthGrabber
rvmsudo ./cache.sh

If everything went right, it should just make a new black line.
Then take your iPhone 4S, open Siri and say something. When that is done, your Terminal should output:
Request cached, writing to auths/acehosts0.txt

When it has done that, navigate to /auths (open Home Folder > SiriStuff > AuthGrabber > auths)
and open it with a text editor (double click and press display).
Then it should write something like:
Code:
SSL proxy layer established !
ACE /ace HTTP/1.0
Host: guzzoni.apple.com
User-Agent: Assistant(iPhone/iPhone4,1; iPhone OS/5.0.1/9A405) Ace/1.0
Content-Length: 2000000000
X-Ace-Host: 211ea22f-2740-4582-9f4d-4f7d9bd7cf28
#####################################################
{"group"=>"com.apple.ace.system",
"aceId"=>"6698E3AA-132F-494C-9DDB-C3C9CA14241C",
"class"=>"LoadAssistant",
"properties"=>
{"assistantId"=>"04a9de4e-e92a-41b6-ab34-ab124186c258",
"sessionValidationData"=>
"\002E!\216\371$\305X^\246\251\210\31752]\213\337\262\036\257\342\365\230\237kY\024\321\031\030X0\000\000\000\340\003\000\000\000I\000\000\000\200\233\323N8\242\bv\335\310\230R8\246\327\206\234\230\205)\213\e\270Z\300\206(\337?\242\2247\211?\345l8ZSF-\322\030\n\211uF\0322\254\275\363\363\202\233X\360\277\254\242\031\345\372\3169\200\263j\b\037*2{\n/\a\264\034\"\332\022\200\301\243w\021az\276\213c\b\252!\200\212\341\220tK\321y\240\a\270\276h\375\336\233\360In\003\337\315i\213\372sG,w\206\324y\325\241a\000\000\000\000\000\000\000O\001\0030\370\241\004\207z\214\355\2155M\312\374\273\200\035\a'T\000\000\0006\004\001\2012\325\260\327\226T\261K\266F\360\365\302\326\376N\347\222\255i\020\226\2106\207\267\274x5\315N\216\016\232\331\273[OVwZ\212)\3272+\220\343id\360",
"speechId"=>"cc4301ac-db83-48bb-8380-378393b033b4"}}
#####################################################
{"group"=>"com.apple.ace.system",
"aceId"=>"229CB9A2-6D00-4BB4-8B15-D5E5177F88F1",
"class"=>"SetRestrictions"}
(the codes are invalid)

Then keep that window open, and open up a new Home Folder folder, then navigate to SiriStuff, and then SiriAuth. In that folder, there should be a file called "siriAuth.rb". Right click on it, and open it with a text editor. It should say something like:
Code:
#!/usr/bin/env ruby
require 'rubygems'
require 'eventmachine'
require 'zlib'
require 'cfpropertylist'
require 'pp'
require 'tweakSiri'
require 'interpretSiri'

XAceHostKey = "ace"
ValidationDataKey = "validationdata"
AssistantIDKey = "assistantid"
SpeechIDKey = "speechid"

Then you need to fill out the keys (XAceHostKey, ValidationDataKey, AssistantIDKey and SpeechIDKey) with the information you got in the acehosts0.txt file. And if you got your info from someone else, fill it out with the info you got.
Then it should look like this:

Code:
#!/usr/bin/env ruby
require 'rubygems'
require 'eventmachine'
require 'zlib'
require 'cfpropertylist'
require 'pp'
require 'tweakSiri'
require 'interpretSiri'

XAceHostKey = "211ea22f-2740-4582-9f4d-4f7d9bd7cf28"
ValidationDataKey = "\002E!\216\371$\305X^\246\251\210\31752]\213\337\262\036\257\342\365\230\237kY\024\321\031\030X0\000\000\000\340\003\000\000\000I\000\000\000\200\233\323N8\242\bv\335\310\230R8\246\327\206\234\230\205)\213\e\270Z\300\206(\337?\242\2247\211?\345l8ZSF-\322\030\n\211uF\0322\254\275\363\363\202\233X\360\277\254\242\031\345\372\3169\200\263j\b\037*2{\n/\a\264\034\"\332\022\200\301\243w\021az\276\213c\b\252!\200\212\341\220tK\321y\240\a\270\276h\375\336\233\360In\003\337\315i\213\372sG,w\206\324y\325\241a\000\000\000\000\000\000\000O\001\0030\370\241\004\207z\214\355\2155M\312\374\273\200\035\a'T\000\000\0006\004\001\2012\325\260\327\226T\261K\266F\360\365\302\326\376N\347\222\255i\020\226\2106\207\267\274x5\315N\216\016\232\331\273[OVwZ\212)\3272+\220\343id\360"
AssistantIDKey = "04a9de4e-e92a-41b6-ab34-ab124186c258"
SpeechIDKey = "cc4301ac-db83-48bb-8380-378393b033b4"

Next step, you need to take your iPhone 4, and open up Spire. Then in the URL, write "https://192.168.1.10/" where the IP is your local IP.

Now, close terminal and type in:
Code:
sudo -s
cd SiriStuff
cd SiriAuth
rvmsudo ./start.rb

It should then say something like:
root@User:~/SiriStuff/SiriAuth# rvmsudo ./start.rb
Server started
Selected X-Ace Host: 9873BE56-A6C3-410B-9C20-33A3C9BA2811
Selected assistantId: 8fd07451-e23e-4934-9e19-e3bf8a461ab5
Selected speechId: 8fd07451-e151-df12135-e5319-e1351ef512dd
Selected ValidationData:LOTS OF CRAP

Now take your iDevice with Spire, open Siri and say something :)
If anything went right, your Siri should work, and should be 100% functional :)

GOGOGOGO
RIGHT NAO
SET IT UP
AND PRESS LIKE
 
  • Like
Reactions: 1 person

ThatDudeWithTheFood

TRIANGLEZ
OP
Member
Joined
Mar 9, 2009
Messages
2,198
Trophies
0
Location
Illuminati
XP
536
Country
United States
I've got a 4S, and set up a server a few days ago. Problem is I have no way of keeping it up 24/7. Any ideas?
Give keys to someone who has Ubuntu and keeps there comp on all day.
I am trying to install Ubuntu but my DVD Drive is retarded and I have no way of booting a USB.

I might be able to get a VPS that can run the proxy...
 

SifJar

Not a pirate
Member
Joined
Apr 4, 2009
Messages
6,022
Trophies
0
Website
Visit site
XP
1,175
Country
I've got a 4S, and set up a server a few days ago. Problem is I have no way of keeping it up 24/7. Any ideas?
Rent some server space from someone else to run it on, instead of running on your personal computer. Setup would probably be very different though. And you'd have to trust the company you rent the server space from with personal info and stuff :/
 

Devin

"Local Hardware Wizard"
Member
Joined
Aug 17, 2009
Messages
5,955
Trophies
2
Age
29
Location
The Nexus
XP
4,538
Country
United States
I'll be installing Ubuntu here in a sec, but I thought that if you host it, it would only work on your Home network.
 

alidsl

I am now a lurker
Member
Joined
May 27, 2009
Messages
2,823
Trophies
0
Age
28
Location
Kanto - Pallet Town
XP
688
Country
If anyone is having trouble downloading Ubuntu just use wubi, it makes it easier to install/uninstall Ubuntu and cuts out all of the CD and USB crap (it's broken for Xubuntu though :( ), this should be added to the OP cause if someone doesn't know what they're doing when installing Ubuntu it's easy to delete your windows partition
 

Devin

"Local Hardware Wizard"
Member
Joined
Aug 17, 2009
Messages
5,955
Trophies
2
Age
29
Location
The Nexus
XP
4,538
Country
United States
I'll be installing Ubuntu here in a sec, but I thought that if you host it, it would only work on your Home network.
It will, unless you setup port forwarding on your router. In that case, anyone in the world can connect.

Well, if I get my hands on a key I'll be sure to do that. Make it sort of a GBAtemp Spire Server.
 

HaniKazmi

Well-Known Member
Member
Joined
Jan 30, 2008
Messages
1,657
Trophies
0
Age
30
Location
Manchester
Website
Visit site
XP
368
Country
I'll be installing Ubuntu here in a sec, but I thought that if you host it, it would only work on your Home network.
It will, unless you setup port forwarding on your router. In that case, anyone in the world can connect.

Well, if I get my hands on a key I'll be sure to do that. Make it sort of a GBAtemp Spire Server.
^I don't mind giving you my key, granted you restrict access so that not too many people get on it.
 

431unknown

VR Gaming Enthusiast
Member
Joined
Sep 29, 2008
Messages
2,058
Trophies
1
Age
48
Website
gbatemp.net
XP
736
Country
United States
Too bad after I got spire and Siri installed it borked some of my other apps and now a good amount of them won't run.

Uninstalled spire everything's working again. Not worth that hassle I'll wait till it gets an update to fix those issues.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    OctoAori20 @ OctoAori20: Nice nice-