近期:由于 GFW 大发神威,一众常见的代理软件纷纷中招被 ban,于是想尝试一下比较小众的代理工具,mieru使用起来感觉非常不错,推荐大家使用。
1] mieru 软件介绍
mieru【見える】是一款安全的、无流量特征、难以主动探测的,基于 TCP 或 UDP 协议的 socks5 网络代理软件。
mieru 代理软件由称为 mieru【見える】的客户端软件和称为 mita【見た】的代理服务器软件这两部分组成。
mieru 的翻墙原理与 shadowsocks / v2ray 等软件类似,在客户端和墙外的代理服务器之间建立一个加密的通道。GFW 不能破解加密传输的信息,无法判定你最终访问的网址,因此只能选择放行。
mieru 具有如下特性:
- 使用高强度的 AES-256-GCM 加密算法,基于用户名、密码和系统时间生成密钥。以现有计算能力,mieru 传输的数据内容无法被破解
- mieru 实现了客户端和代理服务器之间所有传输内容的完整加密,不传输任何明文信息。网络观察者(例如 GFW)仅能获知时间、数据包的发送和接收地址,以及数据包的大小。除此之外,观察者无法得到其它任何流量信息
- 当 mieru 发送数据包时,会在尾部填充随机信息。即便是传输相同的内容,数据包大小也不相同
- 在使用 UDP 传输协议时,mieru 不需要客户端和服务器进行握手,即可直接发送数据
- 当服务器无法解密客户端发送的数据时,不会返回任何内容。GFW 很难通过主动探测发现 mieru 服务
- mieru 支持多个用户共享代理服务器
- 支持 IPv4 和 IPv6
- 客户端软件支持 Windows、 Mac OS、 Linux 和 Android 系统
以上内容都是其官方文档的描述,概括来说是采用服务端/客户端模式,使用高强度加密算法进行传输加密。服务端防探测,客户端支持 sock5 代理,并且可以在多个平台运行。
其中最吸引我的就是客户端 Android 系统可用,手机可以直接使用的话,就方便多了。
2] mieru 服务端的安装部署
mieru 的服务端(称为 mita)仅支持 Linux 系统,具有 rpm 和 deb 两种预编译软件包,分别对应 RHEL/CentOS 发行版和 Debian 发行版两种体系。支持 ARM 和 AMD_64 两种 CPU 架构。根据 CPU 架构和 Linux 系统的发行版体系下载对应的软件包,命令行安装服务端软件包即可。
服务端软件可以去 >>项目下载页面<< 下载,也可以在本站的 >>工具下载<< 下载最新版的服务端 AMD_64 架构软件包。
mita 服务端下载及安装命令如下:
/* RHEL/CentOS 发行版 */ # wget https://github.com/enfein/mieru/releases/download/v1.9.0/mita-1.9.0-1.x86_64.rpm # rpm -ivh --force mita-1.9.0-1.x86_64.rpm /* Debian 发行版 */ # wget https://github.com/enfein/mieru/releases/download/v1.9.0/mita_1.9.0_amd64.deb # dpkg -i mita_1.9.0_amd64.deb
软件包安装成功后,会给系统添加一个系统服务 mita,使用如下命令查看 mita 的状态:
# systemctl status mita # mita status
如果第一条命令的输出中含有 active (running) ,表示 mita 守护进程已经开始运行。通常情况下,mita 会在服务器启动后自动开始运行。
如果第二条命令的输出为 mieru server status is “IDLE”,表示 mita 还没有加载配置文件,不能接收来自 mieru 客户端的请求。
现在创建一个 mita 的配置文件 config.json,内容如下:
{ "portBindings": [ { "port": 54321, "protocol": "TCP" } ], "users": [ { "name": "user1", "password": "password1" }, { "name": "user2", "password": "password2" } ], "loggingLevel": "INFO", "mtu": 1400 }
配置文件的内容非常简单,说明如下:
- portBindings -> port 属性是 mita 监听的 TCP 或 UDP 端口号,为一个从 1025 到 65535 之间的值
- 在 users -> name 属性中填写用户名
- 在 users -> password 属性中填写该用户的密码
- name 和 password 可以设置多组,每组使用逗号分隔如示例所示
- mtu 属性是使用 UDP 代理协议时,数据链路层最大的载荷大小。默认值是 1400,可以选择 1280 到 1500 之间的值
示例配置使用 TCP 协议,侦听54321 端口。选择端口时要确保该端口被防火墙放行。
最后使用如下命令让配置生效并启动 mita 服务端:
# mita apply config ./config.json # mita start # mita status
图.1 mita 应用配置并启动服务
此时,就完成了 mieru 服务端的安装和部署。配置文件应用一次即可,下次启动服务器时会自动加载配置。修改配置文件需要使用如下命令停止 mita 服务,重新加载新配置并查看配置信息:
# mita stop # mita apply config ./config-new.json # mita describe config # mita start # mita status
3] mieru 客户端的使用
mieru 的客户端使用方法同服务端比较类似,也是下载对应的可执行软件,然后应用配置文件并启动 mieru 即可。配置文件 config-client.json 示例如下:
{ "profiles": [ { "profileName": "default", "user": { "name": "user1", "password": "password1" }, "servers": [ { "ipAddress": "12.34.56.78", "domainName": "", "portBindings": [ { "port": 54321, "protocol": "TCP" } ] } ], "mtu": 1400 } ], "activeProfile": "default", "rpcPort": 10800, "socks5Port": 1080, "loggingLevel": "INFO", "socks5ListenLAN": false }
客户端配置文件说明如下:
- profiles -> user -> name 属性中,填写用户名,此处必须与代理服务器中的设置相同
- profiles -> user -> password 属性中,填写密码,此处必须与代理服务器中的设置相同
- profiles -> servers -> ipAddress 属性中,填写代理服务器的公网 IP 地址,支持 IPv4 和 IPv6 地址
- 如果你为代理服务器注册了域名, profiles -> servers -> domainName 中填写域名,否则,请勿修改这个属性
- profiles -> servers -> portBindings -> port 中填写 mita 监听的 TCP 或 UDP 端口号,这个端口号必须与代理服务器中的设置相同
- profiles -> mtu 属性中指定一个从 1280 到 1500 之间的值。默认值为 1400。这个值可以与代理服务器中的设置不同
- rpcPort 属性指定一个从 1025 到 65535 之间的数值,该值为本机访问代理服务器使用的端口
- socks5Port 属性指定一个从 1025 到 65535 之间的数值,该端口不能与 rpcPort 相同,该值为 socks5 代理使用端口
- 如果客户端需要为局域网中的其他设备提供代理服务,请将 socks5ListenLAN 属性设置为 true
下载好正确的 mieru 客户端软件后,使用如下命令加载配置并启动服务:
mieru apply config config-client.json mieru start mieru status
图.2 启动 mieru 客户端
如图.2 所示,mieru 已经正常启用并侦听了本机的 1080 端口,浏览器配置使用 socks5 代理连接至1080端口即可科学上网。
以火狐浏览器为例,浏览器代理配置如下所示:
图.3 火狐浏览器使用 mieru 代理网络配置
全部配置完成后,就可以通过浏览器愉快的上网了。
最后,讲一下如何通过手机连接 mieru 代理。
手机目前只支持 Android 平台,需要下载一个应用 SagerNet 和对应的 mieru 插件,两个应用均可在本站 >>工具下载<< 页面获得。应用安装成功后,打开 SagerNet,点击添加按钮,选择”手动输入”,再选择 mieru,就会见到如下内容:
图.4 SagerNet 配置 mieru 节点
如图.4 所示,只需要在 SagerNet 配置一些服务器的信息,保存后就可以连接至 mieru 代理服务器了,Android 的客户端使用起来更加简单明了,并且使用效果异常出色。
总之,mieru 是一款非常不错的代理工具,上手简单,配置容易,性能优越,也不需要域名、证书之类的伪装,十分适合科学上网的入门练手。同时,由于没有过多的伪装方式,节点也很容易被定位,其抗识别能力相对较弱。但作为代理工具来说,简单而纯粹的工具就不失为一款好工具。