Public Access
Add uname, /uname and scp (key or masked password) in the Shell
- uname in the console and /uname in IRC: the firmware, its version and the chip - scp: one file between the card and a trusted server, over SSH, with the device's key or a password asked (masked) in the Shell - shared libssh helpers in src/platform/libssh_util - README, user guide, command reference and a how-to updated Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0162FokPdvY2KsS4NBfwyWPk
This commit is contained in:
@@ -31,10 +31,13 @@ You type at the bottom; <kbd>Enter</kbd> sends. A line starting with `/` is a co
|
||||
| `/nick newnick` | Changes your nick |
|
||||
| `/topic [text]` | Shows or sets the channel topic |
|
||||
| `/names [#channel]` | Lists who is there |
|
||||
| `/uname` | Shows the firmware, its version and the chip, in this buffer only: nothing is sent |
|
||||
| `/quit [message]` | Disconnects and **stays disconnected** until you type something again |
|
||||
| `/raw …` (or `/quote`) | Sends a line to the server as it is |
|
||||
| `/settings` | The settings page |
|
||||
|
||||
Anyone who asks the device for its CTCP `VERSION` (`/ctcp roro VERSION` in most clients) is told `roro9stack` and the firmware version.
|
||||
|
||||
Each server, channel and private chat is a **buffer**. <kbd>Tab</kbd> moves to the next one, each shows how many messages are unread, and your own lines are in the accent colour. Scroll back with <kbd>Alt</kbd> + <kbd>;</kbd> (older) and <kbd>Alt</kbd> + <kbd>.</kbd> (newer). The up and down arrows (<kbd>Fn</kbd> + <kbd>;</kbd> and <kbd>.</kbd>) recall lines you sent.
|
||||
|
||||
## Mentions and the unread count
|
||||
|
||||
@@ -21,6 +21,7 @@ Type a command and press <kbd>Enter</kbd>. `help` lists them all; the [command r
|
||||
| `wifi status` | The network, the address, and where the DNS and time servers came from |
|
||||
| `ls /notes` | A folder of the SD card, with sizes and dates |
|
||||
| `crash` | The last crash, if there was one |
|
||||
| `uname` | The firmware, its version and the chip it is built for: `roro9stack v0.22.0 xtensa-lx7 esp32s3` |
|
||||
| `update check` | Whether a newer release exists |
|
||||
| `lora status` | What the radio is set to and what it has heard |
|
||||
|
||||
@@ -45,7 +46,7 @@ The capital is the difference: every command is in small letters, every App star
|
||||
|
||||
## The network
|
||||
|
||||
For the day the network doesn't do what it should. Each of the first six takes a moment and prints as it goes; one runs at a time, and `cancel` stops it.
|
||||
For the day the network doesn't do what it should. Each of the first six takes a moment and prints as it goes, and so does `scp`; one runs at a time, and `cancel` stops it.
|
||||
|
||||
| Command | Tells you |
|
||||
|---|---|
|
||||
@@ -56,6 +57,7 @@ For the day the network doesn't do what it should. Each of the first six takes a
|
||||
| `tls git.twis.la` | A secure connection's certificate: who it is for, who signed it, until when, and **whether this device trusts it**. A port may follow (443 if not) |
|
||||
| `ntp` | A time server's clock against this device's, and how far the server is. Another server may follow |
|
||||
| `ssh user@host` | Opens the [SSH App](/guide/ssh/) and connects; `ssh status` and `ssh stop` for the session |
|
||||
| `scp /notes/a.txt user@host:docs/` | One file between the card and a server, over [SSH](/guide/ssh/#copying-a-file-scp): with the device's key, or a password asked in the Shell, masked. `cancel` stops it |
|
||||
| `ifconfig` | The interfaces (Wi-Fi, and the [VPN](/guide/vpn/) when it is up), their addresses, **which one is the default route**, and the DNS servers |
|
||||
| `arp` | The neighbours heard on the Wi-Fi: is the gateway there at all |
|
||||
| `netstat` | What the device **listens** on (updates, the Debug Console, sharing) and what is connected to it now |
|
||||
|
||||
@@ -9,7 +9,7 @@ screens = ["ssh.png", "ssh-trust.png", "ssh-terminal.png", "ssh-key.png", "ssh-c
|
||||
|
||||
The SSH App opens a **terminal on another machine**: a server, a Raspberry Pi, a router. What you type goes there, and what its programs print is drawn here: a shell, `less`, `top`, `nano`, `vim`.
|
||||
|
||||
It is a client and nothing more: one session at a time, to a shell. No file transfer, no port forwarding, no jump hosts.
|
||||
It is a client and nothing more: one session at a time, to a shell. No port forwarding, no jump hosts. Files go one at a time with [`scp` from the Shell](#copying-a-file-scp).
|
||||
|
||||
## Connecting
|
||||
|
||||
@@ -89,6 +89,26 @@ A session takes about **50 KB** of the device's 100 KB while it is open, and giv
|
||||
|
||||
See [When a connection says "not enough memory"](/howto/not-enough-memory/).
|
||||
|
||||
## Copying a file: scp
|
||||
|
||||
From the [Shell](/guide/shell/), `scp` copies **one file** between the SD card and a server, over the same SSH:
|
||||
|
||||
```
|
||||
scp /notes/a.txt user@host:docs/a.txt the card to the server
|
||||
scp user@host:/var/log/syslog /logs/ the server to the card, keeping its name
|
||||
scp -P 2222 /notes/a.txt user@host: another port (-P first); a path is needed after the colon
|
||||
scp -f user@host:x.txt /notes/x.txt replace a file that is on the card already
|
||||
```
|
||||
|
||||
Paths on the card start with a slash. A path on the server is the server's own, and starts in the user's home folder when it has no slash. Only a file: no folders, no `*`.
|
||||
|
||||
- **The server has to be one you have already trusted** in this App (the fingerprint question above). `scp` can't ask that question, and refuses a server it doesn't know, or one whose key changed.
|
||||
- **It logs in with the device's key, and asks for the password** if the server doesn't accept the key: the Shell shows the question and what you type is masked (<kbd>Back</kbd> cancels). The password is asked only in the Shell, not from a PC on the USB port or the Debug Console.
|
||||
- **A download arrives under a temporary name** and takes its real one when it is all there, so a cut connection never leaves half a file. A file already there is not replaced without `-f`.
|
||||
- It prints how long it took. `cancel` stops it. It needs the same 75 KB of free memory as a session, and **not while a session is open**.
|
||||
|
||||
See [Copy a file to or from a server](/howto/scp/).
|
||||
|
||||
## From the Shell
|
||||
|
||||
```
|
||||
@@ -96,6 +116,7 @@ ssh user@host connect, in the SSH App
|
||||
ssh user@host:2222 on another port
|
||||
ssh status the session, and this device's public key
|
||||
ssh stop end the session
|
||||
scp ... copy one file, see above
|
||||
```
|
||||
|
||||
## Keys
|
||||
|
||||
Reference in New Issue
Block a user