在Mac OS X和iPad 3上使用SiriProxy使Siri满足您的要求

我也提前警告过您,这非常困难,几乎所有操作都在命令行上完成,尽管我尝试按照对我有用的确切方式逐步将其分解,但您可能需要并在出现错误时自行向Google提出。

要求

  • 具有Siri功能的iPad或iPhone。我不会展示如何使用伪造的服务器将Siri入侵旧设备,所以请不要问。
  • Mac OSX。您也可以在Linux上安装SiriProxy,但今天我不会尝试。
  • iOS6.1
  • 准备

    从MacPorts.org下载适用于OS X版本的pkg安装程序。 MacPorts 使我们能够安装已移植到Mac的各种UNIX实用程序。您还需要安装XCode,可以从Mac App Store免费下载XCode,但下载量很大,因此,请立即开始。

    MacPorts向系统中添加了一些新的路径条目,但没有更新不正确。为避免以后出现 port命令未找到错误,请运行

    source .profile

    这时,您还需要从应用程序商店安装XCode。安装后,运行以下命令来告诉您的系统编译器在哪里:

    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

    下一步,安装DNSMasq;一个简单的DNS转发器,让我们拦截对某个IP的请求。

    sudo port install dnsmasq

    安装Ruby和RVM

    使用以下命令下载并安装RVM软件包管理器:

    bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

    然后运行它以将其正确添加到您的系统中:

    [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

    使用以下命令安装Ruby;在撰写本文时,它将使用最新版本1.9.3,建议您执行相同操作,否则本指南的其余部分可能无法正常工作。

    rvm install 1.9.3

    如果您收到一堆随机红色包含错误的文本,请改为运行以下命令:

    rvm install 1.9.3 –with-gcc=clang

    然后执行

    rvm use 1.9.3 default

    以设置默认的ruby环境版本。祝贺您,现在您的系统上已经安装了Ruby!

    开始下载SiriProxy

    开始使用Git将SiriProxy项目克隆到您的计算机上。

    git clone git://github.com/plamoni/SiriProxy.git
    cd /SiriProxy

    第一次这样做,您可能会收到有关检测到的脚本文件的安全警告。继续并信任它,如果您已经从github来源下载了。

    下一步,我们将复制配置文件。

    mkdir ~/.siriproxy
    cp ./config.example.yml ~/.siriproxy/config.yml

    使用您的最喜欢的文本编辑器,然后将文件顶部的IP从0.0.0.0更改为Mac的本地IP。继续:

    rvmsudo gem install rake bundler
    rvmsudo rake install

    这应该为您安装了SiriProxy,但稍后我们将需要重复此操作以解决错误。现在,让我们继续并制作一些证书。

    我们需要首先安装OpenSSL。

    sudo port install openssl

    我第一次运行此证书时,它失败了,并出现了许多zlib错误。要解决这个问题,我需要运行

    sudo port -f activate zlib

    下一步,我们将生成证书:

    siriproxy gencerts

    如果一切顺利,您应该会看到类似的消息。

    使用 Finder->转到文件夹菜单选项,输入输出中列出的路径;您应该在那里找到 ca.pem 文件。通过电子邮件将其发送给自己,然后在支持Siri的设备上将其打开。这将跳至设置,并为您提供将其安装为新证书的选项。不会,您的第一次会说它是不受信任(红色) –安装后我抓取了此屏幕截图,因此显示为受信任

    回到Mac上,运行以下命令来更新所需的一些随机文件。

    bundle install

    设置DNS转发

    最后一步是使您的Mac进入DNS服务器,该DNS服务器可以拦截对Apple服务器的呼叫,并通过SiriProxy路由它们。同样,使用Finder->转到文件夹,打开/ opt / local / etc,然后编辑dnsmsq.conf。添加以下行,用您的Mac的本地IP地址替换192.168.0.6。

    address=/guzzoni.apple.com/192.168.0.6

    要激活DNSMasq服务,请运行以下命令。您需要在每次重新启动时执行此操作(以及稍后将介绍的启动SiriProxy)。

    sudo /opt/local/sbin/dnsmasq

    在iPad或iPhone上,打开网络设置并将WiFi的DNS服务器更改为您的Mac IP地址。是的,SiriProxy仅能在您的家庭WiFi上运行,但是如果您希望在外出时使用它,则理论上可以将VPN接入家庭路由器。我们今天不讨论这个问题。

    我还需要在路由器上设置新的端口转发规则;端口53应该转发到您的Mac IP。 (这是DNS使用的端口)。

    启动SiriProxy

    最后一步是启动SiriProxy服务器并进行测试。使用以下方法执行此操作:

    export rvmsudo_secure_path=1

    如果此时,按下主屏幕按钮时,屏幕上出现诸如“无效符号"之类的错误,请继续进行此操作。由于SiriProxy软件包随附了较旧的CFPropertyList版本,因此出现错误。希望此问题将很快得到解决,因此您可能不需要它,以防万一……

    像这样下载最新版本的CFPropertyList:

    sudo gem install CFPropertyList -v 2.1.2

    现在,使用F 进入“〜/ .rvm / gems / "文件夹。在最新的Ruby中导航-在我的情况下为 ruby​​-1.9.3-p385 / ,然后将 gems / CFPropertyList-2.1.2 / lib 文件夹复制到 ruby -1.9.3-p385@SiriProxy/gems/CFPropertyList 2.2.0 。是的,用较新版本中的lib验证并覆盖较旧版本lib ;骇人的骇客,但我才能让它运作的唯一方法。最后所需的解决方法是手动编辑 gemspec 文件。为此,请转到SiriProxy目录,然后打开 siriproxy.gemspec 。通过使用VI或Nano的命令行从命令行执行以下操作:

    sudo vi siriproxy.gemspec

    ,或者仅使用文本编辑器。用以下内容替换包含“ CFPropertyList" 的从底部开始大约4行的行:

    s.add_runtime_dependency('CFPropertyList', '2.1.2')

    现在运行

    rvmsudo siriproxy update

    世界。再次启动服务器并重新测试。

    rvmsudo siriproxy server

    通过要求Siri“测试siri代理"对其进行测试,您应该得到一个响应,表明它已启动并正在运行。

    下一次,我们将看一些可以运行并实际开始使用此东西的SiriProxy插件。

    说实话,整个过程这个过程比我希望的要复杂得多,但是我希望本指南对您中的某些人有用,因为从字面上看,我花了整整一天的时间才做对。您对我应该检查的SiriProxy插件有什么建议吗?这个程序对您有用吗?在评论中让我们知道,我会尽力帮助您,但项目GitHub页面上充斥着知识渊博的人。

    标签: OS X Mountain Lion Siri 语音识别