$ account LOWERTOP
This is a curated content hub for Shadowrocket, an iOS network proxy app, hybrid in nature: its user-facing value is a Chinese-language README catalog of installable resources (original .sgmodule modules for ad-blocking, traffic-splitting policies for DeepSeek/Emby/Wi-Fi Calling, DNS overrides for CMCC IPTV; .list rule sets; a lazy configuration; 30+ original color themes encoded as shadowrocket://color URL schemes), while its only executable surface is a scheduled data-aggregation pipeline. The live GitHub Pages site referenced throughout the README (redirect.html, theme.html, images) is not present in this branch's file tree — only README.md, a generated modules.json, a CI workflow, and one build script are visible, so the repo-as-code is essentially an ETL job, not a runtime service. The functional core is scripts/build-modules.js, a dependency-free Node.js script executed by GitHub Actions every 6 hours. It parses the repo's own README for .sgmodule/.srmodule/.module URLs, enumerates module files from community repos (fmz200/wool_scripts, zirawell/R-Store) via the GitHub Trees API, probes each module's first 2KB using HTTP Range requests to extract #! metadata (name, description, icon), enriches entries with icons resolved from three icon libraries using Chinese/English app-alias matching, deduplicates and pins key tools (Script-Hub, Sub-Store, BoxJs), then writes modules.json — the feed consumed by the ShadowStore module directory (shadowstore.dpdns.org). External dependencies are GitHub API endpoints, raw.githubusercontent.com, and a GITHUB_TOKEN for API rate limits; there is no package.json or npm dependency graph. There are no unit tests and the script is tuned to Shadowrocket/Surge file formats, but it demonstrates transferable engineering patterns: github.com/blob to raw.githubusercontent.com URL normalization, partial-content fetch for cheap metadata extraction, 404/invalid-content detection, a bounded-concurrency worker pool with progress logging, and alias-based fuzzy icon resolution. Maintenance is genuinely active (automated syncs commit modules.json regularly; last commit 2026-09-04), and technical drift is low — Node 22 LTS, current GitHub Actions checkout/setup-node v5, modern JS syntax (global fetch, AbortController, nullish coalescing).