mieru is a secure, hard to classify, hard to probe, TCP or UDP protocol-based socks5 / HTTP / HTTPS network proxy software.
The mieru proxy software suite consists of two parts, a client software called mieru, and a proxy server software called mita.
The principle of mieru is similar to shadowsocks / v2ray etc. It creates an encrypted channel between the client and the proxy server outside the firewall. GFW cannot decrypt the encrypted transmission and cannot determine the destination you end up visiting, so it has no choice but to let you go.
For an explanation of the mieru protocol, see mieru Proxy Protocol.
- mieru uses a high-strength AES-256-GCM encryption algorithm that generates encryption keys based on username, password and system time.
- mieru implements complete encryption of all transmitted content between the client and the proxy server, without transmitting any plaintext information.
- When mieru sends a packet, it is padded with random bytes at the end. Even when the same content is transmitted, the packet size varies.
- When using the UDP transport protocol, mieru does not require a handshake between client and server.
- When the server can not decrypt the data sent by the client, no content is returned. it is difficult for GFW to discover the mieru service through active probing.
- mieru supports multiple users sharing a single proxy server.
- mieru supports IPv4 and IPv6.
- mieru provides socks5, HTTP and HTTPS proxy.
- The client software supports Windows, Mac OS and Linux.
- The server software supports socks5 outbound (proxy chain).
- If you need advanced features like global proxy or customized routing rules, you can use mieru as the backend of a proxy platform such as clash.
- Server Installation & Configuration
- Client Installation & Configuration
- Client Installation & Configuration - OpenWrt
- Maintenance & Troubleshooting
- Security Guide
Compiling should be done in Linux. The compilation process requires downloading dependent packages, which may be blocked by the firewall.
The following softwares are required for compilation.
- curl
- env
- git
- go (version >= 1.20)
- make
- sha256sum
- tar
- zip
To build Android executable files:
- gcc
To build debian packages:
- dpkg-deb
- fakeroot
To build RPM packages:
- rpmbuild
To compile, go to the root directory of the project and invoke make
. The compilation result will be stored in the release
directory.
If you think this software is helpful, please share to your friends. Thanks!
Use GitHub issue.
Use of this software is subject to the GPL-3 license.