mieru

module
v1.15.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2023 License: GPL-3.0

README

見える / mieru

Build Status Releases Downloads LICENSE

中文文档

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.

Protocol

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.

Features

  1. mieru uses a high-strength AES-256-GCM encryption algorithm that generates encryption keys based on username, password and system time. With the current computing power, the data content transmitted by mieru cannot be cracked.
  2. mieru implements complete encryption of all transmitted content between the client and the proxy server, without transmitting any plaintext information. A network observer (e.g. GFW) only knows the time, the sending and receiving addresses of the packets, and the size of the packets. Other than that, the observer cannot get any other traffic information.
  3. 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.
  4. When using the UDP transport protocol, mieru does not require a handshake between client and server.
  5. 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.
  6. mieru supports multiple users sharing a single proxy server.
  7. mieru supports IPv4 and IPv6.
  8. mieru provides socks5, HTTP and HTTPS proxy.
  9. The client software supports Windows, Mac OS, Linux and Android systems. Android users should use SagerNet client version 0.8.1-rc02 or above, and install mieru plugin version 1.6.1 or above.
  10. 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.

User Guide

  1. Server Installation & Configuration
  2. Client Installation & Configuration
  3. Client Installation & Configuration - OpenWrt
  4. Maintenance & Troubleshooting
  5. Security Guide

Compile

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 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.

Contact Us

Use GitHub issue.

License

Use of this software is subject to the GPL-3 license.

Directories

Path Synopsis
cmd
mieru
Binary mieru is the client of mieru proxy.
Binary mieru is the client of mieru proxy.
mita
Binary mita is the server of mieru proxy.
Binary mita is the server of mieru proxy.
pkg
bimap
Package bimap is imported from https://github.com/vishalkuo/bimap
Package bimap is imported from https://github.com/vishalkuo/bimap
cli
kcp
Package kcp is imported from https://github.com/xtaci/kcp-go
Package kcp is imported from https://github.com/xtaci/kcp-go
log
Package log is is imported from https://github.com/sirupsen/logrus
Package log is is imported from https://github.com/sirupsen/logrus
rng
socks5
Package socks5 is imported from https://github.com/armon/go-socks5
Package socks5 is imported from https://github.com/armon/go-socks5
socks5client
Package socks5client is imported from https://github.com/h12w/socks
Package socks5client is imported from https://github.com/h12w/socks
udpsession
Package udpsession is imported from https://github.com/xtaci/kcp-go
Package udpsession is imported from https://github.com/xtaci/kcp-go
test
cmd/httpserver
httpserver is a simple HTTP server listening on port 8080.
httpserver is a simple HTTP server listening on port 8080.
cmd/sockshttpclient
sockshttpclient is a HTTP client that connects to HTTP server via a socks proxy.
sockshttpclient is a HTTP client that connects to HTTP server via a socks proxy.
cmd/socksudpclient
socksudpclient is a client that connects to a server via a socks UDP association.
socksudpclient is a client that connects to a server via a socks UDP association.
cmd/udpserver
For each incoming UDP packet, if the data satisfy [A-Za-z]+, a rot13 of the input is send back.
For each incoming UDP packet, if the data satisfy [A-Za-z]+, a rot13 of the input is send back.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL