plamoni / SiriProxy

A (tampering) proxy server for Apple's Siri
GNU General Public License v3.0
2.12k stars 343 forks source link

Plugins loaded: Example looping #496

Closed je12 closed 11 years ago

je12 commented 11 years ago

Sorry if this is posted in the wrong place. Am getting the following output when trying to test siriproxy on a raspberrypi using the image downloaded from sourceforge and would appreciate any help.

[Info - Server] Starting SiriProxy on 0.0.0.0:443... [Info - Server] SiriProxy up and running.

{As soon as I open siri on iphone the following happens:}

[Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example

I've tried editing the settings / installing dnsmasq and editing those settings. Whether or not SiriProxy is starting on 0.0.0.0:443 or 192.168.0.2:443 (my internal IP) I get the same error. I can ping guzzoni.apple.com and get the Apple ip, not my own.

elvisimprsntr commented 11 years ago
  1. Did you apply the RubyDNS patch per the release notice page on sourceforge?
  2. Use RubyDNS or dnsmasq not both.
  3. How are you launching SiriProxy and from what account
  4. If would help of you posted all the messages beginning with the command you used.

Elvis

On Mar 25, 2013, at 14:26, je12 notifications@github.com wrote:

Sorry if this is posted in the wrong place. Am getting the following output when trying to test siriproxy on a raspberrypi using the image downloaded from sourceforge and would appreciate any help.

[Info - Server] Starting SiriProxy on 0.0.0.0:443... [Info - Server] SiriProxy up and running.

{As soon as I open siri on iphone the following happens:}

[Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example

I've tried editing the settings / installing dnsmasq and editing those settings. Whether or not SiriProxy is starting on 0.0.0.0:443 or 192.168.0.2:443 (my internal IP) I get the same error. I can ping guzzoni.apple.com and get the Apple ip, not my own.

— Reply to this email directly or view it on GitHub.

je12 commented 11 years ago

Thanks for replying so quickly and for your help. (192.168.0.69 is now my static IP)

1) I have applied the RubyDNS patch (editing line 56) and then ran siriproxy bundle.

2) I've now uninstalled dnsmasq - the instructions on the wiki page seemed to suggest that dnsmasq could be used and configured, and when running siriproxy with dnsmasq installed, do so without adding -d xxx.xxx.x.x

3) I'm launching siriproxy over ssh, logging in as root / siriproxy by typing siriproxy server -d 192.168.0.69

4) Between 1 and 4 lines of Plugins loaded appear as soon as I open siri, the rest appear inconsistently between opening siri and the phone telling me "I'm really sorry about this, but I can't take any requests at the moment, please try again in a bit."

root@raspberrypi:/# siriproxy server -d 192.168.0.69 WARN: Unresolved specs during Gem::Specification.reset: rake (>= 0) WARN: Clearing out unresolved specs. Please report a bug if this causes problems. [Notice - Configuration] ==================== Important Configuration Notice ========================== [Notice - Configuration] '/root/.siriproxy/config.yml' not found. Using '/usr/local/rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.2/config.example.yml' [Notice - Configuration] [Notice - Configuration] Remove this message by copying '/usr/local/rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.2/config.example.yml' into '~/.siriproxy/' [Notice - Configuration] ============================================================================== [Info - Configuration] Loading plugins -- If any fail to load, run siriproxy bundle (not bundle install) to resolve. [Notice - Server] ======================= WARNING: Running as root ============================= [Notice - Server] You should use -l or the config.yml to specify and non-root user to run under [Notice - Server] Running the server as root is dangerous. [Notice - Server] ============================================================================== [Info - Server] Starting SiriProxy on 0.0.0.0:443... [Info - Server] DNS server is not running yet, waiting 1 second... [Info - Server] DNS Server started, tainting 'guzzoni.apple.com' with 192.168.0.69 [Info - Server] SiriProxy up and running. [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example [Info - Plugin Manager] Plugins loaded: Example

elvisimprsntr commented 11 years ago
  1. good
  2. yes, you can use dnsmasq in lieu of rubydns. you may receive errors upon boot until you perform: apt-get purge dnsmasq
  3. ok
  4. ok

something is causing SP or the plugin to crash and reload.
new Qs

  1. i assume you installed a ca.pem file on your phone.
  2. try copying the config.example.yml to /root/.siriproxy/config.yml (see warning message)
  3. then increase the log level in the /root/.siriproxy/config.yml file from 1 to 3.
elvisimprsntr commented 11 years ago

@ibleboss I believe you have having a completely different problem.

Warning: can not check /etc/sudoers for secure_path, falling back to call via /usr/bin/env, this breaks rules from /etc/sudoers. export rvmsudo_secure_path=1 to avoid the warning.WARN: Unresolved specs during

elvisimprsntr commented 11 years ago

when you open a session type: export rvmsudo_secure_path=1 before running siriproxy

ref: #394

elvisimprsntr commented 11 years ago

export rvmsudo_secure_path=1

elvisimprsntr commented 11 years ago

