Files
yinyues2 3fe43b7ddc feat: one-command install, set-exit, refusal logging, agent-first docs
- install.sh: install from a checkout or via curl|bash, tag-pinned download,
  --skill-only / --uninstall / --dry-run / --yes, ends with verify --deep
- set-exit: follow a rotating exit, probe first, rewrite policy only when the
  proxy serves the candidate address, then re-verify
- LOG_REFUSALS=1: refusals go to journald under claude-egress-guard
- AGENTS.md, llms.txt, Makefile: machine entry points and make check
- README/README.zh-CN rewritten for two audiences (agents, humans) with a real
  verify sample, compatibility table, per-start cost, rotation, logging and an
  explicit out-of-scope list (npx, second installs, containers, root, SOCKS)
- default allow list is 127.0.0.0/8 so systemd-resolved keeps working
- 11 new self-tests, 42 total
2026-10-27 01:29:59 +08:00

32 lines
833 B
Makefile

SHELL := /bin/bash
SCRIPTS := skills/claude-egress-guard/scripts
SHELLCHECK ?= shellcheck
SHELLCHECK_FLAGS ?= -x -S warning
.PHONY: help lint test scan check install skill
help:
@printf '%s\n' \
'make check shellcheck + self-tests + leak scan (what CI runs)' \
'make lint shellcheck on every script' \
'make test 42 sandboxed assertions, no root and no network' \
'make scan privacy/secret scan' \
'make skill copy the skill into ~/.hermes/skills'
lint:
$(SHELLCHECK) $(SHELLCHECK_FLAGS) install.sh $(wildcard $(SCRIPTS)/*)
test:
@bash $(SCRIPTS)/selftest.sh
scan:
@python3 tools/leak-scan.py
check: lint test scan
install:
@sudo ./install.sh --help >/dev/null && echo 'run: sudo ./install.sh --proxy URL --exit-ip ADDR'
skill:
@./install.sh --skill-only --dest "$${DEST:-$$HOME/.hermes/skills}"