This repository is a curated, multi-format distribution hub for proxy routing rules, primarily serving the Chinese internet circumvention community. It does not contain the source generation scripts or ETL pipeline; instead, it hosts the pre-built output artifacts (.list, .json, .yaml, .srs, .sgmodule) for various proxy clients like Surge, mihomo, sing-box, Shadowrocket, and Loon. The core value proposition is the centralized, categorized, and frequently updated rule sets for ad-blocking, traffic routing (Direct/Proxy/Reject), and service-specific classification (Netflix, Google, AI, Gaming, etc.). An external CI pipeline ingests rules from community sources (EasyList, AWAvenue, etc.), transforms them into multiple client-specific formats, and commits the results. Users consume these files directly via GitHub raw URLs. The architecture is a static data repository with a strong hybrid character. While primarily a data distribution project, it includes Surge-specific modules and scripts that demonstrate advanced proxy scripting patterns, such as AWS SigV4 and Aliyun HMAC-SHA1 API signing in pure JavaScript, and complex ad-blocking via MITM and body rewriting. The true engineering craftsmanship lies in these Surge scripts and the implied multi-format generation logic, rather than the rule data itself, which is largely aggregated from third parties. While highly practical and actively maintained, the repository has significant limitations for reproducibility. The transformation pipeline is opaque, and the data is heavily duplicated across client directories. The curated rule sets are the primary reusable asset, providing a clean, categorized taxonomy of network services for routing purposes.
This repository is not a software application in the conventional sense; it is a configuration-as-code publishing pipeline for Shadowrocket, a proprietary iOS/macOS proxy client, serving Russian users who need selective traffic routing around state-level blocking. In production, a daily GitHub Actions cron (.github/workflows/run.yml) fetches domain and IP blocklists from antifilter community sources (community.antifilter.download, 1andrevich/Re-filter-lists), upstream rule projects (blackmatrix7/ios_rule_script, toneywhitez/zkeen_rules), MetaCubeX geo-detection lists, and the Russian Central Bank's registry of bank websites. Each source is transformed with curl/sed/awk/python into Shadowrocket rule-set files under rules/ (DOMAIN-SUFFIX and IP-CIDR lines with metadata headers), then assembled into ready-to-import configs in conf/. The workflow also fetches and patches a YouTube ad-blocking module and a protobuf-based JS response-rewrite script. The shipped configs are generated from a single heavily documented template (source/General.txt) that contains thoughtful DNS engineering: Cloudflare/Google DoT/DoH servers with Yandex deliberately relegated to fallback status because of its legal obligation to Russia's national DNS system, TUN exclusion routes, and detailed HTTPS-decryption guidance. The config variants implement distinct routing strategies: selective proxying of blocked domains (sr_ru_basic), Russian whitelist direct while everything else proxies (sr_ru_whitelist), all traffic proxied except Russian geo-IPs (sr_ru_geo), .ru/.su/.рф domains proxied for users abroad (sr_nonru_basic), a self-contained inline mini config (sr_ru_mini), and an empty template for user-defined rules (sr_ru_extended). As an engineering artifact the pipeline is functional but rough: it lacks set -e/error handling, uses chained temp files, does not validate generated output, and ships some malformed rules (the banking list embeds Cyrillic comments inside rule lines, domain_ips.list contains a 127.0.0.1 entry and duplicates). The genuinely reusable value is in two data-engineering patterns embedded in the workflow: an IDNA/Punycode normalization step for Cyrillic domains, and a comment-state-driven awk transformation that switches between broad DOMAIN-KEYWORD and precise DOMAIN-SUFFIX rule emission to balance coverage against false positives. For end users this is a popular, actively maintained source of ready-to-import proxy configs; for engineers it is a reference for building proxy-rule aggregation pipelines rather than a source of extractable libraries.
This repository functions as a curated index and documentation hub for Shadowrocket (a proxy/VPN iOS application). It does not contain runnable application code; rather, it aggregates and describes configuration files, modules (sgmodule), rule sets (list), scripts, and custom color themes that are hosted externally on GitHub raw URLs. The primary deliverable is a comprehensive README that serves as a catalog with installation links, usage notes, and reference materials. No source code, CI/CD pipelines, or tests are present in the repository itself. The repo is primarily a resource directory with a redirect page for one-click installation.