@ibleboss

  1. i assume you installed a ca.pem file on your phone.
  2. try copying the config.example.yml to /home/abrakiller/.siriproxy/config.yml (see warning message)
  3. then increase the log level in the /home/abrakiller/.siriproxy/config.yml file from 1 to 3.
elvisimprsntr commented 11 years ago

@ibleboss i suggest you do pick up some basic linux books. and refer to this http://www.debian.org/doc/user-manuals#refcard here is the command you need to type: cp /home/abrakiller/.rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.2/config.example.yml /home/abrakiller/.siriproxy/config.yml

elvisimprsntr commented 11 years ago

@ibleboss do you have a follow up question?

elvisimprsntr commented 11 years ago

@ibleboss change line 3 log_level: 3

then run siriproxy bundle

then launch siriproxy

elvisimprsntr commented 11 years ago

what model iphone are you using and is it jailbroken.

Elvis

On Mar 25, 2013, at 5:24 PM, ibleboss notifications@github.com wrote:

@elvisimprsntr in my iphone SIRI DR SERVIDOR : 192.168.0.102:443 in Wifi DNS : 192.168.0.102

— Reply to this email directly or view it on GitHub.

je12 commented 11 years ago

Thank you again for your help. I've purged dnsmasq, copied the config file and increase the log level. This is now the output I receive.

Would it be easier if I created a new thread as you now seem to be dealing with two problems from different people?

root@raspberrypi:~# siriproxy -l [3] server -d 192.168.0.69 WARN: Unresolved specs during Gem::Specification.reset: rake (>= 0) WARN: Clearing out unresolved specs. Please report a bug if this causes problems. [Info - Configuration] Loading plugins -- If any fail to load, run siriproxy bundle (not bundle install) to resolve. [Notice - Server] ======================= WARNING: Running as root ============================= [Notice - Server] You should use -l or the config.yml to specify and non-root user to run under [Notice - Server] Running the server as root is dangerous. [Notice - Server] ============================================================================== [Info - Server] Starting SiriProxy on 0.0.0.0:443... [Info - Server] DNS server is not running yet, waiting 1 second... [Info - Server] DNS Server started, tainting 'guzzoni.apple.com' with 192.168.0.69 [Info - Server] SiriProxy up and running. [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x14f09b8 @signature=5, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x14f1ca8 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x14f3da8, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x14ec488 @signature=10, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x14ec3c8 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x14ec398, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x14e5d38 @signature=11, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x14e7f28 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x14e7ef8, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x14e55a0 @signature=12, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x14e5480 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x14e53d8, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x14c5b90 @signature=19, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x14c5ad0 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x14c5aa0, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x1475070 @signature=34, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x1474f98 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x1474f68, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x144a488 @signature=41, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x144a3b0 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x144a368, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false>

elvisimprsntr commented 11 years ago

@ibleboss you are on your own. I cannot provide support for JBroken devices, but it look to me like you have a circular or multiple DNS redirects which are ping-ponging between each other. you will have to figure that out using other forums.

elvisimprsntr commented 11 years ago

@je12 same question. what model device and is it jail broken?

je12 commented 11 years ago

It's an iPhone 5, on iOS 6.1.2 (10B146) and no jailbreak. I've also now just tried it with an iPad mini, also on 6.1.2 and not jailbroken. The output from the iPad was:

root@raspberrypi:~# siriproxy -l [3] server -d 192.168.0.69 WARN: Unresolved specs during Gem::Specification.reset: rake (>= 0) WARN: Clearing out unresolved specs. Please report a bug if this causes problems. [Info - Configuration] Loading plugins -- If any fail to load, run siriproxy bundle (not bundle install) to resolve. [Notice - Server] ======================= WARNING: Running as root ============================= [Notice - Server] You should use -l or the config.yml to specify and non-root user to run under [Notice - Server] Running the server as root is dangerous. [Notice - Server] ============================================================================== [Info - Server] Starting SiriProxy on 0.0.0.0:443... [Info - Server] DNS server is not running yet, waiting 1 second... [Info - Server] DNS Server started, tainting 'guzzoni.apple.com' with 192.168.0.69 [Info - Server] SiriProxy up and running. [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x1d33c10 @signature=51, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x1d33b50 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x1d33b20, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x1d43390 @signature=56, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x1d432b8 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x1d43288, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x1d684a0 @signature=63, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x1d68368 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x1d682d8, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x1d70150 @signature=70, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x1d70090 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x1d70060, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x1d77bd8 @signature=71, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x1d77b00 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x1d77ad0, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x1d753b8 @signature=74, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x1d752f8 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x1d752c8, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> [Info - Guzzoni] Starting conneciton #<SiriProxy::Connection::Iphone:0x1d74dd0 @signature=75, @processed_headers=false, @output_buffer="", @input_buffer="", @unzipped_input="", @unzipped_output="", @unzip_stream=#<Zlib::Inflate:0x1d74d10 @dictionaries={}>, @zip_stream=#Zlib::Deflate:0x1d74ce0, @consumed_ace=false, @name="iPhone", @upstream_dns=["8.8.8.8", "8.8.4.4"], @ssled=false> ^C/usr/local/rvm/gems/ruby-2.0.0-p0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in run_machine': Interrupt from /usr/local/rvm/gems/ruby-2.0.0-p0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:inrun' from /usr/local/rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.2/lib/siriproxy.rb:17:in initialize' from /usr/local/rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.2/lib/siriproxy/command_line.rb:106:innew' from /usr/local/rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.2/lib/siriproxy/command_line.rb:106:in start_server' from /usr/local/rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.2/lib/siriproxy/command_line.rb:90:inrun_server' from /usr/local/rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.2/lib/siriproxy/command_line.rb:39:in initialize' from /usr/local/rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.2/bin/siriproxy:6:innew' from /usr/local/rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.2/bin/siriproxy:6:in <top (required)>' from /usr/local/rvm/gems/ruby-2.0.0-p0/bin/siriproxy:23:inload' from /usr/local/rvm/gems/ruby-2.0.0-p0/bin/siriproxy:23:in <main>' from /usr/local/rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:ineval' from /usr/local/rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in `

