Atlas project development

pwnagotchi

Provide local configuration and host-side networking helpers for Pwnagotchi devices. It ingests TOML config overrides, interface names and produces Modified iptables rules and sysctl IP forwarding.

Type
Experiment
Lifecycle
Active
Last touched
2025-11-10
Visibility
Public

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 Ingestion

Not in scope.

Canonical Storage

Not in scope.

Automation Engines

Contributes in this stage.

Human Interfaces

Not in scope.

Operational Adoption

Contributes 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

Owners

Josh Barton

Users

Josh Barton (owner)

pwnagotchi

Architecture & Major Components

  • High-level diagram (text):

    • 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.