Open-source desktop client / YAML configuration management

Clash NyanpasuDownloads & Setup

A Clash GUI client built on the mihomo core. Manage subscriptions, YAML configuration, and routing rules in one place, with a cross-platform desktop interface and configuration guides.

  • LICENSEGPL-3.0
  • Open source
  • Documentation in Chinese

FIG 1 / CONFIGURATION WORKSPACE

Configuration structure and routing features

Subscriptions provide configurations, clients organize them, and the core applies the rules.Understand how these pieces fit together before changing overrides, proxy groups, or traffic interception settings.

Clash Nyanpasu is a desktop client for managing configurations. After importing a remote subscription, first confirm that it loads, then check the proxy groups and rule targets. The examples below explain how configuration fields relate; they do not include a working proxy service. DIRECT means a connection goes directly to its destination. Find mobile client options in the platform links below.

Keep remote subscriptions separate from local changes

A Profile is a configuration entry managed by the client. It can come from a local YAML file or a remote subscription. Editing a subscription directly can mean losing your changes the next time it updates. Put settings you want to keep—such as ports, DNS, and custom rules—in a separate override, then inspect the generated configuration. Clients differ in how they replace or append list fields and process scripts, so merging is not always simple concatenation. Keep a working copy before switching Profiles. After loading one, check the logs and confirm that override fields appear at the expected level.

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
Read about overrides and merging →

FIG 2 / PLATFORM SELECTOR

Clash clients by platform

Choose a desktop or mobile client for your device.
Check the download page for installers, architectures, and system requirements.

Clash Nyanpasu is a desktop client, while the broader Clash ecosystem offers options for multiple platforms. Windows, macOS, and Linux users can choose a GUI client to suit their desktop environment and configuration workflow. Android and iOS users should choose an app for their operating system rather than trying to install a desktop program. This page links to downloads for five platforms; see the download page for the current client list. Check that your subscription uses a format supported by the app you choose.

Windows

For desktop users who need system proxy support, configuration editing, and service mode. Before downloading, open System Settings and go to “System → About” to check your processor architecture, then choose the matching installer. On first launch, import a working configuration and make sure its port is available before enabling the system proxy. Set up service permissions only if you need TUN.

When switching from Clash for Windows, keep a backup of your original configuration and custom rules. The new client may use different configuration directories and override options, or support different core fields. Migrate settings one at a time instead of overwriting the entire application data directory.

Go to downloads Windows client

macOS

Check “About This Mac” to see whether your Mac uses Apple Silicon or Intel, then choose the matching installer. After installation, follow the system prompts to authorize the app to open. Whether it needs a background service or network permissions depends on the client and traffic interception method. Get the standard system proxy working first, then enable other network features one at a time to make permission or configuration issues easier to diagnose.

Before switching clients, quit the old app and turn off its system proxy. If your browser still uses the old proxy address, check your system network settings instead of repeatedly importing the subscription.

Go to downloads macOS client

Android

Choose an Android client that matches your device architecture, then install it and import a compatible subscription. When you connect for the first time, Android will usually ask for permission to create a VPN connection. This is a system step that lets the app create a local traffic interception tunnel; it does not mean the subscription is working. Check that the configuration loads and its rule targets are valid.

Background activity is affected by system battery settings. If the connection drops after you switch apps, check battery optimization and background restrictions before investigating the configuration. If another VPN app is running, check which app currently has control of the connection.

Go to downloads Android client

iOS

On the download page, iPhone and iPad users can open the Clash Plus page on the App Store. After installing the app, follow its steps to import a configuration and allow it to add a VPN configuration when prompted. Use subscription links only from trusted sources, and never share the full URL if it contains access credentials—in screenshots or public discussions.

Desktop configuration files can be useful as migration references, but do not assume every script or override will work unchanged. After importing, check which fields and proxy groups the app supports before making custom changes.

Go to downloads iOS client

Linux

Desktop users should choose a GUI client with a package format supported by their distribution and check for desktop session dependencies. For server or router use, see the mihomo core section on the download page. The core does not provide a full desktop configuration management interface, so you will need to manage configuration paths, startup arguments, and the service lifecycle yourself.

System proxy support varies across desktop environments and command-line tools. If an application is not using the proxy, first check whether it reads system proxy settings. Then decide whether to configure a proxy at the application level or use another traffic interception method.

Go to downloads Linux client

The client manages local configurations and connections; it does not include a proxy service. If an import fails, check the subscription format. If a connection fails, check the mode, rule targets, and system proxy in that order. For the full setup sequence, see the Getting started guide. For field definitions, see the glossary.

View all clients →

FIG 3 / SOURCE & RUNTIME

Open-source project and core

GUI / PROFILE / CORE

The client and the Clash ecosystem

Clash Nyanpasu is an open-source desktop GUI client in the Clash ecosystem. “Clash” can refer to earlier projects, but it is also commonly used for clients and configuration formats that are compatible with them. When following a guide, distinguish project names from configuration syntax; steps for an older client’s interface may not apply to every app. When choosing a Clash for Windows alternative, compare configuration migration, core support, and service permissions—not just similar names.

How the GUI and mihomo work together

The client manages subscription entries, UI actions, configuration generation, and system integration. mihomo reads the configuration and handles protocol processing, rule matching, DNS, and other core logic. Seeing a switch in the interface does not guarantee that the core successfully loaded the corresponding setting. Check the generated configuration alongside startup logs: fix YAML nesting for parsing errors, check group names for reference errors, and check for port conflicts when listening fails. Treat these as separate layers when troubleshooting.

Source code, license, and issue reports

Browse the Clash Nyanpasu source repository on GitHub. The project is licensed under GPL-3.0. The source code, release notes, and issue reports help you understand the implementation, track changes, and investigate known behavior. When reporting an issue, include your operating system, steps to reproduce, expected results, and relevant logs. Remove subscription URLs, credentials, and private domain names first. A minimal, reproducible configuration is more useful for troubleshooting than a full configuration with lots of unrelated fields.

Updating the client and its configuration

Updating the app, updating the core, and refreshing a subscription are three separate actions. An app update may change the interface or configuration handling; a core update may change field support; a subscription refresh replaces remote content. Back up local overrides and a working configuration before updating. Afterward, confirm that existing features still work before trying new fields. Avoid changing clients, DNS, and rules all at once while troubleshooting, or it will be difficult to tell which change caused the issue.

Get the project source

Git is required. Cloning downloads the source code only; follow the repository documentation to build it. For everyday use, choose an installer from the download page.

git clone https://github.com/LibNyanpasu/clash-nyanpasu.git

How to read the configuration guides

Start with the Getting Started guide to import a configuration, choose a mode, and set up the system proxy. Look up terms such as Profile, fake-ip, and proxy group in the glossary. When you need to change fields, use the YAML guide and check each section in turn: general settings, proxies, proxy groups, rules, and overrides. Understand examples before using them, and make sure every rule target is defined. Tutorial snippets are not complete subscriptions.

For so-called free Clash nodes or proxy subscriptions, the client only reads the configuration; it cannot guarantee that third-party services are available, protect your privacy, or remain online. Check the provider’s terms and permitted use before choosing a source. Hide subscription URLs before sharing troubleshooting screenshots. A successful import only means the format was accepted—it does not prove that the connection works or that traffic is routed as expected.

Download the latest version of Clash