How to set up a Siri proxy for Spire

Discussion in 'iPhone, iPod & iPad' started by ThatDudeWithTheFood, Dec 30, 2011.

Dec 30, 2011
  1. ThatDudeWithTheFood
    OP

    Member ThatDudeWithTheFood TRIANGLEZ

    Joined:
    Mar 9, 2009
    Messages:
    2,198
    Location:
    Illuminati
    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.
    Warning: Spoilers inside!

    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.
    Warning: Spoilers inside!
    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
     
    1 person likes this.
  2. Devin

    Member Devin "Local Hardware Wizard"

    Joined:
    Aug 17, 2009
    Messages:
    5,701
    Location:
    The Nexus
    Country:
    United States
    Now to find someone with a iPhone 4S.
     
  3. ThatDudeWithTheFood
    OP

    Member ThatDudeWithTheFood TRIANGLEZ

    Joined:
    Mar 9, 2009
    Messages:
    2,198
    Location:
    Illuminati
    Country:
    United States
    Someone will share there keys.
    STAY STRONG
     
  4. HaniKazmi

    Member HaniKazmi GBAtemp Advanced Maniac

    Joined:
    Jan 30, 2008
    Messages:
    1,657
    Location:
    Manchester
    Country:
    United Kingdom
    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?
     
  5. ThatDudeWithTheFood
    OP

    Member ThatDudeWithTheFood TRIANGLEZ

    Joined:
    Mar 9, 2009
    Messages:
    2,198
    Location:
    Illuminati
    Country:
    United States
    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...
     
  6. SifJar

    Member SifJar Not a pirate

    Joined:
    Apr 4, 2009
    Messages:
    6,022
    Country:
    United Kingdom
    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 :/
     
  7. Devin

    Member Devin "Local Hardware Wizard"

    Joined:
    Aug 17, 2009
    Messages:
    5,701
    Location:
    The Nexus
    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.
     
  8. alidsl

    Member alidsl I am now a lurker

    Joined:
    May 27, 2009
    Messages:
    2,823
    Location:
    Kanto - Pallet Town
    Country:
    United Kingdom
    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
     
  9. SifJar

    Member SifJar Not a pirate

    Joined:
    Apr 4, 2009
    Messages:
    6,022
    Country:
    United Kingdom
    It will, unless you setup port forwarding on your router. In that case, anyone in the world can connect.
     
  10. Devin

    Member Devin "Local Hardware Wizard"

    Joined:
    Aug 17, 2009
    Messages:
    5,701
    Location:
    The Nexus
    Country:
    United States
    Well, if I get my hands on a key I'll be sure to do that. Make it sort of a GBAtemp Spire Server.
     
  11. HaniKazmi

    Member HaniKazmi GBAtemp Advanced Maniac

    Joined:
    Jan 30, 2008
    Messages:
    1,657
    Location:
    Manchester
    Country:
    United Kingdom
    ^I don't mind giving you my key, granted you restrict access so that not too many people get on it.
     
  12. Devin

    Member Devin "Local Hardware Wizard"

    Joined:
    Aug 17, 2009
    Messages:
    5,701
    Location:
    The Nexus
    Country:
    United States
    Sounds good, I'll start up a PM when I'm all set. You can decide who to give access to.
     
  13. 431unknown

    Member 431unknown Greatness Awaits

    Joined:
    Sep 29, 2008
    Messages:
    2,055
    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.
     

Share This Page