github.com/metacubex/mihomo@v1.18.5/README.md (about)

     1  <h1 align="center">
     2    <img src="Meta.png" alt="Meta Kennel" width="200">
     3    <br>Meta Kernel<br>
     4  </h1>
     5  
     6  <h3 align="center">Another Mihomo Kernel.</h3>
     7  
     8  <p align="center">
     9    <a href="https://goreportcard.com/report/github.com/MetaCubeX/mihomo">
    10      <img src="https://goreportcard.com/badge/github.com/MetaCubeX/mihomo?style=flat-square">
    11    </a>
    12    <img src="https://img.shields.io/github/go-mod/go-version/MetaCubeX/mihomo/Alpha?style=flat-square">
    13    <a href="https://github.com/MetaCubeX/mihomo/releases">
    14      <img src="https://img.shields.io/github/release/MetaCubeX/mihomo/all.svg?style=flat-square">
    15    </a>
    16    <a href="https://github.com/MetaCubeX/mihomo">
    17      <img src="https://img.shields.io/badge/release-Meta-00b4f0?style=flat-square">
    18    </a>
    19  </p>
    20  
    21  ## Features
    22  
    23  - Local HTTP/HTTPS/SOCKS server with authentication support
    24  - VMess, VLESS, Shadowsocks, Trojan, Snell, TUIC, Hysteria protocol support
    25  - Built-in DNS server that aims to minimize DNS pollution attack impact, supports DoH/DoT upstream and fake IP.
    26  - Rules based off domains, GEOIP, IPCIDR or Process to forward packets to different nodes
    27  - Remote groups allow users to implement powerful rules. Supports automatic fallback, load balancing or auto select node
    28    based off latency
    29  - Remote providers, allowing users to get node lists remotely instead of hard-coding in config
    30  - Netfilter TCP redirecting. Deploy Mihomo on your Internet gateway with `iptables`.
    31  - Comprehensive HTTP RESTful API controller
    32  
    33  ## Dashboard
    34  
    35  A web dashboard with first-class support for this project has been created; it can be checked out at [metacubexd](https://github.com/MetaCubeX/metacubexd).
    36  
    37  ## Configration example
    38  
    39  Configuration example is located at [/docs/config.yaml](https://github.com/MetaCubeX/mihomo/blob/Alpha/docs/config.yaml).
    40  
    41  ## Docs
    42  
    43  Documentation can be found in [mihomo Docs](https://wiki.metacubex.one/).
    44  
    45  ## For development
    46  
    47  Requirements:
    48  [Go 1.20 or newer](https://go.dev/dl/)
    49  
    50  Build mihomo:
    51  
    52  ```shell
    53  git clone https://github.com/MetaCubeX/mihomo.git
    54  cd mihomo && go mod download
    55  go build
    56  ```
    57  
    58  Set go proxy if a connection to GitHub is not possible:
    59  
    60  ```shell
    61  go env -w GOPROXY=https://goproxy.io,direct
    62  ```
    63  
    64  Build with gvisor tun stack:
    65  
    66  ```shell
    67  go build -tags with_gvisor
    68  ```
    69  
    70  ### IPTABLES configuration
    71  
    72  Work on Linux OS which supported `iptables`
    73  
    74  ```yaml
    75  # Enable the TPROXY listener
    76  tproxy-port: 9898
    77  
    78  iptables:
    79    enable: true # default is false
    80    inbound-interface: eth0 # detect the inbound interface, default is 'lo'
    81  ```
    82  
    83  ## Debugging
    84  
    85  Check [wiki](https://wiki.metacubex.one/api/#debug) to get an instruction on using debug
    86  API.
    87  
    88  ## Credits
    89  
    90  - [Dreamacro/clash](https://github.com/Dreamacro/clash)
    91  - [SagerNet/sing-box](https://github.com/SagerNet/sing-box)
    92  - [riobard/go-shadowsocks2](https://github.com/riobard/go-shadowsocks2)
    93  - [v2ray/v2ray-core](https://github.com/v2ray/v2ray-core)
    94  - [WireGuard/wireguard-go](https://github.com/WireGuard/wireguard-go)
    95  - [yaling888/clash-plus-pro](https://github.com/yaling888/clash)
    96  
    97  ## License
    98  
    99  This software is released under the GPL-3.0 license.
   100