记一次蛋疼的刷机

我在尝试给 Android 手机刷上 MIUI 国际版时, 在翻墙问题上遇到了一些障碍.

因为我之前尝试过的其他系统可以跳过 Google 登录, 也因此忽略了这个蛋疼的障碍. 我在刷 MIUI 之前忘记登出 Google 账号, 导致刷机后, 必须登录上一个使用此手机的 Google 账号才能进入系统.

但是, 由于网络原因, 必须翻墙才能登录 Google, 但是又必须进入系统才能安装并开启翻墙工具. 这就构成了死循环.

最终, 我使用了 Brook 的 socks5tohttp 功能, 并在 MIUI 设置页面登录 Wi-Fi 时设置了 HTTP 代理, 成功登录 Google.

Brook 配置

在 Brook 的服务器端, 不需要任何额外的配置, 就像往常一样就好了.


在作为中继(客户端) 的 PC 上, 需要使用到命令行版本的 Brook.

首先, 确保 PC 上已经运行了 brook client, 并且使用 socks5 协议绑定到 1080 端口.
这是默认的设置, 除非手动修改过, 否则不需要在意.

然后另开一个 Brook 进程, 使用以下参数运行:

1
brook socks5tohttp -l 192.168.1.3:8080 -s 127.0.0.1:1080

这就将连接到本地的 1080 端口的转为 http 代理, 并绑定到端口 8080 上. 注意 192.168.1.3 是 PC 在局域网中的 IP 地址, 用于让 Android 连接.
有两个要点需要注意下:

  1. 不能使用 brook socks5tohttp -l 192.168.1.3:8080 -s 192.168.1.3:1080. 因为 client 监听的是 127.0.0.1:1080. 如果这样设置, 所有连接将被本机拒绝.
  2. 不能绑定到 0.0.0.0 网卡, 必须是本机分配到的 IP.

Android Wi-Fi 配置

进入设置页面, 连接到自己家的 Wi-Fi (或电脑开的热点). 在 “代理” 中选择 “手动”, 并设置服务器为 192.168.1.3, 端口为 8080 即可. (看你自己电脑用的是哪个 IP 和端口, 不要照抄)

成功连接 Google Account!

总结

  1. 刷机之前把 Google 账号退了.
  2. Android 可以直接使用 HTTP 代理.
  3. 可以用 brook socks5tohttp 转化代理.