Kitsunping can apply different “profiles” (sets of tunables) depending on current connectivity and quality.
Profiles are implemented as shell scripts and are applied by the policy executor.
These are the profiles currently present in this repo:
Profile scripts live in: net_profiles/
High-level flow:
1) The daemon monitors Wi‑Fi/mobile status and writes state to cache/daemon.state.
2) When an event happens (Wi‑Fi join/leave, iface change, degraded signal), the daemon triggers the executor.
3) If a profile decision is made (built-in or via policy/rules/decide_profile.sh), a PROFILE_CHANGED event is emitted.
4) The executor writes/reads cache/policy.target, compares it vs cache/policy.current, and applies changes when needed.
See the full flow diagram in Docs/10-runtime/daemon.md.
PRs are welcome:
net_profiles/