- Update the system
apt-get update
apt-get dist-upgrade
apt-get autoremove
- 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
- Reboot the RPi
reboot
- On the RPi change the /etc/resolv.conf to use external DNS servers to break the circular Apple Siri server DNS re-direct.
- NOTE: Comment out NAMESERVER entires from your ISP or router internal IP address.
vim /etc/resolv.conf
- Google public DNS servers
nameserver 8.8.8.8
nameserver 8.8.4.4
- Level3 public DNS servers - less hops and shorter ping times
nameserver 209.244.0.3
nameserver 209.244.0.4
- Enable SAMBA support. Tweak the Share Definition section in the /etc/samba/smb.conf file.
- 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
- Add ROOT as a remote user.
- TIP: Use the same password as the root login to eliminate the need to remember another password.
smbpasswd –a root
- Restart SAMBA daemon:
sh /etc/init.d/samba stop
sh /etc/init.d/samba start
- You should now be able to access the RPi file system from any client.
- In lieu of running DNSMASQ on the RPi, I opted to use my router to perform a transparent DNS redirect.
- 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.
- NOTE: Tweak the address for your RPi STATIC IP address.
- Services -> Additional DNSMasq Options
- iOS production Siri server
address=/guzzoni.apple.com/192.168.0.23
- iOS beta Siri server
address=/kryten.apple.com/192.168.0.23
- 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
- Install RVM - This will take awhile.
bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
- Set RVM path
[ -s "/etc/profile.d/rvm.sh" ] && . "/etc/profile.d/rvm.sh"
- 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
- Install RUBY 1.9.3 -- This will take several minutes
rvm install 1.9.3
- Use RUBY 1.9.3 as the default (and current) version of ruby
rvm use 1.9.3 --default
- Clone the SiriProxy repo
git clone git://github.com/plamoni/SiriProxy.git
- Enter the SiriProxy directory
cd SiriProxy
- Make the .siriproxy directory in my home directory
mkdir ~/.siriproxy
- Copy the example config
cp ./config.example.yml ~/.siriproxy/config.yml
- Install SiriProxy -- Can take a minute or two
rake install
- Generate the certificates
siriproxy gencerts
- Install the certificate on the iPhone.
- On your *NIX machine use SCP to copy the certificate from the RPi.
- Open a terminal window and use the following commands.
- NOTE: Tweak the address for your RPi STATIC IP address.
cd ~/Downloads
scp root@192.168.69.96:/root/.siriproxy/ca.pem .
- Attach this file to an email account you have access to on your iPhone.
- On the iPhone simply tap the file and follow the prompts to install.
- Bundle SiriProxy (this installs the plugins and whatnot)
siriproxy bundle
bundle install
- Start the server
siriproxy server