How to Install Siri Proxy Tutorial [Video]

By , Dec 9, 2011

We’ve gone hands-on with Siri Proxy, and the things you can do with this handy tool are amazing.

But as you know, at iDB we don’t like to keep all the good stuff to ourselves. For that reason, we’ve created this comprehensive video tutorial and guide that shows you how to run Siri Proxy on your iPhone 4S.

We show you step-by-step what’s needed to try out Siri Proxy yourself…

Before we get too deep into the tutorial, we want to let you know about a few prerequisites.

1: You don’t have to use Ubuntu, but in order to follow these steps verbosely, you must have an Ubuntu machine, which is free. This install can be done on a Mac, Windows, or Linux machine. In my opinion it is much easier to do this on an Ubuntu installation than anything else, that’s why I selected it to install Siri Proxy. Your Ubuntu installation can be the real thing, or it can be a virtual machine like I have. In order to show you the full start to finish tutorial, I show you how to install Ubuntu using Parallels for Mac as a part of this tutorial. Parallels is a paid app for the Mac, but the good news is that you can download a free 14-day trial, and start using this today.

2: This only works with the iPhone 4S. We haven’t tested it on any other devices, because frankly, it probably wouldn’t work anyway, and it’s not exactly legal.

3: This will only work while connected to your local WiFi network. It’s true that you could get this working remotely with some VPN skills, but I tried to keep this as simple and straightforward as possible.

4: This tutorial only covers the initial install. Later, I’ll show you how to add various plugins to get more out of the experience, as seen here.

5: Anyone can do this. Yes, even you. So don’t be scared, give it a shot.

6: Lastly, we want to thank Pete “Plamoni” Lamonica for creating Siri Proxy, and providing the basis for this tutorial.

How to Install Siri Proxy

Preliminary Steps

Step 1: If you have Ubuntu already installed, great! If not, that’s okay, too. If you’re on a Windows box, you can install Ubuntu outright as if it was just another program. If you’re on a Mac, you can install Ubuntu as a virtual machine using software like Parallels 7 or VMWare Fusion. In this tutorial, I use Parallels.

Step 2: Install the latest Ubuntu updates if applicable. Please see 1:00 on the video tutorial.

Step 3: If you’re using Parallels, or any other virtual machine, you will need to set the Internet connection to bridged mode so that devices on your network can interface directly with the virtual machine. Please see 4:00 on the video tutorial for more info.

Step 4: Setup Dropbox. This is an optional step, but I found it easier than anything else. You must have some way to transfer the certificate that you generate to your iPhone. You can use email if you prefer, but I decided to use DropBox.

Command Line Steps

Each of these steps can be referenced in the video, and each has an accompanying timestamp for ease of reference. Simply copy and paste each of these commands in the Terminal app, and follow any additional instructions if so indicated. Each step has a timestamp that you can reference in the video tutorial to help gather your bearings.

Command 01: Time 5:44
sudo apt-get install dnsmasq 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
Select ‘y’ to continue.

