SiriProxy on Raspberry Pi is a SD card image with SiriProxy pre-installed. It does not require a jailbreak, nor do I endorse doing so.
First, you need to purchase a Raspberry Pi Model B from Newark/Element-14 or through thru another reputable distributor in your area.
Second, you will need a few accessories to provide power, Ethernet, HDMI connection, and a USB keyboard/mouse. Most you may already have on hand. The HDMI and USB keyboard/mouse are temporary if you intend to eventually run your RPi as a headless system. Please check the RPi verified peripherals page to confirm your keyboard compatibility or before purchasing a new one.
Third, you will need a SD card greater than 4GB to install the SiriProxy on Raspberry Pi SD image. Check the SD card compatibility page first. NOTE: An image created from a SD card from one manufacturer may not fit on a SD card of the same size from another manufacturer. If you receive an error such as end of device this is an indication the image did not write completely and you may need a larger SD card.
Lastly, I kindly ask for a small donation of $1 USD to help cover the cost of the hardware, and for my time configuring, testing, and updating the SD card image.
Thank you, in advance.
SiriProxy is a proxy server that allows one to add custom functionality to Siri from simple custom responses to executing custom programs. There is a large list of plugins that you can add to SiriProxy, or customize to create you own plugins.
I am using SiriProxy for voice control of my home automation system. All my plugins are on my GitHub page
These instructions assume the user has some basic Linux command line, editor, and networking knowledge. If you are new to Linux, download the Debian command line reference card. These instructions will help guide you through the minimal steps to get SiriProxy working. If you are still having some trouble, I highly recommend you ask a friend who can help.
There are a few steps particular to your network configuration that cannot be pre-configured on the SD card image. Method A
assumes you have a router running the open source firmware DD-WRT. Method B
is an alternate way, but it requires a little more manual steps on your part.
dpkg-reconfigure tzdata
dpkg-reconfigure locales
dpkg-reconfigure keyboard-configuration
/etc/network/interfaces
file to use a static IP address.sh /etc/init.d/networking restart
or reboot
/etc/resolv.conf
to use Google public DNS servers.address=/guzzoni.apple.com/###.###.###.###
-d ###.###.###.###
option when starting SiriProxy-d ###.###.###.###
option when starting SiriProxy
siriproxy gencerts
/root/.siriproxy/ca.pem
file and install on your iOS device.siriproxy server -d ###.###.###.###
Test Siri Proxy
Q. How frequently will you update the image?
A. I will update the image when there are a significant number of updates or improvements that make it easier for people to get started.
Q. Why did you install SiriProxy as root?
A. Having successfully installed SiriProxy on a number of Linux distributions and ARM embedded devices, I have found I get the least number or errors and permission problems installing and running everything as root.
Q. Can you create a custom SD Card image?
A. I wish I had enough free time and energy to help everyone, but my day job keeps me fairly busy, not to mention time with family and friends. If it is something you think will help make it easier for everyone, send me your suggestion and I will consider it for the next update.
Q. My RPi is not...
A. Check the RPi troubleshooting page: http://elinux.org/R-Pi_Troubleshooting
Q. SiriProxy is not...
A. Make sure you have completed the few steps to configure your RPi and iOS device, and read the following for possible solutions.
Q. How do I add plugins?
A. It depends on a number of factors: SP installed as root or user, SP installed as gem or cloned, and the instructions for the particular plugin. There are also a number of ways to add plugins. For this SD card image, everything is installed as root and SiriProxy is installed as a Ruby gem, thus you will need to do the following:
git: 'git://github.com/...
to the config.yml
file, simply add the plugin specifics to the /root/.siriproxy/config.yml
file.path: './plugins/...
to the config.yml
file, there are a couple of ways to do this:/root/.siriproxy/config.yml
file, clone/download the plugin repo, and copy to or create a symbolic link in the /usr/local/rvm/gems/ruby-2.0.0-p#/gems/siriproxy-0.5.#/plugins/
directory. Note: Replace #'s as appropriate, and make sure to name the plugin directory or symbolic link the same as specified in the config.yml
file. /root/plugins
directory, optionally create symbolic links in the /root/plugins/
directory, then explicitly define the entire path in the config.yml
file. Note: This may break some plugins that use a file path for other cached or configuration files. You may need to tweak those plugins to look for those files in the appropriate directory. siriproxy bundle
and launch SiriProxy again. Q. My SiriProxy plugins are crashing! What do I do?
A. The image is tested with the example plugin included with SiriProxy. Google is a programmers best friend to find solutions to problems. If you have exhausted all other resources, you can always post your problem on any number of forums which specialize in Ruby programming.
Q. How do I make SiriProxy run upon boot?
A. You should only do this when you have a stable configuration, but you can add my init.d script to the /etc/init.d
directory, run chmod a+x siriproxy
to add execute permissions, run update-rc.d siriproxy defaults
command, then reboot. Note: Type ps -ef | grep -i siriproxy
to confirm the daemon is running. Use kill ####
to stop the daemon and manually launch SiriProxy when you want to see the output messages when testing your plugins.
Q. How do I access SiriProxy from outside my local WiFi network?
A. You need to setup a VPN server on your network and configure your device to route all traffic through the VPN connection.
SourgeForge is a U.S. based hosting company which hosted software using encryption is subject to US export controls. While I am not a lawyer, having followed the information and guides available from the U.S. Department of Commerce - Bureau of Industry and Security, SiriProxy on Raspberry Pi is self certified as ECCN 5D002 and License Exception TSU 740.13(e). Source code for SiriProxy and Linux in general are publicly available and open source software, therefore no license is required for export or re-export, but notification of this URL has been submitted to the Bureau of Industry and Security in accordance with License Exception TSU 740.13(e).
According to SourceForge Terms of Use access from users residing in countries on the United States Office of Foreign Assets Control sanction list, including Cuba, Iran, North Korea, Sudan and Syria is already blocked.
All software and source code included in this image is publicly available and open source, that are protected by respective copyrights, trademarks, and license agreements.