Convert Figma logo to code with AI

vernesong logoOpenClash

A Clash Client For OpenWrt

16,571
3,068
16,571
48

Top Related Projects

15,239

A simple Python Pydantic model for Honkai: Star Rail parsed data from the Mihomo API.

4,027

Yet Another Clash Dashboard

Run sing-box/mihomo as client in shell

Quick Overview

OpenClash is an open-source Clash client for OpenWrt. It provides a user-friendly interface for managing and configuring Clash, a rule-based tunnel software, on OpenWrt devices. OpenClash allows users to easily set up and manage proxy rules, enabling secure and flexible network traffic routing.

Pros

  • Easy integration with OpenWrt systems
  • User-friendly web interface for configuration
  • Supports various proxy protocols and rule sets
  • Regular updates and active community support

Cons

  • Limited to OpenWrt devices
  • May require some networking knowledge for optimal configuration
  • Can be resource-intensive on low-end devices
  • Potential security risks if not properly configured

Getting Started

To install OpenClash on your OpenWrt device:

  1. Download the latest release from the GitHub repository.
  2. Upload the IPK file to your OpenWrt device.
  3. Install the package using the following command:
    opkg install openclash_<version>_<architecture>.ipk
    
  4. Access the OpenClash web interface through your OpenWrt LuCI panel.
  5. Configure your proxy servers and rule sets.
  6. Enable OpenClash and apply the settings.

For detailed instructions and advanced configuration options, refer to the project's wiki on GitHub.

Competitor Comparisons

15,239

A simple Python Pydantic model for Honkai: Star Rail parsed data from the Mihomo API.

Pros of mihomo

  • More actively maintained with frequent updates
  • Better performance and resource efficiency
  • Supports a wider range of protocols and features

Cons of mihomo

  • Less user-friendly interface for configuration
  • Steeper learning curve for new users
  • Limited documentation compared to OpenClash

Code Comparison

OpenClash configuration example:

proxy-groups:
  - name: Proxy
    type: select
    proxies:
      - Auto
      - DIRECT
      - Server1
      - Server2

mihomo configuration example:

proxy-groups:
  - name: Proxy
    type: select
    use:
      - provider1
    proxies:
      - DIRECT
      - Server1
      - Server2

Both projects aim to provide a clash core for OpenWrt systems, but mihomo (formerly Clash.Meta) offers more advanced features and better performance. OpenClash provides a more user-friendly interface and extensive documentation, making it easier for beginners to set up and use. mihomo, on the other hand, caters to more advanced users who require additional customization options and improved performance. The code comparison shows slight differences in configuration syntax, with mihomo supporting proxy providers for more flexible management of proxy lists.

4,027

Yet Another Clash Dashboard

Pros of yacd

  • Lightweight and focused dashboard for Clash
  • Easy to integrate with existing Clash setups
  • Cross-platform web-based interface

Cons of yacd

  • Limited to dashboard functionality only
  • Requires a separate Clash core to function
  • Less comprehensive feature set for overall Clash management

Code comparison

yacd (React component):

function App() {
  return (
    <div className="app">
      <Header />
      <SideBar />
      <Main />
    </div>
  );
}

OpenClash (Lua configuration):

local function config()
    local uci = luci.model.uci.cursor()
    local clash = "openclash"
    local http_port = uci:get(clash, "config", "http_port")
    local dashboard_password = uci:get(clash, "config", "dashboard_password")
    -- Additional configuration logic
end

Summary

OpenClash is a comprehensive Clash implementation for OpenWrt, offering a full suite of features for managing Clash on routers. It includes its own dashboard, configuration management, and integration with OpenWrt.

yacd, on the other hand, is a standalone dashboard for Clash that can be used with various Clash implementations. It's more focused and lightweight but requires a separate Clash core to function.

The choice between the two depends on the specific use case: OpenClash for a full OpenWrt solution, or yacd for a flexible dashboard that can be used with different Clash setups.

Run sing-box/mihomo as client in shell

