Git Product home page Git Product logo

clash-fudge's Introduction

Clash
Clash-Fudge

A Clash.Meta GUI based on Flutter.

Platform Support

Linux macOS Windows Android
๐Ÿƒโ€โ™€๏ธ โœ”๏ธ โž– ๐Ÿƒโ€โ™€๏ธ

Features

  • Similar to a native user interface.
  • Built-in support Clash.Meta core.
  • Similar menu bar operation logic as ClashX.
  • Tun Supported.
  • Some additional custom operations.

Multi-platform

This application is primarily developed and tested on macOS. Currently, it can run on Linux and Android, but there may be some incomplete features or bugs.

Due to the code not being stable yet, the code for each platform exists in separate branches and has not been merged. After the functionality becomes more stable, they will be merged into the main branch.

Preview

Clash

Clash

Clash

Clash

Install

Download from release. Now it only supports macOS 10.15+

Or you can build it yourself.

Development

You should install Flutter3.x first.

Then download the clash.meta kernel on your own, rename it as ClashFudgeCore, and place it in assets/core folder.

Please note that the alpha version of the kernel has not been tested yet.

# 1. Fetch project dependencies
$ flutter pub get
# 2. Generate .g.dart file
$ dart run build_runner build --delete-conflicting-outputs
# 3. Run the project
$ flutter run -d macos

Or you can build it

flutter build macos

Todos

Too many, can't list them all...

FAQ

1. macOS "Clash-Fudge" is damaged and can't be opened

open the terminal and run sudo xattr -r -d com.apple.quarantine /Applications/Clash-Fudge.app

2. Why does it ask for root permission when just started?

If you want to enable the Tun function, the kernel needs to run with root privileges. Currently, for convenience, the application directly requests permission at startup. In the future, we will consider changing the relevant logic.

Now only able to enable tun.

3. Is it possible to avoid having to enter a password authorization every time I start?

Of course you can. You can authorize it by going to Settings -> General -> Advanced -> Kernel Silent Privilege. Once authorized, you will no longer need to enter a password for verification.

4. Why do we need to rename the kernel?

In order to avoid conflicts, the application will attempt to stop any kernel processes with the same name when it starts. To prevent unexpected accidents caused by running multiple clashes at the same time, they are given separate names.

5. Why can't I access the internet after exiting the application?

If you need to exit the application, please use the 'Exit' option in the top bar icon. This operation will clear your system's proxy settings and DNS settings to avoid any networking issues. If your application is forcefully closed, the related system settings will not be automatically reset, and you will need to manually disable the relevant proxy and DNS fields.

6. Some programs prompt SSL certificate errors.

Try turning off/restarting the Tun mode, it should solve the problem. There may be some bugs here, please provide relevant feedback.

7. I think the app icon is very ugly.

After all, you can't expect someone who rarely picks up a pen to design a sophisticated and beautiful icon in a few minutes using a knockoff pen and drawing software downloaded temporarily on an iPad. If I really had that ability, why would I still be writing code? ๐Ÿฅฒ

Disclaimer

This is a learning project for Flutter practice.

Contributions

Issue and PR welcome!

Acknowledgement

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

License

GPL-3.0 License. See License here for details.

clash-fudge's People

Contributors

zsakvo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.