1. Update the system
apt-get update
apt-get dist-upgrade
apt-get autoremove

  1. Set the ROOT password from the user account
sudo passwd

deluser

apt-get install samba samba-common-bin ssh vim rcs unzip -y

apt-get install apache2 -y


vim /etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.0.23
netmask 255.255.255.0
broadcast 192.168.0.255
network 192.168.0.254
gateway 192.168.0.254
  1. Reboot the RPi
reboot
  1. On the RPi change the /etc/resolv.conf to use external DNS servers to break the circular Apple Siri server DNS re-direct.
  2. NOTE: Comment out NAMESERVER entires from your ISP or router internal IP address.
vim /etc/resolv.conf
  1. Google public DNS servers
nameserver 8.8.8.8
nameserver 8.8.4.4
  1. Level3 public DNS servers - less hops and shorter ping times
nameserver 209.244.0.3
nameserver 209.244.0.4
  1. Enable SAMBA support. Tweak the Share Definition section in the /etc/samba/smb.conf file.
  2. TIP: If you enable RW access you will be able to create folders and write to the RPi from any client. Also make sure to disable GUEST access.
vim /etc/samba/smb.conf
  1. Add ROOT as a remote user.
  2. TIP: Use the same password as the root login to eliminate the need to remember another password.
smbpasswd –a root
  1. Restart SAMBA daemon:
sh /etc/init.d/samba stop
sh /etc/init.d/samba start
  1. You should now be able to access the RPi file system from any client.
  1. In lieu of running DNSMASQ on the RPi, I opted to use my router to perform a transparent DNS redirect.
  2. On a router running www.dd-wrt.com open source firmware, configure a DNS redirect from Apple Siri servers to the STATIC IP address of the RPi.
  3. NOTE: Tweak the address for your RPi STATIC IP address.
  4. Services -> Additional DNSMasq Options
  5. iOS production Siri server
address=/guzzoni.apple.com/192.168.0.23
  1. iOS beta Siri server
address=/kryten.apple.com/192.168.0.23
  1. Here are the prerequisite dependancies that need to be installed. I listed them as separate lines to make it easier to add and comment out packages.

apt-get install ruby build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config -y
  1. Install RVM - This will take awhile.
bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
  1. Set RVM path
[ -s "/etc/profile.d/rvm.sh" ] && . "/etc/profile.d/rvm.sh"
  1. Set the RVM path to be set up every time I log in
echo '[ -s "/etc/profile.d/rvm.sh" ] && . "/etc/profile.d/rvm.sh" # Load RVM function' >> ~/.bash_profile
  1. Install RUBY 1.9.3 -- This will take several minutes
rvm install 1.9.3
  1. Use RUBY 1.9.3 as the default (and current) version of ruby
rvm use 1.9.3 --default
  1. Clone the SiriProxy repo
git clone git://github.com/plamoni/SiriProxy.git
  1. Enter the SiriProxy directory
cd SiriProxy
  1. Make the .siriproxy directory in my home directory
mkdir ~/.siriproxy
  1. Copy the example config
cp ./config.example.yml ~/.siriproxy/config.yml
  1. Install SiriProxy -- Can take a minute or two
rake install
  1. Generate the certificates
siriproxy gencerts
  1. Install the certificate on the iPhone.
  2. On your *NIX machine use SCP to copy the certificate from the RPi.
  3. Open a terminal window and use the following commands.
  4. NOTE: Tweak the address for your RPi STATIC IP address.
cd ~/Downloads
scp root@192.168.69.96:/root/.siriproxy/ca.pem .
  1. Attach this file to an email account you have access to on your iPhone.
  2. On the iPhone simply tap the file and follow the prompts to install.
  1. Bundle SiriProxy (this installs the plugins and whatnot)
siriproxy bundle
bundle install
  1. Start the server
siriproxy server