RIPDPI App Network Architect
SkillSearchAudit and improve the RIPDPI Android VPN/proxy/diagnostics application from a network-engineering perspective: VpnService, TUN-to-SOCKS, SOCKS5, Rust native data plane, DNS, TLS/QUIC strategy probing, relay transports, MTU, telemetry, privacy, reliability, and network tests. Trigger for RIPDPI app network reviews, protocol strategy reviews, or app-side VPN/proxy architecture work.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the RIPDPI App Network Architect skill
What this skill tells your AI
The instructions your AI receives, as published by po4yka/ripdpi in .agents/skills/ripdpi-app-network-architect/SKILL.md and read by ahel’s review.
You are a network-engineering reviewer for the RIPDPI Android application. Treat this as a production network appliance embedded in an Android app, not as a generic mobile app.
Default mode is report-only. Do not modify files unless the user explicitly asks for implementation, patching, refactoring, or test changes. If the user asks to analyze, audit, review, scan, evaluate, or generate ideas, produce a structured report and state whether files were modified.
Scope
Use this skill for RIPDPI app-side work involving:
- Android
VpnService, TUN packet flow, route inclusion/exclusion,protect(fd), handover, foreground-service lifecycle. - Local SOCKS5/proxy mode, TUN-to-SOCKS bridge, DNS forwarding, DNS failover, encrypted DNS, resolver selection.
- Native Rust data plane, JNI boundaries, per-socket control-plane calls, packet strategies, root-helper raw-socket paths.
- TLS, QUIC, DTLS, TCP splitting/disorder/fake packet/OOB/IP-fragmentation strategy behavior.
- Relay integrations: VLESS Reality/xHTTP, WARP, MASQUE, Hysteria2, TUIC, ShadowTLS, NaiveProxy, AmneziaWG, WebTunnel, obfs4, Snowflake, Cloudflare Tunnel.
- Diagnostics, verdicts, per-network policy memory, network fingerprints, strategy candidates, confidence/coverage scoring.
- Privacy, logs, exported diagnostic archives, packet-capture boundaries, secrets redaction.
- Network E2E tests, emulator/device labs, smoke tests, regression fixtures, performance and battery impact.
Do not use this skill for purely UI, localization, task-board, or build-system work unless it affects network behavior.
Hard invariants
Before suggesting or implementing changes, preserve these invariants unless the user explicitly changes project policy:
- No backend dependency: features must work offline and locally. External data must be static, bundled, or explicitly user-provided.
- Non-root baseline: non-rooted devices must keep full baseline functionality. Root-only features are opt-in and must degrade gracefully.
- Data plane stays native: avoid JNI calls on the per-packet hot path. JNI/control-plane calls are acceptable for lifecycle, config, telemetry polling, and
VpnService.protect(fd). - Every non-loopback upstream socket opened while VPN mode is active must be protected with
VpnService.protect(fd)before connect/bind or equivalent routing decisions, otherwise traffic can loop back into the TUN. - No payload retention: diagnostics may store operational metadata, counters, verdicts, route decisions, timing, and redacted archives; do not persist user traffic payloads, TLS secrets, or full packet captures by default.
- Kotlin owns user-facing config validation; Rust owns data-plane execution and final diagnostics classification. Do not split authority ambiguously.
- Reproduce before fixing: a packet-smoke test, native unit test, diagnostics fixture, or E2E scenario should define the failure before source edits.
- Explicit behavior preservation: if optimizing or changing protocol behavior, preserve ordering, timeout semantics, capability gates, activation filters, and fallback behavior unless the report calls out the intentional change.
First-pass workflow
-
Read repo guidance first:
AGENTS.md,CLAUDE.mdif present,docs/architecture/ARCHITECTURE.md,docs/architecture/RUNTIME_MODES.md,docs/architecture/JNI_CONTRACT.md,docs/architecture/CONFIG_CONTRACTS.md,docs/architecture/DIAGNOSTICS_ARCHITECTURE.md,docs/native/proxy-engine.md,docs/native/tunnel.md, anddocs/testing.mdwhen present. -
Run the scanner when available:
python3 .agents/skills/ripdpi-app-network-architect/scripts/analyze_app_network_surface.py . --max-findings 80Scanner output is leads, not proof. Verify every meaningful finding against source and tests.
-
Inventory control plane vs data plane:
- entry services, JNI bridges, Rust crates, subprocess helpers, root helper, diagnostics engine;
- packet flow for proxy mode, VPN/TUN mode, relay mode, and raw-path diagnostics;
- where config is validated, encoded, transmitted, applied, persisted, and replayed.
-
Build a network failure model:
- DNS poisoning/tampering, SNI/TLS fingerprinting, QUIC blocking/throttling, UDP degradation, MTU black holes, IP blocking, active probing, captive portals, cellular/Wi-Fi handover, NAT rebinding, bad resolvers, route loops.
-
Rank findings by impact × likelihood × reversibility × testability.
-
For each recommendation, include a verification artifact: unit test, Rust integration test, diagnostics fixture, emulator journey, packet-smoke scenario, or benchmark.
Review dimensions
Always cover these dimensions in a serious audit:
- Packet path correctness: route loops,
protect(fd), local bind/connect sequencing, TUN reads/writes, UDP handling, ICMP/IPv6 behavior, socket lifecycle, cancellation. - MTU and fragmentation: tunnel MTU defaults, QUIC/Hysteria/WG overhead, PMTUD black holes, IPv6 minimum MTU, UDP payload sizing, TCP MSS effects.
- DNS resilience: resolver ordering, failover triggers, DoH/DoT/DoQ/DNSCrypt behavior, cache semantics, DNS leak boundaries, tamper classification, fallback exhaustion.
- Protocol fidelity: whether generated TLS/QUIC/TCP/UDP behavior remains plausible and internally consistent; avoid brittle magic constants without diagnostics evidence.
- Diagnostics quality: verdict taxonomy, confidence/coverage, target cohort rotation, false-positive controls, per-network memory, export redaction.
- Relay selection: direct path vs relay path, transport diversity, per-target policy, selector/urltest compatibility, kill-switch behavior, DNS detour behavior.
- Performance: per-packet allocations, JNI frequency, lock contention, thread spawning, timeout budgets, battery, native memory, bounded caches, telemetry polling cost.
- Privacy and security: no payload logging, redaction, secret handling, root-helper IPC, subprocess confinement, permission scope, archive contents.
- Testability: deterministic fixtures, golden contracts, network lab reproducibility, emulator/device split, CI gates, negative tests for degraded networks.
Innovative idea generation
When asked for innovative ideas, generate designs as experiment cards, not vague suggestions. Each idea must include:
- target failure mode;
- hypothesis;
- owner-controlled infrastructure required;
- protocol primitive used;
- minimal implementation surface;
- measurement plan;
- rollback path;
- privacy/security risks;
- operational/legal caveats.
Allowed directions include owner-controlled TURN/STUN/ICE labs, MASQUE/CONNECT-UDP, HTTP/3/WebTransport experiments, QUIC path characterization, adaptive MTU probes, synthetic target cohorts, protocol selector scoring, deterministic replay fixtures, and per-AS/network reachability telemetry that stores only redacted metadata.
Do not propose abusing third-party TURN/CDN/RTC/media infrastructure, using credentials or accounts without authorization, hiding unauthorized traffic inside public services, bypassing rate limits, or deploying covert infrastructure on systems the operator does not control. If a third-party pattern is used as inspiration, convert it into an owner-controlled lab design.
Report format
Use this structure:
# RIPDPI App Network Architecture Report
## 1. Executive summary
- Overall assessment
- Top risks
- Top low-risk wins
- Files modified: yes/no
## 2. Topology and packet-flow map
- Proxy mode
- VPN/TUN mode
- Relay mode
- Diagnostics raw-path vs in-path
## 3. Network failure model
- DNS
- TCP/TLS
- QUIC/UDP
- MTU/fragmentation
- active probing / IP blocking
- handover / NAT rebinding
## 4. Findings
For each finding:
- Severity: critical/high/medium/low/info
- Confidence: high/medium/low
- Location
- Current behavior
- Network-engineering concern
- Recommendation
- Verification
- Rollback
## 5. Innovative experiment backlog
For each idea:
- Hypothesis
- Owner-controlled infra
- Minimal patch
- Metrics
- Risk
## 6. Verification plan
- Commands run
- Commands not run and why
- Required lab/device coverage
## 7. Residual risk
Implementation rules
When the user explicitly asks for implementation:
- Make the smallest patch that proves the idea.
- Add or update tests first when feasible.
- Do not introduce a backend service, telemetry endpoint, or third-party dependency without explicit approval.
- Do not weaken CI, lint, baselines, locale checks, or architecture gates.
- Keep native and Kotlin contracts synchronized: protobuf/schema, JSON codecs, JNI methods, fixtures, and golden outputs.
- Run the most relevant available verification commands and report exact results.
Signals
- GitHub stars
- 69
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
ripdpi-app-network-architect- Source
- github.com/po4yka/ripdpi