## File: README.md

<h1 align="center">
  
</h1>

<h3>Clash Nyanpasu</h3>

<h3>
  A [Clash](https://github.com/Dreamacro/clash) GUI based on [Tauri](https://github.com/tauri-apps/tauri).
</h3>


  [](https://github.com/libnyanpasu/clash-nyanpasu/releases/latest)
  [](https://github.com/libnyanpasu/clash-nyanpasu/releases/pre-release)
  [](https://github.com/libnyanpasu/clash-nyanpasu/stargazers)
  [](https://github.com/libnyanpasu/clash-nyanpasu/releases/latest)
  [](https://github.com/libnyanpasu/clash-nyanpasu/blob/main/LICENSE)
  [](https://twitter.com/ClashNyanpasu)
  [](https://deepwiki.com/libnyanpasu/clash-nyanpasu)


## Features

- Built-in support [Clash Premium](https://github.com/Dreamacro/clash), [Mihomo](https://github.com/MetaCubeX/mihomo), [Clash Rust](https://github.com/Watfaq/clash-rs) & [Meow](https://github.com/madeye/meow-rs).
- Profiles management and enhancement (by YAML, JavaScript & Lua). [Doc](https://nyanpasu.org/tutorial/proxy-chain)
- Provider management support.
- Google Material You Design UI and animation support.

## Preview





## Links

- [Install](https://nyanpasu.org/tutorial/install)
- [FAQ](https://nyanpasu.org/others/faq)
- [Q&A Convention](https://nyanpasu.org/others/issues)
- [How To Ask Questions](https://nyanpasu.org/others/how-to-ask)

## Development

### Configure your development environment

You should install Rust and Node.js, see [here](https://v2.tauri.app/start/prerequisites/) for more details.

Clash Nyanpasu uses the pnpm package manager. See [here](https://pnpm.io/installation) for installation instructions. Then, install Node.js packages.

```shell
pnpm i
```

### Download the Clash binary & other dependencies

```shell
# force update to latest version
# pnpm prepare:check --force

pnpm prepare:check
```

### Run dev

```shell
pnpm dev

# run it in another way if app instance exists
pnpm dev:diff
```

### Build application

```shell
pnpm build
```

## Contributions

Issue and PR welcome!

## Acknowledgement

Clash Nyanpasu was based on or inspired by these projects and so on:

- [zzzgydi/clash-verge](https://github.com/zzzgydi/clash-verge): A Clash GUI based on Tauri. Supports Windows, macOS and Linux.
- [clash-verge-rev/clash-verge-rev](https://github.com/clash-verge-rev/clash-verge-rev): Another fork of Clash Verge. Some patches are included for bug fixes.
- [tauri-apps/tauri](https://github.com/tauri-apps/tauri): Build smaller, faster, and more secure desktop applications with a web frontend.
- [Dreamacro/clash](https://github.com/Dreamacro/clash): A rule-based tunnel in Go.
- [MetaCubeX/mihomo](https://github.com/MetaCubeX/mihomo): A rule-based tunnel in Go.
- [Watfaq/clash-rs](https://github.com/Watfaq/clash-rs): A custom protocol, rule based network proxy software.
- [madeye/meow-rs](https://github.com/madeye/meow-rs): A high-performance Rust implementation of the mihomo (Clash Meta) proxy kernel.
- [Fndroid/clash_for_windows_pkg](https://github.com/Fndroid/clash_for_windows_pkg): A Windows/macOS GUI based on Clash.
- [vitejs/vite](https://github.com/vitejs/vite): Next generation frontend tooling. It's fast!
- [mui/material-ui](https://github.com/mui/material-ui): Ready-to-use foundational React components, free forever.

## Contributors



## License

GPL-3.0 License. See [License here](./LICENSE) for details.

---

## File: backend/tauri-plugin-deep-link/README.md

# Deep link plugin for Tauri

[](https://crates.io/crates/tauri-plugin-deep-link) [](https://docs.rs/tauri-plugin-deep-link)

**This plugin will be migrated to https://github.com/tauri-apps/plugins-workspace/.** `0.1.2` will be the last release in this repo.

~~Temporary solution until https://github.com/tauri-apps/tauri/issues/323 lands.~~

Depending on your use case, for example a `Login with Google` button, you may want to take a look at https://github.com/FabianLars/tauri-plugin-oauth instead. It uses a minimalistic localhost server for the OAuth process instead of custom uri schemes because some oauth providers, like the aforementioned Google, require this setup. Personally, I think it's easier to use too.

Check out the [`example/`](https://github.com/FabianLars/tauri-plugin-deep-link/tree/main/example) directory for a minimal example. You must copy it into an actual tauri app first!

## macOS

In case you're one of the very few people that didn't know this already: macOS hates developers! Not only is that why the macOS implementation took me so long, it also means _you_ have to be a bit more careful if your app targets macOS:

- Read through the methods' platform-specific notes.
- On macOS you need to register the schemes in a `Info.plist` file at build time, the plugin can't change the schemes at runtime.
- macOS apps are in single-instance by default so this plugin will not manually shut down secondary instances in release mode.
  - To make development via `tauri dev` a little bit more pleasant, the plugin will work similar-ish to Linux and Windows _in debug mode_ but you will see secondary instances show on the screen for a split second and the event will trigger twice in the primary instance (one of these events will be an empty string). You still have to install a `.app` bundle you got from `tauri build --debug` for this to work!