How hcloudlab/hrules works
Hrules is a client-side traffic-routing ruleset, not a proxy-node provider. Users add its rules to an existing subscription or import a client configuration; the client matches traffic to service scenes and applies the user-selected egress, with a catch-all for unmatched traffic. Mihomo has Standard and Fine-grained editions, DNS profiles, and a 3X-UI import path; Shadowrocket has a separate configuration. Edges reflect README contracts and sampled Mihomo adapter behavior; unsampled configuration internals are represented only at the documented integration level.
Main entry points: hrules-global.js Clash adapter · editions Edition scripts · hrules-strict.js Scene and egress groups · 3x-ui 3X-UI routing profiles
Components 16
Mihomo routing
- Edition scripts
mihomo/editions - Clash adapter
mihomo/adapters/clash-verge-rev/hrules-global.js - Mihomo DNS profiles
mihomo/dns - 3X-UI routing profiles
mihomo/hosts/3x-ui - Scene and egress groups
mihomo/editions/hrules-strict.js - Ordered routing rules
mihomo/editions/hrules-strict.js - DNS configuration
mihomo/editions/hrules-strict.js
Routing assets
- Scene rule sets
mihomo/scenes
Shadowrocket
- Shadowrocket profile
shadowrocket/hrules.conf
External runtime
- Clash Verge Rev
- Mihomo client
- 3X-UI
- Shadowrocket app
Other components
- User
- Network traffic
- Node subscriptions
Connections 25
- User → Clash Verge Rev: installs script
- User → 3X-UI: imports rules
- User → Shadowrocket app: imports profile
- Node subscriptions → Clash Verge Rev: provides subscription
- Clash Verge Rev → Clash adapter: runs extension
- Edition scripts → Scene and egress groups: defines groups
- Edition scripts → Ordered routing rules: defines ordering
- Edition scripts → DNS configuration: sets DNS
- Clash adapter → Scene and egress groups: builds groups
- Clash adapter → Ordered routing rules: builds rules
- Clash adapter → DNS configuration: sets DNS
- Clash adapter → Scene rule sets: references providers
- 3X-UI → 3X-UI routing profiles: imports profiles
- 3X-UI routing profiles → Mihomo client: configures routing
- Mihomo DNS profiles → Mihomo client: configures DNS
- Clash Verge Rev → Mihomo client: runs profile
- Scene and egress groups → Mihomo client: offers egress choices
- Ordered routing rules → Mihomo client: matches traffic
- DNS configuration → Mihomo client: resolves domains
- Network traffic → Mihomo client: enters routing
- Mihomo client → Node subscriptions: uses selected node
- User → Shadowrocket profile: downloads profile
- Shadowrocket profile → Shadowrocket app: configures routing
- Network traffic → Shadowrocket app: enters routing
- Shadowrocket app → Node subscriptions: uses proxy egress