近期:由于 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 是一款非常不错的代理工具,上手简单,配置容易,性能优越,也不需要域名、证书之类的伪装,十分适合科学上网的入门练手。同时,由于没有过多的伪装方式,节点也很容易被定位,其抗识别能力相对较弱。但作为代理工具来说,简单而纯粹的工具就不失为一款好工具。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注