Command 02: Time 6:13
sudo nano /etc/dnsmasq.conf
Find the following line on approximately line 62: #address=/double-click.net/127.0.0.1
Directly beneath that line type: address=/guzzoni.apple.com/(your_machine's_ip_address)
Replace (your_machine’s_ip_address) with the IP address of your machine as shown in the video.
Press control+o, and then return to save. Press control+x to exit back to main terminal prompt.

Command 03: Time 7:42
sudo /etc/init.d/dnsmasq restart
Command 04: Time 7:55
bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
Command 05: Time 8:20
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
Command 06: Time 8:33
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
Command 07: Time 8:47
rvm install 1.9.3
This command takes some time to execute. Be patient, especially on the compiling portion.

Command 08: Time 9:22
rvm use 1.9.3 --default
Command 09: Time 9:32
git clone git://github.com/plamoni/SiriProxy.git
Command 10: Time 9:49
cd SiriProxy
Select 'y' to continue.

Command 11: Time 10:06
rake install
Command 12: Time 10:21
mkdir ~/.siriproxy
Command 13: Time 10:31
cp ./config.example.yml ~/.siriproxy/config.yml
Command 14: Time 10:43
siriproxy gencerts
Command 15: Time 11:04
siriproxy bundle
Command 16: Time 11:23
rvmsudo siriproxy server
This command starts your Siri Proxy Server. It should say "Starting SiriProxy on port 443.."

Setting up the iPhone 4S

Step 1: First you need to grab the certificate we generated in Command 14 above, and install it on your iPhone 4S. You can use Dropbox or Email to transfer this to your iPhone 4S. See the video at 11:40 for more details on this.

The certificate is located at ~/.siriproxy/ca.pem so you will have to view hidden files in order to see this file. Once the certificate is on your iPhone, select install as shown at 12:44 in the video tutorial.

Step 2: In your iPhone 4S's WiFi Settings, select the blue arrow icon next to your active WiFi connection. Remember, you must be connected to the same local network as the Siri Proxy running on your computer. Tap on the DNS section, and edit the DNS entry to point to the IP address of your Siri Proxy server. See the video at 12:59 for more details.

Step 3: Test Siri! Invoke Siri (hold home button on your iPhone 4S) and say "Test Siri Proxy". Siri should respond with: "Siri Proxy is up and running!" You'll also see the terminal window display all of your SpeechPackets from your conversation with Siri.

And that's a wrap folks. I know that seems like a lot of steps, but you can honestly have it running in less than an hour. This is just the beginning though. We now need to get Siri Proxy plugins installed so we can start to reap the benefits of this powerful tool. Stay tuned, we'll be back with tutorials on how to install Siri Proxy Plugins in the near future.

Were you able to get your Siri Proxy running? Let us know in the comments below.

UPDATE: If you're getting an error that says siriproxy: No such file or directory Make sure you are in the right directory. To change directories use the cd command. e.g. CD SiriProxy. If you restart Ubuntu, or go into another directory, you will not be in the same directory that contains SiriProxy.

  • Share:
  • Follow:
  • ace ash

    What version

  • ace ash

    Which version of Ubuntu do we need if we are on windows

  • http://www.facebook.com/K1ngS1ngh Harman Singh Birring

    how do you start the server again if you accidentally close out of the terminal window?

  • Rayyan Memon

    When i turn siri on it shows on the terminal window that the plugins were loaded but nothing happens after that and siri stops working.

  • http://www.facebook.com/profile.php?id=100000870985036 Semih Yildiz

    on ipad ???

  • http://twitter.com/HutchingsDaniel Daniel Hutchings

    For some reason my command 3 has an error

    Restarting DNS forwarder and DHCP server dnsmasq
    dnsmasq: failed to create listening socket for port 53: Address already in use
    [fail]

    Any help to why?

    • http://twitter.com/TylerTheWarner tyler warner

      same problem

      • http://twitter.com/DeAuthThis DeAuthThis

        apt-get remove bind9
        Then restart dnsmasq again

  • Burak M. Çapraz

    hi it’s a problem at command 3:
    dnsmasq: failed to create listening socket for port 53: Address already in use
    [fail]

    • http://twitter.com/nielskorte Niels Korte

      im having the same problem found a way to fix it?

  • Anonymous

    Did the whole thing, no problems until the end, managed to install the ca.pem file onto my iphone and changed my wifi settings and dns stuff, the terminal on ubuntu says starting siri on port 443 so i can’t see whats wrong.

    But when I try and test the siri proxy my iphone, it just tells me it doesn’t understand what “siri proxy” is.

    I’m in england if that makes a difference.

  • Anonymous

    Did the whole thing, no problems until the end, managed to install the ca.pem file onto my iphone and changed my wifi settings and dns stuff, the terminal on ubuntu says starting siri on port 443 so i can’t see whats wrong.

    But when I try and test the siri proxy my iphone, it just tells me it doesn’t understand what “siri proxy” is.

    I’m in england if that makes a difference.

  • http://twitter.com/nielskorte Niels Korte

    Im getting an fail at step 3 (sudo /etc/init.d/dnsmasq restart) how can i fix it?

  • http://twitter.com/nielskorte Niels Korte

    Im getting an fail at step 3 how can i fix it?

  • http://twitter.com/nielskorte Niels Korte

    im getting a fail message instead of an ok message at step 3 it says: failed to create listening socket for port 53: Address is already in usage how can i fix it?

  • yiqiao zhao

    Hi Jeff
    I followed your steps but when I tried to set up bridge network the Ubuntu always said connecting to the wifi,and it can not connect to wifi at all! What should I do

  • http://www.facebook.com/profile.php?id=100000385606178 Isaak Liu

    I got some problem on command 11….I already change command 9, but I still cannot do rake install…..why, it just say “config.yml not found Copy config.example.yml to config.yml, then modify it.”….what should I do?

  • diegomoralescgu

    When I paste the first command nothing happens, why is this and how can i fix it

  • http://www.facebook.com/jorge.doodasilva Jorge Do O’Da Silva

    Hey whats up was watching the video and all. But one thing came to me, it may sound stupid, but do I need to keep my pc running in order for the proxy to work?

  • http://www.facebook.com/brian.corkins.5 Brian Corkins

    does this instal still work? many commands lead to errors

  • http://profile.yahoo.com/5L7X3MTTLZ46GIEWCHZDA6QNZM Liel jakob

    hi everybody, i need help gettingthis error on step 3
    dnsmasq: failed to create listening socket for port 53: Address already in use
    [fail]

    thanks

  • http://www.facebook.com/people/Anthony-Agatiello/100000199791781 Anthony Agatiello

    Hey..First I’d like to say I love the tutorial – its very straight forward. The 1st problem I had was on command number 11 – rake install. It looks MUCH different than the one in the video. It just gives me a BUNCH of text lines…I don’t get any errors, though, so is that OK? And then , command 14 – the certificates. After I copy/paste it, it says this back at me: siriproxy: command not found

    What do I have to do to make that work, because after that, no other commands work. Any help would be appreciated!

    • http://www.facebook.com/brian.corkins.5 Brian Corkins

      I have the same problems with rake install and siriproxy command lines

  • Rayyan Memon

    do u need to port forward

  • Cody Meade

    How do I fix or modify the config.yml.
    cody@ubuntu:~/SiriProxy$ rake install
    config.yml not found. Copy config.example.yml to config.yml, then modify it.

  • http://www.facebook.com/connor.hogue Connor Hogue

    When I get to step 13, it says siriproxy: command not found. Any ideas?

  • http://www.facebook.com/connor.hogue Connor Hogue

    Whenever I get to step 14, it says, siriproxy: command not found. Any ideas?

  • http://www.facebook.com/neon.max.948 Neon Max

    i dont know why but the command rmv install does like this :Installing Ruby from source to: /home/max/.rvm/rubies/ruby-1.9.3-p194, this may take a while
    depending on your cpu(s)…

    ruby-1.9.3-p194 – #fetching
    ruby-1.9.3-p194 – #extracting ruby-1.9.3-p194 to /home/max/.rvm/src/ruby-1.9.3-p194
    Error running ‘tar xjf /home/max/.rvm/archives/ruby-1.9.3-p194.tar.bz2 -C /home/max/.rvm/tmp/rvm_src_5486 –no-same-owner’, please read /home/max/.rvm/log/ruby-1.9.3-p194/extract.log
    There has been an error while trying to extract the source.
    Halting the installation.
    There has been an error fetching the ruby interpreter. Halting the installation.

  • http://www.facebook.com/daveruvolo David Ruvolo

    in /SiriProxy$ directory. command 14 gives error “siriproxy: command not found”. this file isn’t in this directory but it is in /SiriProxy$/bin. tried it there as well. still no luck. any advise?

  • ram

    will the computer have to be on for this to work or will the server still work if the computer is not on?

  • http://twitter.com/SawyerGavin Gavin Sawyer

    yay fixed! although i started siri proxy and its taking a while… I’m beginning to think its frozen :O

  • Cody

    -

  • Noah

    Run these 4 lines:
    Line 1:
    [[ -s “$HOME/.rvm/scripts/rvm” ]] && . “$HOME/.rvm/scripts/rvm”
    Line 2:
    echo ‘[[ -s “$HOME/.rvm/scripts/rvm” ]] && . “$HOME/.rvm/scripts/rvm” # Load RVM function’ >> ~/.bash_profile
    Line 3:
    cd SiriProxy
    Line 4:
    rvmsudo siriproxy server

  • JahzWolf

    i set this up and the proxy says it is running a telnet to the address yields a connection and a response in the terminal session that is running.. but the phone does not connect to that port.. it is connecting to the dns address as it will do lookups, and when i hit it with the safari browser i see responses in the window but siri some how is by passing it

  • JahzWolf

    I got the proxy to see the speech packets by using fully qualified name in the dnsmasq.conf file .. but it crashes then apparently siri bypassed this and still made it’s connection thru another address as siri started to work again, but not thru the proxy.. PING nk31p01sa.guzzoni-apple.com.akadns.net (17.151.228.4):

  • http://www.facebook.com/Ninja.Hoddie Ryan Joseph

    how come i cant rake install

  • http://www.facebook.com/bob8490 Bob Smetana

    AFTER COMMAND 6, you need to run “source /etc/profile.d/rvm.sh” before you can use the rvm command. Otherwise, you will get “No command ‘rvm’ found…” error. Hope that helps some of you!

  • Bill Dani

    Should i have a Jailbroken iPhone?

  • Mustafa abdul qadir

    what about the proxy host

  • Freddy Vaca

    Hi,

    I have problem downloading some of the packages:
    Err http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libxml2-dev amd64 2.7.8.dfsg-5.1ubuntu4.1

    404 Not Found [IP: 91.189.91.13 80]

    Err http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libxslt1-dev amd64 1.1.26-8ubuntu1.1

    404 Not Found [IP: 91.189.91.13 80]

    Err http://security.ubuntu.com/ubuntu/ precise-security/main libxml2-dev amd64 2.7.8.dfsg-5.1ubuntu4.1

    404 Not Found [IP: 91.189.91.13 80]

    Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/libx/libxml2/libxml2-dev_2.7.8.dfsg-5.1ubuntu4.1_amd64.deb 404 Not Found [IP: 91.189.91.13 80]

    Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/libx/libxslt/libxslt1-dev_1.1.26-8ubuntu1.1_amd64.deb 404 Not Found [IP: 91.189.91.13 80]

    E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?

  • Thomas

    i need some help..

    SiriProxy$ rvmsudo siriproxy server
    Warning: can not check `/etc/sudoers` for `secure_path`, falling back to call via `/usr/bin/env`, this breaks rules from `/etc/sudoers`. export rvmsudo_secure_path=1 to avoid the warning.

  • pav

    Why do i get this, I installed everything as said…

    pav@pav-VirtualBox:~/SiriProxy$ rvmsudo siriproxy server Warning: can not check `/etc/sudoers` for `secure_path`, falling back to call via `/usr/bin/env`, this breaks rules from `/etc/sudoers`. export rvmsudo_secure_path=1 to avoid the warning.Starting SiriProxy on 0.0.0.0:443.. SiriProxy up and run

  • Denise

    Hello can someone pls help me with understanding why I can’t get passed command 2. It just goes there and does nothing? I don’t know what to do. Have reverted back to snapshot and still nothing

  • savi13

    Stuck on command number 4. Someone please help!. After hitting return this shows up:

    Downloading RVM from wayneeseguin branch master

    % Total % Received % Xferd Average Speed Time Time Time Current

    Dload Upload Total Spent Left Speed

    100 124 100 124 0 0 327 0 –:–:– –:–:– –:–:– 506

    0 0 0 10 0 0 9 0 –:–:– 0:00:01 –:–:– 89

    gzip: stdin: not in gzip format

    tar: Child returned status 1

    tar: Error is not recoverable: exiting now

    Could not extract RVM sources.

  • Ralph

    When will it work on iphone5?

  • David

    I got a “command not found” for Command 14, 15 and 16 any idea why and how I might fix this? Thanks!

    Command 14: Time 10:43
    siriproxy gencerts
    Command 15: Time 11:04
    siriproxy bundle
    Command 16: Time 11:23
    rvmsudo siriproxy server
    This command starts your Siri Proxy Server. It should say “Starting SiriProxy on port 443..”

  • David

    Oops! Just saw your update. Sorry about that. I’ll give your suggestion a try first.

  • http://www.facebook.com/josh.venegas.9 Josh Venegas

    I get stuck on step 7. it says:

    Searching for binary rubies, this might take some time.
    Installing requirements for ubuntu, might require sudo password.
    Running ‘apt-get –quiet –yes update’ would require sudo.
    Cowardly refusing to continue, please read ‘rvm autolibs’.
    Updating repositories
    Missing required packages: libgdbm-dev, libffi-dev.
    Cowardly refusing to continue, please read ‘rvm autolibs’.

    and on step 6 it says:

    * Restarting DNS forwarder and DHCP server dnsmasq
    dnsmasq: failed to create listening socket for port 53: Address already in use
    [fail]

    ALSO when i click on bridged network all i see is:

    default adapter
    ethernet
    airport
    p2p0
    ethernet adapter (en4)
    ethernet adapter (en3)
    vnic0
    vnic1

    (no “wifi”… so i just connected to airport) Help Please! thank you in advance.

  • Demian

    i have some problems with step # 7,
    terminal says:
    Searching for binary rubies, this might take some time.
    No binary rubies available for: ubuntu/11.04/i386/ruby-1.9.3-p392.
    Continuing with compilation. Please read ‘rvm mount’ to get more information on binary rubies.
    Installing requirements for ubuntu, might require sudo password.
    Running ‘apt-get –quiet –yes update’ would require sudo.
    Cowardly refusing to continue, your mode is ‘2’ => check and fail,
    please run and read ‘rvm autolibs [help]’ for more information.
    Updating repositories
    Missing required packages: libgdbm-dev, libffi-dev.
    Cowardly refusing to continue, your mode is ‘2’ => check and fail,
    please run and read ‘rvm autolibs [help]’ for more information.

    Help me please…

  • http://www.facebook.com/david.aslan.3 David Aslan

    Thank you for this amazing tutorial! It’s been 2 years though…is there any chance of an iPhone 5 SiriProxy at this moment?

  • Andrew

    it wil not let me continue on command 1 but will not let me continue with out a password. any help?

  • JOrge

    I cant install, show this message

    rake aborted!
    Couldn’t install gem, run `gem install /home/eddy/SiriProxy/pkg/siriproxy-0.5.4.gem’ for more detailed output
    /home/eddy/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:70:in `install_gem’
    /home/eddy/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:45:in `block in install’
    /home/eddy/.rvm/gems/ruby-1.9.3-p448@global/bin/ruby_executable_hooks:15:in `eval’
    /home/eddy/.rvm/gems/ruby-1.9.3-p448@global/bin/ruby_executable_hooks:15:in `’
    Tasks: TOP => install
    (See full trace by running task with –trace)

  • Guest

    thanks for this half ass tutorial.

  • PauloCastilhoMC

    I did this to the last point, but once I started the server, I realised I had picked the wrong IP, so I closed the terminal (Ignoring the “doing something” window) and redid Command 02. After that, I did cd SiriProxy and then rvmsudo SiriProxy server. And guess what?
    “sudo: siriproxy: command not found”.
    Does anyone know what’s wrong? I redid all the steps again and it still won’t work again!