'

elvisimprsntr commented 11 years ago

@ibleboss again I am not familiar with jail broken devices. It seems like ping-ponging. I am completely guessing, but i suspect you don't need both of these.

SIRI DR SERVIDOR : 192.168.0.102:443 in Wifi DNS : 192.168.0.102

elvisimprsntr commented 11 years ago

@je12 @ibleboss i was able to duplicate the problem both of you have observed when using running rubydns. if you let siriproxy keep trying until it gets through it, it will clear up, at least on my installation.

personally, I perform and external DNS redirect or use dnsmasq, and exclude the -d ###.###.###.### option. I am not an expert, but rubydns is a runtime interpreted language. an external DNS redirect off loads processing, or a daemon will run with higher priority, performance, and more reliably.

My recommendation to both is to use dnsmasq.

je12 commented 11 years ago

Thanks for your help.

I'm now using dnsmasq but am receiving exactly the same error. My router doesn't support an external DNS redirect.

Do you have any other ideas? Siri on the phone seems to time out after a while, but I'll leave siriproxy running on the Pi to see if it does get through.

elvisimprsntr commented 11 years ago

@je12 it's so hard to troubleshoot without actually being there to look over your network setup.

DId you try launching siri and say test siri proxy

fabianorosa1 commented 11 years ago

I had the same problem, and I found a simple solution: regenerate the ca.pem certificate and reinstall in iPhone. It's works for me!

elvisimprsntr commented 11 years ago

This problem as been confirmed to be caused by one of several reasons:

  1. Bad or mismatched certs - generate new certs. Make sure to remove old ones.
  2. You are using an unsanctioned jailbroken device - You are on your own!
  3. Apple is possibly blocking your device - Try using Siri via cellular connection and wifi without using siriproxy. It has been reported that restoring from backup or possibly from firmware IPSW file may restore use of Siri, then you can possibly get siriproxy to work.
bgottsch commented 11 years ago

i have the same problem. I tested it on two different iPhones (4S and 5) and from within my home network they work. But when I try to use it with dnsmasq it doesn't work. I changed the certs, reinstalled dnsmasq and no success.

bgottsch commented 11 years ago

I managed to get it working using a personal vpn to my computer. I use iVPN on a mac and it works perfectly without dnsmasq. In this setup I use the dns feature included in the SiriProxy. The dns address in the siriproxy (server -d xxx.xxx.xxx.xxx) is my computer's inside network ip and in the fns configs of the vpn i redirect it to the same address (my computer).

elvisimprsntr commented 11 years ago

@bgottsch are you using DNSMasq and RubyDNS together? i.e. the -d option

bgottsch commented 11 years ago

@elvisimprsntr no. I use both of them but not simultaneously. Inside my network it works perfectly with both options (DNSMasq and RubyDNS) the problem is from outside. I managed it by creating a VPN connection to my computer running SiriProxy and connecting my iPhone to it. I am trying to find an easier solution but using VPN works.

Thanks for the reply.

elvisimprsntr commented 11 years ago

The only method I read anyone having success with is through a VPN. I posted a new video how I VPN into my network to use SiriProxy as well as access any IP device on my network using open source router firmware from dd-wrt.com.

http://youtu.be/N97Xg2IovTA

I also use the firmware to perform a transparent DNS redirect which eliminates the need to alter the DNS entries on the device or use DNSMasq/RubyDNS on the SiriProxy host.

http://youtu.be/vFSP4iYQPsM

That about the easiest I have been able to make it. I only have to enable VPN when I want to use SiriProxy. Works from anywhere in the world.

Elvis

On Apr 14, 2013, at 22:51, Beno notifications@github.com wrote:

@elvisimprsntr no. I use both of them but not simultaneously. Inside my network it works perfectly with both options (DNSMasq and RubyDNS) the problem is from outside. I managed it by creating a VPN connection to my computer running SiriProxy and connecting my iPhone to it. I am trying to find an easier solution but using VPN works.

Thanks for the reply.

— Reply to this email directly or view it on GitHub.

elvisimprsntr commented 11 years ago

I'm going to close this one. Reopen or open a new one if someone is still having problems with SiriProxy and a sanctioned device.