Skip to content

README: why MicroSNANDer, the web mode over a distance - #60

Merged
compot-dev merged 5 commits into
mainfrom
readme-why
Nov 5, 2026
Merged

compot-dev merged 5 commits into
mainfrom
readme-why

Conversation

@compot-dev

@compot-dev compot-dev commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

Documentation only, in all three READMEs. No version change.

  • The first paragraph now names the web page, the Android app, the six programmer models and the size of a release file.
  • New section "Why MicroSNANDer": one small file, nothing to install, runs on the device at hand, no desoldering, help from a distance, a phone as a programmer. Windows and macOS are not supported: from them, work through the web page or SSH of another device that runs microsnander, or use a native program, which is also the way for EEPROM chips.
  • Requirements: no kernel driver for the programmer is needed, only USB host support and the device nodes in /dev/bus/usb.
  • Web mode: what it is for, and how to help over the internet: an SSH tunnel; a forwarded port works by the IP address only, because of the Host check, and it is not encrypted.

Draft: goes to CI and the merge together with other work.

The first paragraph names the web page, the Android app, the six
programmer models and the size of a release file. A new section says what
the tool is for, where other programs do not reach. The requirements say
what the kernel has to have, and the web mode how to help from a distance
and why a domain name does not work for it.
@compot-dev
compot-dev marked this pull request as ready for review November 5, 2026 07:04
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Explain MicroSNANDer use cases and secure remote web access

📝 Documentation 🕐 10-20 Minutes

Grey Divider

AI Description

• Explain the portable Linux and Android workflows, supported programmers, and platform limits in
 three languages.
• Clarify USB host requirements and how web mode helps on headless devices.
• Document SSH tunneling for remote access and warn against unencrypted HTTP port forwarding.
Diagram

sequenceDiagram
    actor Bench as On-site person
    actor Expert as Remote specialist
    participant SSH as SSH tunnel
    participant Web as Linux web mode
    participant USB as USB programmer
    participant Chip as Flash chip
    Bench->>USB: Connect programmer
    USB->>Chip: Attach clip
    Expert->>SSH: Open encrypted tunnel
    SSH->>Web: Forward localhost requests
    Expert->>Web: Use page through tunnel
    Web->>USB: Run flash operation
    USB->>Chip: Read or write
Loading
High-Level Assessment

Keeping the use cases, requirements, and remote-access warning together in each translated README makes the guidance available where readers already find web-mode instructions. A separate guide would add navigation without addressing a distinct workflow.

Files changed (3) +117 / -16

Documentation (3) +117 / -16
README.mdExplain portable use cases and remote web access +42/-6

Explain portable use cases and remote web access

• Expands the introduction and adds a Why MicroSNANDer section covering the small static release, supported programmers, Android, in-place flashing, and unsupported platforms. Clarifies USB host requirements and documents SSH tunneling, host-name restrictions, and the risk of unencrypted direct HTTP forwarding.

README.md

README.ru.mdAdd Russian use-case and remote-access guidance +42/-5

Add Russian use-case and remote-access guidance

• Mirrors the expanded introduction, use-case section, and platform limitations in Russian. Clarifies USB requirements and adds the web-mode SSH tunnel example and direct-HTTP security warning.

README.ru.md

README.zh-CN.mdAdd Chinese use-case and remote-access guidance +33/-5

Add Chinese use-case and remote-access guidance

• Mirrors the expanded introduction and new use-case section in Simplified Chinese, including Android and Windows/macOS guidance. Clarifies USB requirements and explains remote web access through SSH alongside the direct-HTTP warning.

README.zh-CN.md

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. SSH-tunnel advice leaves an open port on every interface ✓ Resolved
Description
The new remote-help bullet tells the specialist to run ssh -L 8080:127.0.0.1:8080, but never tells
the person at the bench to start the service bound to 127.0.0.1, and the page's own example starts
it with -W 8080, which listens on every interface. Without -K the same page lets anyone who
reaches the port erase or write the chip, so a reader who follows the top example and then adds the
tunnel gets a network-exposed, unauthenticated erase service that the docs present as a protected
setup.


Informational

2. Unencrypted-traffic warning reads as if the SSH tunnel leaks ✓ Resolved
Description
The sentence warning that the password and firmware cross the internet unencrypted sits at the end
of the SSH-tunnel bullet, after the line that recommends the tunnel. The caveat is about a plain
forwarded port, but a reader can take it to apply to the recommended tunnel as well, which is
encrypted. The same ordering appears in the Russian and Chinese READMEs.

3. Release file size claim ignores the Android APK 🐞 Bug ≡ Correctness
Description
The sentence 'Each release file is about 200–240 KB' is stated for every release file, but the
release also publishes microsnander-android.apk, which is an Android package and not a 200–240 KB
binary. The same claim is repeated in the 'One small file' bullet and in the Russian and Chinese
READMEs, so readers comparing download sizes get a wrong expectation.
Code

README.md[17]

+SPI NOR and 135 SPI NAND chips. Each release file is about 200–240 KB.
Evidence
The CI workflow copies the release APK into the release assets, and the release notes list it as a
separate release file, while the changelog gives the 220 KB figure only for the static x86_64
binary.

.github/workflows/build.yml[209-209]
.github/workflows/build.yml[345-346]
CHANGELOG.md[104-105]


4. Any Linux board claim overstates supported hardware ✓ Resolved
Description
The 'Runs on the device at hand' bullet says any Linux board with a USB host port is enough, but the
Requirements section in the same README limits the binaries to x86_64 or 32-bit ARM (ARMv5TE and
later). A reader with another architecture, such as a MIPS router, is told it will work when the
release binaries do not run on it.

Grey Divider

Tip of the day
💡 Did you know, you can turn these tips off under Display > Comment parts

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@compot-dev

Copy link
Copy Markdown
Collaborator Author

Review answered in f4411c0, all three READMEs:

  1. SSH tunnel: fixed. The bullet now gives the command for the machine with the programmer, microsnander -W 127.0.0.1:8080 -K secret, before the tunnel.
  2. Release file size: no change needed. The APK in the release is 202506 bytes, inside the 200–240 KB that the text gives.
  3. "Any Linux board": fixed. The bullet names x86_64 or 32-bit ARM, as the requirements do.

/review

@compot-dev

Copy link
Copy Markdown
Collaborator Author

/review

@compot-dev

Copy link
Copy Markdown
Collaborator Author

Unencrypted-traffic warning: fixed in 5fb6b12, all three READMEs. The bullet now says that the tunnel is encrypted and a plain forwarded port is not.

@compot-dev
compot-dev merged commit 70d2b1f into main Nov 5, 2026
7 checks passed
@compot-dev
compot-dev deleted the readme-why branch November 5, 2026 07:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant