Skip to content

Instantly share code, notes, and snippets.

@plamoni
Created December 3, 2011 23:19
  • Star 17 You must be signed in to star a gist
  • Fork 11 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save plamoni/1428474 to your computer and use it in GitHub Desktop.
Line by line input for how I got SiriProxy running on a fresh install of Ubuntu 11.10
#Here's what I did to get to the point where I'm at:
#-Install Ubuntu 11.10
#-Get all available updates
#-Add the VirtualBox add-ons and video driver
#-Set up SSH (for the SCP at the end)
#
# I have done nothing else to this virtual machine.
# On my iPhone, I set the DNS server to 192.168.2.131 (the IP of the virtual machine)
#
# That's all the pre-setup that was done on the iPhone (the certificate is installed as part of the process)
# Here are the exact steps steps I followed:
#Install all the prerequisites
sudo apt-get install dnsmasq ruby build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
#edit the dnsmasq conf
sudo vi /etc/dnsmasq.conf
# Keystrokes in vi:
# /address=
# A <enter> address=/guzzoni.apple.com/192.168.2.131 <--This is the IP of the VM
# <esc> :wq!
#Restart dnsmasq
sudo /etc/init.d/dnsmasq restart
#Install RVM
bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
#Set RVM path
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
#Set the RVM path to be set up every time I log in
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # 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
#Install SiriProxy -- Can take a minute or two
rake install
#Make the .siriproxy directory in my home directory
mkdir ~/.siriproxy
#Copy the example config
cp ./config.example.yml ~/.siriproxy/config.yml
#Generate the certificates
siriproxy gencerts
#Install the certificate on the phone.
# The way I do it in the video is through dropbox on my host machine.
# You can email the certificate to yourself, or whatever floats your boat.
# Here's the SCP command I use in the video. It's probably 100% worthless to anyone else
#
# scp 192.168.2.131:~/.siriproxy/ca.pem ~/Dropbox/Public/siri.vm.pem
#Bundle SiriProxy (this installs the plugins and whatnot)
siriproxy bundle
#Start the server
rvmsudo siriproxy server
@xerothermic
Copy link

On debian (sid), line 34 and 37 should be "/etc/profile.d/rvm.sh"

@ddgiants
Copy link

I followed this since I use OpenSuse and worked like a charm. Only issue was I am running port 443 so it failed but once I shutdown apache GOLDEN!!!

http://www.ketchup-mayo-senf.de/blog/-it-howto-siri-fully-working-with-your-own-siriproxy-for-iphone-4-iphone-3gs-ipod-ipad#comment-1245

@andresdouglas
Copy link

Will this work as an spire proxy?

@ddgiants
Copy link

ddgiants commented Jan 26, 2012 via email

@evovtech
Copy link

I'm having issues on "/usr/bin/env: siriproxy: No such file or directory".

I start fresh using Virtual Box on PC with Ubuntu 11.10. I follow all the commands as per your instructions.
. All commands are OK, but after I enter "rvmsudo siriproxy server", an error msg appear "/usr/bin/env: siriproxy: No such file or directory".

Please help. Thanks.

@xerothermic
Copy link

xerothermic commented Jan 27, 2012 via email

@evovtech
Copy link

@xerothermic.

How should I run the rvmsudo siriproxy server? On the /usr/local/bin?

Please show me how to do it. Thanks in advance.

@evovtech
Copy link

@xerothermic

I try it but here are the results.

sps@sps-box:/usr/local/bin$ rvmsudo siriproxy server
[sudo] password for sps:
/usr/bin/env: siriproxy: No such file or directory
sps@sps-box:/usr/local/bin$

@ahbd
Copy link

ahbd commented Jan 29, 2012

I did all the process using my mac with Unbuntu and Parallels and spire. at the end I use the same DNS from Unbuntu. I try to use the DNS alone, does not work and I don't have web access. If I put the both DNS, I have Web Access and still dont have a Siri working. I have to keep the computer with unbuntu and virtual machine always on? Please help me

@zhshwolf
Copy link

zhshwolf commented Feb 3, 2012

I followed all of this,but when i speak to siri,it said:"sorry...etc" to me
why?

