MaybeEdgeScanner
1.2.0 · GitHub
More about this app
Route-pairing network scanner probing TCP/TLS/HTTP targets, with optional Shizuku-assisted radio diagnostics.
MaybeEdgeScanner
MaybeEdgeScanner is an Android network scanner focused on route-pairing workflows (target IP + SNI route behavior), with an optional Go sidecar for higher-throughput scans and export/observability workflows.
What It Does
- Runs TCP/TLS/HTTP probing across managed/custom targets and SNI route sets.
- Provides live scan progress, result ranking, and export views.
- Includes diagnostics tooling (logs, network checks, optional Shizuku-assisted radio diagnostics).
- Supports an optional local Go sidecar (
go-sidecar) for desktop/server-driven scan sessions.
Project Scope
- This repo is the route-pairing scanner product.
- Windscribe, Psiphon, and local-proxy routes are integrated as external provider routes: the app opens/observes provider state, keeps provider credentials inside the provider apps, and attaches route status to scans.
- If you only need target-first scanning without route pairing, use the sibling project:
MaybeScanner.
Repository Layout
MaybeEdgeScanner/
├── app/ # Android app
├── go-sidecar/ # Optional Go sidecar
├── .github/workflows/ # CI and release workflows
└── docs/ # User, verification, and architecture docs
Build & Verify (Local)
From repository root:
.\gradlew.bat --no-daemon :app:lintUniversalDebug :app:assembleUniversalDebug
From go-sidecar/:
go test ./...
go vet ./...
From workspace root (if shared-contracts/ is available):
py shared-contracts\validate_contracts.py
CI & Release
The workflow in .github/workflows/build.yml runs:
- secret scanning
- Go sidecar tests/vet/race (race on Linux)
- Android lint/build gates
- artifact publication
- dependency image publication with SBOM/provenance enabled
Documentation
License
AGPL-3.0. See LICENSE.
How Shizuku is used
Can read and change preferred mobile network modes via `settings` commands and the phone service through Shizuku.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Shizuku is used for optional radio diagnostics that read current mobile network settings and apply confirmed mode changes with verification.
- Read radio modes: view current preferred network values for the device and SIM slots, read with the
settings get globalshell command through Shizuku. - Check bridge status: view shell identity, device and OS version, airplane mode state and connectivity tool availability, collected with
id,getprop,settings get globalandcmd connectivity helpthrough Shizuku. - Change network preference: apply LTE only, 5G/LTE preferred, Auto, or a custom numeric value for approved network mode keys, written with the
settings put globalshell command and the system phone service through Shizuku and confirmed by reading the values back after a short settle delay.
Android APIs or commands used
ITelephony.setPreferredNetworkTypeITelephony.getPreferredNetworkTypeandroid.os.ServiceManager.getServicesettings put globalsettings get global/system/bin/sh -cidgetpropcmd connectivity help
Notable details
Writes are not arbitrary commands: custom input is limited to approved preferred network mode keys with numeric values and requires confirmation with readback.
Changelog
What's new for version 1.2.0
Automated release from workflow run 26849253867 for commit 1f08c4de7159de1083d52432db464b93a502a81a.
Permissions
7 permissions requested