Insights

Mihomo: Download, Install, and Configure Your First Proxy

Run the proxy core directly or choose a desktop client, then connect your own proxy endpoint.

Terminal, configuration document and proxy core connected to an upstream server

Mihomo is a proxy core that reads your configuration, matches traffic against rules, and sends requests through the selected outbound connection. You can run it directly from the command line or use a graphical client that manages the core for you.

Choose the core or a graphical client

You want to…

Start with…

Manage profiles and connections in a desktop interface

A Mihomo-based client such as Clash Verge Rev.

Run a configuration from a terminal or server

The Mihomo core binary.

Understand where your requests go

The configuration's proxies, groups, and rules.

This guide follows the command-line route. For a desktop interface, use the Clash Verge Rev setup guide.

Download Mihomo for your operating system

Open the MetaCubeX Mihomo releases, select the binary for your operating system and processor, and unpack it into a working folder.

Use mihomo as the executable name on macOS or Linux and mihomo.exe on Windows. In the same folder, create a directory named miyaip-config for the profile below.

System

Check before downloading

Windows

System type: x64 or ARM64.

macOS

Processor: Intel or Apple Silicon.

Linux

CPU architecture and the release's compatibility requirements.

On macOS or Linux, make the unpacked binary executable and check its version:

chmod +x ./mihomo
./mihomo -v

On Windows, open PowerShell in the working folder:

.\mihomo.exe -v

Create your first Mihomo configuration

Save the following file as miyaip-config/config.yaml. Replace the example server, port, username, and password with the SOCKS5 connection details from your MIYAIP account.

mixed-port: 7890
allow-lan: false
bind-address: 127.0.0.1
mode: rule
log-level: info

proxies:
  - name: MIYAIP-SOCKS5
    type: socks5
    server: proxy.example
    port: 1080
    username: "YOUR_USERNAME"
    password: "YOUR_PASSWORD"

proxy-groups:
  - name: MIYAIP
    type: select
    proxies:
      - MIYAIP-SOCKS5

rules:
  - MATCH,MIYAIP

Setting

Purpose

mixed-port

Local HTTP and SOCKS5 entry point used by your applications.

bind-address and allow-lan

Keep this example's listener on the local computer.

proxies

Upstream connection details.

proxy-groups

The node or nodes a policy can select.

rules

The policy applied to matching requests.

The final MATCH rule sends every request entering this local listener to the MIYAIP group. Applications must send their traffic to the listener to use this configuration.

In this sample, an application reaches 127.0.0.1:7890, then MATCH selects the MIYAIP group and its SOCKS5 node.

In this sample, an application reaches 127.0.0.1:7890, then MATCH selects the MIYAIP group and its SOCKS5 node.

Use an HTTP proxy instead

For an HTTP endpoint, replace the SOCKS5 node with the following node and replace MIYAIP-SOCKS5 with MIYAIP-HTTP in the group's node list. Use the HTTP port supplied with your connection details.

  - name: MIYAIP-HTTP
    type: http
    server: proxy.example
    port: 3128
    username: "YOUR_USERNAME"
    password: "YOUR_PASSWORD"

You can also generate a complete profile with the Proxy Format Converter. Select Clash / Mihomo YAML, choose Export file, and confirm credential inclusion when prompted before saving the configuration file.

MIYAIP converter showing a generated Clash YAML profile and two successful entries
The generated profile includes proxy nodes, a selection group, and routing rules.

Validate the configuration and start Mihomo

  1. Validate the configuration

    Run the command for your operating system. The -t option checks the file and exits.

    ./mihomo -t -d ./miyaip-config -f ./miyaip-config/config.yaml
    .\mihomo.exe -t -d .\miyaip-config -f .\miyaip-config\config.yaml
  2. Start the core

    Start the core with the same file. Keep this process running while testing; press Ctrl+C to stop it.

    ./mihomo -d ./miyaip-config -f ./miyaip-config/config.yaml
    .\mihomo.exe -d .\miyaip-config -f .\miyaip-config\config.yaml

Send a request through your local proxy

For the sample configuration, set your application's HTTP or SOCKS5 proxy to 127.0.0.1:7890. You can also send one HTTP request from a terminal:

curl -I --proxy http://127.0.0.1:7890 https://example.com/

In Windows PowerShell, use curl.exe for this command. Check the returned response headers and the Mihomo log entry for the outbound node. For a browser test, set that browser to use the local proxy and open What Is My IP to inspect the exit address.

Error or symptom

Check

Action

Configuration validation fails

Reported line, field, and group names

Correct the error and rerun the -t command.

Connection refused at the local port

Running process and listening port

Start the core and match the application's port to mixed-port.

Address already in use

Another local proxy process

Stop the conflicting process or choose another local port.

Upstream authentication error

Username, password, protocol, port

Correct the endpoint details in the node.

Browser traffic never appears in the log

Browser proxy setting

Point the browser to the local listener and make a new request.

For endpoint fields and manual HTTP, HTTPS, or SOCKS5 configuration, use the static proxy guide.

Frequently asked questions

Is Mihomo the same as Clash Meta?

Mihomo is the current name used by the MetaCubeX proxy core commonly referred to as Clash Meta. Use its project documentation and release page when choosing a binary or checking configuration fields.

What is the difference between Mihomo and a graphical client?

Mihomo is the core. A graphical client such as Clash Verge Rev provides profile and connection controls around it. Choose a client for an application interface, or run the core directly for a command-line setup. The official client list links to the supported projects.

Does starting Mihomo change every application's network route?

The configuration in this guide opens a local proxy listener. Set the applications you want to use it to that address and port. System-wide routing requires an additional system proxy or TUN setup.

Can I configure several MIYAIP endpoints?

Yes. Add each endpoint as a uniquely named node and reference those names in a proxy group. Rules can direct requests to the group, while a graphical client or configured controller can manage the group selection.

Run Mihomo with a static residential endpoint

Get your MIYAIP connection details, add the endpoint to your profile, and verify the outbound route from your application.

Sources