Siri Proxy is a proxy server for Apple’s Siri “assistant.” The idea is to allow for the creation of custom handlers for different actions. This can allow developers to easily add functionality to Siri.
In this post, we show how to turn pcDuino into a SiriProxy server. We follow the instructions at https://github.com/plamoni/SiriProxy/blob/master/README.md.
Now we detail the steps:
1. Install pre-requisites:
- sudo apt-get install libxslt1.1 libxslt-dev xvfb build-essential git-core curl libyaml-dev libssl-dev
2. Download and install RVM:Download/install RVM:
- curl -L https://get.rvm.io | bash -s stable --ruby
Update .bashrc:
12 | echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrcecho 'export PATH=$HOME/.rvm/bin:$PATH' >> ~/.bashrc |
Reboot pcDuino.3. Install Ruby 2.0.0 (if you don’t have it already):
- rvm install 2.0.0
4. Set RVM to use/default to 2.0.0:
- rvm use 2.0.0 --default
Set up SiriProxy1. Install SiriProxy Gem
- $gem install siriproxy
2. Create ~/.siriproxy directory
- $mkdir ~/.siriproxy
3. Generate Certificates
- $siriproxy gencerts
4. Transfer certificate to your phone (it will be located at ~/.siriproxy/ca.pem, email it to your phone)


5. Tell your phone to use your SiriProxy server as its DNS server (under your Wifi settings)
6. Start SiriProxy (XXX.XXX.XXX.XXX should be replaced with your pcDuino’s IP address, e.g. 192.168.1.100), nobody can be replaced with any un-privileged user.
- $rvmsudo siriproxy server -d XXX.XXX.XXX.XXX -u nobody
It may complain about port 53 is used. We can use
- ubuntu@ubuntu:~$ sudo lsof -Pni
to find out which process is using port, and use ‘$kill XX //xx is the PID’ to fill the process.
If lsof is not found, we can use ‘sudo apt-get install lsof’ to install it.
7. Test that the server is running by saying “Test Siri Proxy” to your phone.
we can see the output on pcDuino:

