-
Notifications
You must be signed in to change notification settings - Fork 1
docs: remove all reverse engineering references, clean documentation #65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -5,9 +5,8 @@ Python library for local and cloud control of Yarbo robot mowers via MQTT. | |||||||||||||||||||
| ## Navigation | ||||||||||||||||||||
|
|
||||||||||||||||||||
| - [API Reference](api.md) | ||||||||||||||||||||
| - [Protocol Details](https://github.com/markus-lassfolk/yarbo-reversing/blob/main/docs/COMMAND_CATALOGUE.md) | ||||||||||||||||||||
| - [Light Control Protocol](https://github.com/markus-lassfolk/yarbo-reversing/blob/main/docs/LIGHT_CTRL_PROTOCOL.md) | ||||||||||||||||||||
| - [API Endpoints](https://github.com/markus-lassfolk/yarbo-reversing/blob/main/docs/API_ENDPOINTS.md) | ||||||||||||||||||||
| - [GitHub Repository](https://github.com/markus-lassfolk/python-yarbo) | ||||||||||||||||||||
| - [PSYarbo PowerShell module](https://github.com/markus-lassfolk/PSYarbo) | ||||||||||||||||||||
| - [CHANGELOG](../CHANGELOG.md) | ||||||||||||||||||||
| - [CONTRIBUTING](../CONTRIBUTING.md) | ||||||||||||||||||||
|
|
||||||||||||||||||||
|
||||||||||||||||||||
| ## Protocol documentation | |
| This page is the entry point for the Yarbo protocol documentation. For low-level details about the MQTT and cloud protocols, see: | |
| - [Command catalogue](protocol/command-catalogue.md) | |
| - [Light control protocol](protocol/light-control.md) | |
| - [Cloud API endpoints](protocol/cloud-api.md) |
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
|
|
@@ -54,7 +54,7 @@ Repository = "https://github.com/markus-lassfolk/python-yarbo" | |||
| "Bug Tracker" = "https://github.com/markus-lassfolk/python-yarbo/issues" | ||||
| Documentation = "https://github.com/markus-lassfolk/python-yarbo#readme" | ||||
| Changelog = "https://github.com/markus-lassfolk/python-yarbo/blob/main/CHANGELOG.md" | ||||
| "yarbo-reversing" = "https://github.com/markus-lassfolk/yarbo-reversing" | ||||
| "Protocol Documentation" = "https://github.com/markus-lassfolk/python-yarbo/blob/main/docs/index.md" | ||||
|
||||
| "Protocol Documentation" = "https://github.com/markus-lassfolk/python-yarbo/blob/main/docs/index.md" |
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -6,12 +6,11 @@ | |||||||||||||
| before transmission (despite OAEP references in the Dart code — confirmed by | ||||||||||||||
| live testing that PKCS1v15 is the actual padding used). | ||||||||||||||
|
|
||||||||||||||
| The RSA public key is bundled in the Yarbo app APK at: | ||||||||||||||
| The RSA public key can be obtained from the Yarbo app and placed at: | ||||||||||||||
| ``assets/rsa_key/rsa_public_key.pem`` | ||||||||||||||
|
Comment on lines
+9
to
10
|
||||||||||||||
| The RSA public key can be obtained from the Yarbo app and placed at: | |
| ``assets/rsa_key/rsa_public_key.pem`` | |
| The RSA public key can be obtained from the Yarbo mobile app; within the app | |
| package it is stored at ``assets/rsa_key/rsa_public_key.pem``. See | |
| ``src/yarbo/keys/README.md`` for how this library expects the PEM to be | |
| provided. |
Copilot
AI
Mar 1, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The FileNotFoundError message says "Obtain the key and place it at: assets/rsa_key/rsa_public_key.pem". assets/... is the location inside the Yarbo app package, not a path the library reads from; this is likely to confuse users. Suggest changing the message to (a) point at the expected PEM path (rsa_key_path or the vendored yarbo/keys/rsa_public_key.pem) and (b) reference keys/README.md for where to obtain it from the app.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,21 +8,10 @@ Cloud login (`YarboCloudClient`) requires the real key to encrypt the password. | |
|
|
||
| ## How to get the real key | ||
|
|
||
| The actual public key is bundled inside the Yarbo Android APK at: | ||
| The actual public key can be obtained from the Yarbo app package and placed at: | ||
|
|
||
| ``` | ||
| assets/rsa_key/rsa_public_key.pem | ||
| ``` | ||
|
|
||
| ### Extract from APK | ||
|
|
||
| ```bash | ||
| # 1. Download the Yarbo APK (from Google Play via apkpure or your device) | ||
| # 2. Unzip it (APKs are ZIP archives) | ||
| unzip yarbo.apk -d yarbo_unpacked | ||
|
|
||
| # 3. Copy the key | ||
| cp yarbo_unpacked/assets/rsa_key/rsa_public_key.pem /path/to/python-yarbo/src/yarbo/keys/ | ||
| src/yarbo/keys/rsa_public_key.pem | ||
| ``` | ||
|
Comment on lines
+11
to
15
|
||
|
|
||
| ### Supply at runtime (alternative) | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The link text suggests
docs/index.mdcontains protocol details, butdocs/index.mdcurrently only has general navigation/quick start and no protocol-specific references. Either add/restore protocol documentation links/content there, or adjust this sentence so it doesn't imply protocol docs exist at that location.