# Maintain Clash Scripts

> Maintain helper scripts under scripts/ for this repo (update_direct_from_cn.py, update_dns.py, update_dns_rules.sh, update_zashboard.sh). Use when creating, modifying, or documenting these scripts, or when wiring their outputs into repo files or cron tasks.

- Skill: `majiayu000/maintain-clash-scripts` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/maintain-clash-scripts`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/maintain-clash-scripts/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/maintain-clash-scripts

---


# Maintain Clash Scripts

## Scope

- Work within `scripts/` and keep behavior aligned with OpenClash/Mihomo usage.
- Update `scripts/README.md` whenever a script’s behavior, options, or usage changes.

## Script-specific guidance

- Preserve `update_direct_from_cn.py` markers and keep output normalized to `IP-CIDR`/`IP-CIDR6` with `,no-resolve`.
- Keep `update_dns.py` output at `force_ttl_rules.txt` and retain DNS failover + source URL list handling.
- Keep `update_dns_rules.sh` safety checks (download success, non-empty file, header check) and allow user-configurable `REMOTE_URL`/`LOCAL_FILE`/`RESTART_CMD`.
- Keep `update_zashboard.sh` target under `/usr/share/openclash/ui/zashboard`, OpenWrt-friendly download tooling, and quiet-by-default behavior.

## Guardrails

- Avoid changing user-specific URLs, paths, or cron schedules unless asked.
- Keep shell scripts POSIX `sh` compatible (busybox ash friendly).
- Prefer minimal dependencies and clear configuration blocks at the top of scripts.

