OpenClash is an OpenWrt/LuCI application that turns a router's admin interface into a full Clash/Mihomo proxy management system. The production code is mostly Lua CBI/controller modules, view templates with embedded JavaScript, and shell/Ruby orchestration scripts. It manages subscription downloads, YAML config generation and overwrite, core binary updates, GeoIP/GeoSite/China-route database updates, DNS/firewall integration, streaming-unlock probe and selection, and optional OIX managed-service integration. It also bundles the MetaCubeXD and zashboard single-page dashboards for live proxy monitoring and connection inspection. Architecturally, the project is an OpenWrt package: UCI configuration, an init.d service, and watchdog/procd lifecycle management. The LuCI controller exposes around 80 JSON/AJAX actions and uses low-level nixio fork/poll/pipe helpers for streaming subprocess output. The backend repeatedly combines shell scripts with Ruby-based YAML parsing and mutation to handle Clash configuration. External dependencies are significant: GitHub releases/CDNs for core and GEO data, subconverter services, the OIX API, and several IP-info services. Hardcoded URLs, vendored minified dashboard bundles, and multi-language shell/Ruby/Lua/C tooling are the main technical-drift risks. This is not a data-research repository; the data handled is operational proxy/node/routing state rather than analyzable datasets. No automated test suite is apparent in the tree; quality comes from defensive shell patterns (flock locks, ETag caching, retry loops) and feature depth rather than automated verification. The most reusable pieces are YAML.rb's merge/encryption layer, the server_url share-link parser widget, and the controller's streaming subprocess helpers.
This repository is a comprehensive collection of proxy routing rule sets and configuration files for multiple proxy clients (Surge, Loon, Quantumult X, Stash, Shadowrocket, mihomo, sing-box, Egern). It provides pre-curated domain/IP lists for services (e.g., Netflix, Telegram, OpenAI), ad-blocking (e.g., Ads_AWAvenue, EasyListChina), and China network identification (e.g., ChinaASN with 5076 entries). The rules are duplicated across platforms with format adaptations, and the repository includes full client configuration templates and server deployment examples (e.g., sing-box Hysteria2, AnyTLS). A few Surge panel scripts (Peekabo, Aliyun ECS CDT, Lightsail) demonstrate self-contained HTTP API client patterns with HMAC signing and caching. While not a software application itself, the repository is a dependency for proxy clients and includes several reusable script components.
This repository generates rule sets (RULE-SET) for the Clash Premium proxy tool, specifically tailored for users in China. The core of the repo is a GitHub Actions workflow (run.yml) that daily fetches domain and IP lists from multiple upstream sources (e.g., v2ray-rules-dat, domain-list-custom, dnsmasq-china-list, geoip) and transforms them into Clash-compatible YAML payload files. The output rule sets categorize domains into direct, proxy, reject, private, Apple, Google, GFW, etc. The codebase itself is minimal (only CI configuration) and the actual data artifacts are stored in a separate 'release' branch. The repository acts as a data pipeline, not an application, with the workflow serving as the sole processing logic. The pipeline is straightforward but effective, relying on standard Unix tools (curl, grep, perl, sed) for data transformation.
This repository is a massive, curated collection of network proxy routing rules (εζ΅θ§ε) for multiple proxy tools including Surge, Loon, QuantumultX, Shadowrocket, Clash, Stash, and AdGuard. The rules are auto-generated by an internal 'RULE GENERATOR' from public data sources (e.g., LM-Firefly/Rules, ACL4SSR, kr328.app) and cover thousands of servicesβfrom streaming platforms and social media to banking and gaming. Each rule set is provided in multiple formats (`.list`, `.yaml`, `.sgmodule`, `.plugin`) and distributed via daily-updated master and irregular release branches with CDN mirrors. The repository also includes a smaller set of automation scripts (JavaScript) that run inside proxy clients, performing tasks such as ad removal, cookie harvesting, daily check-ins, and TestFlight beta joining. These scripts rely on a custom cross-platform framework called MagicJS, which abstracts the APIs of Surge, Loon, QuantumultX, and Node.js. While the primary character is data aggregation and transformation (rule generation), the presence of application-like automation scripts makes it a hybrid repository. The rule sets are the core deliverable and are widely used by the proxy tool community. The automation scripts are secondary but demonstrate non-trivial engineering for multi-account session management and persistent storage. The repository is actively maintained (last commit 2026-08-21, though some rule sets show stale timestamps from 2024) and has a large user base (27k stars). However, technical drift is medium due to reliance on external data sources, embedded library duplication, and lack of automated testing. Reproducibility is low because the rule generator is not publicly available, and the scripts require specific proxy tool environments and MITM setup.