PlainMote

PlainMote CLI v0.4.5

View, edit and upload your resources from a terminal. Edit in your own editor (Zed, VS Code, Vim and others); closing it uploads the result as a new version.

Install

macOS / Linux

$ curl -fsSL https://plainmote.link/cli/en | sh

Windows (PowerShell)

> irm https://plainmote.link/cli/en.ps1 | iex

The script works out the processor, checks the download's SHA-256 and installs it for your user only; no administrator rights are needed.

Other systems and manual download

Read the script before installing

$ curl -fsSL https://plainmote.link/cli/en | less

Manual download

macOS arm645.82 MiB
macOS amd646.24 MiB
Linux amd646.15 MiB
Linux arm645.75 MiB

The builds are not signed: after downloading through a browser, allow the file on macOS with xattr -d com.apple.quarantine plainmote, or confirm the SmartScreen prompt on Windows. The install commands are not affected. Checksums: checksums.txt

Getting started
plainmote login
Sign this device in after confirming in the browser
plainmote ls [keyword] [--tag <tag>] [--decrypt]
List resources
plainmote edit <resource>
Open in your editor; closing it uploads a new version
plainmote cat <resource>
Print the content
plainmote push <file> [--to <resource>] [--tag <tag>] [--encrypt]
Upload as a new resource, or as a new version of an existing one; - reads standard input
plainmote tag <resource> <tag>…
Put tags on a resource
plainmote untag <resource> <tag>…
Take tags off a resource
plainmote tags
List the account’s tags
plainmote share <file> [--ttl 1d] [--encrypt]
Make a quick share and print its link; it is kept in your resources until it expires
plainmote config
Show settings; change them with config language zh|en|auto or config editor <command>
plainmote logout
Revoke and remove this device's sign-in
Tips

To choose the editor that plainmote edit opens, set the EDITOR environment variable in your shell profile (such as ~/.zshrc or ~/.bashrc):

$ export EDITOR="code"

On Windows, set the EDITOR environment variable for your user in PowerShell; it applies to terminals opened afterwards:

> [Environment]::SetEnvironmentVariable("EDITOR", "code", "User")

$VISUAL, if set, takes precedence over $EDITOR. Editors with their own window, such as VS Code, Zed and Sublime Text, need no --wait; the command line adds it. To use an editor for PlainMote only, run plainmote config editor <command>, which takes precedence over both variables.

End-to-end encrypted resources are decrypted and encrypted on this computer. Commands that open one ask for the master password each time, or read it from the PLAINMOTE_MASTER_PASSWORD environment variable; the command line does not store it. ls lists their names only with --decrypt, and push --encrypt and share --encrypt create a new resource or quick share encrypted.