here is the server info.:
Create server for iPhone connection
start conn #<SiriProxy::Connection::Iphone:0xa63eb74 @Signature=6, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#Zlib::Inflate:0xa63eaac, @zip_stream=#Zlib::Deflate:0xa63ea98, @consumed_ace=false, @name="iPhone", @ssled=false>
[Info - Plugin Manager] Plugins laoded: [#<SiriProxy::Plugin::Example:0xa63e304 @manager=#<SiriProxy::PluginManager:0xa63e868 @plugins=[...]>>]

@kosh88
Copy link

kosh88 commented Feb 3, 2012

i have the same thing with zhshwolf!! in terminal on the final step with the test is getting in Create server for iPhone connection loop..

any ideas??

thanks

@elvisimprsntr
Copy link

Pete, I created instructions for how to get SiriProxy running on a Marvell plug computer. You might want to add to SiriProxy page.

https://gist.github.com/3889896

Thanks,

Elvis

@elvisimprsntr
Copy link

@plamoni

I created a new wiki page for installation how tos.

https://github.com/plamoni/SiriProxy/wiki/Installation-How-Tos

@maciekish
Copy link

You missed rake in the packages to install in the beginning. Was not present on my ubuntu server.

@maciekish
Copy link

Also ruby-bundler

@lucamozza
Copy link

I installed it, but when i ask siri for something it doesn't work...
In terminal window:
Create server for iPhone connection
start conn #<SiriProxy::Connection::Iphone:0x94ce934 @Signature=3, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#Zlib::Inflate:0x94ce858, @zip_stream=#Zlib::Deflate:0x94ce81c, @consumed_ace=false, @name="iPhone", @ssled=false>
[Info - Plugin Manager] Plugins laoded: [#<SiriProxy::Plugin::Example:0x9bd34dc @manager=#<SiriProxy::PluginManager:0x94ce420 @plugins=[...]>>]
Create server for iPhone connection
start conn #<SiriProxy::Connection::Iphone:0x9bd32e8 @Signature=5, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#Zlib::Inflate:0x9bd3040, @zip_stream=#Zlib::Deflate:0x9bd3004, @consumed_ace=false, @name="iPhone", @ssled=false>
[Info - Plugin Manager] Plugins laoded: [#<SiriProxy::Plugin::Example:0x9bd244c @manager=#<SiriProxy::PluginManager:0x9bd2974 @plugins=[...]>>]
Create server for iPhone connection
start conn #<SiriProxy::Connection::Iphone:0x9bd21a4 @Signature=7, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#Zlib::Inflate:0x9bd20a0, @zip_stream=#Zlib::Deflate:0x9bd208c, @consumed_ace=false, @name="iPhone", @ssled=false>
[Info - Plugin Manager] Plugins laoded: [#<SiriProxy::Plugin::Example:0x9bd1ab0 @manager=#<SiriProxy::PluginManager:0x9bd1e20 @plugins=[...]>>]
[Info - iPhone] Received Object: LoadAssistant
/home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbBinaryCFPropertyList.rb:217:in encode': "\x8E" on UTF-8 (Encoding::InvalidByteSequenceError) from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbBinaryCFPropertyList.rb:217:incharset_convert'
from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbBinaryCFPropertyList.rb:442:in string_to_binary' from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbCFTypes.rb:48:into_binary'
from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbBinaryCFPropertyList.rb:550:in block in dict_to_binary' from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbBinaryCFPropertyList.rb:550:inmap'
from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbBinaryCFPropertyList.rb:550:in dict_to_binary' from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbCFTypes.rb:243:into_binary'
from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbBinaryCFPropertyList.rb:550:in block in dict_to_binary' from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbBinaryCFPropertyList.rb:550:inmap'
from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbBinaryCFPropertyList.rb:550:in dict_to_binary' from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbCFTypes.rb:243:into_binary'
from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbBinaryCFPropertyList.rb:70:in to_str' from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbCFPropertyList.rb:363:into_str'
from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/CFPropertyList-2.2.0/lib/rbCFPropertyList.rb:398:in to_plist' from /home/luca/SiriProxy/lib/siriproxy/connection.rb:150:ininject_object_to_output_stream'
from /home/luca/SiriProxy/lib/siriproxy/connection.rb:90:in process_compressed_data' from /home/luca/SiriProxy/lib/siriproxy/connection.rb:58:inreceive_binary_data'
from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/eventmachine-1.0.0/lib/em/protocols/linetext2.rb:94:in receive_data' from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:inrun_machine'
from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in run' from /home/luca/SiriProxy/lib/siriproxy.rb:16:ininitialize'
from /home/luca/SiriProxy/lib/siriproxy/command_line.rb:96:in new' from /home/luca/SiriProxy/lib/siriproxy/command_line.rb:96:instart_server'
from /home/luca/SiriProxy/lib/siriproxy/command_line.rb:85:in run_server' from /home/luca/SiriProxy/lib/siriproxy/command_line.rb:37:ininitialize'
from /home/luca/SiriProxy/bin/siriproxy:6:in new' from /home/luca/SiriProxy/bin/siriproxy:6:in<top (required)>'
from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/bin/siriproxy:19:in load' from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/bin/siriproxy:19:in

'
from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/bin/ruby_noexec_wrapper:14:in eval' from /home/luca/.rvm/gems/ruby-1.9.3-p362@SiriProxy/bin/ruby_noexec_wrapper:14:in'

Does it work only in English or also in other languages?
How can I fix it?
Thanks
Luca

@nonlinearmind
Copy link

Does this not work with the iPhone 5? I have the server up and running, certificate on my phone, but my phone isn't connecting through it.

@Zalgo2462
Copy link

Issues I had while installing:
A.) Accidentally did a multi-user install of rvm by being root while installing
->ended up installing to /usr/local/rvm
B.) Had issues using bash_profile, used bashrc instead
C.) I had to copy over the config file and create the directory before making the project

I ended up using the instructions here for installing and dealing with rvm: https://rvm.io/rvm/install/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment