How control iTunes with Siri

By : Mario Dabek posted on November 22, 2011

Update 3 : RSS Plugin that i wrote to read engadet’s feed :)

Update 2 : Working on putting a plugin together to change channels on my tuner using Siri, will be first siri powered tv :O

Update 1 : I’m currently coding a iTunes control plugin to control my iMacs iTunes using Siri check out the a little progress video

Hey everyone, news on custom Siri commands has been flying around twitter and it makes me very excited ! I think about all the possibilities  that this opens to this ‘Personal Assistant’, called Siri. Think about we we could have it run my bath, or dim my lights, or start my car, whatever the possibilities are endless.

I’ve been following this SiriProxy topic on twitter for the last week and finally seen a partial guide go up on the gitHub website. Its kinda in pieces here and there and does supply a few videos, but i did get it installed in just under 30 minutes. I believe some key steps are missing so i’ll try to dumb down the commands step by step in terminal to get everything up and running for you.

You will need an iPhone 4S to send the commands from and a Mac to run the SiriProxy. I am testing this connected to my local network using my iPhone 4S, so i’m connected to my home wifi with internet on it not to my mac. I just go in and configure a static dns on my wifi settings. settings->wifi->and under the connection. So my mac is and my router is, this allows me to connect my iPhone to regular siri commands as well as commands from SiriProxy and still maintain all internet connectivity through wifi.

Should look something like this :

Step 1.

Download and extract this file, we’ll extract to lets say /Users/jbpc/SiriProxy, and configure your iPhone with the above settings. DNS pointed to your MAC ip and rest can just be regular what you had before.

Step 2.

Create the certificates needed for both your iPhone and for the SiriProxy.

start terminal (search in spotlight for ‘terminal’) and type each line by line

- cd /SiriProxy or whatever folder you extracted to

/System/Library/OpenSSL/misc/ -newca <hit enter>

- <hit enter>

- it will ask you to put in a password type in : hello <hit enter>

- it will ask for country name just <hit enter>

- it will ask for state name just <hit enter>

- it will ask for common name, put in ‘My Fake CA‘ without the quotes and <hit enter>

/System/Library/OpenSSL/misc/ -newreq

- it will ask you to put in a password type in : hello <hit enter>

- it will ask for country name just <hit enter>

- it will ask for state name just <hit enter>

- it will ask for common name, put in ‘‘ without the quotes and <hit enter>

- /System/Library/OpenSSL/misc/ -sign

- enter the password ‘hello’ <hit enter>

- type “y” in response to each prompt then <hit enter>

openssl rsa -in newkey.pem -out server.passless.key <hit enter>

- enter the password ‘hello’ <hit enter>

mv newcert.pem server.passless.crt <hit enter>

- mv server.passless.* /Users/jbpc/SiriProxy

Ok we’re done in terminal you can now close it.

We now have the certificate installed in the SiriProxy folder and next we’ll browse to the /User/jbpc/SiriProxy/demoCA folder and email cacert.pem as an attachment to my iPhone

Once you receive the file on your iPhone, click to open it and click install, and ignore the warning.

Step 3.

Install and configure DNSMasq, to route the requires for to the computer running the proxy.

Here is how we do this.

- first we download ports from here if you don’t have it installed already, download for lion or snow leopard and install the package.

- next restart your terminal app so you can start using ports, i couldn’t use it until i restarted terminal.

- start terminal and type sudo port install dnsmasq

- you will get prompted to put in your SuperUser (SU) password, if you don’t have this account enabled on your mac just google it, takes a couple of minutes

- once you have dnsmasq installed, don’t start it yet, we need to edit /opt/local/etc/dnsmasq.conf, use any editor to open the file, browse down below line 62 and add in the following line right below #address=/

address=/ mac ip here

then save the file

now we can start dnsmasq, to do this go back to terminal and type sudo port load dnsmasq <hit enter> then type in your SU password and <hit enter>

dnsmasq load should now be running.

Step 4.

You need to install ruby gems, here is how i got them install, probably not the most efficient way but definitely the quickest, head back to terminal and do the following commands

gem install –remote httparty <hit enter>

gem install –remote open-uri <hit enter> might get an error so just ignore on this one

gem install –remote json <hit enter>

gem install –remote CFPropertyList <hit enter>

gem install –remote uuidtools <hit enter>

gem install –remote eventmachine <hit enter>

gem install –remote twitter <hit enter>

All done, time to test.

Lets browse back over to our SiriProxy directory,

cd /Users/jbpc/SiriProxy

and lets fire this bad boy up

sudo ruby start.rb

Now fire up siri and say “Test Siri proxy.” If configured correctly you should here “Siri Proxy up and running!”


About this Author
Mario Dabek
Mario Dabek is a technology journalist residing in Ontario, Canada. Covering everything from the latest Apple & Jailbreak news, to writing step by step jailbreak tutorials. Some key contributions include the world famous "Jailbreak Chart" as well as the "100 Reasons to Jailbreak" Video.