![如何在不登录 Google Home 的情况下设置 Chromecast?](https://linux22.com/image/1517920/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E7%99%BB%E5%BD%95%20Google%20Home%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%AE%BE%E7%BD%AE%20Chromecast%EF%BC%9F.png)
我有 Chromecast 音频,Google Home 应用现在需要位置访问权限并要求您登录。我也不想提供,因此它无法帮助我设置设备。与以前的版本不同,没有办法绕过这些要求。
我想不出有什么理由要求他们两者兼而有之,除非将其发回 Google 总部进行分析。
我可以使用其他方法来设置 Chromecast 吗?
这不是 Android 或 iOS 特有的问题,但这些都是使用 chromecast 的常用平台,其次是 PC。如果这不适合 SuperUser,我可以将其移走。
答案1
我对@Jozef 的回答不太满意,因为我只能找到 Chromium 的 Linux 版本,而找不到 Chrome,而且 Chromium 似乎从未实现过chrome://cast
。
不过,我确实找到了一些 Chromecast API 的文档https://rithvikvibhu.github.io/GHLocalApi/,我注意到,如果您正在进行初始设置,则无需任何身份验证。此外,还有一些有用的信息https://github.com/rithvikvibhu/GHLocalApi/issues/68#issue-766300901关于如何在提交 WiFi 密码之前需要使用来自设备的公钥对其进行加密。
因此,我编写了一个 Bash 脚本,并发布在https://gist.github.com/interfect/5f68381d55658d334e2bc4619d796476,它可以对 Chromecast 进行初始设置并将其连接到 WiFi,无需 Google Home 或 Android 或 iOS 设备。您所需要的只是一个 Linux 或(可能)Mac 环境,或者(可能)Windows 上的 WSL。
要使用它,你需要以某种方式让你的计算机与 Chromecast 处于同一网络上,要么使用 Chromecast 的以太网适配器(我测试过),要么通过某种方式找到并加入其设置热点(我还没有测试过)。
curl | bash
如果您是系统管理学院的忠实粉丝,您可以:
wget https://gist.githubusercontent.com/interfect/5f68381d55658d334e2bc4619d796476/raw/1d16ead908a92742d5f22231a2611242d673654f/castanet.sh
chmod +x castanet.sh
CHROMECAST_IP=192.168.0.100 WIFI_SSID="foobar" WIFI_PASSWORD="hackme" ./castanet.sh
我不想在这里复制粘贴整个脚本,因为我不认为这是 StackExchange 的用途,但重要的步骤是:
public_key
通过 TSL 1.2 HTTPS 到端口 8443 处获取 JSON 中的设备 RSA/setup/get_eureka_info
。(我的curl
默认版本为 1.3,但对于设备来说太新了,所以我不得不劝阻它。)- 发布到
/setup/scan_wifi
- 过了一会儿,获取
/setup/scan_results
,找到您的网络,并抓取wpa_auth
(总是 7?)和wpa_cipher
(总是 4?) RSA_PKCS1_PADDING
使用和将密码加密为设备的公钥oaepHash
(如果将密钥包装在 BEGIN 和 END 行中,sha256
nodejs模块可以执行此操作),并使用 base64 对密文进行编码。crypto
- JSON 将
ssid
、wpa_auth
、wpa_cipher
和发送enc_passwd
至/setup/connect_wifi
。 - 在 Chromecast 决定放弃新的 wifi 网络之前,JSON 发布一个
keep_hotspot_until_connected
值为 true 的true
标志。/setup/save_wifi
答案2
PC 解决方案于 2019 年 3 月 15 日开始运行
由于 Chrome 72 不再支持在 Mac 和 PC 上设置 Chromecast,因此我在尝试从 PC 上设置 Chromecast 时遇到了这个问题。
我成功使用的一个简单解决方案是:
- 下载旧版便携版 Chrome(不确定此处的直接链接发布规则,搜索“便携版 Chrome 71 稳定版”应该可以找到)
- 提取并运行此便携版本
- 导航
chrome://cast
- 设置应该可以工作
答案3
嗯,最简单的方法就是不提供位置并创建另一个谷歌帐户。
但如果你不想:
- 进入 Play Store,找到 Google 主页 -> 右上角的 3 个点 -> 禁用自动更新。
- 卸载 Google Home
- 获取最新版本,这些权限不属于这里
- 你已准备好出发。
关于它的说明:
- Google Home(和其他 Google 应用)往往会提示自动更新,这很烦人,因此我建议,在使用投射设备设置完所有内容后,卸载该应用。(Chromecast 功能仍将正常工作,设备将自动更新至最新的非测试版(即使您已在使用))
第三种方法(需要 Chrome 计算机):
- 从网上商店安装非测试版(没有其他文本)Google Cast 作为扩展程序。
- 访问这一页
- 设置好您的 Chromecast 就可以开始了!
注意:它有时会窃取您登录到 Chrome Google 帐户的信息。这不是理想的做法。如何避免这种情况:- 转到 Chrome 设置(点击此处获取快速链接) - 在 Google Cast 上选择“在 Ignoto 中允许” - 打开 Ignoto 选项卡并执行“第三种方式”(计算机版本)的步骤
这就是我的想法。我强烈建议为 Cast 功能再创建一个帐户,因为如果你能使用它进行测试,那就完全值得了。(在我的 Chromecasts 测试版中没有发现任何错误,只有一个:我比其他人更早获得我的功能 ;))
答案4
位置访问是扫描 Wi-Fi 的技术要求在安卓中,这是设置 chromecast 时发生的情况。所以我认为从技术上讲,在 Android 上没有它是不可能的。
至于 Google 帐户:
我可以通过10200090
Google Home App 版本(通过以下方式安装)配置 Chromecast 3 和音频的 Wi-Fi震旦专卖店)。
就是这样。多房间或 Chromecast 的任何其他选项均失败。
Chromecast 一旦上线,就会自行更新,如果没有帐户,我就无法再配置任何内容。
我认为对于注重隐私的人来说,这是徒劳的。尤其是考虑到较新的 Google Home 设备也包含麦克风。我们只希望 Google 不会在某个时候激活传统 Chromecast 设备上的终止开关(类似于 Sonos“回收模式”)。