2018-06-23 00:44:28 +08:00
< h1 align = "center" >
2021-12-09 17:54:53 +08:00
< img src = "Meta.png" alt = "Meta Kennel" width = "200" >
2022-01-06 10:49:26 +08:00
< br > Meta Kernel< br >
2018-06-23 00:44:28 +08:00
< / h1 >
2023-11-03 21:01:45 +08:00
< h3 align = "center" > Another Mihomo Kernel.< / h3 >
2018-06-23 00:44:28 +08:00
< p align = "center" >
2023-11-03 21:01:45 +08:00
< a href = "https://goreportcard.com/report/github.com/MetaCubeX/mihomo" >
< img src = "https://goreportcard.com/badge/github.com/MetaCubeX/mihomo?style=flat-square" >
2018-06-23 00:44:28 +08:00
< / a >
2024-01-17 13:31:21 +08:00
< img src = "https://img.shields.io/github/go-mod/go-version/MetaCubeX/mihomo/Alpha?style=flat-square" >
2023-11-03 21:01:45 +08:00
< a href = "https://github.com/MetaCubeX/mihomo/releases" >
< img src = "https://img.shields.io/github/release/MetaCubeX/mihomo/all.svg?style=flat-square" >
2018-06-23 00:44:28 +08:00
< / a >
2023-11-03 21:01:45 +08:00
< a href = "https://github.com/MetaCubeX/mihomo" >
2021-12-04 20:40:09 +08:00
< img src = "https://img.shields.io/badge/release-Meta-00b4f0?style=flat-square" >
2021-09-20 17:22:40 +08:00
< / a >
2018-06-23 00:44:28 +08:00
< / p >
2018-06-10 22:50:03 +08:00
## Features
2020-06-28 10:39:30 +08:00
- Local HTTP/HTTPS/SOCKS server with authentication support
2023-10-19 23:41:43 +08:00
- VMess, VLESS, Shadowsocks, Trojan, Snell, TUIC, Hysteria protocol support
2020-06-28 10:39:30 +08:00
- Built-in DNS server that aims to minimize DNS pollution attack impact, supports DoH/DoT upstream and fake IP.
2021-09-20 17:22:40 +08:00
- Rules based off domains, GEOIP, IPCIDR or Process to forward packets to different nodes
2023-09-09 13:06:49 +08:00
- Remote groups allow users to implement powerful rules. Supports automatic fallback, load balancing or auto select node
based off latency
- Remote providers, allowing users to get node lists remotely instead of hard-coding in config
2023-11-03 21:01:45 +08:00
- Netfilter TCP redirecting. Deploy Mihomo on your Internet gateway with `iptables` .
2020-06-28 10:39:30 +08:00
- Comprehensive HTTP RESTful API controller
2018-08-14 18:06:56 +08:00
2023-09-09 13:06:49 +08:00
## Dashboard
2023-10-19 23:41:43 +08:00
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 ).
2023-09-09 13:06:49 +08:00
2023-10-19 23:41:43 +08:00
## Configration example
2023-09-09 13:06:49 +08:00
2023-11-03 21:01:45 +08:00
Configuration example is located at [/docs/config.yaml ](https://github.com/MetaCubeX/mihomo/blob/Alpha/docs/config.yaml ).
2022-01-05 17:04:56 +08:00
2023-10-19 23:41:43 +08:00
## Docs
2023-01-11 00:10:39 +08:00
2023-11-03 21:01:45 +08:00
Documentation can be found in [mihomo Docs ](https://wiki.metacubex.one/ ).
2023-01-11 00:10:39 +08:00
2023-10-19 23:41:43 +08:00
## For development
Requirements:
[Go 1.20 or newer ](https://go.dev/dl/ )
2023-11-03 21:01:45 +08:00
Build mihomo:
2023-01-29 00:17:01 +08:00
2023-01-11 00:10:39 +08:00
```shell
2023-11-03 21:01:45 +08:00
git clone https://github.com/MetaCubeX/mihomo.git
cd mihomo & & go mod download
2023-10-19 23:41:43 +08:00
go build
2023-01-11 00:10:39 +08:00
```
2023-10-19 23:41:43 +08:00
Set go proxy if a connection to GitHub is not possible:
2023-01-29 00:17:01 +08:00
2023-01-11 00:10:39 +08:00
```shell
go env -w GOPROXY=https://goproxy.io,direct
```
2023-10-19 23:41:43 +08:00
Build with gvisor tun stack:
2023-01-29 00:17:01 +08:00
2023-01-20 17:13:32 +08:00
```shell
go build -tags with_gvisor
```
2022-03-22 05:38:42 +08:00
### IPTABLES configuration
2023-01-29 00:17:01 +08:00
2023-02-05 23:36:08 +08:00
Work on Linux OS which supported `iptables`
2021-11-17 16:03:47 +08:00
```yaml
# Enable the TPROXY listener
tproxy-port: 9898
2022-03-22 05:38:42 +08:00
iptables:
enable: true # default is false
inbound-interface: eth0 # detect the inbound interface, default is 'lo'
2021-11-17 16:03:47 +08:00
```
2023-01-30 20:39:13 +08:00
## Debugging
2023-10-19 23:41:43 +08:00
Check [wiki ](https://wiki.metacubex.one/api/#debug ) to get an instruction on using debug
2023-09-09 13:06:49 +08:00
API.
2023-01-30 20:39:13 +08:00
2020-03-20 12:35:30 +08:00
## Credits
2018-08-12 04:22:14 +08:00
2023-01-29 00:17:01 +08:00
- [Dreamacro/clash ](https://github.com/Dreamacro/clash )
- [SagerNet/sing-box ](https://github.com/SagerNet/sing-box )
- [riobard/go-shadowsocks2 ](https://github.com/riobard/go-shadowsocks2 )
- [v2ray/v2ray-core ](https://github.com/v2ray/v2ray-core )
- [WireGuard/wireguard-go ](https://github.com/WireGuard/wireguard-go )
- [yaling888/clash-plus-pro ](https://github.com/yaling888/clash )
2018-09-16 23:08:04 +08:00
2018-07-15 22:32:20 +08:00
## License
2018-08-12 04:22:14 +08:00
2020-06-28 10:39:30 +08:00
This software is released under the GPL-3.0 license.
2023-11-03 21:01:45 +08:00
[![FOSSA Status ](https://app.fossa.io/api/projects/git%2Bgithub.com%2FMetaCubeX%2Fmihomo.svg?type=large )](https://app.fossa.io/projects/git%2Bgithub.com%2FMetaCubeX%2Fmihomo?ref=badge_large)