Purpose
Provide local configuration and host-side networking helpers for Pwnagotchi devices.
Current state
Last touched: 2025-11-10. Functionality and completeness: Network sharing scripts exist; broader Pwnagotchi setup is external.
Next step
Add baseline automated tests to cover critical flows; Add CI pipeline for build/test/lint; Document deployment/runtime environment (or add Dockerfile); Document interfaces (CLI flags, API endpoints, file formats); Add structured logging and basic health checks.
Interfaces
Inputs- TOML config overrides, interface names
- Configuration files (TOML/YAML/JSON/INI/CONF)
Outputs- Modified iptables rules and sysctl IP forwarding
Reality to Action trace
Reality IngestionNot in scope.
Canonical StorageNot in scope.
Automation EnginesContributes in this stage.
Human InterfacesNot in scope.
Operational AdoptionContributes in this stage.
Core workflow
TBD. Document the 5-10 steps that define the core workflow.
Artifacts
- Script arguments for interface names
Operational notes
Constraints and scars
- Assumes Linux host with iptables and correct USB gadget interface naming.
Reliability posture
Failure modes and safe behavior: Incorrect interface names or missing root permissions cause failures. Idempotency / retries / batching behavior: Re-running re-applies iptables rules; no retries.
Observability
- Logs: stdout/stderr from scripts
- Metrics/health checks: None documented
Security and privacy
Config files include Wi-Fi and device settings; store them securely and avoid committing secrets.
Ownership
OwnersJosh Barton
UsersJosh Barton (owner)
pwnagotchi
Architecture & Major Components
High-level diagram (text):
- Host scripts -> interface setup -> NAT + forwarding -> device connectivity
Host scripts
→interface setup
→NAT + forwarding
→device connectivity
Entry points: pwnagotchi/linux_connection_share.sh, pwnagotchi/linux_connection_share_v2.sh
Top-level folders: none (files only)
Key abstractions: interface detection, iptables rules, sysctl forwarding
Setup / Build / Run
- Build system(s): None (bash scripts).
- Run scripts with root privileges to configure NAT and forwarding.