Pros of ShellCrash

  • Lightweight and efficient, suitable for low-resource devices
  • Easy to install and configure through shell scripts
  • Supports a wide range of platforms, including OpenWrt and various Linux distributions

Cons of ShellCrash

  • Less feature-rich compared to OpenClash
  • Smaller community and fewer updates
  • Limited GUI options, primarily relies on command-line interface

Code Comparison

OpenClash configuration example:

port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090

ShellCrash configuration example:

clash_port=7890
dns_port=1053
clash_ui_port=9090
run_mode="redir-host"

Key Differences

  • OpenClash is more focused on OpenWrt devices, while ShellCrash has broader platform support
  • OpenClash offers a more comprehensive GUI, making it easier for non-technical users
  • ShellCrash is more lightweight and can be easily integrated into existing systems
  • OpenClash has a larger user base and more frequent updates
  • ShellCrash provides simpler configuration options, which can be beneficial for quick setups

Both projects aim to provide Clash-based proxy management, but they cater to different user needs and preferences. OpenClash is better suited for users who prefer a feature-rich, GUI-driven experience on OpenWrt devices, while ShellCrash is ideal for those who prioritize simplicity and cross-platform compatibility.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Clash
OpenClash

本插件是一个可运行在 OpenWrt 上的 Clash 客户端

兼容 Shadowsocks、ShadowsocksR、Vmess、Trojan、Snell 等协议,根据灵活的规则配置实现策略代理

- 感谢 frainzy1477 ,本插件基于 Luci For Clash 进行二次开发 -

使用手册

下载地址

依赖

  • luci
  • luci-base
  • dnsmasq-full
  • coreutils
  • coreutils-nohup
  • bash
  • curl
  • ca-certificates
  • ipset
  • ip-full
  • libcap
  • libcap-bin
  • ruby
  • ruby-yaml
  • unzip
  • iptables(iptables)
  • kmod-ipt-nat(iptables)
  • iptables-mod-tproxy(iptables)
  • iptables-mod-extra(iptables)
  • kmod-tun(TUN模式)
  • luci-compat(Luci >= 19.07)
  • ip6tables-mod-nat(iptables-ipv6)
  • kmod-inet-diag(PROCESS-NAME)
  • kmod-nft-tproxy(Firewall4)

编译

从 OpenWrt 的 SDK 编译

# 解压下载好的 SDK
curl -SLk --connect-timeout 30 --retry 2 "https://archive.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/OpenWrt-SDK-15.05.1-ar71xx-generic_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2" -o "/tmp/SDK.tar.bz2"
cd \tmp
tar xjf SDK.tar.bz2
cd OpenWrt-SDK-15.05.1-*

# Clone 项目
mkdir package/luci-app-openclash
cd package/luci-app-openclash
git init
git remote add -f origin https://github.com/vernesong/OpenClash.git
git config core.sparsecheckout true
echo "luci-app-openclash" >> .git/info/sparse-checkout
git pull --depth 1 origin master
git branch --set-upstream-to=origin/master master

# 编译 po2lmo (如果有po2lmo可跳过)
pushd luci-app-openclash/tools/po2lmo
make && sudo make install
popd

# 开始编译

# 先回退到SDK主目录
cd ../..
make package/luci-app-openclash/luci-app-openclash/compile V=99

# IPK文件位置
./bin/ar71xx/packages/base/luci-app-openclash_*-beta_all.ipk
# 同步源码
cd package/luci-app-openclash/luci-app-openclash
git pull

# 您也可以直接拷贝 `luci-app-openclash` 文件夹至其他 `OpenWrt` 项目的 `Package` 目录下随固件编译

make menuconfig
# 选择要编译的包 LuCI -> Applications -> luci-app-openclash

许可

请作者喝杯咖啡

  • PayPal

  • USDT-TRC20

  • 比特币-BTC

  • 以太币-ETH

预览

  • 运行状态

  • 全局设置

  • 服务器&策略组

  • 规则&策略组

  • 配置文件订阅

  • 配置文件管理

  • 运行日志