Compare commits

...
3 Commits
Author SHA1 Message Date
FlintyLemmingandClaude Fable 5 929de3b2d8 删除 L2TP VPN 连接文章
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-18 10:36:27 +08:00
FlintyLemmingandClaude Fable 5 097c3214e6 删除四篇可能涉及翻墙内容的文章
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-18 10:35:42 +08:00
FlintyLemmingandClaude Fable 5 7da2fbb140 删除两篇 Clash 相关文章
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-18 10:16:04 +08:00
7 changed files with 0 additions and 466 deletions
@@ -1,54 +0,0 @@
+++
author = "FlintyLemming"
title = "简要解释 SRC-IP"
slug = "4b935dae96ff43d595486a8cce2d42e1"
date = "2019-10-27"
description = ""
categories = ["Network"]
tags = ["Surge"]
image = ""
+++
在新版本的 Surge 中增加了个 SRC-IP 类型的分流规则,从来没听说过这个,引起了极大的兴趣。简单看了下大致理解了 SRC-IP。
简要来说,哪个程序或设备带来了流量,这个程序或设备的 IP 地址,就是这些流量的 SRC-IP。
下面,就以 Switch 内网代理为例子简单解释。至于和负载均衡搭配使用的公网用法,以后再说。
Switch 虽然可以直连,但商店访问慢,下载慢,最关键的是有的游戏直连甚至无法游玩,比如 Asphalt 9
![](https://assets.flinty.moe/blog/posts/2019/10/%E7%AE%80%E8%A6%81%E8%A7%A3%E9%87%8A%20SRC-IP/1.avif)
一般来说有三种方式,加速器、路由器弄代理,以及今天用到的 HTTP 代理。哪个方式好这里不做讨论,各有优势。
首先保证 Surge 已经开启了 HTTP 代理服务
![](https://assets.flinty.moe/blog/posts/2019/10/%E7%AE%80%E8%A6%81%E8%A7%A3%E9%87%8A%20SRC-IP/2.avif)
Switch 上,设置 - 互联网 - 互联网设置 - 点击已经连接的 Wi-Fi - 更改设置 - 代理服务器设置 这里点开,启用它。服务器地址一定不要填写 0.0.0.0,而是你运行 Surge 的设备的内网地址,macOS 版的可以在这里看到
![](https://assets.flinty.moe/blog/posts/2019/10/%E7%AE%80%E8%A6%81%E8%A7%A3%E9%87%8A%20SRC-IP/3.avif)
端口填写的是 HTTP 代理的端口,不要填 SOCKS5 的,自动验证保持为不启用。保存后重新连接。
![](https://assets.flinty.moe/blog/posts/2019/10/%E7%AE%80%E8%A6%81%E8%A7%A3%E9%87%8A%20SRC-IP/4.avif)
此时 Switch 不一定能正常加速,这是因为,Switch 的流量发送到 Surge 后,要进行规则判断,如果你的规则里没有 Switch 网络活动相关的规则,则还是直连。当然,你也可以通过抓包看域名手动添加对应的规则。但考虑到 Switch 上的服务即使直连都比较慢,不如全部都走代理,那么怎么实现呢?这就引出了 SRC-IP 的概念。在 Surge 的 Dashboard 里,你可以看到很多 Switch 的流量,但是这些流量都是又哪一个 IP 地址带来的呢?就是 Switch 机器的内网 ip
![](https://assets.flinty.moe/blog/posts/2019/10/%E7%AE%80%E8%A6%81%E8%A7%A3%E9%87%8A%20SRC-IP/5.avif)
我这里就是 192.168.3.56,这就是这些流量的 SRC-IP。只要对这一个 SRC-IP 进行代理,他发来的所有流量就全部走代理了。你可以右键该设备,直接添加一个 SRC-IP 的规则。
![](https://assets.flinty.moe/blog/posts/2019/10/%E7%AE%80%E8%A6%81%E8%A7%A3%E9%87%8A%20SRC-IP/6.avif)
当然,添加之前,可以创建一个专门给 Switch 用的策略组,方便出现问题后可以切回 Direct
![](https://assets.flinty.moe/blog/posts/2019/10/%E7%AE%80%E8%A6%81%E8%A7%A3%E9%87%8A%20SRC-IP/7.avif)
再次检查 Dashboard 里 Switch 的流量,即可发现游戏和服务的流量,根据 SRC-IP 规则的判断,走了代理。
![](https://assets.flinty.moe/blog/posts/2019/10/%E7%AE%80%E8%A6%81%E8%A7%A3%E9%87%8A%20SRC-IP/8.avif)
游戏自然也是能够正常进入
![](https://assets.flinty.moe/blog/posts/2019/10/%E7%AE%80%E8%A6%81%E8%A7%A3%E9%87%8A%20SRC-IP/9.avif)
@@ -1,56 +0,0 @@
+++
author = "FlintyLemming"
title = "Windows 10 连接 IPSec 未加密的 L2TP VPN"
slug = "683396e4936841a8b82181d9fd8ccf42"
date = "2020-04-04"
description = ""
categories = ["Windows"]
tags = ["Windows", "VPN"]
image = "https://assets.flinty.moe/blog/posts/2020/04/Windows%2010%20%E8%BF%9E%E6%8E%A5%20IPSec%20%E6%9C%AA%E5%8A%A0%E5%AF%86%E7%9A%84%20L2TP%20VPN/title.avif"
+++
配置 L2TP VPN 的时候,如果设置了 预共享秘钥 但是 IPSec 未加密(群晖的 VPN Server 套件就是),在使用 Windows 10 的时候会连不上。显示如下错误
无法建立计算机与 VPN 服务器之间的网络连接,因为远程服务器未响应。这可能是因为未将计算机与远程服务器之间的某种网络设备(如防火墙、NAT、路由器等)配置为允许 VPN 连接。请与管理员或服务提供商联系以确定哪种设备可能产生此问题。
或者是
L2TP 连接尝试失败,因为安全层初始化与远程计算机的协商时遇到一个处理错误。
下面提供两种解决方法
## 使用第三方 L2TP VPN 连接工具
这里推荐我在公司连接客户 VPN 时使用的软件,SonicWALL Global VPN Client
![](https://assets.flinty.moe/blog/posts/2020/04/Windows%2010%20%E8%BF%9E%E6%8E%A5%20IPSec%20%E6%9C%AA%E5%8A%A0%E5%AF%86%E7%9A%84%20L2TP%20VPN/1.avif)
这个软件的话,直接按照向导创建一个新的 VPN 连接即可
![](https://assets.flinty.moe/blog/posts/2020/04/Windows%2010%20%E8%BF%9E%E6%8E%A5%20IPSec%20%E6%9C%AA%E5%8A%A0%E5%AF%86%E7%9A%84%20L2TP%20VPN/2.avif)
但这个软件有个很捞的地方,就是用户名和密码保存不了,每次连接都要输入一次。所以我更加推荐下面这种方法。
## 修改注册表
首先如果是公司的电脑并且加了域的情况下,你要确认你能不能动注册表。动不了的话那你还是老老实实用上面那个软件。
1. 打开注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters
2. 然后新增一个名为 ProhibitIPSec ,类型为 DWORD 32位)的键,值为 0
![](https://assets.flinty.moe/blog/posts/2020/04/Windows%2010%20%E8%BF%9E%E6%8E%A5%20IPSec%20%E6%9C%AA%E5%8A%A0%E5%AF%86%E7%9A%84%20L2TP%20VPN/3.avif)
3. 接着定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
4. 然后新增一个名为 AssumeUDPEncapsulationContextOnSendRule ,类型为 DWORD 32位)的键,值为 2
![](https://assets.flinty.moe/blog/posts/2020/04/Windows%2010%20%E8%BF%9E%E6%8E%A5%20IPSec%20%E6%9C%AA%E5%8A%A0%E5%AF%86%E7%9A%84%20L2TP%20VPN/4.avif)
5. 然后将服务 IPsec Policy AgentPolicyAgent)改为手动
![](https://assets.flinty.moe/blog/posts/2020/04/Windows%2010%20%E8%BF%9E%E6%8E%A5%20IPSec%20%E6%9C%AA%E5%8A%A0%E5%AF%86%E7%9A%84%20L2TP%20VPN/5.avif)
6. 然后就能正常连接了
## 参考
[https://www.heylc.com/code/4.html](https://www.heylc.com/code/4.html)
@@ -1,64 +0,0 @@
+++
author = "FlintyLemming"
title = "【归档】Android SMS 转发到 Telegram"
slug = "720d39d0fbaa4fc1a75873c9403a23e6"
date = "2020-02-08"
description = ""
categories = ["Android", "LifeTec"]
tags = ["Telegram"]
image = "https://assets.flinty.moe/blog/posts/2020/02/Android%20SMS%20%E8%BD%AC%E5%8F%91%E5%88%B0%20Telegram/title.avif"
+++
项目地址:[https://github.com/qwe7002/telegram-sms](https://github.com/qwe7002/telegram-sms)
作者:qwe7002
最近购入了一部 Android 备用机,主要拿来开热点、收短信。但是一般都放在包里,如果需要查看两步验证短信就很麻烦。正好 qwe7002 也做了个工具,可以转发短信到 Telegram 上,这里简单介绍下配置步骤。
### 获取一只 Telegram Bot
1. 浏览器中打开这个网址:[https://telegram.me/botfather](https://telegram.me/botfather) ,会跳转到与 BotFather 的对话中。
2. 点击
/start
再点击
/newbot
3. 接下来他会询问你要创建的机器人的名称(Alright, a new bot. How are we going to call it? Please choose a name for your bot.),自己起一个名称
4. 然后会询问你机器人的ID,必须要以 "bot" 结尾(Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.),自己起一个,只能用英文
5. 然后他会给你一个 token,大概是这样,记下这一串字符,冒号左右一起的
Use this token to access the HTTP API:
xxxxxxxx:xxxxxxxxxxxxxx
### 配置App
1. 从文章开头的地址下载 Android 端 apk 安装包并安装,打开,如图
![](https://assets.flinty.moe/blog/posts/2020/02/Android%20SMS%20%E8%BD%AC%E5%8F%91%E5%88%B0%20Telegram/1.avif)
2. 在“机器人令牌”处填写刚才获得的 token
3. 在 Telegram 上给机器人发一句话,内容任意(一句可能不行,多发几句x)
4. 回到 App ,点击 “获取最近的对话ID”,就会获得对话ID
5. “可信的电话号码”可以填写一个,用来使用短信操控 Bot
6. 下面可以选择附加功能,如“监控电池状态变动”,用来发送手机低电量和充电提醒
7. 最后点击“测试并保存”,Telegram Bot 上提示如下消息说明配置完毕
[系统信息]
您已成功连接到 Telegram bot 服务器。
### 其他
对机器人发送 /start 可以获取命令
[系统信息]
可用命令:
/getinfo - 获取系统信息
/sendsms - 发送短信
/sendsms2 - 使用第二个卡槽发送短信
### 效果展示
![](https://assets.flinty.moe/blog/posts/2020/02/Android%20SMS%20%E8%BD%AC%E5%8F%91%E5%88%B0%20Telegram/2.avif)
@@ -1,100 +0,0 @@
+++
author = "FlintyLemming"
title = "搭建 ss-server 返回家中网络"
slug = "72397172ace045e79cb399b83cee3673"
date = "2020-11-23"
description = ""
categories = ["HomeLab", "Network"]
tags = ["家庭宽带"]
image = "https://assets.flinty.moe/blog/posts/2020/10/%E6%90%AD%E5%BB%BA%20ss-server%20%E8%BF%94%E5%9B%9E%E5%AE%B6%E4%B8%AD%E7%BD%91%E7%BB%9C/title.avif"
+++
家里开了公网 IP 后,在外面有时需要返回到家里的局域网中,不然每个服务都 NAT 端口出去,既麻烦也不安全。
目前用的比较多的方法是 VPN,但这种方法最大的问题就是你一旦打开了 VPN,那其他的链接也会受影响。个人感觉最方便的就是使用 ss-server。下面介绍下搭建和使用。
首先我们要明确达到什么效果,比如我们要访问内网中的 192.168.3.8 这个地址,如果我们在家,就应该能直接连接,如果我们在外面,直接访问这个地址也应该能访问到,并且不影响其他地址的访问。比如我们在公司,公司网关是 192.168.4.1(简单举个例子,公司网络一般都比较复杂,掩码不太可能是 255.255.255.0),那我应该同时既能通过 192.168.4.3 访问公司内网的服务,也应该能通过 192.168.3.8 访问家里的服务,不能冲突。
## 搭建服务端
搭建我使用 Docker 进行搭建,由于我的 Windows 电脑不关机,所以我在 Windows 上的 Docker 部署。群晖也有 Docker,同样可以部署。此外,不少路由器的第三方系统中的软件中心也会提供 ss-server 的工具。(假设你已经会基本的 Docker 用法,下面不会讲的特别详细,如果需要,请评论)
### Docker 配置
Docker 镜像我这边使用的是 gists/shadowsocks-libev。
环境变量注意三个地方,SERVER_PORT 是端口号、METHOD 是加密方式、PASSWORD 是密码,根据自己的需要修改。
![](https://assets.flinty.moe/blog/posts/2020/10/%E6%90%AD%E5%BB%BA%20ss-server%20%E8%BF%94%E5%9B%9E%E5%AE%B6%E4%B8%AD%E7%BD%91%E7%BB%9C/1.avif)
端口映射这里,容器端口填写刚才 SERVER_PORT 里的,Published 端口填写需要转发出去的端口,后面路由器 NAT 要用到。如果小白不熟悉,就 SERVER_PORT、Docker Port、Published Port 三者一致也可。
![](https://assets.flinty.moe/blog/posts/2020/10/%E6%90%AD%E5%BB%BA%20ss-server%20%E8%BF%94%E5%9B%9E%E5%AE%B6%E4%B8%AD%E7%BD%91%E7%BB%9C/2.avif)
其他就没了,不需要设置路径映射。
### 路由器 NAT
这个就应该都会了,我们只需要把上面的 Published Port 在路由后台的端口转发(NAT)功能里转发到公网即可。
## 客户端配置
上面配置完后,我们现在在外面使用任何一个支持 ss 协议的软件,地址填写 `<DDNS 地址>:<上面转发的端口号>`,密码、加密方式填写环境变量里设置的,就可以连上家里的网络了。
主要是我们要做分流,我们要达到开头说的效果,这就需要一个支持分流和策略组的代理工具了,Windows 有 Clash、iOS 有 Surge 和 Quantumult、macOS 有 Clash 和 Surge。
### iOS - Quantumult X
1. 主菜单 - 节点 - 添加 可以把我们家里的节点先添加进来,比如说我这里就叫 Home
![](https://assets.flinty.moe/blog/posts/2020/10/%E6%90%AD%E5%BB%BA%20ss-server%20%E8%BF%94%E5%9B%9E%E5%AE%B6%E4%B8%AD%E7%BD%91%E7%BB%9C/3.avif)
2. 然后编辑配置文件,在 [policy] 下新增一条根据 SSID 类型判断的策略
```bash
ssid=backHome, Home, Home, FlintyLemming-Router:DIRECT
```
简单解释下什么意思,ssid=<策略名>, <蜂窝网走的代理>, <Wi-Fi下走的代理>, <特定 Wi-Fi 名下走的代理>。那我这个的意思就是,蜂窝网和 Wi-Fi 下默认都走刚才添加的 Home 代理,但在家里的路由器下(名叫 FlintyLemming-Router)走直连。
3. 最后在 [filter_local] 下添加一条规则即可
```bash
ip-cidr, 192.168.3.0/24, backHome
```
简单解释下中间的 IP 怎么来的,192.168.3.0 是根据我的网关来的(一般就是你路由器地址),我的网关地址是 192.168.3.1,那就填 192.168.3.0。 24 是子网掩码,如果你的子网掩码是 255.255.255.0(简单来说就是你网络的设备 IP 地址只有最后一位是变的),那就是 3x8 = 24。如果子网掩码是 255.255.0.0,那就是 2x8 = 16。
### macOS - Surge
> 你这 SSID 都是无线,那有线咋办呢
不慌,这就要请到 Surge 了,Surge 的 SSID 策略组不仅能够根据 SSID、BSSID 判断,也可以根据网关地址判断,这样有线环境也搞定了。
1. 首先我们还是要添加代理
```bash
Home = ss, <ddns地址>, <转发的端口>, encrypt-method=<设置的加密方式>, password=<密码>
```
2. 然后同样的,新增策略组
```bash
isHome = ssid, default = Home, "FlintyLemming-Router" = DIRECT, 192.168.3.1 = DIRECT
```
Surge 这边看的就很清楚了,除了 SSID 叫 FlintyLemming-Router 的无线,以及网关是 192.168.3.1 的有线走直连,其他都走 Home 代理。
3. 最后添加分流规则
```bash
IP-CIDR,192.168.3.0/24,isHome
```
### Windows
由于目前 Clash 尚不支持根据网关地址判断的策略,只能设置一个手动的策略组,需要的时候打开。不过 Proxifier 4 支持根据 Interface 判断。
![](https://assets.flinty.moe/blog/posts/2020/10/%E6%90%AD%E5%BB%BA%20ss-server%20%E8%BF%94%E5%9B%9E%E5%AE%B6%E4%B8%AD%E7%BD%91%E7%BB%9C/4.avif)
> Photo by [JJ Ying](https://unsplash.com/@jjying?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/network?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
@@ -1,46 +0,0 @@
+++
author = "FlintyLemming"
title = "给群晖 Docker 命令配置代理"
slug = "8c059ad1807e424d8f7059b330525443"
date = "2024-07-03"
description = ""
categories = ["Linux", "HomeLab"]
tags = ["群晖", "Docker"]
image = "https://assets.flinty.moe/blog/posts/2024/07/%E7%BB%99%E7%BE%A4%E6%99%96%20Docker%20%E5%91%BD%E4%BB%A4%E9%85%8D%E7%BD%AE%E4%BB%A3%E7%90%86/karsten-winegeart-kBVAKM4f6V0-unsplash.avif"
+++
本方法在 SA6400 机型上测试可用,该方法只作用于 Docker 命令,`docker pull` 之类的,不作用于容器
1. 首先确保内网里有一个能够访问互联网的代理,随便什么设备,随便什么客户端,只要能起 http 代理就行,注意打开 LAN 访问权限
2. 执行下面的命令创建文件夹
```bash
sudo mkdir -p /etc/systemd/system/pkg-ContainerManager-dockerd.service.d
```
3. 执行下面的命令创建配置文件
```bash
sudo vi /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf
```
4. 编辑内容如下,地址根据自己的 IP 和客户端端口修改
```bash
[Service]
Environment="HTTP_PROXY=http://192.168.2.52:6152"
Environment="HTTPS_PROXY=http://192.168.2.52:6152"
Environment="NO_PROXY=localhost,127.0.0.1"
```
5. 应用配置文件
```bash
sudo systemctl daemon-reload
```
6. 重启服务,注意所有的容器都会被关闭
```bash
sudo systemctl restart pkg-ContainerManager-dockerd.service
```
> Photo by [Karsten Winegeart](https://unsplash.com/@karsten116?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) on [Unsplash](https://unsplash.com/photos/a-black-and-white-photo-of-wavy-lines-kBVAKM4f6V0?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)
@@ -1,73 +0,0 @@
+++
author = "FlintyLemming"
title = "【归档】ClashR 路由器安装"
slug = "8e7cc0b5b40540faac8f561bec460a72"
date = "2019-11-11"
description = ""
categories = ["HomeLab", "Network"]
tags = ["Clash"]
image = "https://assets.flinty.moe/blog/posts/2019/11/ClashR%20%E8%B7%AF%E7%94%B1%E5%99%A8%E5%AE%89%E8%A3%85/title.avif"
+++
## 下载内核
[frainzy1477/luci-app-clash](https://github.com/frainzy1477/luci-app-clash/releases)
在这里下载 Clash 的 luci app,你可以把它想象成一个壳子,不包含内核。一般下载 xxx-2_all.ipk 那个文件。
[frainzy1477/clashr](https://github.com/frainzy1477/clashr/releases/tag/v0.16.3)
在这里根据自己的处理器下载内核文件。
## 安装
1. 首先需要将 ipk 文件放到路由器中,这里使用 scp,默认就放在 tmp 文件夹下
```bash
scp <ipk文件的绝对路径> <路由器的登陆账号>@<路由器的本地IP地址>:<放入的路径>
```
就像下面这样
```jsx
scp /Users/flintylemming/Downloads/luci-app-clash_1.2.7-2_all.ipk [root@192.168.1.1](mailto:root@192.168.1.1):/tmp
```
之后提示输入密码,输入即可
![](https://assets.flinty.moe/blog/posts/2019/11/ClashR%20%E8%B7%AF%E7%94%B1%E5%99%A8%E5%AE%89%E8%A3%85/1.avif)
2. 然后通过 SSH 登陆后安装(当然也可以用网页端的那个终端,注意登陆一定要用 root 登陆,用户名不能置空)
```bash
ssh root@<路由器IP地址>
```
通过 cd 和 ls 的命令,定位和找到刚才传入的安装包
```bash
cd /tmp
ls
```
![](https://assets.flinty.moe/blog/posts/2019/11/ClashR%20%E8%B7%AF%E7%94%B1%E5%99%A8%E5%AE%89%E8%A3%85/2.avif)
3. 使用 opkg 命令安装,名字太长可以使用通配符
```bash
opkg install luci-app-clash*
```
![](https://assets.flinty.moe/blog/posts/2019/11/ClashR%20%E8%B7%AF%E7%94%B1%E5%99%A8%E5%AE%89%E8%A3%85/3.avif)
4. 安装完毕后,刷新网页,在服务下就能看到 Clash 了
![](https://assets.flinty.moe/blog/posts/2019/11/ClashR%20%E8%B7%AF%E7%94%B1%E5%99%A8%E5%AE%89%E8%A3%85/4.avif)
5. 这只是个壳子,实际上你点开客户端,内核里是没得选的,需要我们放入内核
![](https://assets.flinty.moe/blog/posts/2019/11/ClashR%20%E8%B7%AF%E7%94%B1%E5%99%A8%E5%AE%89%E8%A3%85/5.avif)
6. 通过同样的方法安装刚才下载的内核 ipk 文件,之后即可选择内核,至此安装完毕。
> Photo by [NASA](https://unsplash.com/@nasa?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/global?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
@@ -1,73 +0,0 @@
+++
author = "FlintyLemming"
title = "国行版小米盒子3s刷国际版系统"
slug = "b053f84f0b174a088c57d4ec93b4da64"
date = "2020-02-09"
description = ""
categories = ["Android", "Consumer"]
tags = ["小米"]
image = "https://assets.flinty.moe/blog/posts/2020/02/%E5%9B%BD%E8%A1%8C%E7%89%88%E5%B0%8F%E7%B1%B3%E7%9B%92%E5%AD%903s%E5%88%B7%E5%9B%BD%E9%99%85%E7%89%88%E7%B3%BB%E7%BB%9F/title.avif"
+++
*主要内容来自[http://www.hdpfans.com/thread-777808-1-1.html](http://www.hdpfans.com/thread-777808-1-1.html),其他相关连接:*
[http://miui.vn/forum/threads/cai-dat-firmware-global-cho-mi-box-3s-mdz-19-aa.50835/](http://miui.vn/forum/threads/cai-dat-firmware-global-cho-mi-box-3s-mdz-19-aa.50835/)
## 需要注意的是
1. 本人第一次研究 Android TV,所以操作上可能存在问题
2. 扒的教程,可能并不是最简单的步骤,但是可行性较高
## 准备工具
1. 一个能科学上网的路由器,或者人在海外
2. 小米盒子3s
3. U盘(建议不大于32G,不然可能会出现问题)
4. USB双头线(可以不需要,教程也是以不用双头线为例)
## 具体步骤
### 降级
1. 格式化U盘为FAT32,如果是NTFS,在第4步可能无法正常刷机,原来是FAT32的话可以直接使用
2. 解压**MiBOX3S_queenchristina_r145.rar**里的两个文件,并将文件放入U盘根目录下
3. 将U盘插入盒子,断电,然后同时按住遥控器上Home和Menu键,此时通电开机
4. 盒子会自动进入刷机界面,如果未自动刷机,出现的是recovery界面,则要检查U盘分区格式是否为FAT32
5. 等待刷机成功后进入系统
### 再刷第二个固件(个人猜测是包含recovery的一个固件,不是特别懂)
1. 盒子上自行安装文件管理器,将**dump_16AB.img**通过U盘拷贝到盒子文件系统的**sdcard**目录下,拷贝完成后拔出U盘
> 原教程是在建立adb连接后拷贝文件,个人用adb push命令尝试拷贝文件无果,所以建议直接用U盘复制
2. 进入小米盒子系统的设置-账户与安全,在里面打开USB调试
3. 在Wi-Fi设置里获取盒子的局域网IP地址
4. 电脑上进入命令行,使用adb网络调试连接盒子,输入
```bash
adb connect <盒子的ip地址>
```
系统会自动补上端口号进行连接(默认是5555)
5. 接着依次输入如下命令
```bash
adb root
adb remount
adb shell dd if=/sdcard/dump_16AB.img of=/dev/block/mmcblk0
```
> 原教程指出第三条命令会花费相当长时间,需要耐心等待跳出新索引箭头,个人可能是因为使用网络adb原因,始终没有跳出新索引箭头,在等待一小时左右后直接关闭窗口,强制执行下面一步,也没有问题
6. 断电,然后同时按住遥控器上Home和Menu键,此时通电开机,进入recovery界面,进行双清
7. 将**MiBOX3_user_once_r750**文件夹里的文件放入U盘根目录
8. 插入U盘,选择Choose Apply update from EXT > Update from udisk,然后选择拷贝的文件,刷入国际版系统
9. 等待重启就可以进入Android TV系统了,完成相关设置即可
> 进入系统后首先要检查你是否可以正常安装第三方app,我个人遇到的情况就是无法安装绝大多数第三方app,原教程中没有提及这个问题,如果存在这个问题,请继续下一步
10. 解压**MiBOX3_userdebug_once_r454.rar**里的两个文件,并将文件放入U盘根目录下(原来的那个记得删除)
11. 将U盘插入盒子,断电,然后同时按住遥控器上Home和Menu键,此时通电开机
12. 等待刷机,成功后则进入系统,重新设置后发现新的系统可以正常安装app